pushary 1.8.0 → 1.8.1
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/README.md +27 -19
- package/data/SKILL.md +8 -8
- package/data/cowork/SKILL.md +2 -2
- package/data/cursor-plugin/README.md +2 -2
- package/data/cursor-plugin/scripts/redaction.mjs +4 -2
- package/data/cursor-plugin/skills/pushary/SKILL.md +7 -7
- package/data/vscode-plugin/README.md +4 -4
- package/data/vscode-plugin/scripts/pushary-gate.mjs +2 -2
- package/data/vscode-plugin/scripts/redaction.mjs +4 -2
- package/data/vscode-plugin/skills/pushary/SKILL.md +7 -7
- package/dist/bin/pushary-bell-hook.js +23 -23
- package/dist/bin/pushary-bell.js +9 -9
- package/dist/bin/pushary-claude.js +26 -26
- package/dist/bin/pushary-clean.js +34 -32
- package/dist/bin/pushary-codex-bridge.js +18 -18
- package/dist/bin/pushary-codex-hook.js +31 -31
- package/dist/bin/pushary-codex.js +13 -13
- package/dist/bin/pushary-connect.js +13 -13
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +27 -27
- package/dist/bin/pushary-disconnect.js +18 -18
- package/dist/bin/pushary-doctor.js +37 -37
- package/dist/bin/pushary-elicitation-hook.js +25 -25
- package/dist/bin/pushary-gemini-bridge.js +12 -12
- package/dist/bin/pushary-gemini-hook.js +28 -28
- package/dist/bin/pushary-hook.js +32 -32
- package/dist/bin/pushary-login.js +12 -12
- package/dist/bin/pushary-logout.js +7 -7
- package/dist/bin/pushary-mcp.js +9 -9
- package/dist/bin/pushary-mode.js +9 -9
- package/dist/bin/pushary-notification-hook.js +28 -28
- package/dist/bin/pushary-opencode-hook.js +27 -27
- package/dist/bin/pushary-permission-denied-hook.js +32 -32
- package/dist/bin/pushary-permission-hook.js +31 -31
- package/dist/bin/pushary-post-hook.js +28 -28
- package/dist/bin/pushary-prompt-hook.js +28 -28
- package/dist/bin/pushary-session-end-hook.js +28 -28
- package/dist/bin/pushary-session-start-hook.js +32 -32
- package/dist/bin/pushary-setup.js +39 -39
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +15 -15
- package/dist/bin/pushary-stop-hook.js +28 -28
- package/dist/bin/pushary-stopfailure-hook.js +28 -28
- package/dist/bin/pushary-suggestions.js +4 -4
- package/dist/bin/pushary-transcript-register.js +19 -19
- package/dist/bin/pushary-transcripts.js +7 -7
- package/dist/bin/pushary-upgrade.js +26 -26
- package/dist/bin/pushary-wait.js +9 -9
- package/dist/bin/pushary.js +6 -6
- package/dist/{chunk-2OY3ZZ5N.js → chunk-2SLCHCVN.js} +3 -3
- package/dist/{chunk-E4FJTUH4.js → chunk-35X5UDML.js} +7 -7
- package/dist/{chunk-LXQ5FBBD.js → chunk-4A3UQERT.js} +1 -1
- package/dist/{chunk-CJVVKOSR.js → chunk-5DGNEUXK.js} +2 -2
- package/dist/{chunk-DB3ONZB4.js → chunk-5Y2DY6X4.js} +2 -2
- package/dist/{chunk-NQTHFF4W.js → chunk-5YY3IJT4.js} +21 -19
- package/dist/{chunk-UI36QSBI.js → chunk-64H5IZZD.js} +2 -2
- package/dist/{chunk-JZTHGAPA.js → chunk-6TK4IY3A.js} +8 -8
- package/dist/{chunk-OLQRRFBX.js → chunk-72WOCX22.js} +1 -1
- package/dist/{chunk-JU6W3XAU.js → chunk-7ITOAMCD.js} +1 -1
- package/dist/{chunk-JYG4B33G.js → chunk-7U7ZWUTR.js} +1 -1
- package/dist/{chunk-SIFVFP6T.js → chunk-ASWRMBOM.js} +1 -1
- package/dist/{chunk-HZVVNGEW.js → chunk-CB23AO4D.js} +2 -2
- package/dist/{chunk-D2FX3EPW.js → chunk-CHMOVJ2M.js} +1 -1
- package/dist/{chunk-ZVSKMPBZ.js → chunk-DLEKCAQL.js} +1 -1
- package/dist/{chunk-2ABTSGFT.js → chunk-DVW2MYCM.js} +3 -3
- package/dist/{chunk-TY4JT7W3.js → chunk-DXBS2EL7.js} +1 -1
- package/dist/{chunk-WE2J62NC.js → chunk-EIGJYCOE.js} +5 -5
- package/dist/{chunk-CULUZTWQ.js → chunk-F6NTWZZC.js} +9 -9
- package/dist/{chunk-KGDWDSNL.js → chunk-FLQPM2GQ.js} +2 -2
- package/dist/{chunk-EYK3GSRH.js → chunk-GBNQXYN4.js} +4 -4
- package/dist/{chunk-VQKRG3AC.js → chunk-GH6KGWMC.js} +6 -6
- package/dist/{chunk-KVQBWI5T.js → chunk-HBWC3JVZ.js} +2 -2
- package/dist/{chunk-IPVKH2ST.js → chunk-HMNR7B2F.js} +1 -1
- package/dist/{chunk-OKXS7WDZ.js → chunk-HOEB6AKG.js} +1 -1
- package/dist/{chunk-Q7E4I6UA.js → chunk-HQRCVEI2.js} +13 -10
- package/dist/{chunk-3EVPNIBE.js → chunk-HTEGMMT3.js} +3 -3
- package/dist/{chunk-R7437YI3.js → chunk-HVDMGDYV.js} +2 -2
- package/dist/{chunk-M5ICYGHT.js → chunk-I4HKMUZQ.js} +3 -3
- package/dist/{chunk-M5JDZ45W.js → chunk-INSMZNS7.js} +5 -5
- package/dist/{chunk-AXPCESYO.js → chunk-JRQRNNGA.js} +3 -3
- package/dist/{chunk-CVQYGMSR.js → chunk-KB2FTO4O.js} +4 -4
- package/dist/{chunk-MDEPU45E.js → chunk-LK2S5XIV.js} +6 -6
- package/dist/{chunk-NGDD6TXY.js → chunk-MMVCI6DT.js} +5 -5
- package/dist/{chunk-C2WCPBF7.js → chunk-MYHG7PX2.js} +1 -1
- package/dist/{chunk-7Z7Q4GGS.js → chunk-N6JJJTPH.js} +6 -3
- package/dist/{chunk-EX3GAPA4.js → chunk-NHCUXTEM.js} +1 -1
- package/dist/{chunk-AHV4LNB5.js → chunk-NOLPURUI.js} +1 -1
- package/dist/{chunk-6J2JC2RT.js → chunk-OCVVSRDA.js} +3 -3
- package/dist/{chunk-GPEGOGRJ.js → chunk-ON5JW2HP.js} +1 -1
- package/dist/{chunk-J5TIV3J6.js → chunk-QB6QYZ6B.js} +5 -5
- package/dist/{chunk-SLFABHW3.js → chunk-T55H6YEP.js} +2 -2
- package/dist/{chunk-P7WQEVWA.js → chunk-TJMAXQ5Q.js} +2 -2
- package/dist/{chunk-DE4Y6TCC.js → chunk-TKQ6LZQZ.js} +6 -6
- package/dist/{chunk-SAXBC4AZ.js → chunk-UMMCHS6P.js} +1 -1
- package/dist/{chunk-A2A2YTMG.js → chunk-UPLV5AJF.js} +1 -1
- package/dist/{chunk-MPWXGONV.js → chunk-URNXU3FO.js} +1 -1
- package/dist/{chunk-EPCXUP3P.js → chunk-VFFHQC7W.js} +1 -1
- package/dist/{chunk-HQ6G3B5R.js → chunk-VZMIHERK.js} +2 -2
- package/dist/{chunk-RHR6NARM.js → chunk-W2LJ4O3A.js} +2 -2
- package/dist/{chunk-ZSZSSJCV.js → chunk-ZJYJAD52.js} +1 -1
- package/dist/{reapply-CW3MA66V.js → reapply-ICGTBHVE.js} +9 -9
- package/dist/src/index.js +20 -20
- package/package.json +1 -1
|
@@ -22,7 +22,7 @@ var COWORK_STANDING_INSTRUCTIONS = `Pushary is connected as a custom connector.
|
|
|
22
22
|
- If Pushary tools are missing or disabled, report that once and continue within my authorization. Do not claim a notification or approval was delivered.`;
|
|
23
23
|
|
|
24
24
|
// ../contracts/src/agent-manifest.ts
|
|
25
|
-
var
|
|
25
|
+
var PUSHARY_SETUP_COMMAND = "npx pushary@latest setup";
|
|
26
26
|
var defaults = {
|
|
27
27
|
hasStoredIdentity: true,
|
|
28
28
|
hookSource: null,
|
|
@@ -54,7 +54,7 @@ var AGENTS = {
|
|
|
54
54
|
managedProvider: true,
|
|
55
55
|
enforcement: "enforced",
|
|
56
56
|
connectVia: "Native hooks + MCP",
|
|
57
|
-
setupCommand:
|
|
57
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
58
58
|
enforcementDetail: "Shell, writes and edits, subject to Claude Code permission mode and explicit policy."
|
|
59
59
|
},
|
|
60
60
|
claude_chat: {
|
|
@@ -81,7 +81,7 @@ var AGENTS = {
|
|
|
81
81
|
managedProvider: true,
|
|
82
82
|
enforcement: "enforced",
|
|
83
83
|
connectVia: "Native hooks + MCP",
|
|
84
|
-
setupCommand:
|
|
84
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
85
85
|
enforcementDetail: "Shell and apply_patch edits through native permission hooks; requires a compatible Codex runtime."
|
|
86
86
|
},
|
|
87
87
|
chatgpt: {
|
|
@@ -101,7 +101,7 @@ var AGENTS = {
|
|
|
101
101
|
managedProvider: true,
|
|
102
102
|
enforcement: "enforced",
|
|
103
103
|
connectVia: "Native hooks + MCP",
|
|
104
|
-
setupCommand:
|
|
104
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
105
105
|
enforcementDetail: "Shell, writes and edits through native BeforeTool hooks."
|
|
106
106
|
},
|
|
107
107
|
hermes: {
|
|
@@ -110,7 +110,7 @@ var AGENTS = {
|
|
|
110
110
|
policyAgent: "hermes",
|
|
111
111
|
enforcement: "enforced",
|
|
112
112
|
connectVia: "Native Python plugin + approval transport",
|
|
113
|
-
setupCommand:
|
|
113
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
114
114
|
enforcementDetail: "Hermes dangerous-command approvals when the Pushary transport is selected; optional PUSHARY_GATE_TOOLS gates named tools.",
|
|
115
115
|
capabilityNote: "Uses the Python plugin, not a macOS bridge HookSource. CLI disconnect and managed-provider controls are not implemented for Hermes."
|
|
116
116
|
},
|
|
@@ -123,7 +123,7 @@ var AGENTS = {
|
|
|
123
123
|
disconnectable: true,
|
|
124
124
|
enforcement: "enforced",
|
|
125
125
|
connectVia: "Editor plugin hooks + MCP",
|
|
126
|
-
setupCommand:
|
|
126
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
127
127
|
enforcementDetail: "With installed hooks: shell, MCP execution and Write/Delete/Edit tool calls. Plain MCP remains cooperative."
|
|
128
128
|
},
|
|
129
129
|
vscode: {
|
|
@@ -134,7 +134,7 @@ var AGENTS = {
|
|
|
134
134
|
policyAgent: "vscode",
|
|
135
135
|
enforcement: "enforced",
|
|
136
136
|
connectVia: "Agent plugin hooks + MCP",
|
|
137
|
-
setupCommand:
|
|
137
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
138
138
|
enforcementDetail: "PreToolUse approval hooks from the installed agent plugin; the host decides which events it exposes.",
|
|
139
139
|
capabilityNote: "Has both a bridge HookSource and a per-agent policy profile. CLI disconnect and managed-provider controls are not implemented for VS Code."
|
|
140
140
|
},
|
|
@@ -148,14 +148,14 @@ var AGENTS = {
|
|
|
148
148
|
disconnectable: true,
|
|
149
149
|
enforcement: "enforced",
|
|
150
150
|
connectVia: "Generated plugin + MCP",
|
|
151
|
-
setupCommand:
|
|
151
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
152
152
|
enforcementDetail: "Shell, writes, edits and web fetches when OpenCode itself asks for permission."
|
|
153
153
|
},
|
|
154
154
|
fx: {
|
|
155
155
|
...defaults,
|
|
156
156
|
label: "fx",
|
|
157
157
|
connectVia: "Local MCP bridge",
|
|
158
|
-
setupCommand:
|
|
158
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
159
159
|
capabilityNote: "fx has no hooks that other tools can register, so Pushary cannot answer fx's own approval prompts. Setup turns off fx's terminal question tool so fx's agent asks through Pushary. fx's full-access mode ignores that setting; there the agent is only instructed to ask through Pushary."
|
|
160
160
|
},
|
|
161
161
|
qwen_code: {
|
|
@@ -168,7 +168,7 @@ var AGENTS = {
|
|
|
168
168
|
disconnectable: true,
|
|
169
169
|
enforcement: "enforced",
|
|
170
170
|
connectVia: "Native hooks + MCP",
|
|
171
|
-
setupCommand:
|
|
171
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
172
172
|
enforcementDetail: "Shell, writes and edits through native PreToolUse hooks, matched on Qwen's own tool names and their Claude-shaped aliases."
|
|
173
173
|
},
|
|
174
174
|
codebuddy: {
|
|
@@ -181,7 +181,7 @@ var AGENTS = {
|
|
|
181
181
|
disconnectable: true,
|
|
182
182
|
enforcement: "enforced",
|
|
183
183
|
connectVia: "Native hooks + MCP",
|
|
184
|
-
setupCommand:
|
|
184
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
185
185
|
enforcementDetail: "Shell, writes and edits through native PreToolUse hooks, plus PermissionRequest. CodeBuddy implements the Claude Code hook specification."
|
|
186
186
|
},
|
|
187
187
|
qoder: {
|
|
@@ -194,7 +194,7 @@ var AGENTS = {
|
|
|
194
194
|
disconnectable: true,
|
|
195
195
|
enforcement: "enforced",
|
|
196
196
|
connectVia: "Native hooks + MCP",
|
|
197
|
-
setupCommand:
|
|
197
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
198
198
|
enforcementDetail: "Shell, writes and edits through native PreToolUse hooks, plus PermissionRequest, over Qoder's superset of the Claude Code event list.",
|
|
199
199
|
capabilityNote: "Qoder documents no user-level instructions file, so the proactive-ask block is not installed. Hooks and MCP are unaffected. Like every agent in this family, the CLI wires it; the macOS app does not yet."
|
|
200
200
|
},
|
|
@@ -208,7 +208,7 @@ var AGENTS = {
|
|
|
208
208
|
disconnectable: true,
|
|
209
209
|
enforcement: "enforced",
|
|
210
210
|
connectVia: "Native hooks",
|
|
211
|
-
setupCommand:
|
|
211
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
212
212
|
enforcementDetail: "Execute, Create, Edit and ApplyPatch through native PreToolUse hooks in ~/.factory/hooks.json.",
|
|
213
213
|
capabilityNote: "Droid registers MCP servers through `droid mcp add` rather than a documented remote-server config shape, so setup writes hooks only. Add Pushary's MCP server yourself to let Droid send notifications and ask questions."
|
|
214
214
|
},
|
|
@@ -222,14 +222,14 @@ var AGENTS = {
|
|
|
222
222
|
disconnectable: true,
|
|
223
223
|
enforcement: "enforced",
|
|
224
224
|
connectVia: "Native hooks",
|
|
225
|
-
setupCommand:
|
|
225
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
226
226
|
enforcementDetail: "exec, write and edit through native PreToolUse hooks, answered in Devin's own approve/block schema.",
|
|
227
227
|
capabilityNote: "Devin CLI answers PreToolUse with `{decision}` rather than a permission decision. Pushary blocks an unanswered approval because this adapter cannot request a native prompt reliably. Question and plan dialogs remain with Devin; this adapter does not render their answers. It also fires no Notification event."
|
|
228
228
|
},
|
|
229
229
|
windsurf: {
|
|
230
230
|
...defaults,
|
|
231
231
|
label: "Windsurf",
|
|
232
|
-
setupCommand:
|
|
232
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
233
233
|
setupChoice: "Other"
|
|
234
234
|
},
|
|
235
235
|
unknown: {
|
|
@@ -246,7 +246,7 @@ var AGENTS = {
|
|
|
246
246
|
...defaults,
|
|
247
247
|
hasStoredIdentity: false,
|
|
248
248
|
label: "Any MCP client",
|
|
249
|
-
setupCommand:
|
|
249
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
250
250
|
setupChoice: "Other"
|
|
251
251
|
},
|
|
252
252
|
http: {
|
|
@@ -467,6 +467,7 @@ var credentialAssignmentRule = (key, doubleQuoted, singleQuoted, bare) => ({
|
|
|
467
467
|
replacement: "$1$2$3$4[redacted]$2$3"
|
|
468
468
|
});
|
|
469
469
|
var DISPLAYED_SECRET_SHAPES = {
|
|
470
|
+
separator: String.raw`[ \t]`,
|
|
470
471
|
privateKeyBody: String.raw`${PEM_LINE_BREAK}?(?:(?:Proc-Type|DEK-Info): [A-Za-z0-9,-]+${PEM_LINE_BREAK})*(?:[A-Za-z0-9+/=\r\n]|\\[rn])*?`,
|
|
471
472
|
urlPassword: `${SHELL_INERT_URL_PASSWORD_UNIT}+`,
|
|
472
473
|
authorizationValue: `${SHELL_INERT_UNIT}+`,
|
|
@@ -478,6 +479,7 @@ var DISPLAYED_SECRET_SHAPES = {
|
|
|
478
479
|
)
|
|
479
480
|
};
|
|
480
481
|
var CUT_OFF_SECRET_SHAPES = {
|
|
482
|
+
separator: String.raw`\s`,
|
|
481
483
|
privateKeyBody: String.raw`[\s\S]*?`,
|
|
482
484
|
urlPassword: String.raw`[^\s@/]+`,
|
|
483
485
|
authorizationValue: String.raw`\S+`,
|
|
@@ -504,8 +506,8 @@ var secretRedactionRules = (shapes) => [
|
|
|
504
506
|
{ pattern: /\bxai-[A-Za-z0-9]{16,}\b/g, replacement: "[redacted]" },
|
|
505
507
|
{ pattern: /\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/g, replacement: "[redacted]" },
|
|
506
508
|
{ pattern: new RegExp(String.raw`\b([a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)${shapes.urlPassword}@`, "gi"), replacement: "$1[redacted]@" },
|
|
507
|
-
{ pattern:
|
|
508
|
-
{ pattern: new RegExp(String.raw`\bauthorization
|
|
509
|
+
{ pattern: new RegExp(String.raw`\bbearer${shapes.separator}+[A-Za-z0-9._~+/=-]+`, "gi"), replacement: "bearer [redacted]" },
|
|
510
|
+
{ pattern: new RegExp(String.raw`\bauthorization:${shapes.separator}*${shapes.authorizationValue}`, "gi"), replacement: "authorization: [redacted]" },
|
|
509
511
|
shapes.credentialAssignment
|
|
510
512
|
];
|
|
511
513
|
var SECRET_REDACTION_RULES = secretRedactionRules(DISPLAYED_SECRET_SHAPES);
|
|
@@ -643,7 +645,7 @@ var parseAgentQuestionAnswers = (questions, value) => {
|
|
|
643
645
|
return answers;
|
|
644
646
|
};
|
|
645
647
|
var INSTALL_SOURCES = [
|
|
646
|
-
/** `npx
|
|
648
|
+
/** `npx pushary@latest ...`, the documented one-liner. */
|
|
647
649
|
"npx",
|
|
648
650
|
/** A global or project npm install, invoked as `pushary`. */
|
|
649
651
|
"npm",
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-POFBE6ZY.js";
|
|
4
4
|
import {
|
|
5
5
|
autoUpdateState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-UPLV5AJF.js";
|
|
7
7
|
import {
|
|
8
8
|
readJsonSafe,
|
|
9
9
|
writeJsonAtomic
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
cliPackagePathSegments,
|
|
15
15
|
globalUpgradeEntry,
|
|
16
16
|
ownPackageRoot
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5YY3IJT4.js";
|
|
18
18
|
|
|
19
19
|
// src/auto-update.ts
|
|
20
20
|
import { spawn } from "child_process";
|
|
@@ -6,38 +6,38 @@ import {
|
|
|
6
6
|
} from "./chunk-SGZJ5LYH.js";
|
|
7
7
|
import {
|
|
8
8
|
hookOwnerOf
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GBNQXYN4.js";
|
|
10
10
|
import {
|
|
11
11
|
ensureDaemonRunning
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EIGJYCOE.js";
|
|
13
13
|
import {
|
|
14
14
|
buildTranscriptRecords,
|
|
15
15
|
decodePublicKey,
|
|
16
16
|
generateSessionKey,
|
|
17
17
|
wrapSessionKey
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-URNXU3FO.js";
|
|
19
19
|
import {
|
|
20
20
|
fetchTranscriptRecipients,
|
|
21
21
|
uploadTranscriptRecords
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-UMMCHS6P.js";
|
|
23
23
|
import {
|
|
24
24
|
transcriptEnvironmentPreference,
|
|
25
25
|
transcriptsEnabled
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-72WOCX22.js";
|
|
27
27
|
import {
|
|
28
28
|
readTranscriptPreference
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-TJMAXQ5Q.js";
|
|
30
30
|
import {
|
|
31
31
|
codexHome,
|
|
32
32
|
pusharyDir
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-UPLV5AJF.js";
|
|
34
34
|
import {
|
|
35
35
|
writeJsonAtomic
|
|
36
36
|
} from "./chunk-T7E75EKA.js";
|
|
37
37
|
import {
|
|
38
38
|
getApiKey,
|
|
39
39
|
getBaseUrl
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-ON5JW2HP.js";
|
|
41
41
|
|
|
42
42
|
// src/transcript-registration.ts
|
|
43
43
|
import { createHash } from "crypto";
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-KZERVKTD.js";
|
|
4
4
|
import {
|
|
5
5
|
renderCommandHelp
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-35X5UDML.js";
|
|
7
7
|
import {
|
|
8
8
|
getPackageVersion
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5YY3IJT4.js";
|
|
10
10
|
|
|
11
11
|
// src/cli/usage.ts
|
|
12
12
|
var exitOnHelpFlag = (command) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyFetch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2SLCHCVN.js";
|
|
4
4
|
import {
|
|
5
5
|
NetworkError
|
|
6
6
|
} from "./chunk-7QLSKOSU.js";
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
} from "./chunk-KZERVKTD.js";
|
|
10
10
|
import {
|
|
11
11
|
getBaseUrl
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ON5JW2HP.js";
|
|
13
13
|
import {
|
|
14
14
|
isValidApiKey,
|
|
15
15
|
normalizeKeyScope
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5YY3IJT4.js";
|
|
17
17
|
|
|
18
18
|
// src/session.ts
|
|
19
19
|
var samePusharyAccount = (left, right) => left.kind === "ok" && right.kind === "ok" && left.identity.workspaceId !== "" && left.identity.workspaceId === right.identity.workspaceId && left.identity.siteId === right.identity.siteId;
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-XHKBHWLX.js";
|
|
5
5
|
import {
|
|
6
6
|
readControlMode
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TJMAXQ5Q.js";
|
|
8
8
|
import {
|
|
9
9
|
getMachineId
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4A3UQERT.js";
|
|
11
11
|
import {
|
|
12
12
|
pusharyDir,
|
|
13
13
|
resolveGlobalBinary
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-UPLV5AJF.js";
|
|
15
15
|
import {
|
|
16
16
|
readJsonSafe,
|
|
17
17
|
writeFileAtomic,
|
|
@@ -20,14 +20,14 @@ import {
|
|
|
20
20
|
} from "./chunk-T7E75EKA.js";
|
|
21
21
|
import {
|
|
22
22
|
getApiKey
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-ON5JW2HP.js";
|
|
24
24
|
import {
|
|
25
25
|
CLI_PACKAGE_NAMES,
|
|
26
26
|
cmdShimTarget,
|
|
27
27
|
getPackageVersion,
|
|
28
28
|
globalPackageFolder,
|
|
29
29
|
globalRootFor
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-5YY3IJT4.js";
|
|
31
31
|
|
|
32
32
|
// src/daemon-lifecycle.ts
|
|
33
33
|
import { dirname, join, win32 as win32Path } from "path";
|
|
@@ -14,36 +14,36 @@ import {
|
|
|
14
14
|
IDLE_PROMPT_NOTIFICATION,
|
|
15
15
|
NOTIFICATION_PUSH_TYPES,
|
|
16
16
|
POSTTOOLUSE_MIRROR_ONLY_TOOLS
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VFFHQC7W.js";
|
|
18
18
|
import {
|
|
19
19
|
cancelQuestion,
|
|
20
20
|
isPolicyConfig,
|
|
21
21
|
sendNotification,
|
|
22
22
|
waitForAnswer
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-MMVCI6DT.js";
|
|
24
24
|
import {
|
|
25
25
|
clientErrorKindOf,
|
|
26
26
|
reportClientError
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-KB2FTO4O.js";
|
|
28
28
|
import {
|
|
29
29
|
withRetry
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-I4HKMUZQ.js";
|
|
31
31
|
import {
|
|
32
32
|
getMachineId
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-4A3UQERT.js";
|
|
34
34
|
import {
|
|
35
35
|
reportedInstallSource
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-5Y2DY6X4.js";
|
|
37
37
|
import {
|
|
38
38
|
canonicalJson
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-UPLV5AJF.js";
|
|
40
40
|
import {
|
|
41
41
|
writeFileAtomic
|
|
42
42
|
} from "./chunk-T7E75EKA.js";
|
|
43
43
|
import {
|
|
44
44
|
getApiKey,
|
|
45
45
|
getBaseUrl
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-ON5JW2HP.js";
|
|
47
47
|
import {
|
|
48
48
|
ACTION_BODY_MAX,
|
|
49
49
|
AGENT_LABELS_BY_TYPE,
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
resolvePolicy,
|
|
71
71
|
toToolLookup,
|
|
72
72
|
truncateLine
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-5YY3IJT4.js";
|
|
74
74
|
|
|
75
75
|
// src/policy.ts
|
|
76
76
|
import { createHash } from "crypto";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
registerTranscript
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6TK4IY3A.js";
|
|
4
4
|
import {
|
|
5
5
|
writeDegraded
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KB2FTO4O.js";
|
|
7
7
|
|
|
8
8
|
// src/tool-hook-input.ts
|
|
9
9
|
var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode"];
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AGENT_CHOICES
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DLEKCAQL.js";
|
|
4
4
|
import {
|
|
5
5
|
isBridgeLocator
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MYHG7PX2.js";
|
|
7
7
|
import {
|
|
8
8
|
pusharyHookExecutable
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OCVVSRDA.js";
|
|
10
10
|
import {
|
|
11
11
|
BELL_HOOK_BINARY
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HOEB6AKG.js";
|
|
13
13
|
|
|
14
14
|
// src/setup/hook-ownership.ts
|
|
15
15
|
var commandsIn = (value) => {
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
detectClaudeVersion
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ASWRMBOM.js";
|
|
4
4
|
import {
|
|
5
5
|
ensureCodexTrustsPusharyHooks
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-W2LJ4O3A.js";
|
|
7
7
|
import {
|
|
8
8
|
addClaudeMcpServer,
|
|
9
9
|
addPusharyHooks,
|
|
10
10
|
addPusharyToolPermissions
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JRQRNNGA.js";
|
|
12
12
|
import {
|
|
13
13
|
claudeUnprovenHolds,
|
|
14
14
|
claudeWired,
|
|
15
15
|
codexUnprovenHolds,
|
|
16
16
|
codexWired,
|
|
17
17
|
geminiWired
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-OCVVSRDA.js";
|
|
19
19
|
import {
|
|
20
20
|
CLAUDE_HOOK_BINARY,
|
|
21
21
|
CLAUDE_HOOK_EVENTS,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
needsReregistration,
|
|
28
28
|
registrationSignatures,
|
|
29
29
|
supportedClaudeEvents
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-HTEGMMT3.js";
|
|
31
31
|
import {
|
|
32
32
|
CODEX_HOOK_BINARY,
|
|
33
33
|
addCodexHookTrust,
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
registrationHolderOf,
|
|
48
48
|
resolveGlobalBinary,
|
|
49
49
|
vscodePluginMcp
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-UPLV5AJF.js";
|
|
51
51
|
import {
|
|
52
52
|
readJsonSafe,
|
|
53
53
|
writeFileAtomic,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyHookExecutable
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OCVVSRDA.js";
|
|
4
4
|
import {
|
|
5
5
|
isProtectedByScope,
|
|
6
6
|
registerHookEntry
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UPLV5AJF.js";
|
|
8
8
|
|
|
9
9
|
// src/skills-cli.ts
|
|
10
10
|
import { execSync } from "child_process";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
activeHookSource,
|
|
3
3
|
activeIdentity
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QB6QYZ6B.js";
|
|
5
5
|
import {
|
|
6
6
|
defersToNativeMode,
|
|
7
7
|
reportMachineDenial
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-5DGNEUXK.js";
|
|
9
9
|
import {
|
|
10
10
|
isGatingMoment,
|
|
11
11
|
recordKeylessMoment
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-7ITOAMCD.js";
|
|
13
13
|
import {
|
|
14
14
|
announceSubscriptionRequired,
|
|
15
15
|
denyReasonFrom,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
reportEvent,
|
|
40
40
|
scopePathFor,
|
|
41
41
|
settleQuestionsForToolUse
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-F6NTWZZC.js";
|
|
43
43
|
import {
|
|
44
44
|
DEFAULT_SESSION
|
|
45
45
|
} from "./chunk-N6IOSZOE.js";
|
|
@@ -55,17 +55,20 @@ import {
|
|
|
55
55
|
requestGate,
|
|
56
56
|
sendNotification,
|
|
57
57
|
waitForQuestion
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-MMVCI6DT.js";
|
|
59
59
|
import {
|
|
60
60
|
SubscriptionRequiredError
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-I4HKMUZQ.js";
|
|
62
62
|
import {
|
|
63
63
|
getMachineId
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-4A3UQERT.js";
|
|
65
65
|
import {
|
|
66
66
|
getApiKey,
|
|
67
67
|
getBaseUrl
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-ON5JW2HP.js";
|
|
69
|
+
import {
|
|
70
|
+
NPX_LATEST_COMMAND
|
|
71
|
+
} from "./chunk-35X5UDML.js";
|
|
69
72
|
import {
|
|
70
73
|
AGENT_QUESTION_STRATEGY,
|
|
71
74
|
GATE_BLOCK_REASON_MAX_LENGTH,
|
|
@@ -93,7 +96,7 @@ import {
|
|
|
93
96
|
parseAgentQuestions,
|
|
94
97
|
resolveGate,
|
|
95
98
|
stoppedOutput
|
|
96
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-5YY3IJT4.js";
|
|
97
100
|
|
|
98
101
|
// src/claude-permission-rules.ts
|
|
99
102
|
import { readFileSync, statSync } from "fs";
|
|
@@ -356,7 +359,7 @@ var announceWait = (waitSeconds, answerUrl, sessionId) => {
|
|
|
356
359
|
} catch {
|
|
357
360
|
}
|
|
358
361
|
};
|
|
359
|
-
var KEYLESS_NOTICE =
|
|
362
|
+
var KEYLESS_NOTICE = `[pushary] Not connected (no API key), so your agent runs untouched. Approval moments are counted locally; see them with: ${NPX_LATEST_COMMAND} stats. Connect: https://pushary.com/sign-up?utm_source=cli&utm_medium=keyless-hook`;
|
|
360
363
|
var keylessNoticeOnce = (sessionId) => {
|
|
361
364
|
try {
|
|
362
365
|
if (!oncePerSession("keyless", sessionId)) return;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NOTIFICATION_MATCHED_TYPES,
|
|
3
3
|
POSTTOOLUSE_MIRRORED_TOOLS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VFFHQC7W.js";
|
|
5
5
|
import {
|
|
6
6
|
isProtectedByScope,
|
|
7
7
|
registerHookEntry
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-UPLV5AJF.js";
|
|
9
9
|
import {
|
|
10
10
|
CLAUDE_PRETOOLUSE_MATCHER,
|
|
11
11
|
HOOK_BUDGETS,
|
|
12
12
|
HOOK_LOCATOR_BINARY
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-5YY3IJT4.js";
|
|
14
14
|
|
|
15
15
|
// src/gemini-config.ts
|
|
16
16
|
var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
decodePublicKey,
|
|
4
4
|
generateSessionKey,
|
|
5
5
|
wrapSessionKey
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-URNXU3FO.js";
|
|
7
7
|
import {
|
|
8
8
|
fetchTranscriptRecipients,
|
|
9
9
|
uploadTranscriptRecords
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UMMCHS6P.js";
|
|
11
11
|
|
|
12
12
|
// src/live-session.ts
|
|
13
13
|
var MAX_TRANSCRIPT_QUEUE = 100;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
keyCheckFromResponse
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DVW2MYCM.js";
|
|
4
4
|
import {
|
|
5
5
|
installNetworkDefaults
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2SLCHCVN.js";
|
|
7
7
|
import {
|
|
8
8
|
getBaseUrl
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ON5JW2HP.js";
|
|
10
10
|
|
|
11
11
|
// src/retry.ts
|
|
12
12
|
var isRetryable = (err) => {
|