pushary 1.9.59 → 1.9.61
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 +13 -0
- package/README.md +6 -0
- package/data/cursor-plugin/.cursor-plugin/plugin.json +5 -1
- package/data/cursor-plugin/CHANGELOG.md +4 -0
- package/dist/{api-UVJGNZIF.js → api-LW3PJQYY.js} +12 -11
- package/dist/bin/pushary-bell-hook.js +30 -29
- package/dist/bin/pushary-bell.js +13 -12
- package/dist/bin/pushary-claude.js +32 -30
- package/dist/bin/pushary-clean.js +61 -54
- package/dist/bin/pushary-codex-bridge.js +23 -22
- package/dist/bin/pushary-codex-hook.js +35 -34
- package/dist/bin/pushary-codex-session.js +9 -8
- package/dist/bin/pushary-codex.js +16 -15
- package/dist/bin/pushary-connect.js +30 -29
- package/dist/bin/pushary-cowork.js +8 -7
- package/dist/bin/pushary-daemon.js +40 -39
- package/dist/bin/pushary-disconnect.js +43 -29
- package/dist/bin/pushary-doctor.js +52 -47
- package/dist/bin/pushary-elicitation-hook.js +30 -29
- package/dist/bin/pushary-gemini-bridge.js +16 -15
- package/dist/bin/pushary-gemini-hook.js +32 -31
- package/dist/bin/pushary-hook.js +34 -33
- package/dist/bin/pushary-login.js +23 -19
- package/dist/bin/pushary-logout.js +37 -31
- package/dist/bin/pushary-mcp.js +13 -12
- package/dist/bin/pushary-mode.js +42 -55
- package/dist/bin/pushary-notification-hook.js +29 -28
- package/dist/bin/pushary-opencode-hook.js +31 -30
- package/dist/bin/pushary-permission-denied-hook.js +34 -33
- package/dist/bin/pushary-permission-hook.js +33 -32
- package/dist/bin/pushary-post-hook.js +29 -28
- package/dist/bin/pushary-prompt-hook.js +29 -28
- package/dist/bin/pushary-session-end-hook.js +29 -28
- package/dist/bin/pushary-session-start-hook.js +36 -35
- package/dist/bin/pushary-setup.js +4397 -292
- package/dist/bin/pushary-stats.js +6 -5
- package/dist/bin/pushary-status.js +42 -36
- package/dist/bin/pushary-stop-hook.js +29 -28
- package/dist/bin/pushary-stopfailure-hook.js +29 -28
- package/dist/bin/pushary-suggestions.js +34 -39
- package/dist/bin/pushary-transcript-register.js +21 -20
- package/dist/bin/pushary-transcripts.js +34 -20
- package/dist/bin/pushary-upgrade.js +77 -50
- package/dist/bin/pushary-wait.js +37 -42
- package/dist/bin/pushary.js +9 -8
- package/dist/{chunk-PVANKDWM.js → chunk-2AELPDMT.js} +1 -1
- package/dist/{chunk-W47WL6JY.js → chunk-33OOEVPG.js} +1 -1
- package/dist/{chunk-BRUHVTFB.js → chunk-4N5E4JNF.js} +2 -2
- package/dist/{chunk-6ONSTCDJ.js → chunk-4VRTSDGP.js} +5 -5
- package/dist/{chunk-DS7X36Z3.js → chunk-64S5PQBQ.js} +4 -4
- package/dist/{chunk-KQHY6L3X.js → chunk-6FJ6CK32.js} +4 -4
- package/dist/{chunk-EBQTWH5O.js → chunk-6T5Z64KS.js} +39 -31
- package/dist/{chunk-JAKBCKEB.js → chunk-7BAO42UV.js} +8 -7
- package/dist/chunk-7BHI3PZN.js +41 -0
- package/dist/{chunk-5BNXJTOZ.js → chunk-7HDGH3Z2.js} +3 -12
- package/dist/{chunk-D6CXQIXO.js → chunk-7JXJJNQ5.js} +1 -1
- package/dist/{chunk-KHDD74MK.js → chunk-7MCCXE5Y.js} +5 -5
- package/dist/{chunk-AY32RSUC.js → chunk-ADR3KHOC.js} +2 -2
- package/dist/{chunk-MMLIQDTG.js → chunk-ATKN4BJT.js} +1 -1
- package/dist/{chunk-762CDAJJ.js → chunk-AXJLJJ3M.js} +7 -0
- package/dist/{chunk-4XXZUFWN.js → chunk-BG4Y64FW.js} +1 -1
- package/dist/{chunk-X4ES7QBT.js → chunk-BJTSKOH3.js} +9 -7
- package/dist/{chunk-TCH5UCPR.js → chunk-BQ2VV7LY.js} +2 -2
- package/dist/{chunk-IBXHVYN2.js → chunk-BUZIEL7Y.js} +2 -2
- package/dist/{chunk-UFJS4RR7.js → chunk-CICLXLQN.js} +3 -3
- package/dist/{chunk-US3IT6ZC.js → chunk-CJ5TCFD4.js} +11 -4
- package/dist/{chunk-5JWCWALO.js → chunk-DQLCFGHK.js} +12 -10
- package/dist/{chunk-V3PDUDPB.js → chunk-ELLJPP6O.js} +2 -2
- package/dist/{chunk-BMPZ5HVJ.js → chunk-ERK24P76.js} +11 -1
- package/dist/{chunk-2WMZDKPM.js → chunk-EUIPTDLX.js} +13 -13
- package/dist/{chunk-RQDP2SJY.js → chunk-FUZ5VYWD.js} +1 -1
- package/dist/{chunk-5PP4455M.js → chunk-G36T5LAP.js} +3 -3
- package/dist/{chunk-3N2ZTHZZ.js → chunk-GAMVAORR.js} +1 -1
- package/dist/{chunk-YQVKG5MC.js → chunk-GDKQUB52.js} +7 -6
- package/dist/{chunk-KQWN7C5C.js → chunk-GKFO5JLN.js} +4 -4
- package/dist/{chunk-MYU5D5VH.js → chunk-GZCSWDAS.js} +4 -4
- package/dist/{chunk-2FVP7WRP.js → chunk-HUI4OE43.js} +3 -3
- package/dist/{chunk-AS4Z6KS4.js → chunk-IFPOHFDJ.js} +1 -1
- package/dist/{chunk-L3NVHPBU.js → chunk-JGQV4MDQ.js} +6 -6
- package/dist/{chunk-UVZK5LIK.js → chunk-K4MBKXAE.js} +1 -1
- package/dist/{chunk-EHCIQA5D.js → chunk-KPNZ7JUL.js} +4 -4
- package/dist/{chunk-4QF2YLYK.js → chunk-LBHJJEKT.js} +6 -6
- package/dist/{chunk-5O6D4J2K.js → chunk-LN7DE5LY.js} +2 -2
- package/dist/chunk-MLKGABMK.js +9 -0
- package/dist/{chunk-KZCYHWDF.js → chunk-MWLTTLPK.js} +107 -50
- package/dist/{chunk-WWAVHLGS.js → chunk-NKLNU577.js} +5 -5
- package/dist/{chunk-GMXKITVA.js → chunk-NMUI3ZWG.js} +1 -1
- package/dist/{chunk-SIU6OWA6.js → chunk-O65F2IIN.js} +6 -6
- package/dist/{chunk-T65RIQK2.js → chunk-ORX5BTV4.js} +6 -6
- package/dist/{chunk-VAJHDTJX.js → chunk-P3VQH65N.js} +28 -17
- package/dist/{chunk-CPRA7IEK.js → chunk-PITQ5ZIQ.js} +2 -2
- package/dist/chunk-PPY5N2E6.js +58 -0
- package/dist/{chunk-UTJ5465F.js → chunk-QER5R7Z6.js} +2 -2
- package/dist/{chunk-TDOKDCFH.js → chunk-RGSW36XH.js} +3 -3
- package/dist/{chunk-WW24SG27.js → chunk-RJHX66EY.js} +21 -11
- package/dist/{chunk-M46WDK64.js → chunk-SFAP4AJY.js} +1 -1
- package/dist/{chunk-MSU3VKGJ.js → chunk-SHJVFW22.js} +2 -2
- package/dist/{chunk-RAMQBSVZ.js → chunk-SVQWHV65.js} +1 -1
- package/dist/{chunk-3NROUNIS.js → chunk-UADSXJZ4.js} +2 -2
- package/dist/{chunk-M6MOQBR5.js → chunk-USE5IEEW.js} +1 -1
- package/dist/{chunk-KW3DED2A.js → chunk-VX2MJ4X7.js} +4 -4
- package/dist/{chunk-OZIXBN3O.js → chunk-WFSGCFXQ.js} +2 -2
- package/dist/{chunk-KAJDKYUM.js → chunk-WN3RACVD.js} +3 -3
- package/dist/chunk-X3YKQJCZ.js +36 -0
- package/dist/{chunk-5EFNBL6V.js → chunk-XAO6EYGM.js} +3 -3
- package/dist/{chunk-BKVX53QR.js → chunk-XEJOPVCG.js} +1 -1
- package/dist/{chunk-75UYYIFJ.js → chunk-XV6S5PWW.js} +3 -3
- package/dist/{chunk-3RKIJM26.js → chunk-Y5VKZNFN.js} +2 -2
- package/dist/{chunk-DK35M4TH.js → chunk-Y6Z7DA5Y.js} +5 -5
- package/dist/{chunk-MA37WNVS.js → chunk-YDR4BQ7R.js} +4 -4
- package/dist/{chunk-XGP5VSQG.js → chunk-YPD3MTFU.js} +1 -1
- package/dist/{chunk-LAEW5QQD.js → chunk-ZEWIMY63.js} +1 -1
- package/dist/{chunk-JBCMXSBO.js → chunk-ZGU3NXL2.js} +77 -18
- package/dist/{codex-app-cards-switch-N77RWKCO.js → codex-app-cards-switch-BD7LCI2I.js} +12 -11
- package/dist/{codex-desktop-launch-KIX7OMTL.js → codex-desktop-launch-V5CASSBB.js} +2 -1
- package/dist/{codex-session-launch-XV7SIIWP.js → codex-session-launch-5PKFKUFD.js} +20 -19
- package/dist/{config-HH4DYYNX.js → config-AEKH7HGC.js} +4 -3
- package/dist/{global-upgrade-YWIVJIUR.js → global-upgrade-IUXJJDWF.js} +10 -9
- package/dist/{identity-4J7Y2MW3.js → identity-YJIV2XTY.js} +5 -4
- package/dist/{live-capabilities-LHZBCI5U.js → live-capabilities-QYFW5QAW.js} +5 -4
- package/dist/{paths-ES3V7BWQ.js → paths-A5GAR5PL.js} +4 -3
- package/dist/reapply-BKJGICRJ.js +63 -0
- package/dist/src/index.js +23 -22
- package/dist/{upgrade-lock-TJPKU5HL.js → upgrade-lock-DDB7WEWC.js} +5 -4
- package/dist/usage-HBDNFZ3O.js +11 -0
- package/package.json +1 -1
- package/dist/chunk-7QLSKOSU.js +0 -19
- package/dist/chunk-EO23EUOK.js +0 -14
- package/dist/reapply-KA5SIYWX.js +0 -62
- package/dist/usage-7ALXBJVJ.js +0 -10
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APPROVAL_SETTINGS_PATH
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-64S5PQBQ.js";
|
|
4
4
|
import {
|
|
5
5
|
readMacAppAgentKey
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KPNZ7JUL.js";
|
|
7
7
|
import {
|
|
8
8
|
findExportedKeyLines,
|
|
9
9
|
isAdoptedMacAppKey,
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
readConfigFileKey,
|
|
14
14
|
readKeySource,
|
|
15
15
|
readMacAppKeyPrefix
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-WN3RACVD.js";
|
|
17
17
|
import {
|
|
18
18
|
absoluteUrl
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-YDR4BQ7R.js";
|
|
20
20
|
import {
|
|
21
21
|
isValidApiKey
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
23
23
|
|
|
24
24
|
// src/key-revocation.ts
|
|
25
25
|
var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyFetch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7BAO42UV.js";
|
|
4
4
|
import {
|
|
5
5
|
NetworkError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PPY5N2E6.js";
|
|
7
7
|
import {
|
|
8
8
|
EXIT
|
|
9
9
|
} from "./chunk-KZERVKTD.js";
|
|
10
10
|
import {
|
|
11
11
|
getBaseUrl
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-BG4Y64FW.js";
|
|
13
13
|
import {
|
|
14
14
|
isValidApiKey,
|
|
15
15
|
normalizeKeyScope
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-AXJLJJ3M.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;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compatibleConfigFile
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GKFO5JLN.js";
|
|
4
4
|
import {
|
|
5
5
|
hookOwnerOf,
|
|
6
6
|
hookOwnerOfCommands,
|
|
7
7
|
liveBridgeProbe,
|
|
8
8
|
resolveBridgeStub
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BJTSKOH3.js";
|
|
10
10
|
import {
|
|
11
11
|
AGENT_CHOICES
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XV6S5PWW.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-MWLTTLPK.js";
|
|
22
22
|
import {
|
|
23
23
|
readJsonSafe
|
|
24
24
|
} from "./chunk-QENTGE75.js";
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
OPENCODE_APPROVAL_EVENT,
|
|
30
30
|
hookCompatibleProfile,
|
|
31
31
|
isRecord
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
33
33
|
|
|
34
34
|
// src/opencode-plugin.ts
|
|
35
35
|
var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
|
|
@@ -141,18 +141,21 @@ const tell = (payload) => {
|
|
|
141
141
|
// tools: bash asks with { command }, write and edit both ask under "edit" with
|
|
142
142
|
// { filepath, diff }, webfetch with { url }, and a shell command reaching outside
|
|
143
143
|
// the worktree asks a second time under "external_directory".
|
|
144
|
-
const inputFrom = (permission, metadata) => {
|
|
144
|
+
const inputFrom = (permission, metadata, resources) => {
|
|
145
145
|
const meta = metadata && typeof metadata === "object" ? metadata : {}
|
|
146
|
+
if (permission === "read" && resources?.length === 1) return { file_path: resources[0] }
|
|
146
147
|
const command = text(meta.command)
|
|
147
148
|
if (command) return { command }
|
|
148
|
-
const
|
|
149
|
+
const preview = Array.isArray(meta.files) && meta.files.length === 1 ? meta.files[0] : undefined
|
|
150
|
+
const filepath = text(preview?.file) ?? text(meta.filepath) ?? text(meta.file_path) ?? text(meta.path)
|
|
149
151
|
// The diff rides along, because it is what the person is actually approving.
|
|
150
152
|
// OpenCode computes it before raising the permission and hands it over; without
|
|
151
153
|
// it the phone shows a filename and nothing to judge.
|
|
152
|
-
|
|
154
|
+
const diff = text(preview?.patch) ?? text(meta.diff)
|
|
155
|
+
if (filepath) return { file_path: filepath, ...(diff ? { diff } : {}) }
|
|
153
156
|
const url = text(meta.url)
|
|
154
157
|
if (url) return { url }
|
|
155
|
-
return { permission }
|
|
158
|
+
return { permission, ...(resources?.length ? { resources } : {}) }
|
|
156
159
|
}
|
|
157
160
|
|
|
158
161
|
// Two spellings of one request: the runtime publishes PermissionV1.Request
|
|
@@ -166,10 +169,11 @@ const askedFrom = (properties) => {
|
|
|
166
169
|
return {
|
|
167
170
|
id,
|
|
168
171
|
sessionID,
|
|
169
|
-
permission: text(properties.permission) ?? text(properties.type) ?? "unknown",
|
|
172
|
+
permission: text(properties.action) ?? text(properties.permission) ?? text(properties.type) ?? "unknown",
|
|
170
173
|
metadata: properties.metadata,
|
|
171
|
-
|
|
172
|
-
|
|
174
|
+
resources: Array.isArray(properties.resources) ? properties.resources.filter((item) => typeof item === "string") : undefined,
|
|
175
|
+
title: text(properties.title) ?? text(properties.message),
|
|
176
|
+
callID: text(properties.source && properties.source.id) ?? text(properties.callID) ?? text(properties.tool && properties.tool.callID),
|
|
173
177
|
}
|
|
174
178
|
}
|
|
175
179
|
|
|
@@ -178,7 +182,7 @@ const repliedID = (properties) => {
|
|
|
178
182
|
return text(properties.requestID) ?? text(properties.permissionID) ?? text(properties.id)
|
|
179
183
|
}
|
|
180
184
|
|
|
181
|
-
|
|
185
|
+
const PusharyPlugin = async ({ client, directory, worktree, replyPermission }) => {
|
|
182
186
|
const cwd = directory || worktree || process.cwd()
|
|
183
187
|
// OpenCode raises a permission under a coarse key \u2014 "edit" covers both write and
|
|
184
188
|
// edit \u2014 and names the actual tool only on tool.execute.before. Keeping the
|
|
@@ -195,6 +199,12 @@ export const PusharyPlugin = async ({ client, directory, worktree }) => {
|
|
|
195
199
|
// /session/{id}/permissions/{permissionID}, v2 exposes permission.reply against
|
|
196
200
|
// /permission/{requestID}/reply. Both routes are live in the server today.
|
|
197
201
|
const respond = async (asked, allow) => {
|
|
202
|
+
if (replyPermission) {
|
|
203
|
+
try {
|
|
204
|
+
await replyPermission({ sessionID: asked.sessionID, requestID: asked.id, decision: allow ? "once" : "reject" })
|
|
205
|
+
} catch {}
|
|
206
|
+
return
|
|
207
|
+
}
|
|
198
208
|
const legacy = client && typeof client.postSessionIdPermissionsPermissionId === "function"
|
|
199
209
|
? () => client.postSessionIdPermissionsPermissionId({
|
|
200
210
|
path: { id: asked.sessionID, permissionID: asked.id },
|
|
@@ -224,11 +234,17 @@ export const PusharyPlugin = async ({ client, directory, worktree }) => {
|
|
|
224
234
|
}
|
|
225
235
|
|
|
226
236
|
const gate = async (asked) => {
|
|
237
|
+
if (asked.permission === "external_directory") return
|
|
238
|
+
if (replyPermission && !["shell", "read", "edit", "webfetch"].includes(asked.permission)) return
|
|
239
|
+
if (Array.isArray(asked.metadata?.files) && asked.metadata.files.length > 1) return
|
|
240
|
+
if (["read", "edit"].includes(asked.permission) && asked.resources?.length > 1) return
|
|
241
|
+
const tool = tools.get(asked.callID)
|
|
242
|
+
if (["shell", "bash"].includes(tool?.name) && text(tool.input?.workdir) && tool.input.workdir !== cwd) return
|
|
227
243
|
const reply = await run({
|
|
228
244
|
...base(asked.sessionID),
|
|
229
245
|
hook_event_name: "${OPENCODE_APPROVAL_EVENT}",
|
|
230
|
-
tool_name:
|
|
231
|
-
tool_input: inputFrom(asked.permission, asked.metadata),
|
|
246
|
+
tool_name: tool?.name ?? asked.permission,
|
|
247
|
+
tool_input: inputFrom(asked.permission, { ...tool?.input, ...asked.metadata }, asked.resources),
|
|
232
248
|
permission_id: asked.id,
|
|
233
249
|
permission_type: asked.permission,
|
|
234
250
|
title: asked.title,
|
|
@@ -256,7 +272,7 @@ export const PusharyPlugin = async ({ client, directory, worktree }) => {
|
|
|
256
272
|
|
|
257
273
|
return {
|
|
258
274
|
"tool.execute.before": async (input) => {
|
|
259
|
-
remember(tools, input && input.callID, input
|
|
275
|
+
remember(tools, input && input.callID, { name: input?.tool, input: input?.args })
|
|
260
276
|
},
|
|
261
277
|
|
|
262
278
|
"tool.execute.after": async (input, output) => {
|
|
@@ -267,7 +283,7 @@ export const PusharyPlugin = async ({ client, directory, worktree }) => {
|
|
|
267
283
|
hook_event_name: "tool.execute.after",
|
|
268
284
|
tool_name: text(input && input.tool) ?? "unknown",
|
|
269
285
|
tool_input: input && input.args && typeof input.args === "object" ? input.args : {},
|
|
270
|
-
tool_result: { title: text(output && output.title), output: text(output && output.output) },
|
|
286
|
+
tool_result: output?.error ? { error: output.error } : { title: text(output && output.title), output: text(output && output.output) },
|
|
271
287
|
})
|
|
272
288
|
},
|
|
273
289
|
|
|
@@ -290,7 +306,7 @@ export const PusharyPlugin = async ({ client, directory, worktree }) => {
|
|
|
290
306
|
const properties = event && event.properties
|
|
291
307
|
if (${OPENCODE_APPROVAL_EVENTS_PLACEHOLDER}.includes(type)) {
|
|
292
308
|
const asked = askedFrom(properties)
|
|
293
|
-
if (asked) void gate(asked)
|
|
309
|
+
if (asked && !waiting.has(asked.id)) void gate(asked)
|
|
294
310
|
return
|
|
295
311
|
}
|
|
296
312
|
if (type === ${JSON.stringify(OPENCODE_REPLIED_EVENT)}) {
|
|
@@ -316,6 +332,49 @@ export const PusharyPlugin = async ({ client, directory, worktree }) => {
|
|
|
316
332
|
},
|
|
317
333
|
}
|
|
318
334
|
}
|
|
335
|
+
|
|
336
|
+
export default {
|
|
337
|
+
id: "pushary",
|
|
338
|
+
server: PusharyPlugin,
|
|
339
|
+
async setup(ctx) {
|
|
340
|
+
const hooks = await PusharyPlugin({
|
|
341
|
+
directory: ctx.location.directory,
|
|
342
|
+
replyPermission: (request) => ctx.permission.reply(request),
|
|
343
|
+
})
|
|
344
|
+
await ctx.tool.hook("execute.before", (event) => hooks["tool.execute.before"]({
|
|
345
|
+
callID: event.id, tool: event.tool, sessionID: event.sessionID, args: event.input,
|
|
346
|
+
}))
|
|
347
|
+
await ctx.tool.hook("execute.after", (event) => hooks["tool.execute.after"]({
|
|
348
|
+
callID: event.id, tool: event.tool, sessionID: event.sessionID, args: event.input,
|
|
349
|
+
}, { output: event.status === "completed" && Array.isArray(event.result.content)
|
|
350
|
+
? event.result.content.filter((part) => part.type === "text").map((part) => part.text).join("\\n")
|
|
351
|
+
: undefined, error: event.status === "error" ? event.error.message : undefined }))
|
|
352
|
+
await ctx.session.hook("prompt", (event) => hooks["chat.message"]({ sessionID: event.sessionID }, {
|
|
353
|
+
parts: [{ type: "text", text: event.prompt.text }],
|
|
354
|
+
}))
|
|
355
|
+
const controller = new AbortController()
|
|
356
|
+
const consume = async () => {
|
|
357
|
+
try {
|
|
358
|
+
for await (const event of ctx.event.subscribe({ signal: controller.signal })) {
|
|
359
|
+
if (controller.signal.aborted) break
|
|
360
|
+
if (event.location && (event.location.directory !== ctx.location.directory || event.location.workspaceID !== ctx.location.workspaceID)) continue
|
|
361
|
+
const type = event.type === "session.execution.succeeded" ? "session.idle" : event.type
|
|
362
|
+
await hooks.event({ event: { type, properties: event.data } })
|
|
363
|
+
}
|
|
364
|
+
} catch {
|
|
365
|
+
if (!controller.signal.aborted) console.error("Pushary event subscription stopped; native prompts remain available.")
|
|
366
|
+
} finally {
|
|
367
|
+
await hooks.dispose()
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
const events = consume()
|
|
371
|
+
return async () => {
|
|
372
|
+
controller.abort()
|
|
373
|
+
await hooks.dispose()
|
|
374
|
+
await events
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
}
|
|
319
378
|
`;
|
|
320
379
|
var openCodePluginModule = () => ({
|
|
321
380
|
marker: OPENCODE_PLUGIN_MARKER,
|
|
@@ -22,23 +22,24 @@ import {
|
|
|
22
22
|
turnCodexAppCardsOff,
|
|
23
23
|
turnCodexAppCardsOn,
|
|
24
24
|
whyLaunchctlFailed
|
|
25
|
-
} from "./chunk-
|
|
26
|
-
import "./chunk-
|
|
25
|
+
} from "./chunk-BQ2VV7LY.js";
|
|
26
|
+
import "./chunk-PITQ5ZIQ.js";
|
|
27
27
|
import "./chunk-XCEN33UP.js";
|
|
28
28
|
import "./chunk-QCGNGEGE.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-LBHJJEKT.js";
|
|
30
30
|
import "./chunk-XHKBHWLX.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-WN3RACVD.js";
|
|
32
32
|
import "./chunk-E46NE7FB.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-SFAP4AJY.js";
|
|
34
|
+
import "./chunk-Y5VKZNFN.js";
|
|
35
|
+
import "./chunk-MWLTTLPK.js";
|
|
36
|
+
import "./chunk-CJ5TCFD4.js";
|
|
37
37
|
import "./chunk-QENTGE75.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-BG4Y64FW.js";
|
|
39
|
+
import "./chunk-ERK24P76.js";
|
|
40
40
|
import "./chunk-QTOLNRET.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-AXJLJJ3M.js";
|
|
42
|
+
import "./chunk-MLKGABMK.js";
|
|
42
43
|
export {
|
|
43
44
|
CODEX_APP_CARDS_DIRECTORY,
|
|
44
45
|
CODEX_APP_CARDS_LOGIN_ITEM,
|
|
@@ -11,11 +11,12 @@ import {
|
|
|
11
11
|
installedCodexApp,
|
|
12
12
|
shellQuoted,
|
|
13
13
|
writeDesktopProxy
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PITQ5ZIQ.js";
|
|
15
15
|
import "./chunk-XCEN33UP.js";
|
|
16
16
|
import {
|
|
17
17
|
CODEX_APP_LAUNCH_VARIABLE
|
|
18
18
|
} from "./chunk-E46NE7FB.js";
|
|
19
|
+
import "./chunk-MLKGABMK.js";
|
|
19
20
|
export {
|
|
20
21
|
CODEX_APP_LAUNCH_VARIABLE,
|
|
21
22
|
LAUNCHCTL,
|
|
@@ -11,36 +11,37 @@ import {
|
|
|
11
11
|
isCodexQuestionLeftWithTheLocalClient,
|
|
12
12
|
planCodexElicitation,
|
|
13
13
|
reportOwnedQuestion
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-O65F2IIN.js";
|
|
15
|
+
import "./chunk-ELLJPP6O.js";
|
|
16
|
+
import "./chunk-G36T5LAP.js";
|
|
17
|
+
import "./chunk-USE5IEEW.js";
|
|
18
|
+
import "./chunk-SHJVFW22.js";
|
|
19
19
|
import "./chunk-VUFHYMSP.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-2AELPDMT.js";
|
|
21
|
+
import "./chunk-GAMVAORR.js";
|
|
22
22
|
import "./chunk-XHKBHWLX.js";
|
|
23
23
|
import "./chunk-6ICPEJY5.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-YPD3MTFU.js";
|
|
25
25
|
import {
|
|
26
26
|
writeDegraded
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-RJHX66EY.js";
|
|
28
|
+
import "./chunk-XAO6EYGM.js";
|
|
29
29
|
import "./chunk-POFBE6ZY.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-YDR4BQ7R.js";
|
|
31
|
+
import "./chunk-7BAO42UV.js";
|
|
32
|
+
import "./chunk-SFAP4AJY.js";
|
|
33
|
+
import "./chunk-PPY5N2E6.js";
|
|
34
34
|
import "./chunk-KZERVKTD.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-MWLTTLPK.js";
|
|
36
|
+
import "./chunk-CJ5TCFD4.js";
|
|
37
37
|
import "./chunk-QENTGE75.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-BG4Y64FW.js";
|
|
39
|
+
import "./chunk-ERK24P76.js";
|
|
40
40
|
import "./chunk-QTOLNRET.js";
|
|
41
41
|
import {
|
|
42
42
|
canonicalJsonText
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
44
|
+
import "./chunk-MLKGABMK.js";
|
|
44
45
|
|
|
45
46
|
// src/codex-session-launch.ts
|
|
46
47
|
import { spawn as spawn2 } from "child_process";
|
|
@@ -3,9 +3,10 @@ import {
|
|
|
3
3
|
getApiKey,
|
|
4
4
|
getBaseUrl,
|
|
5
5
|
resetKeyDriftWarning
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-BG4Y64FW.js";
|
|
7
|
+
import "./chunk-ERK24P76.js";
|
|
8
|
+
import "./chunk-AXJLJJ3M.js";
|
|
9
|
+
import "./chunk-MLKGABMK.js";
|
|
9
10
|
export {
|
|
10
11
|
configFilePath,
|
|
11
12
|
getApiKey,
|
|
@@ -7,21 +7,22 @@ import {
|
|
|
7
7
|
recordUnfinishedUpgrade,
|
|
8
8
|
upgradeInstalledPackage,
|
|
9
9
|
withUpgradeLock
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-JGQV4MDQ.js";
|
|
11
|
+
import "./chunk-4N5E4JNF.js";
|
|
12
|
+
import "./chunk-G36T5LAP.js";
|
|
13
|
+
import "./chunk-USE5IEEW.js";
|
|
14
14
|
import "./chunk-VUFHYMSP.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-7HDGH3Z2.js";
|
|
16
16
|
import "./chunk-6ICPEJY5.js";
|
|
17
17
|
import "./chunk-POFBE6ZY.js";
|
|
18
18
|
import "./chunk-KZERVKTD.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-MWLTTLPK.js";
|
|
20
|
+
import "./chunk-CJ5TCFD4.js";
|
|
21
21
|
import "./chunk-QENTGE75.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-ERK24P76.js";
|
|
23
23
|
import "./chunk-QTOLNRET.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-AXJLJJ3M.js";
|
|
25
|
+
import "./chunk-MLKGABMK.js";
|
|
25
26
|
export {
|
|
26
27
|
finishGlobalUpgrade,
|
|
27
28
|
finishUpgradeWithLock,
|
|
@@ -2,12 +2,13 @@ import {
|
|
|
2
2
|
getMachineId,
|
|
3
3
|
getOrCreateMachineId,
|
|
4
4
|
readExistingMachineId
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-SFAP4AJY.js";
|
|
6
|
+
import "./chunk-MWLTTLPK.js";
|
|
7
|
+
import "./chunk-CJ5TCFD4.js";
|
|
8
8
|
import "./chunk-QENTGE75.js";
|
|
9
9
|
import "./chunk-QTOLNRET.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-AXJLJJ3M.js";
|
|
11
|
+
import "./chunk-MLKGABMK.js";
|
|
11
12
|
export {
|
|
12
13
|
getMachineId,
|
|
13
14
|
getOrCreateMachineId,
|
|
@@ -22,14 +22,15 @@ import {
|
|
|
22
22
|
resolveControlPolicy,
|
|
23
23
|
resolveProviderBinary,
|
|
24
24
|
trackProviderInventory
|
|
25
|
-
} from "./chunk-
|
|
26
|
-
import "./chunk-
|
|
25
|
+
} from "./chunk-G36T5LAP.js";
|
|
26
|
+
import "./chunk-USE5IEEW.js";
|
|
27
27
|
import "./chunk-VUFHYMSP.js";
|
|
28
28
|
import "./chunk-6ICPEJY5.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-CJ5TCFD4.js";
|
|
30
30
|
import "./chunk-QENTGE75.js";
|
|
31
31
|
import "./chunk-QTOLNRET.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-AXJLJJ3M.js";
|
|
33
|
+
import "./chunk-MLKGABMK.js";
|
|
33
34
|
export {
|
|
34
35
|
CLAUDE_BRIDGE_CAPABILITY,
|
|
35
36
|
CLAUDE_RESUME_CAPABILITY,
|
|
@@ -33,10 +33,11 @@ import {
|
|
|
33
33
|
serviceOwedBackMark,
|
|
34
34
|
vscodePluginDir,
|
|
35
35
|
vscodePluginMcp
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-MWLTTLPK.js";
|
|
37
|
+
import "./chunk-CJ5TCFD4.js";
|
|
38
38
|
import "./chunk-QTOLNRET.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-AXJLJJ3M.js";
|
|
40
|
+
import "./chunk-MLKGABMK.js";
|
|
40
41
|
export {
|
|
41
42
|
autoUpdateLock,
|
|
42
43
|
autoUpdateLog,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ensureCodexTrustAfterReapply,
|
|
3
|
+
inspectConfiguredManagedProviders,
|
|
4
|
+
reapplyAllAgents,
|
|
5
|
+
reapplyClaudeForVersion,
|
|
6
|
+
reapplyClaudeSettings,
|
|
7
|
+
reapplyCodexSettings,
|
|
8
|
+
reapplyCompatibleHooks,
|
|
9
|
+
reapplyCursorPlugin,
|
|
10
|
+
reapplyGeminiSettings,
|
|
11
|
+
reapplyOpenCodePlugin,
|
|
12
|
+
reapplyVsCodePlugin,
|
|
13
|
+
repairCodexHolds
|
|
14
|
+
} from "./chunk-6T5Z64KS.js";
|
|
15
|
+
import "./chunk-BUZIEL7Y.js";
|
|
16
|
+
import "./chunk-4VRTSDGP.js";
|
|
17
|
+
import "./chunk-UADSXJZ4.js";
|
|
18
|
+
import "./chunk-ZGU3NXL2.js";
|
|
19
|
+
import "./chunk-USE5IEEW.js";
|
|
20
|
+
import "./chunk-VUFHYMSP.js";
|
|
21
|
+
import "./chunk-GKFO5JLN.js";
|
|
22
|
+
import "./chunk-BJTSKOH3.js";
|
|
23
|
+
import "./chunk-RGSW36XH.js";
|
|
24
|
+
import "./chunk-XV6S5PWW.js";
|
|
25
|
+
import "./chunk-IFPOHFDJ.js";
|
|
26
|
+
import "./chunk-NMUI3ZWG.js";
|
|
27
|
+
import "./chunk-XHKBHWLX.js";
|
|
28
|
+
import "./chunk-6ICPEJY5.js";
|
|
29
|
+
import "./chunk-WN3RACVD.js";
|
|
30
|
+
import "./chunk-DQLCFGHK.js";
|
|
31
|
+
import "./chunk-33OOEVPG.js";
|
|
32
|
+
import "./chunk-YPD3MTFU.js";
|
|
33
|
+
import "./chunk-RJHX66EY.js";
|
|
34
|
+
import "./chunk-XAO6EYGM.js";
|
|
35
|
+
import "./chunk-POFBE6ZY.js";
|
|
36
|
+
import "./chunk-YDR4BQ7R.js";
|
|
37
|
+
import "./chunk-7BAO42UV.js";
|
|
38
|
+
import "./chunk-SFAP4AJY.js";
|
|
39
|
+
import "./chunk-PPY5N2E6.js";
|
|
40
|
+
import "./chunk-KZERVKTD.js";
|
|
41
|
+
import "./chunk-Y5VKZNFN.js";
|
|
42
|
+
import "./chunk-MWLTTLPK.js";
|
|
43
|
+
import "./chunk-CJ5TCFD4.js";
|
|
44
|
+
import "./chunk-QENTGE75.js";
|
|
45
|
+
import "./chunk-BG4Y64FW.js";
|
|
46
|
+
import "./chunk-ERK24P76.js";
|
|
47
|
+
import "./chunk-QTOLNRET.js";
|
|
48
|
+
import "./chunk-AXJLJJ3M.js";
|
|
49
|
+
import "./chunk-MLKGABMK.js";
|
|
50
|
+
export {
|
|
51
|
+
ensureCodexTrustAfterReapply,
|
|
52
|
+
inspectConfiguredManagedProviders,
|
|
53
|
+
reapplyAllAgents,
|
|
54
|
+
reapplyClaudeForVersion,
|
|
55
|
+
reapplyClaudeSettings,
|
|
56
|
+
reapplyCodexSettings,
|
|
57
|
+
reapplyCompatibleHooks,
|
|
58
|
+
reapplyCursorPlugin,
|
|
59
|
+
reapplyGeminiSettings,
|
|
60
|
+
reapplyOpenCodePlugin,
|
|
61
|
+
reapplyVsCodePlugin,
|
|
62
|
+
repairCodexHolds
|
|
63
|
+
};
|
package/dist/src/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handlePreToolUse
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-P3VQH65N.js";
|
|
4
|
+
import "../chunk-ORX5BTV4.js";
|
|
5
|
+
import "../chunk-SVQWHV65.js";
|
|
6
|
+
import "../chunk-ZEWIMY63.js";
|
|
7
|
+
import "../chunk-GKFO5JLN.js";
|
|
8
|
+
import "../chunk-RGSW36XH.js";
|
|
9
9
|
import {
|
|
10
10
|
fetchAccountPublicKey
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-GAMVAORR.js";
|
|
12
12
|
import "../chunk-6ICPEJY5.js";
|
|
13
13
|
import {
|
|
14
14
|
fetchModeOverride,
|
|
@@ -18,34 +18,35 @@ import {
|
|
|
18
18
|
handlePostToolUse,
|
|
19
19
|
handleStop,
|
|
20
20
|
reportEvent
|
|
21
|
-
} from "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
21
|
+
} from "../chunk-DQLCFGHK.js";
|
|
22
|
+
import "../chunk-33OOEVPG.js";
|
|
23
|
+
import "../chunk-YPD3MTFU.js";
|
|
24
24
|
import {
|
|
25
25
|
askUser,
|
|
26
26
|
cancelQuestion,
|
|
27
27
|
waitForAnswer
|
|
28
|
-
} from "../chunk-
|
|
29
|
-
import "../chunk-
|
|
28
|
+
} from "../chunk-RJHX66EY.js";
|
|
29
|
+
import "../chunk-XAO6EYGM.js";
|
|
30
30
|
import "../chunk-POFBE6ZY.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-YDR4BQ7R.js";
|
|
32
|
+
import "../chunk-7BAO42UV.js";
|
|
33
|
+
import "../chunk-SFAP4AJY.js";
|
|
34
|
+
import "../chunk-PPY5N2E6.js";
|
|
35
35
|
import "../chunk-KZERVKTD.js";
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-Y5VKZNFN.js";
|
|
37
|
+
import "../chunk-MWLTTLPK.js";
|
|
38
|
+
import "../chunk-CJ5TCFD4.js";
|
|
39
39
|
import "../chunk-QENTGE75.js";
|
|
40
40
|
import {
|
|
41
41
|
getApiKey,
|
|
42
42
|
getBaseUrl
|
|
43
|
-
} from "../chunk-
|
|
44
|
-
import "../chunk-
|
|
43
|
+
} from "../chunk-BG4Y64FW.js";
|
|
44
|
+
import "../chunk-ERK24P76.js";
|
|
45
45
|
import "../chunk-QTOLNRET.js";
|
|
46
46
|
import {
|
|
47
47
|
resolvePolicy
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-AXJLJJ3M.js";
|
|
49
|
+
import "../chunk-MLKGABMK.js";
|
|
49
50
|
export {
|
|
50
51
|
askUser,
|
|
51
52
|
cancelQuestion,
|
|
@@ -4,12 +4,13 @@ import {
|
|
|
4
4
|
installWithUpgradeLock,
|
|
5
5
|
ownsUpgradeLock,
|
|
6
6
|
releaseAutoUpdateLock
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-4N5E4JNF.js";
|
|
8
|
+
import "./chunk-MWLTTLPK.js";
|
|
9
|
+
import "./chunk-CJ5TCFD4.js";
|
|
10
10
|
import "./chunk-QENTGE75.js";
|
|
11
11
|
import "./chunk-QTOLNRET.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-AXJLJJ3M.js";
|
|
13
|
+
import "./chunk-MLKGABMK.js";
|
|
13
14
|
export {
|
|
14
15
|
claimUpgradeLock,
|
|
15
16
|
forkFinishWithUpgradeLock,
|