@pushary/agent-hooks 0.78.0 → 0.80.0
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 +62 -0
- package/README.md +52 -0
- package/data/SKILL.md +18 -5
- package/data/cursor-plugin/skills/pushary/SKILL.md +17 -4
- package/data/vscode-plugin/skills/pushary/SKILL.md +17 -4
- package/dist/bin/pushary-bell-hook.d.ts +1 -0
- package/dist/bin/pushary-bell-hook.js +22 -0
- package/dist/bin/pushary-bell.d.ts +1 -0
- package/dist/bin/pushary-bell.js +203 -0
- package/dist/bin/pushary-claude.js +8 -7
- package/dist/bin/pushary-clean.js +14 -14
- package/dist/bin/pushary-codex-hook.js +8 -7
- package/dist/bin/pushary-codex.js +3 -2
- package/dist/bin/pushary-connect.js +15 -14
- package/dist/bin/pushary-daemon.js +5 -5
- package/dist/bin/pushary-doctor.js +34 -64
- package/dist/bin/pushary-gemini-hook.js +8 -7
- package/dist/bin/pushary-hook.js +11 -10
- package/dist/bin/pushary-login.js +15 -14
- package/dist/bin/pushary-logout.js +12 -11
- package/dist/bin/pushary-mode.js +7 -7
- package/dist/bin/pushary-notification-hook.js +3 -2
- package/dist/bin/pushary-permission-denied-hook.js +7 -6
- package/dist/bin/pushary-permission-hook.js +7 -6
- package/dist/bin/pushary-post-hook.js +3 -2
- package/dist/bin/pushary-prompt-hook.js +3 -2
- package/dist/bin/pushary-session-end-hook.js +3 -2
- package/dist/bin/pushary-session-start-hook.js +3 -2
- package/dist/bin/pushary-setup.js +131 -41
- package/dist/bin/pushary-stats.js +7 -7
- package/dist/bin/pushary-status.js +17 -16
- package/dist/bin/pushary-stop-hook.js +3 -2
- package/dist/bin/pushary-stopfailure-hook.js +3 -2
- package/dist/bin/pushary-suggestions.js +4 -4
- package/dist/bin/pushary-upgrade.js +10 -10
- package/dist/bin/pushary-wait.js +9 -9
- package/dist/bin/pushary.js +6 -5
- package/dist/chunk-22EQOB2T.js +212 -0
- package/dist/{chunk-CC2K2SST.js → chunk-7DYFAM32.js} +1 -1
- package/dist/{chunk-FWWBEB6L.js → chunk-A5DAEWBZ.js} +2 -2
- package/dist/{chunk-MGFZXUUR.js → chunk-BOMF4C2Q.js} +114 -14
- package/dist/{chunk-HPDLDQC5.js → chunk-DUYM5SHH.js} +10 -1
- package/dist/{chunk-NHKWU7MN.js → chunk-E6I3DBJW.js} +8 -1
- package/dist/{chunk-DLBW37U6.js → chunk-EBP4YG75.js} +1 -1
- package/dist/{chunk-NQTRA7H5.js → chunk-GQLB2GBJ.js} +3 -3
- package/dist/{chunk-IA5GBKNL.js → chunk-MHA2WB7S.js} +1 -1
- package/dist/chunk-PPD3HHNJ.js +44 -0
- package/dist/{chunk-QCYN5VXB.js → chunk-Q4QULGAV.js} +1 -1
- package/dist/{chunk-3CBPY2G5.js → chunk-R6AYBATA.js} +1 -1
- package/dist/{chunk-BBK3TTU2.js → chunk-RRZZ7TFJ.js} +1 -1
- package/dist/{chunk-TJJBF73A.js → chunk-T6BNEQ2A.js} +23 -0
- package/dist/{chunk-7BBUTWBD.js → chunk-U2PZKYZM.js} +1 -1
- package/dist/{chunk-46UEJXQO.js → chunk-UBUPETEQ.js} +2 -2
- package/dist/{chunk-NN4GTN6Q.js → chunk-ULITFWLG.js} +8 -8
- package/dist/{chunk-IZA7SWXX.js → chunk-WYVKPLVT.js} +3 -3
- package/dist/{chunk-7OYGFJYZ.js → chunk-ZUKH2NPJ.js} +18 -0
- package/dist/src/index.js +7 -6
- package/package.json +4 -2
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
runBrowserLogin
|
|
4
|
-
} from "../chunk-Z3Z4VK5F.js";
|
|
5
|
-
import {
|
|
6
|
-
addClaudeMcpServer,
|
|
7
|
-
addPusharyHooks,
|
|
8
|
-
addPusharyToolPermissions
|
|
9
|
-
} from "../chunk-3CBPY2G5.js";
|
|
10
2
|
import {
|
|
11
3
|
claudeWired,
|
|
12
4
|
codexWired,
|
|
13
5
|
geminiWired
|
|
14
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-UBUPETEQ.js";
|
|
7
|
+
import {
|
|
8
|
+
runBrowserLogin
|
|
9
|
+
} from "../chunk-Z3Z4VK5F.js";
|
|
15
10
|
import {
|
|
16
11
|
describeDetection,
|
|
17
12
|
detectAllAgents,
|
|
@@ -23,12 +18,17 @@ import {
|
|
|
23
18
|
shortenHome,
|
|
24
19
|
vscodeSettingsTargets,
|
|
25
20
|
writeInstructionBlock
|
|
26
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-WYVKPLVT.js";
|
|
27
22
|
import {
|
|
28
23
|
GEMINI_HOOK_BINARY,
|
|
29
24
|
addGeminiHooks,
|
|
30
25
|
addGeminiMcpServer
|
|
31
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-7DYFAM32.js";
|
|
27
|
+
import {
|
|
28
|
+
addClaudeMcpServer,
|
|
29
|
+
addPusharyHooks,
|
|
30
|
+
addPusharyToolPermissions
|
|
31
|
+
} from "../chunk-R6AYBATA.js";
|
|
32
32
|
import {
|
|
33
33
|
addCodexHookTrust,
|
|
34
34
|
addCodexHooks,
|
|
@@ -46,15 +46,24 @@ import {
|
|
|
46
46
|
geminiSettings,
|
|
47
47
|
pusharyConfigFile,
|
|
48
48
|
vscodePluginDir
|
|
49
|
-
} from "../chunk-
|
|
49
|
+
} from "../chunk-Q4QULGAV.js";
|
|
50
|
+
import {
|
|
51
|
+
reportEvent
|
|
52
|
+
} from "../chunk-DUYM5SHH.js";
|
|
50
53
|
import {
|
|
51
54
|
confirmAppConnection,
|
|
52
55
|
connectDevice,
|
|
53
56
|
connectViaAppPairing,
|
|
57
|
+
describeRoundTrip,
|
|
54
58
|
printConnectInstructions,
|
|
55
|
-
setHumanStream
|
|
56
|
-
|
|
59
|
+
setHumanStream,
|
|
60
|
+
verifyRoundTrip
|
|
61
|
+
} from "../chunk-BOMF4C2Q.js";
|
|
57
62
|
import "../chunk-3EGEA4KH.js";
|
|
63
|
+
import {
|
|
64
|
+
checkApiKey,
|
|
65
|
+
describeKeyCheck
|
|
66
|
+
} from "../chunk-EBP4YG75.js";
|
|
58
67
|
import {
|
|
59
68
|
KEY_FILE_MODE,
|
|
60
69
|
exportLine,
|
|
@@ -62,7 +71,7 @@ import {
|
|
|
62
71
|
readConfigFileKey,
|
|
63
72
|
readKeySource,
|
|
64
73
|
writeKey
|
|
65
|
-
} from "../chunk-
|
|
74
|
+
} from "../chunk-E6I3DBJW.js";
|
|
66
75
|
import {
|
|
67
76
|
backupFile,
|
|
68
77
|
readJsonSafe,
|
|
@@ -70,16 +79,21 @@ import {
|
|
|
70
79
|
writeJsonAtomic
|
|
71
80
|
} from "../chunk-6MTNS63X.js";
|
|
72
81
|
import {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
} from "../chunk-DLBW37U6.js";
|
|
82
|
+
parseFlags
|
|
83
|
+
} from "../chunk-GMXKITVA.js";
|
|
76
84
|
import {
|
|
77
85
|
installClaudeAlias,
|
|
78
86
|
resolveShellRc
|
|
79
87
|
} from "../chunk-BC3VCZ3E.js";
|
|
88
|
+
import "../chunk-BSZYIAZL.js";
|
|
89
|
+
import "../chunk-SAF6HGAA.js";
|
|
90
|
+
import "../chunk-PPD3HHNJ.js";
|
|
80
91
|
import {
|
|
81
|
-
|
|
82
|
-
} from "../chunk-
|
|
92
|
+
UsageError
|
|
93
|
+
} from "../chunk-7QLSKOSU.js";
|
|
94
|
+
import {
|
|
95
|
+
isValidApiKey
|
|
96
|
+
} from "../chunk-T6BNEQ2A.js";
|
|
83
97
|
import {
|
|
84
98
|
installGlobally,
|
|
85
99
|
npmErrorMessage,
|
|
@@ -87,23 +101,12 @@ import {
|
|
|
87
101
|
resolveGlobalBinDir,
|
|
88
102
|
resolveGlobalBinary
|
|
89
103
|
} from "../chunk-MUEW424A.js";
|
|
104
|
+
import "../chunk-RN3NOEJF.js";
|
|
90
105
|
import {
|
|
91
106
|
getPackageVersion,
|
|
92
107
|
isNewerVersion,
|
|
93
108
|
renderCommandHelp
|
|
94
|
-
} from "../chunk-
|
|
95
|
-
import {
|
|
96
|
-
reportEvent
|
|
97
|
-
} from "../chunk-HPDLDQC5.js";
|
|
98
|
-
import "../chunk-BSZYIAZL.js";
|
|
99
|
-
import "../chunk-SAF6HGAA.js";
|
|
100
|
-
import {
|
|
101
|
-
UsageError
|
|
102
|
-
} from "../chunk-7QLSKOSU.js";
|
|
103
|
-
import {
|
|
104
|
-
isValidApiKey
|
|
105
|
-
} from "../chunk-TJJBF73A.js";
|
|
106
|
-
import "../chunk-RN3NOEJF.js";
|
|
109
|
+
} from "../chunk-ZUKH2NPJ.js";
|
|
107
110
|
import "../chunk-2UMNXADU.js";
|
|
108
111
|
import {
|
|
109
112
|
EXIT
|
|
@@ -166,6 +169,14 @@ var describeClosing = (facts) => {
|
|
|
166
169
|
exitCode: EXIT.PROBLEMS_FOUND
|
|
167
170
|
};
|
|
168
171
|
}
|
|
172
|
+
if (facts.roundTripAnswered === true) {
|
|
173
|
+
return {
|
|
174
|
+
ok: true,
|
|
175
|
+
headline: "Setup complete, and proven.",
|
|
176
|
+
next: [...nextSteps(facts, true), "", `Approvals: ${ACTIVITY_URL}`],
|
|
177
|
+
exitCode: EXIT.OK
|
|
178
|
+
};
|
|
179
|
+
}
|
|
169
180
|
if (facts.reachChecked && !facts.reachesYou) {
|
|
170
181
|
return {
|
|
171
182
|
ok: false,
|
|
@@ -178,6 +189,22 @@ var describeClosing = (facts) => {
|
|
|
178
189
|
exitCode: EXIT.NO_DEVICE
|
|
179
190
|
};
|
|
180
191
|
}
|
|
192
|
+
if (facts.roundTripAnswered === false) {
|
|
193
|
+
return {
|
|
194
|
+
ok: false,
|
|
195
|
+
headline: "Agents configured. Nobody answered the test question.",
|
|
196
|
+
next: [
|
|
197
|
+
"The push reached a device and no answer came back, which is the failure that usually",
|
|
198
|
+
"goes unnoticed: approvals will keep arriving and keep going unanswered.",
|
|
199
|
+
"",
|
|
200
|
+
"Check the notification opened something you could tap, then:",
|
|
201
|
+
"pushary doctor --roundtrip send another one",
|
|
202
|
+
"",
|
|
203
|
+
"If you simply were not looking, re-run setup or pass --verify push to skip this check."
|
|
204
|
+
],
|
|
205
|
+
exitCode: EXIT.PROBLEMS_FOUND
|
|
206
|
+
};
|
|
207
|
+
}
|
|
181
208
|
if (!facts.reachChecked) {
|
|
182
209
|
return {
|
|
183
210
|
ok: true,
|
|
@@ -307,6 +334,20 @@ var installAgentSkill = async (request, effects) => {
|
|
|
307
334
|
};
|
|
308
335
|
|
|
309
336
|
// src/setup/telemetry.ts
|
|
337
|
+
var roundTripOutcome = (outcome) => {
|
|
338
|
+
switch (outcome?.kind) {
|
|
339
|
+
case "answered":
|
|
340
|
+
return "answered";
|
|
341
|
+
case "notify-only":
|
|
342
|
+
return "delivered";
|
|
343
|
+
case "unanswered":
|
|
344
|
+
return "delivered";
|
|
345
|
+
case "no-recipients":
|
|
346
|
+
return "unreachable";
|
|
347
|
+
default:
|
|
348
|
+
return null;
|
|
349
|
+
}
|
|
350
|
+
};
|
|
310
351
|
var currentStep = "start";
|
|
311
352
|
var markStep = (step) => {
|
|
312
353
|
currentStep = step;
|
|
@@ -373,9 +414,20 @@ var parseConnectMode = (raw) => {
|
|
|
373
414
|
if (CONNECT_MODES.includes(value)) return value;
|
|
374
415
|
throw new UsageError(`--connect must be one of: ${CONNECT_MODES.join(", ")} (got ${raw})`);
|
|
375
416
|
};
|
|
417
|
+
var VERIFY_MODES = ["roundtrip", "push", "none"];
|
|
418
|
+
var parseVerifyMode = (raw) => {
|
|
419
|
+
const value = raw.trim().toLowerCase();
|
|
420
|
+
if (VERIFY_MODES.includes(value)) return value;
|
|
421
|
+
throw new UsageError(`--verify must be one of: ${VERIFY_MODES.join(", ")} (got ${raw})`);
|
|
422
|
+
};
|
|
423
|
+
var effectiveVerify = (options, context) => {
|
|
424
|
+
if (options.verifyExplicit) return options.verify;
|
|
425
|
+
if (options.verify === "roundtrip") return "roundtrip";
|
|
426
|
+
return context.paired ? "roundtrip" : options.verify;
|
|
427
|
+
};
|
|
376
428
|
var SETUP_FLAGS = {
|
|
377
429
|
bools: ["key-stdin", "skip-phone", "yes", "y", "json", "dry-run", "help", "h"],
|
|
378
|
-
values: ["key", "connect", "agents"]
|
|
430
|
+
values: ["key", "connect", "agents", "verify"]
|
|
379
431
|
};
|
|
380
432
|
var isAgentChoice = (value) => AGENT_CHOICES.includes(value);
|
|
381
433
|
var parseAgentSelection = (raw, yes) => {
|
|
@@ -412,6 +464,9 @@ var parseSetupOptions = (input2) => {
|
|
|
412
464
|
const agents = parseAgentSelection(agentsFlag, yes);
|
|
413
465
|
const connectRaw = flags.values.get("connect");
|
|
414
466
|
const connectMode = connectRaw === void 0 ? "app" : parseConnectMode(connectRaw);
|
|
467
|
+
const verifyRaw = flags.values.get("verify");
|
|
468
|
+
const nonInteractive = yes || agentsFlag !== void 0 || flags.bools.has("json") || !input2.stdinIsTty;
|
|
469
|
+
const verify = verifyRaw !== void 0 ? parseVerifyMode(verifyRaw) : nonInteractive ? "push" : "roundtrip";
|
|
415
470
|
const key = flags.values.get("key")?.trim() || null;
|
|
416
471
|
const keyStdin = flags.bools.has("key-stdin");
|
|
417
472
|
if (key && keyStdin) {
|
|
@@ -437,13 +492,15 @@ var parseSetupOptions = (input2) => {
|
|
|
437
492
|
// cannot see it is waiting for, and whatever is reading stdout waits forever
|
|
438
493
|
// for an object that never arrives. Asking for machine-readable output is
|
|
439
494
|
// itself a statement that no human is watching.
|
|
440
|
-
nonInteractive
|
|
495
|
+
nonInteractive,
|
|
441
496
|
json: flags.bools.has("json"),
|
|
442
497
|
dryRun: flags.bools.has("dry-run"),
|
|
443
498
|
help,
|
|
444
499
|
agents,
|
|
445
500
|
key,
|
|
446
|
-
keyStdin
|
|
501
|
+
keyStdin,
|
|
502
|
+
verify,
|
|
503
|
+
verifyExplicit: verifyRaw !== void 0
|
|
447
504
|
};
|
|
448
505
|
};
|
|
449
506
|
|
|
@@ -1722,6 +1779,31 @@ var main = async () => {
|
|
|
1722
1779
|
} else {
|
|
1723
1780
|
phone = await connectDevice(trimmedKey, { showCapabilities: !options.connectExplicit });
|
|
1724
1781
|
}
|
|
1782
|
+
let roundTrip = null;
|
|
1783
|
+
const verifyMode = effectiveVerify(options, { paired: keyFromPairing });
|
|
1784
|
+
if (verifyMode === "roundtrip" && keyCheck?.kind !== "locked" && !skipPhone && // Reaching nobody is already reported by the delivery check above, in copy
|
|
1785
|
+
// that names the fix. Asking a question nobody can receive would repeat it
|
|
1786
|
+
// 55 seconds later and add nothing.
|
|
1787
|
+
//
|
|
1788
|
+
// `unattributable` is the exception and the case this is best at. It means
|
|
1789
|
+
// the push landed on a multi-member site through a channel that carries no
|
|
1790
|
+
// owner, so nothing in the counts can say whether it was THIS user's device.
|
|
1791
|
+
// A tap settles it, which is why describeVerifyOutcome already tells people
|
|
1792
|
+
// to run `doctor --roundtrip` here. Doing it inline saves the round trip
|
|
1793
|
+
// being a thing they have to know to run.
|
|
1794
|
+
(phone?.reachesYou || phone?.outcome?.kind === "unattributable")) {
|
|
1795
|
+
console.log();
|
|
1796
|
+
console.log(` ${dim("One last check. Answering it is the proof.")}`);
|
|
1797
|
+
await spinner("Waiting for you to tap the notification", async () => {
|
|
1798
|
+
roundTrip = await verifyRoundTrip(trimmedKey);
|
|
1799
|
+
});
|
|
1800
|
+
const report = describeRoundTrip(roundTrip);
|
|
1801
|
+
console.log(` ${report.ok ? check : yellow("!")} ${report.message}`);
|
|
1802
|
+
for (const line of report.next) console.log(` ${dim(line)}`);
|
|
1803
|
+
} else if (verifyMode === "roundtrip") {
|
|
1804
|
+
console.log();
|
|
1805
|
+
console.log(` ${dim("Skipped the round trip: nothing is connected that could answer it.")}`);
|
|
1806
|
+
}
|
|
1725
1807
|
console.log();
|
|
1726
1808
|
if (keyCheck?.kind === "locked") {
|
|
1727
1809
|
const report = describeKeyCheck(keyCheck);
|
|
@@ -1765,7 +1847,10 @@ var main = async () => {
|
|
|
1765
1847
|
completed,
|
|
1766
1848
|
failed,
|
|
1767
1849
|
reachChecked,
|
|
1768
|
-
reachesYou
|
|
1850
|
+
reachesYou,
|
|
1851
|
+
// null when the check did not run, so it changes nothing. Only an outright
|
|
1852
|
+
// `false` is allowed to hold back "Setup complete.".
|
|
1853
|
+
roundTripAnswered: roundTrip === null ? null : roundTrip.kind === "answered" ? true : roundTrip.kind === "unanswered" ? false : null
|
|
1769
1854
|
});
|
|
1770
1855
|
console.log(` ${closing.ok ? green(bold(closing.headline)) : yellow(bold(closing.headline))}`);
|
|
1771
1856
|
if (failed.length > 0) {
|
|
@@ -1785,10 +1870,11 @@ var main = async () => {
|
|
|
1785
1870
|
completed,
|
|
1786
1871
|
skipped,
|
|
1787
1872
|
failed,
|
|
1788
|
-
// 'answered' is
|
|
1789
|
-
//
|
|
1790
|
-
//
|
|
1791
|
-
|
|
1873
|
+
// 'answered' is finally reachable. It was in the enum from the start and
|
|
1874
|
+
// nothing produced it, because setup stopped at a delivered notification, so
|
|
1875
|
+
// the one value meaning "a human tapped" was never emitted by the command
|
|
1876
|
+
// whose job is to prove a human can.
|
|
1877
|
+
connectOutcome: roundTripOutcome(roundTrip) ?? (phone === null ? "skipped" : phone.reachesYou ? "delivered" : "unreachable"),
|
|
1792
1878
|
keyCheck: keyCheck?.kind ?? "skipped",
|
|
1793
1879
|
exitCode
|
|
1794
1880
|
});
|
|
@@ -1800,6 +1886,10 @@ var main = async () => {
|
|
|
1800
1886
|
failed,
|
|
1801
1887
|
keyCheck: keyCheck?.kind ?? "skipped",
|
|
1802
1888
|
reach: phone === null ? "skipped" : phone.reachesYou ? "yours" : phone.outcome?.kind ?? phone.detail ?? "unreachable",
|
|
1889
|
+
// Named separately from `reach` so a caller can tell "a push landed" from
|
|
1890
|
+
// "a person answered" without inferring it. 'skipped' means the check did
|
|
1891
|
+
// not run, never that it failed.
|
|
1892
|
+
roundTrip: roundTrip === null ? "skipped" : roundTrip.kind,
|
|
1803
1893
|
rc: rc.kind,
|
|
1804
1894
|
rcPath: rc.path,
|
|
1805
1895
|
exitCode
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
exitOnHelpFlag
|
|
4
|
-
} from "../chunk-BBK3TTU2.js";
|
|
5
|
-
import "../chunk-7OYGFJYZ.js";
|
|
6
2
|
import {
|
|
7
3
|
readLedgerSummary
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-MHA2WB7S.js";
|
|
5
|
+
import "../chunk-T6BNEQ2A.js";
|
|
6
|
+
import {
|
|
7
|
+
exitOnHelpFlag
|
|
8
|
+
} from "../chunk-RRZZ7TFJ.js";
|
|
9
|
+
import "../chunk-ZUKH2NPJ.js";
|
|
10
10
|
import {
|
|
11
11
|
getApiKey
|
|
12
12
|
} from "../chunk-2UMNXADU.js";
|
|
@@ -40,5 +40,5 @@ if (connected) {
|
|
|
40
40
|
console.log("A key is configured now, so new moments reach your phone instead of waiting in the terminal.");
|
|
41
41
|
} else {
|
|
42
42
|
console.log("Each of those sat in the terminal until you noticed. With Pushary they land on your lock screen as a yes or no.");
|
|
43
|
-
console.log("
|
|
43
|
+
console.log("3-day trial: https://pushary.com/sign-up?utm_source=cli&utm_medium=stats");
|
|
44
44
|
}
|
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
describeLastSeen,
|
|
4
|
-
listMachines
|
|
5
|
-
} from "../chunk-NQTRA7H5.js";
|
|
6
2
|
import {
|
|
7
3
|
describeReach,
|
|
8
4
|
fetchChannels,
|
|
9
5
|
reachVerdict
|
|
10
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-BOMF4C2Q.js";
|
|
11
7
|
import "../chunk-3EGEA4KH.js";
|
|
12
|
-
import {
|
|
13
|
-
readKeySource
|
|
14
|
-
} from "../chunk-NHKWU7MN.js";
|
|
15
|
-
import "../chunk-6MTNS63X.js";
|
|
16
8
|
import {
|
|
17
9
|
checkApiKey,
|
|
18
10
|
describeKeyCheck
|
|
19
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-EBP4YG75.js";
|
|
20
12
|
import {
|
|
21
13
|
createIo
|
|
22
14
|
} from "../chunk-TX7KBKT7.js";
|
|
23
|
-
import
|
|
15
|
+
import {
|
|
16
|
+
readKeySource
|
|
17
|
+
} from "../chunk-E6I3DBJW.js";
|
|
18
|
+
import "../chunk-6MTNS63X.js";
|
|
24
19
|
import {
|
|
25
20
|
rejectUnknownFlags
|
|
26
21
|
} from "../chunk-GMXKITVA.js";
|
|
27
|
-
import
|
|
28
|
-
exitOnHelpFlag
|
|
29
|
-
} from "../chunk-BBK3TTU2.js";
|
|
30
|
-
import "../chunk-7OYGFJYZ.js";
|
|
22
|
+
import "../chunk-BC3VCZ3E.js";
|
|
31
23
|
import "../chunk-BSZYIAZL.js";
|
|
32
24
|
import "../chunk-SAF6HGAA.js";
|
|
25
|
+
import "../chunk-PPD3HHNJ.js";
|
|
33
26
|
import {
|
|
34
27
|
UsageError
|
|
35
28
|
} from "../chunk-7QLSKOSU.js";
|
|
36
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-T6BNEQ2A.js";
|
|
30
|
+
import {
|
|
31
|
+
describeLastSeen,
|
|
32
|
+
listMachines
|
|
33
|
+
} from "../chunk-GQLB2GBJ.js";
|
|
37
34
|
import "../chunk-RN3NOEJF.js";
|
|
35
|
+
import {
|
|
36
|
+
exitOnHelpFlag
|
|
37
|
+
} from "../chunk-RRZZ7TFJ.js";
|
|
38
|
+
import "../chunk-ZUKH2NPJ.js";
|
|
38
39
|
import "../chunk-2UMNXADU.js";
|
|
39
40
|
import {
|
|
40
41
|
EXIT
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
handleStop
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-DUYM5SHH.js";
|
|
5
5
|
import "../chunk-BSZYIAZL.js";
|
|
6
6
|
import "../chunk-SAF6HGAA.js";
|
|
7
|
+
import "../chunk-PPD3HHNJ.js";
|
|
7
8
|
import "../chunk-7QLSKOSU.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-T6BNEQ2A.js";
|
|
9
10
|
import "../chunk-RN3NOEJF.js";
|
|
10
11
|
import "../chunk-2UMNXADU.js";
|
|
11
12
|
import "../chunk-KZERVKTD.js";
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
handleStopFailure
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-DUYM5SHH.js";
|
|
5
5
|
import "../chunk-BSZYIAZL.js";
|
|
6
6
|
import "../chunk-SAF6HGAA.js";
|
|
7
|
+
import "../chunk-PPD3HHNJ.js";
|
|
7
8
|
import "../chunk-7QLSKOSU.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-T6BNEQ2A.js";
|
|
9
10
|
import "../chunk-RN3NOEJF.js";
|
|
10
11
|
import "../chunk-2UMNXADU.js";
|
|
11
12
|
import "../chunk-KZERVKTD.js";
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
rejectUnknownFlags
|
|
7
7
|
} from "../chunk-GMXKITVA.js";
|
|
8
|
-
import {
|
|
9
|
-
exitOnHelpFlag
|
|
10
|
-
} from "../chunk-BBK3TTU2.js";
|
|
11
|
-
import "../chunk-7OYGFJYZ.js";
|
|
12
8
|
import {
|
|
13
9
|
UsageError
|
|
14
10
|
} from "../chunk-7QLSKOSU.js";
|
|
11
|
+
import {
|
|
12
|
+
exitOnHelpFlag
|
|
13
|
+
} from "../chunk-RRZZ7TFJ.js";
|
|
14
|
+
import "../chunk-ZUKH2NPJ.js";
|
|
15
15
|
import {
|
|
16
16
|
getApiKey,
|
|
17
17
|
getBaseUrl
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
addClaudeMcpServer,
|
|
4
|
-
addPusharyHooks,
|
|
5
|
-
addPusharyToolPermissions
|
|
6
|
-
} from "../chunk-3CBPY2G5.js";
|
|
7
2
|
import {
|
|
8
3
|
GEMINI_HOOK_BINARY,
|
|
9
4
|
addGeminiHooks,
|
|
10
5
|
addGeminiMcpServer,
|
|
11
6
|
hasGeminiHooks
|
|
12
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-7DYFAM32.js";
|
|
8
|
+
import {
|
|
9
|
+
addClaudeMcpServer,
|
|
10
|
+
addPusharyHooks,
|
|
11
|
+
addPusharyToolPermissions
|
|
12
|
+
} from "../chunk-R6AYBATA.js";
|
|
13
13
|
import {
|
|
14
14
|
CODEX_HOOK_BINARY,
|
|
15
15
|
addCodexHookTrust,
|
|
@@ -23,10 +23,11 @@ import {
|
|
|
23
23
|
hasCodexHooks,
|
|
24
24
|
vscodePluginDir,
|
|
25
25
|
vscodePluginMcp
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-Q4QULGAV.js";
|
|
27
27
|
import {
|
|
28
28
|
readJsonSafe
|
|
29
29
|
} from "../chunk-6MTNS63X.js";
|
|
30
|
+
import "../chunk-T6BNEQ2A.js";
|
|
30
31
|
import {
|
|
31
32
|
execNpm,
|
|
32
33
|
npmErrorMessage,
|
|
@@ -36,11 +37,10 @@ import {
|
|
|
36
37
|
} from "../chunk-MUEW424A.js";
|
|
37
38
|
import {
|
|
38
39
|
exitOnHelpFlag
|
|
39
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-RRZZ7TFJ.js";
|
|
40
41
|
import {
|
|
41
42
|
isNewerVersion
|
|
42
|
-
} from "../chunk-
|
|
43
|
-
import "../chunk-TJJBF73A.js";
|
|
43
|
+
} from "../chunk-ZUKH2NPJ.js";
|
|
44
44
|
import {
|
|
45
45
|
getApiKey
|
|
46
46
|
} from "../chunk-2UMNXADU.js";
|
package/dist/bin/pushary-wait.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
exitOnFailedResponse
|
|
4
|
-
} from "../chunk-7BBUTWBD.js";
|
|
5
2
|
import {
|
|
6
3
|
describeWaitLadder
|
|
7
4
|
} from "../chunk-IIENZE2J.js";
|
|
8
|
-
import
|
|
5
|
+
import {
|
|
6
|
+
exitOnFailedResponse
|
|
7
|
+
} from "../chunk-U2PZKYZM.js";
|
|
8
|
+
import "../chunk-EBP4YG75.js";
|
|
9
9
|
import {
|
|
10
10
|
createIo
|
|
11
11
|
} from "../chunk-TX7KBKT7.js";
|
|
12
12
|
import {
|
|
13
13
|
rejectUnknownFlags
|
|
14
14
|
} from "../chunk-GMXKITVA.js";
|
|
15
|
-
import {
|
|
16
|
-
exitOnHelpFlag
|
|
17
|
-
} from "../chunk-BBK3TTU2.js";
|
|
18
|
-
import "../chunk-7OYGFJYZ.js";
|
|
19
15
|
import "../chunk-SAF6HGAA.js";
|
|
20
16
|
import {
|
|
21
17
|
UsageError
|
|
22
18
|
} from "../chunk-7QLSKOSU.js";
|
|
23
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-T6BNEQ2A.js";
|
|
20
|
+
import {
|
|
21
|
+
exitOnHelpFlag
|
|
22
|
+
} from "../chunk-RRZZ7TFJ.js";
|
|
23
|
+
import "../chunk-ZUKH2NPJ.js";
|
|
24
24
|
import {
|
|
25
25
|
getApiKey,
|
|
26
26
|
getBaseUrl
|
package/dist/bin/pushary.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
installProxyDispatcher
|
|
4
|
+
} from "../chunk-SAF6HGAA.js";
|
|
5
|
+
import "../chunk-7QLSKOSU.js";
|
|
2
6
|
import {
|
|
3
7
|
COMMANDS,
|
|
4
8
|
getPackageVersion,
|
|
5
9
|
isCommandName,
|
|
6
10
|
renderHelp
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import {
|
|
9
|
-
installProxyDispatcher
|
|
10
|
-
} from "../chunk-SAF6HGAA.js";
|
|
11
|
-
import "../chunk-7QLSKOSU.js";
|
|
11
|
+
} from "../chunk-ZUKH2NPJ.js";
|
|
12
12
|
import {
|
|
13
13
|
EXIT
|
|
14
14
|
} from "../chunk-KZERVKTD.js";
|
|
@@ -22,6 +22,7 @@ var LOADERS = {
|
|
|
22
22
|
login: () => import("./pushary-login.js"),
|
|
23
23
|
logout: () => import("./pushary-logout.js"),
|
|
24
24
|
connect: () => import("./pushary-connect.js"),
|
|
25
|
+
bell: () => import("./pushary-bell.js"),
|
|
25
26
|
doctor: () => import("./pushary-doctor.js"),
|
|
26
27
|
clean: () => import("./pushary-clean.js"),
|
|
27
28
|
mode: () => import("./pushary-mode.js"),
|