@pushary/agent-hooks 1.9.36 → 1.9.38
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 +12 -0
- 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 +29 -29
- package/dist/bin/pushary-codex-bridge.js +40 -29
- package/dist/bin/pushary-codex-hook.js +66 -41
- 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-NE5OPCD5.js → chunk-3DXDJL4K.js} +4 -4
- package/dist/{chunk-EGTVN6YV.js → chunk-3HUHP4A4.js} +1 -1
- package/dist/{chunk-H3MOTS2C.js → chunk-4D54LZGF.js} +1 -1
- package/dist/{chunk-K5X25GUV.js → chunk-4GEHVRV3.js} +9 -6
- package/dist/{chunk-UDHT3W7I.js → chunk-5DC2PRVT.js} +2 -2
- package/dist/{chunk-VRALPR4B.js → chunk-5KVL4AP5.js} +4 -4
- package/dist/{chunk-SHLLDMPM.js → chunk-7GSOIBVM.js} +4 -4
- package/dist/{chunk-FBKGGIFB.js → chunk-7O5U5TED.js} +5 -5
- package/dist/{chunk-EH635XAR.js → chunk-7P43CI6G.js} +2 -2
- package/dist/{chunk-BS64ZHTB.js → chunk-ABDGTGBT.js} +5 -4
- package/dist/{chunk-7GQILLZD.js → chunk-AI2YBW42.js} +5 -5
- package/dist/{chunk-Y5FCB66K.js → chunk-AJIH4JGB.js} +5 -5
- package/dist/{chunk-MBBPLF5T.js → chunk-B54Q4I7T.js} +2 -2
- package/dist/{chunk-CRZ4CP7C.js → chunk-BMHD2NEH.js} +3 -3
- package/dist/chunk-CHRRBADC.js +184 -0
- package/dist/{chunk-ML42WKI7.js → chunk-CW3IJD2H.js} +3 -3
- package/dist/{chunk-JWURAYXK.js → chunk-D2G6HWEA.js} +2 -2
- package/dist/{chunk-PRKH662J.js → chunk-D322CKL2.js} +1 -1
- package/dist/{chunk-HCKBZYBW.js → chunk-D5IAEPFA.js} +2 -2
- package/dist/{chunk-QHL3Y6D2.js → chunk-DDRLK67P.js} +2 -2
- package/dist/{chunk-TRNSODJ6.js → chunk-FLEWP4BV.js} +1 -1
- package/dist/{chunk-EQXMVKKD.js → chunk-FZEQWY7Q.js} +1 -1
- package/dist/{chunk-J36W6ARB.js → chunk-G3CNMCQS.js} +1 -1
- package/dist/{chunk-ULDOQF4Q.js → chunk-GBNG6QEV.js} +3 -3
- package/dist/{chunk-GTEF64CJ.js → chunk-HCXBAF43.js} +1 -1
- package/dist/{chunk-U2PUHT4W.js → chunk-IBUAVM6X.js} +1 -1
- package/dist/{chunk-CHWJ7ZXI.js → chunk-J2APHNZL.js} +5 -5
- package/dist/{chunk-5ML6E3L7.js → chunk-JVKY6ILU.js} +1 -1
- package/dist/{chunk-42FTY5II.js → chunk-JWMCGL3P.js} +3 -3
- package/dist/{chunk-4E4PZQFE.js → chunk-K2CZJBUS.js} +4 -4
- package/dist/{chunk-YRAPCLOB.js → chunk-KBMQYMGG.js} +6 -6
- package/dist/{chunk-6LKIK7V2.js → chunk-L5WOYQT7.js} +8 -8
- package/dist/{chunk-ETGGQWBR.js → chunk-LZZ3EKKI.js} +4 -4
- package/dist/{chunk-26AEFJSK.js → chunk-MBTNHQCI.js} +2 -2
- package/dist/{chunk-5S2P2CK6.js → chunk-MIENLS7P.js} +2 -2
- package/dist/{chunk-LL256PHP.js → chunk-MXEDMQLC.js} +1 -1
- package/dist/{chunk-RNRCOOQZ.js → chunk-N2I7RMC6.js} +34 -109
- package/dist/{chunk-RYXSY3RH.js → chunk-NRVZNZVE.js} +5 -5
- package/dist/{chunk-GNESC5EF.js → chunk-OLS4DTFN.js} +3 -3
- package/dist/{chunk-L25KSDIB.js → chunk-PA3OZGIA.js} +8 -8
- package/dist/{chunk-QPUTCMAK.js → chunk-QC7ZNZMZ.js} +1 -1
- package/dist/{chunk-2DZBIELP.js → chunk-QOUW57RT.js} +170 -67
- package/dist/{chunk-55XIK7YS.js → chunk-QZ4KOMFE.js} +1 -1
- package/dist/{chunk-CRZKFEEO.js → chunk-RISJLN3O.js} +2 -2
- package/dist/{chunk-CHNSFTD5.js → chunk-RULJMNY7.js} +2 -2
- package/dist/{chunk-556JCOMK.js → chunk-STXWIYAY.js} +4 -4
- package/dist/{chunk-IPYCRJGM.js → chunk-TEG2JL5M.js} +7 -7
- package/dist/{chunk-KCUTE3EB.js → chunk-VITJTFFT.js} +2 -2
- package/dist/{chunk-DC6KHRVH.js → chunk-W2TXFM6O.js} +1 -1
- package/dist/{chunk-JAA7YJJZ.js → chunk-WASCAI2U.js} +4 -4
- package/dist/{chunk-7MOFAAZ3.js → chunk-WLQENMOW.js} +4 -4
- package/dist/{chunk-X4BPD5RD.js → chunk-WR3GKYKD.js} +1 -1
- package/dist/{chunk-F5W7B7YT.js → chunk-Y3XF324T.js} +1 -1
- package/dist/{chunk-4NMDFPK7.js → chunk-ZFJAZBBF.js} +5 -5
- package/dist/{global-upgrade-EF6RZBPU.js → global-upgrade-ROZHFAO5.js} +6 -6
- package/dist/{paths-F645XTFZ.js → paths-FSFFGRRU.js} +2 -2
- package/dist/{reapply-HJOTWJAN.js → reapply-WY5LHIR4.js} +20 -20
- package/dist/src/index.js +19 -19
- package/dist/{upgrade-lock-APUN7YKQ.js → upgrade-lock-6PYOTF4X.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-MNXHKEXB.js +0 -71
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import {
|
|
2
|
+
announceSubscriptionRequired,
|
|
3
|
+
isDeferAnswer
|
|
4
|
+
} from "./chunk-W2TXFM6O.js";
|
|
5
|
+
import {
|
|
6
|
+
AUTO_DECISION_WINDOW_MS,
|
|
7
|
+
DEFAULT_SESSION,
|
|
8
|
+
claimThrottle,
|
|
9
|
+
deriveToolTarget,
|
|
10
|
+
permissionDeniedAction,
|
|
11
|
+
releaseThrottle,
|
|
12
|
+
reportEvent
|
|
13
|
+
} from "./chunk-L5WOYQT7.js";
|
|
14
|
+
import {
|
|
15
|
+
askUser,
|
|
16
|
+
isDecisionStopped,
|
|
17
|
+
waitForQuestion
|
|
18
|
+
} from "./chunk-7O5U5TED.js";
|
|
19
|
+
import {
|
|
20
|
+
SubscriptionRequiredError
|
|
21
|
+
} from "./chunk-ABDGTGBT.js";
|
|
22
|
+
import {
|
|
23
|
+
getMachineId
|
|
24
|
+
} from "./chunk-3HUHP4A4.js";
|
|
25
|
+
import {
|
|
26
|
+
machineDecisionFor,
|
|
27
|
+
parseAgentQuestionAnswers,
|
|
28
|
+
shouldDeferToNativeMode,
|
|
29
|
+
wireVerdictFor
|
|
30
|
+
} from "./chunk-QOUW57RT.js";
|
|
31
|
+
|
|
32
|
+
// src/machine-decision-audit.ts
|
|
33
|
+
import { basename } from "path";
|
|
34
|
+
var reportMachineDenial = async (input, verdict, agent) => {
|
|
35
|
+
const decision = machineDecisionFor(wireVerdictFor(verdict, 0));
|
|
36
|
+
if (!decision) return;
|
|
37
|
+
const sessionKey = input.session_id || DEFAULT_SESSION;
|
|
38
|
+
const toolTarget = deriveToolTarget(input.tool_name, input.tool_input);
|
|
39
|
+
const throttleKey = `machinedecision:${agent.type}:${sessionKey}:${input.tool_name}:${decision.origin}:${toolTarget ?? ""}`;
|
|
40
|
+
const throttle = claimThrottle(throttleKey, AUTO_DECISION_WINDOW_MS);
|
|
41
|
+
if (throttle === "throttled") return;
|
|
42
|
+
if (throttle === "unavailable") {
|
|
43
|
+
console.error("[Pushary] Could not access the audit throttle; reporting this denial without deduplication.");
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
const response = await reportEvent({
|
|
47
|
+
event: "permission_denied",
|
|
48
|
+
occurredAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
49
|
+
toolUseId: input.tool_use_id,
|
|
50
|
+
agentType: agent.type,
|
|
51
|
+
agentName: `${agent.label} - ${basename(input.cwd ?? process.cwd())}`,
|
|
52
|
+
action: permissionDeniedAction(input.tool_name),
|
|
53
|
+
sessionId: input.session_id,
|
|
54
|
+
decisionSource: "policy_auto",
|
|
55
|
+
decisionOrigin: decision.origin,
|
|
56
|
+
decisionOutcome: decision.outcome,
|
|
57
|
+
toolName: input.tool_name,
|
|
58
|
+
toolTarget
|
|
59
|
+
}, { maxAttempts: 1, timeoutMs: 800, requireOk: true, skipDrain: true });
|
|
60
|
+
if (response?.ok !== true) throw new Error("Audit delivery was not acknowledged");
|
|
61
|
+
} catch {
|
|
62
|
+
console.error("[Pushary] Could not record the machine denial. The action remains blocked; its audit delivery will be retried on the next matching denial.");
|
|
63
|
+
if (throttle === "passed") {
|
|
64
|
+
try {
|
|
65
|
+
releaseThrottle(throttleKey);
|
|
66
|
+
} catch {
|
|
67
|
+
console.error("[Pushary] Could not reset the failed audit throttle.");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
// src/native-defer.ts
|
|
74
|
+
var nativeDeferOptions = () => {
|
|
75
|
+
const respect = process.env.PUSHARY_RESPECT_PERMISSION_MODE;
|
|
76
|
+
const bypass = process.env.PUSHARY_DEFER_BYPASS;
|
|
77
|
+
return {
|
|
78
|
+
respectPermissionMode: !(respect === "0" || respect === "false"),
|
|
79
|
+
deferBypass: bypass === "1" || bypass === "true"
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
var defersToNativeMode = (permissionMode, toolName) => shouldDeferToNativeMode(permissionMode, toolName, nativeDeferOptions());
|
|
83
|
+
|
|
84
|
+
// src/agent-question-ask.ts
|
|
85
|
+
var STOPPED = { kind: "stopped" };
|
|
86
|
+
var UNAVAILABLE = { kind: "unavailable" };
|
|
87
|
+
var UNANSWERED = { kind: "unanswered" };
|
|
88
|
+
var answeredWith = (answers) => ({ kind: "answered", answers });
|
|
89
|
+
var failedAskOutcome = (error, sessionId) => outcomeOfFailedAsk(error, sessionId, UNAVAILABLE) ?? UNANSWERED;
|
|
90
|
+
var withLabels = (question) => ({
|
|
91
|
+
...question,
|
|
92
|
+
labels: question.options.map((option) => option.label)
|
|
93
|
+
});
|
|
94
|
+
var withoutLabels = ({ labels: _, ...question }) => question;
|
|
95
|
+
var outcomeOfFailedAsk = (error, sessionId, failure) => {
|
|
96
|
+
if (!(error instanceof SubscriptionRequiredError)) return failure;
|
|
97
|
+
announceSubscriptionRequired(error.upgradeUrl, sessionId);
|
|
98
|
+
return void 0;
|
|
99
|
+
};
|
|
100
|
+
var storedWaitDeadline = (result, requestedDeadline) => {
|
|
101
|
+
const stored = result.waitEndsAt ? Date.parse(result.waitEndsAt) : Number.NaN;
|
|
102
|
+
return Number.isFinite(stored) ? Math.min(stored, requestedDeadline) : requestedDeadline;
|
|
103
|
+
};
|
|
104
|
+
var questionContext = (question, index, total, project) => {
|
|
105
|
+
const subject = question.header ? `${question.header}: your agent is asking in ${project}` : `Your agent is asking in ${project}`;
|
|
106
|
+
return total > 1 ? `${subject} (${index + 1} of ${total})` : subject;
|
|
107
|
+
};
|
|
108
|
+
var legacyAnswerMap = (question, value) => JSON.stringify({ [question.question]: question.multiSelect ? JSON.stringify([value]) : value });
|
|
109
|
+
var askAsOneCard = async (apiKey, call, only, labelled) => {
|
|
110
|
+
let result;
|
|
111
|
+
try {
|
|
112
|
+
result = await askUser(apiKey, {
|
|
113
|
+
question: only.question,
|
|
114
|
+
type: "select",
|
|
115
|
+
options: [...only.labels],
|
|
116
|
+
questions: labelled.map(withoutLabels),
|
|
117
|
+
context: questionContext(only, 0, 1, call.projectName),
|
|
118
|
+
agentName: call.agentName,
|
|
119
|
+
sessionId: call.sessionId,
|
|
120
|
+
machineId: getMachineId(),
|
|
121
|
+
toolName: call.toolName,
|
|
122
|
+
toolUseId: call.toolUseId,
|
|
123
|
+
waitEndsAt: new Date(call.deadline).toISOString()
|
|
124
|
+
});
|
|
125
|
+
} catch (error) {
|
|
126
|
+
return failedAskOutcome(error, call.sessionId);
|
|
127
|
+
}
|
|
128
|
+
if (isDecisionStopped(result)) return STOPPED;
|
|
129
|
+
const answer = await waitForQuestion(apiKey, result, storedWaitDeadline(result, call.deadline));
|
|
130
|
+
if (isDecisionStopped(answer)) return STOPPED;
|
|
131
|
+
const values = answer.answered && answer.value ? parseAgentQuestionAnswers(labelled, answer.value) : null;
|
|
132
|
+
if (!values || isDeferAnswer(answer.value)) {
|
|
133
|
+
return UNANSWERED;
|
|
134
|
+
}
|
|
135
|
+
return answeredWith(values);
|
|
136
|
+
};
|
|
137
|
+
var askQuestionByQuestion = async (apiKey, call, labelled) => {
|
|
138
|
+
const answers = {};
|
|
139
|
+
for (const [index, question] of labelled.entries()) {
|
|
140
|
+
let result;
|
|
141
|
+
try {
|
|
142
|
+
result = await askUser(apiKey, {
|
|
143
|
+
question: question.question,
|
|
144
|
+
type: "select",
|
|
145
|
+
options: [...question.labels],
|
|
146
|
+
questions: [withoutLabels(question)],
|
|
147
|
+
context: questionContext(question, index, labelled.length, call.projectName),
|
|
148
|
+
agentName: call.agentName,
|
|
149
|
+
sessionId: call.sessionId,
|
|
150
|
+
machineId: getMachineId(),
|
|
151
|
+
toolName: call.toolName,
|
|
152
|
+
toolUseId: call.toolUseId ? `${call.toolUseId}#q${index}` : void 0,
|
|
153
|
+
waitEndsAt: new Date(call.deadline).toISOString()
|
|
154
|
+
});
|
|
155
|
+
} catch (error) {
|
|
156
|
+
return failedAskOutcome(error, call.sessionId);
|
|
157
|
+
}
|
|
158
|
+
if (isDecisionStopped(result)) return STOPPED;
|
|
159
|
+
const answer = await waitForQuestion(apiKey, result, storedWaitDeadline(result, call.deadline));
|
|
160
|
+
if (isDecisionStopped(answer)) return STOPPED;
|
|
161
|
+
const legacyValue = answer.answered ? answer.value?.trim() : void 0;
|
|
162
|
+
const values = legacyValue ? parseAgentQuestionAnswers([question], legacyValue) ?? parseAgentQuestionAnswers([question], legacyAnswerMap(question, legacyValue)) : null;
|
|
163
|
+
const value = values?.[question.question];
|
|
164
|
+
if (!value || isDeferAnswer(answer.value)) {
|
|
165
|
+
return UNANSWERED;
|
|
166
|
+
}
|
|
167
|
+
answers[question.question] = value;
|
|
168
|
+
}
|
|
169
|
+
return answeredWith(answers);
|
|
170
|
+
};
|
|
171
|
+
var askAgentQuestions = (apiKey, call, questions) => {
|
|
172
|
+
const labelled = questions.map(withLabels);
|
|
173
|
+
const [only, ...rest] = labelled;
|
|
174
|
+
if (!only) return Promise.resolve(UNANSWERED);
|
|
175
|
+
return rest.length === 0 ? askAsOneCard(apiKey, call, only, labelled) : askQuestionByQuestion(apiKey, call, labelled);
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
export {
|
|
179
|
+
reportMachineDenial,
|
|
180
|
+
defersToNativeMode,
|
|
181
|
+
outcomeOfFailedAsk,
|
|
182
|
+
storedWaitDeadline,
|
|
183
|
+
askAgentQuestions
|
|
184
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETUP_FLAGS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FZEQWY7Q.js";
|
|
4
4
|
import {
|
|
5
5
|
parseFlags
|
|
6
6
|
} from "./chunk-GMXKITVA.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-7QLSKOSU.js";
|
|
10
10
|
import {
|
|
11
11
|
NPX_LATEST_COMMAND
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-MXEDMQLC.js";
|
|
13
13
|
import {
|
|
14
14
|
CLAUDE_CONNECTOR_GUIDE,
|
|
15
15
|
CLAUDE_CONNECTOR_STEPS,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
CLAUDE_CONNECTOR_URL,
|
|
18
18
|
COWORK_CONNECTOR_LIMIT,
|
|
19
19
|
COWORK_STANDING_INSTRUCTIONS
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QOUW57RT.js";
|
|
21
21
|
|
|
22
22
|
// src/cli/cowork.ts
|
|
23
23
|
import { readFileSync } from "fs";
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
keyPrefix,
|
|
5
5
|
readConfigFileKey,
|
|
6
6
|
readMacAppKeyPrefix
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JWMCGL3P.js";
|
|
8
8
|
import {
|
|
9
9
|
NPX_LATEST_COMMAND
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MXEDMQLC.js";
|
|
11
11
|
|
|
12
12
|
// src/key-signed-out.ts
|
|
13
13
|
var VERDICT_BY_CHECK = {
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-POFBE6ZY.js";
|
|
4
4
|
import {
|
|
5
5
|
autoUpdateState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4GEHVRV3.js";
|
|
7
7
|
import {
|
|
8
8
|
readJsonSafe,
|
|
9
9
|
writeJsonAtomic
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
globalUpgradeEntry,
|
|
16
16
|
isAutoUpdateResult,
|
|
17
17
|
ownPackageRoot
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-QOUW57RT.js";
|
|
19
19
|
|
|
20
20
|
// src/auto-update.ts
|
|
21
21
|
import { spawn } from "child_process";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4GEHVRV3.js";
|
|
4
4
|
import {
|
|
5
5
|
readJsonSafe
|
|
6
6
|
} from "./chunk-AQFEP65J.js";
|
|
7
7
|
import {
|
|
8
8
|
isRecord
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-QOUW57RT.js";
|
|
10
10
|
|
|
11
11
|
// src/process-ownership.ts
|
|
12
12
|
import { createHash, randomUUID } from "crypto";
|
|
@@ -5,16 +5,16 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
NOTIFICATION_MATCHED_TYPES,
|
|
7
7
|
POSTTOOLUSE_MIRRORED_TOOLS
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IBUAVM6X.js";
|
|
9
9
|
import {
|
|
10
10
|
isProtectedByScope,
|
|
11
11
|
registerHookEntry
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-4GEHVRV3.js";
|
|
13
13
|
import {
|
|
14
14
|
CLAUDE_PRETOOLUSE_MATCHER,
|
|
15
15
|
HOOK_BUDGETS,
|
|
16
16
|
HOOK_LOCATOR_BINARY
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-QOUW57RT.js";
|
|
18
18
|
|
|
19
19
|
// src/gemini-config.ts
|
|
20
20
|
var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compatibleConfigFile
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7GSOIBVM.js";
|
|
4
4
|
import {
|
|
5
5
|
hookOwnerOf,
|
|
6
6
|
hookOwnerOfCommands,
|
|
7
7
|
liveBridgeProbe,
|
|
8
8
|
resolveBridgeStub
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZFJAZBBF.js";
|
|
10
10
|
import {
|
|
11
11
|
AGENT_CHOICES
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FZEQWY7Q.js";
|
|
13
13
|
import {
|
|
14
14
|
claudeSettings,
|
|
15
15
|
codexHooksJson,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
guardedArgv,
|
|
19
19
|
pusharyDir,
|
|
20
20
|
vscodePluginDir
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-4GEHVRV3.js";
|
|
22
22
|
import {
|
|
23
23
|
readJsonSafe
|
|
24
24
|
} from "./chunk-AQFEP65J.js";
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
OPENCODE_APPROVAL_EVENT,
|
|
30
30
|
hookCompatibleProfile,
|
|
31
31
|
isRecord
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-QOUW57RT.js";
|
|
33
33
|
|
|
34
34
|
// src/opencode-plugin.ts
|
|
35
35
|
var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveInstallSourceFor
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MIENLS7P.js";
|
|
4
4
|
import {
|
|
5
5
|
backupFile,
|
|
6
6
|
readJsonSafe,
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
} from "./chunk-AQFEP65J.js";
|
|
10
10
|
import {
|
|
11
11
|
configFilePath
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-D322CKL2.js";
|
|
13
13
|
import {
|
|
14
14
|
API_KEY_PREFIX_PATTERN,
|
|
15
15
|
isRecord
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-QOUW57RT.js";
|
|
17
17
|
|
|
18
18
|
// src/shell-alias.ts
|
|
19
19
|
import { homedir } from "os";
|
|
@@ -2,25 +2,25 @@ import {
|
|
|
2
2
|
SIGNED_OUT_ON_MAC_MESSAGE,
|
|
3
3
|
describeSignedOutKey,
|
|
4
4
|
readSignedOutDiagnosis
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-D2G6HWEA.js";
|
|
6
6
|
import {
|
|
7
7
|
createIo
|
|
8
8
|
} from "./chunk-FO3MDD26.js";
|
|
9
9
|
import {
|
|
10
10
|
readKeySource
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JWMCGL3P.js";
|
|
12
12
|
import {
|
|
13
13
|
absoluteUrl,
|
|
14
14
|
checkApiKey,
|
|
15
15
|
describeKeyCheck,
|
|
16
16
|
keyCheckFromResponse
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-OLS4DTFN.js";
|
|
18
18
|
import {
|
|
19
19
|
EXIT
|
|
20
20
|
} from "./chunk-KZERVKTD.js";
|
|
21
21
|
import {
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-D322CKL2.js";
|
|
24
24
|
|
|
25
25
|
// src/cli/report-key.ts
|
|
26
26
|
var { dim, yellow } = createIo();
|
|
@@ -3,27 +3,27 @@ import {
|
|
|
3
3
|
expectedLaunchCapabilities,
|
|
4
4
|
hasSpawnProvider,
|
|
5
5
|
resolveControlPolicy
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MBTNHQCI.js";
|
|
7
7
|
import {
|
|
8
8
|
daemonHasRemoteProof,
|
|
9
9
|
daemonServiceManagerAvailable,
|
|
10
10
|
hasDaemonServiceDefinition,
|
|
11
11
|
readDaemonNeedsLogin,
|
|
12
12
|
readDaemonStatus
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AJIH4JGB.js";
|
|
14
14
|
import {
|
|
15
15
|
readControlMode,
|
|
16
16
|
readKeySource
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-JWMCGL3P.js";
|
|
18
18
|
import {
|
|
19
19
|
getMachineId
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-3HUHP4A4.js";
|
|
21
21
|
import {
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-D322CKL2.js";
|
|
24
24
|
import {
|
|
25
25
|
getPackageVersion
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-QOUW57RT.js";
|
|
27
27
|
|
|
28
28
|
// src/machines.ts
|
|
29
29
|
import { hostname } from "os";
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
IDLE_PROMPT_NOTIFICATION,
|
|
3
3
|
NOTIFICATION_PUSH_TYPES,
|
|
4
4
|
POSTTOOLUSE_MIRROR_ONLY_TOOLS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-IBUAVM6X.js";
|
|
6
6
|
import {
|
|
7
7
|
cancelQuestion,
|
|
8
8
|
clientErrorKindOf,
|
|
@@ -10,26 +10,26 @@ import {
|
|
|
10
10
|
reportClientError,
|
|
11
11
|
sendNotification,
|
|
12
12
|
waitForAnswer
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-7O5U5TED.js";
|
|
14
14
|
import {
|
|
15
15
|
withRetry
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ABDGTGBT.js";
|
|
17
17
|
import {
|
|
18
18
|
getMachineId
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-3HUHP4A4.js";
|
|
20
20
|
import {
|
|
21
21
|
reportedInstallSource
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-MIENLS7P.js";
|
|
23
23
|
import {
|
|
24
24
|
canonicalJson
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-4GEHVRV3.js";
|
|
26
26
|
import {
|
|
27
27
|
writeFileAtomic
|
|
28
28
|
} from "./chunk-AQFEP65J.js";
|
|
29
29
|
import {
|
|
30
30
|
getApiKey,
|
|
31
31
|
getBaseUrl
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-D322CKL2.js";
|
|
33
33
|
import {
|
|
34
34
|
ACTION_BODY_MAX,
|
|
35
35
|
AGENTS,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
toToolLookup,
|
|
65
65
|
truncateLine,
|
|
66
66
|
unansweredRefusalReason
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-QOUW57RT.js";
|
|
68
68
|
|
|
69
69
|
// ../hook-mapping/src/describe.ts
|
|
70
70
|
import { isAbsolute, relative, resolve } from "path";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MCP_BRIDGE_BINARY
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VITJTFFT.js";
|
|
4
4
|
import {
|
|
5
5
|
KEY_FILE_MODE
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JWMCGL3P.js";
|
|
7
7
|
import {
|
|
8
8
|
NpmMissingError,
|
|
9
9
|
NpmPermissionError
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4GEHVRV3.js";
|
|
11
11
|
import {
|
|
12
12
|
readJsonSafe,
|
|
13
13
|
writeFileAtomic,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-AQFEP65J.js";
|
|
16
16
|
import {
|
|
17
17
|
NPX_LATEST_COMMAND
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-MXEDMQLC.js";
|
|
19
19
|
|
|
20
20
|
// src/instruction-file.ts
|
|
21
21
|
import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
resolvePackageVersionFromBinary,
|
|
11
11
|
resolvePathBinary,
|
|
12
12
|
resolvePathBinaryAsync
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-4GEHVRV3.js";
|
|
14
14
|
import {
|
|
15
15
|
MANAGED_PROVIDERS
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-QOUW57RT.js";
|
|
17
17
|
|
|
18
18
|
// src/setup/codex-install.ts
|
|
19
19
|
var NATIVE_BINARY_MIN_BYTES = 20 * 1024 * 1024;
|