pushary 1.9.50 → 1.9.51
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/README.md +0 -1
- package/dist/api-PPNFRSJC.js +55 -0
- package/dist/bin/pushary-bell-hook.js +28 -25
- package/dist/bin/pushary-bell.js +13 -11
- package/dist/bin/pushary-claude.js +36 -32
- package/dist/bin/pushary-clean.js +68 -42
- package/dist/bin/pushary-codex-bridge.js +23 -20
- package/dist/bin/pushary-codex-hook.js +35 -31
- package/dist/bin/pushary-codex-session.js +17 -616
- package/dist/bin/pushary-codex.js +15 -12
- package/dist/bin/pushary-connect.js +31 -28
- package/dist/bin/pushary-cowork.js +7 -6
- package/dist/bin/pushary-daemon.js +55 -52
- package/dist/bin/pushary-disconnect.js +29 -26
- package/dist/bin/pushary-doctor.js +57 -52
- package/dist/bin/pushary-elicitation-hook.js +28 -25
- package/dist/bin/pushary-gemini-bridge.js +17 -15
- package/dist/bin/pushary-gemini-hook.js +32 -28
- package/dist/bin/pushary-hook.js +34 -31
- package/dist/bin/pushary-login.js +19 -16
- package/dist/bin/pushary-logout.js +30 -27
- package/dist/bin/pushary-mcp.js +11 -9
- package/dist/bin/pushary-mode.js +16 -14
- package/dist/bin/pushary-notification-hook.js +27 -24
- package/dist/bin/pushary-opencode-hook.js +31 -27
- package/dist/bin/pushary-permission-denied-hook.js +32 -29
- package/dist/bin/pushary-permission-hook.js +31 -28
- package/dist/bin/pushary-post-hook.js +27 -24
- package/dist/bin/pushary-prompt-hook.js +27 -24
- package/dist/bin/pushary-session-end-hook.js +27 -24
- package/dist/bin/pushary-session-start-hook.js +32 -29
- package/dist/bin/pushary-setup.js +133 -81
- package/dist/bin/pushary-stats.js +8 -7
- package/dist/bin/pushary-status.js +35 -32
- package/dist/bin/pushary-stop-hook.js +27 -24
- package/dist/bin/pushary-stopfailure-hook.js +27 -24
- package/dist/bin/pushary-suggestions.js +16 -14
- package/dist/bin/pushary-transcript-register.js +19 -17
- package/dist/bin/pushary-transcripts.js +10 -9
- package/dist/bin/pushary-upgrade.js +46 -42
- package/dist/bin/pushary-wait.js +16 -14
- package/dist/bin/pushary.js +10 -8
- package/dist/{chunk-IF2UPWD2.js → chunk-26MUPAKS.js} +1 -1
- package/dist/{chunk-AWMMABVB.js → chunk-2QPHUCXU.js} +49 -135
- package/dist/{chunk-WEY5ZHDB.js → chunk-2YSCVT6Q.js} +5 -5
- package/dist/chunk-36NGFHE4.js +72 -0
- package/dist/{chunk-25SYEAW4.js → chunk-3ICRY72Q.js} +3 -3
- package/dist/{chunk-LZYJMSOY.js → chunk-3OLEGCMU.js} +3 -3
- package/dist/{chunk-B7LV6W7U.js → chunk-3RPN7AAT.js} +1 -1
- package/dist/{chunk-VCZN7NAB.js → chunk-3YAOJEHG.js} +7 -5
- package/dist/{chunk-TGCIFEDE.js → chunk-43NXSBNZ.js} +13 -11
- package/dist/{chunk-Y74IJ2IO.js → chunk-4JM2CK2A.js} +4 -4
- package/dist/{chunk-KEAIIVW3.js → chunk-4QQEUJL4.js} +2 -2
- package/dist/{chunk-XNZB274I.js → chunk-5463UUO2.js} +1 -1
- package/dist/{chunk-ZMYLVFXC.js → chunk-5CRQCIHR.js} +14 -9
- package/dist/{chunk-KIO2MZQC.js → chunk-6QPRQVQM.js} +5 -3
- package/dist/{chunk-4PCJ6DYK.js → chunk-6SWMKF5E.js} +2 -2
- package/dist/{chunk-Y7WD72J7.js → chunk-7CLLWDCP.js} +1 -1
- package/dist/{chunk-TYTIDEBW.js → chunk-7DBTOPOT.js} +5 -5
- package/dist/chunk-7YAVKENV.js +271 -0
- package/dist/{chunk-34AQAQKW.js → chunk-AA2K3H7Y.js} +4 -4
- package/dist/{chunk-DH4BWFU7.js → chunk-AZHTI5JX.js} +5 -5
- package/dist/{chunk-PA54A437.js → chunk-BUXDR6US.js} +1 -1
- package/dist/{chunk-VUS6QGND.js → chunk-CQ5JGRML.js} +5 -1
- package/dist/{chunk-YVO4HIHX.js → chunk-DT5CACWZ.js} +12 -10
- package/dist/{chunk-LLRYP5TR.js → chunk-DT5Y55FI.js} +5 -5
- package/dist/{chunk-ZTTCYHOM.js → chunk-DUMZORSL.js} +8 -6
- package/dist/{chunk-XTVEW2NG.js → chunk-EGKD4S5H.js} +1 -1
- package/dist/{chunk-FPKQGWAF.js → chunk-EJCPHLY2.js} +2 -2
- package/dist/{chunk-YTYXFA5M.js → chunk-FI73DGNB.js} +1 -1
- package/dist/{chunk-JGNYCRB2.js → chunk-FV34HT35.js} +1 -1
- package/dist/{chunk-KK2DIUVV.js → chunk-GCN73COS.js} +1 -1
- package/dist/{chunk-SE4JFMLW.js → chunk-GTSI6NG6.js} +8 -6
- package/dist/chunk-JBT3ZSJS.js +92 -0
- package/dist/chunk-JZDRR7BL.js +427 -0
- package/dist/{chunk-KBGKWB5T.js → chunk-K3BIMGP4.js} +4 -2
- package/dist/{chunk-LY3OJFBW.js → chunk-KQBXPGXO.js} +2 -1
- package/dist/{chunk-OR5F63C2.js → chunk-LF3TLC7B.js} +2 -168
- package/dist/{chunk-GTGXQ7FJ.js → chunk-LXRQLDGW.js} +11 -11
- package/dist/{chunk-ZOKMGBPR.js → chunk-MC4VY5LK.js} +16 -5
- package/dist/{chunk-OW4DNSQ6.js → chunk-NSY2V7XU.js} +1 -1
- package/dist/{chunk-X3RCIOIH.js → chunk-ONCWYACA.js} +1 -1
- package/dist/{chunk-EP6S6VY3.js → chunk-PMJEN6CX.js} +6 -6
- package/dist/{chunk-K73CBZKW.js → chunk-PTNSIGLB.js} +4 -4
- package/dist/chunk-PVDSN6TB.js +729 -0
- package/dist/chunk-QTOLNRET.js +169 -0
- package/dist/{chunk-APASKZ2I.js → chunk-RLADRNPV.js} +5 -3
- package/dist/{chunk-BOVSUH4N.js → chunk-S6RNS4UL.js} +2 -2
- package/dist/{chunk-34RXPM5U.js → chunk-SRXBOMSR.js} +3 -3
- package/dist/{chunk-HXRH7ZCK.js → chunk-TQ6AGJVH.js} +2 -2
- package/dist/{chunk-SALUTWPX.js → chunk-UKX5WIB5.js} +4 -4
- package/dist/{chunk-ABMEBN2R.js → chunk-UR7XX2DV.js} +6 -4
- package/dist/{chunk-BXK6ZJVJ.js → chunk-UVT6B6XN.js} +2 -2
- package/dist/{chunk-5Q2FRMPC.js → chunk-VD2OAF7Q.js} +4 -4
- package/dist/{chunk-XH3F66VD.js → chunk-VYBH6D4X.js} +3 -3
- package/dist/{chunk-UCF3EZZL.js → chunk-VZRCM362.js} +13 -13
- package/dist/{chunk-7RMSB4A2.js → chunk-W26Q2DTD.js} +14 -12
- package/dist/{chunk-GBKSCDEK.js → chunk-WVSM3G4C.js} +17 -4
- package/dist/{chunk-GDDXGBTM.js → chunk-X5GHIFST.js} +2 -2
- package/dist/chunk-XCEN33UP.js +7 -0
- package/dist/{chunk-UHVD7BSV.js → chunk-XQHPHJHR.js} +6 -6
- package/dist/{chunk-OZLGTMIY.js → chunk-XSUJ2PQY.js} +2 -2
- package/dist/{chunk-ZYYQJSIO.js → chunk-YQDZ7ZIL.js} +44 -462
- package/dist/{chunk-PXUNPXOX.js → chunk-ZOP3I2GQ.js} +3 -3
- package/dist/{chunk-WLT6J3SB.js → chunk-ZXGDBCIH.js} +2 -2
- package/dist/codex-app-cards-switch-ZQRT7MXB.js +52 -0
- package/dist/codex-desktop-launch-X7UKQ4VR.js +27 -0
- package/dist/codex-session-launch-IX33LOQZ.js +331 -0
- package/dist/config-HX6ZNOIL.js +14 -0
- package/dist/{global-upgrade-AIUSS2YH.js → global-upgrade-DGP2E2NE.js} +8 -6
- package/dist/identity-YISWVJ2A.js +15 -0
- package/dist/live-capabilities-44KFBOD4.js +53 -0
- package/dist/{paths-RO34TYNM.js → paths-VLGX4GJA.js} +4 -2
- package/dist/{reapply-KTNPP4XE.js → reapply-35F3WDTB.js} +24 -21
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.js +22 -19
- package/dist/{upgrade-lock-5UAGXIW7.js → upgrade-lock-LMO3DSSU.js} +5 -3
- package/dist/usage-ZC6BKIE3.js +10 -0
- package/package.json +1 -1
|
@@ -1,29 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
quoteIfNeeded
|
|
3
|
+
} from "./chunk-JZDRR7BL.js";
|
|
4
|
+
import {
|
|
3
5
|
CODEX_QUESTION_TOOLS,
|
|
4
6
|
HOOK_BUDGETS,
|
|
5
7
|
HOOK_LOCATOR_BINARY,
|
|
6
|
-
OWNERSHIP_PROBE_COMMAND,
|
|
7
|
-
classifyGlobalFolder,
|
|
8
|
-
classifyGlobalInstall,
|
|
9
|
-
cmdShimTarget,
|
|
10
|
-
decideCommandOwner,
|
|
11
|
-
globalInstallTarget,
|
|
12
|
-
globalPackageFolder,
|
|
13
|
-
globalRootFor,
|
|
14
|
-
isReleaseVersion,
|
|
15
|
-
ownPackageName,
|
|
16
8
|
withHookHoldBudget
|
|
17
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LF3TLC7B.js";
|
|
18
10
|
|
|
19
11
|
// src/setup/paths.ts
|
|
20
12
|
import { homedir as homedir2 } from "os";
|
|
21
|
-
import { join as
|
|
13
|
+
import { join as join2 } from "path";
|
|
22
14
|
|
|
23
15
|
// src/codex-config.ts
|
|
24
16
|
import { createHash } from "crypto";
|
|
25
17
|
import { homedir } from "os";
|
|
26
|
-
import { join
|
|
18
|
+
import { join } from "path";
|
|
27
19
|
|
|
28
20
|
// src/registration-holder.ts
|
|
29
21
|
var asRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value) ? value : null;
|
|
@@ -54,388 +46,6 @@ var registrationHolderOf = (document, cliBinaries) => {
|
|
|
54
46
|
return commands.some(({ command }) => namesCliBinary(command, cliBinaries)) ? "cli" : "none";
|
|
55
47
|
};
|
|
56
48
|
|
|
57
|
-
// src/npm.ts
|
|
58
|
-
import { promisify } from "util";
|
|
59
|
-
import { exec, execFile, execFileSync, execSync } from "child_process";
|
|
60
|
-
import { existsSync, readFileSync, readlinkSync, realpathSync } from "fs";
|
|
61
|
-
import { dirname, isAbsolute, join, relative, resolve } from "path";
|
|
62
|
-
var latestReleaseUrl = (packageName) => `https://registry.npmjs.org/${packageName}/latest`;
|
|
63
|
-
var REGISTRY_TIMEOUT_MS = 5e3;
|
|
64
|
-
var LATEST_TAG = "latest";
|
|
65
|
-
var cleanNpmEnv = () => {
|
|
66
|
-
const env = {};
|
|
67
|
-
for (const [key, value] of Object.entries(process.env)) {
|
|
68
|
-
if (key.toLowerCase().startsWith("npm_config_workspace")) continue;
|
|
69
|
-
env[key] = value;
|
|
70
|
-
}
|
|
71
|
-
return env;
|
|
72
|
-
};
|
|
73
|
-
var NPM_ERROR_METADATA = /^(code|syscall|path|dest|errno)\s/i;
|
|
74
|
-
var npmErrorMessage = (err) => {
|
|
75
|
-
const e = err;
|
|
76
|
-
const text = [e?.stderr, e?.stdout].map((part) => part ? part.toString() : "").join("\n");
|
|
77
|
-
const line = text.split("\n").map((l) => l.replace(/^npm error\s*/i, "").trim()).find((l) => l && !l.startsWith("A complete log") && !NPM_ERROR_METADATA.test(l));
|
|
78
|
-
return line || e?.message || String(err);
|
|
79
|
-
};
|
|
80
|
-
var execNpm = (args, options = {}) => {
|
|
81
|
-
return execSync(`npm ${args}`, {
|
|
82
|
-
timeout: 12e4,
|
|
83
|
-
stdio: "pipe",
|
|
84
|
-
...options,
|
|
85
|
-
env: { ...cleanNpmEnv(), ...options.env ?? {} }
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
var GLOBAL_PREFIX_TIMEOUT_MS = 5e3;
|
|
89
|
-
var readGlobalPrefix = () => {
|
|
90
|
-
try {
|
|
91
|
-
const prefix = execNpm("prefix -g --no-workspaces", { timeout: GLOBAL_PREFIX_TIMEOUT_MS }).toString().trim();
|
|
92
|
-
return prefix === "" ? void 0 : prefix;
|
|
93
|
-
} catch {
|
|
94
|
-
return void 0;
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
var resolveGlobalBinary = (name) => {
|
|
98
|
-
const prefix = readGlobalPrefix();
|
|
99
|
-
if (prefix === void 0) return void 0;
|
|
100
|
-
return resolveGlobalBinaryAt(name, prefix);
|
|
101
|
-
};
|
|
102
|
-
var resolveGlobalBinaryAt = (name, prefix, platform = process.platform) => {
|
|
103
|
-
const candidates = platform === "win32" ? [join(prefix, `${name}.cmd`), join(prefix, name)] : [join(prefix, "bin", name)];
|
|
104
|
-
return candidates.find(existsSync);
|
|
105
|
-
};
|
|
106
|
-
var resolvePathBinary = (name, platform = process.platform) => {
|
|
107
|
-
try {
|
|
108
|
-
return execFileSync(platform === "win32" ? "where" : "which", [name], {
|
|
109
|
-
encoding: "utf8",
|
|
110
|
-
stdio: "pipe",
|
|
111
|
-
timeout: 5e3
|
|
112
|
-
}).split(/\r?\n/, 1)[0]?.trim() || void 0;
|
|
113
|
-
} catch {
|
|
114
|
-
return void 0;
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
var runFileAsync = promisify(execFile);
|
|
118
|
-
var runShellAsync = promisify(exec);
|
|
119
|
-
var DISCOVERY_TIMEOUT_MS = 5e3;
|
|
120
|
-
var refuseDiscoveryAfterStop = (signal) => signal?.throwIfAborted();
|
|
121
|
-
var runNpmDiscovery = (command, signal) => {
|
|
122
|
-
refuseDiscoveryAfterStop(signal);
|
|
123
|
-
const options = { env: cleanNpmEnv(), timeout: DISCOVERY_TIMEOUT_MS, signal };
|
|
124
|
-
return process.platform === "win32" ? runShellAsync(`npm ${command}`, options) : runFileAsync("npm", command.split(" "), options);
|
|
125
|
-
};
|
|
126
|
-
var readGlobalPrefixAsync = async (signal) => {
|
|
127
|
-
try {
|
|
128
|
-
const { stdout } = await runNpmDiscovery("prefix -g --no-workspaces", signal);
|
|
129
|
-
return stdout.trim() || void 0;
|
|
130
|
-
} catch {
|
|
131
|
-
return void 0;
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
var resolvePathBinaryAsync = async (name, signal, platform = process.platform) => {
|
|
135
|
-
try {
|
|
136
|
-
refuseDiscoveryAfterStop(signal);
|
|
137
|
-
const { stdout } = await runFileAsync(platform === "win32" ? "where" : "which", [name], {
|
|
138
|
-
timeout: DISCOVERY_TIMEOUT_MS,
|
|
139
|
-
signal
|
|
140
|
-
});
|
|
141
|
-
return stdout.split(/\r?\n/, 1)[0]?.trim() || void 0;
|
|
142
|
-
} catch {
|
|
143
|
-
return void 0;
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
var NPM_MISSING_MESSAGE = "npm is not on PATH, and the hooks run from a global npm install.";
|
|
147
|
-
var NPM_LOOKUP = process.platform === "win32" ? "where npm" : "command -v npm";
|
|
148
|
-
var npmIsOnPath = () => {
|
|
149
|
-
try {
|
|
150
|
-
execSync(NPM_LOOKUP, { env: cleanNpmEnv(), stdio: "ignore", timeout: 5e3 });
|
|
151
|
-
return true;
|
|
152
|
-
} catch {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
var GLOBAL_LIST_TIMEOUT_MS = 3e4;
|
|
157
|
-
var globalPackageState = (name) => {
|
|
158
|
-
try {
|
|
159
|
-
const listing = JSON.parse(execNpm("list -g --depth=0 --json --no-workspaces", { timeout: GLOBAL_LIST_TIMEOUT_MS }).toString());
|
|
160
|
-
const dependencies = typeof listing === "object" && listing !== null && "dependencies" in listing ? listing.dependencies : void 0;
|
|
161
|
-
return typeof dependencies === "object" && dependencies !== null && name in dependencies ? "installed" : "absent";
|
|
162
|
-
} catch {
|
|
163
|
-
return "unknown";
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
var NpmMissingError = class extends Error {
|
|
167
|
-
constructor() {
|
|
168
|
-
super(NPM_MISSING_MESSAGE);
|
|
169
|
-
this.name = "NpmMissingError";
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
var npmPermissionFailureKind = (code, platform) => code === "EPERM" && platform === "win32" ? "file-in-use" : "global-prefix";
|
|
173
|
-
var NpmPermissionError = class extends Error {
|
|
174
|
-
kind;
|
|
175
|
-
constructor(detail, kind) {
|
|
176
|
-
super(detail);
|
|
177
|
-
this.name = "NpmPermissionError";
|
|
178
|
-
this.kind = kind;
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
var NpmInstallError = class extends Error {
|
|
182
|
-
constructor(detail) {
|
|
183
|
-
super(detail);
|
|
184
|
-
this.name = "NpmInstallError";
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
var NPM_PERMISSION_CODE = /\b(EACCES|EPERM)\b/;
|
|
188
|
-
var ERROR_TEXT_FIELDS = ["code", "stderr", "stdout", "message"];
|
|
189
|
-
var errorTextOf = (err) => {
|
|
190
|
-
if (typeof err !== "object" || err === null) return [String(err)];
|
|
191
|
-
return ERROR_TEXT_FIELDS.flatMap((field) => {
|
|
192
|
-
const value = Reflect.get(err, field);
|
|
193
|
-
return typeof value === "string" || Buffer.isBuffer(value) ? [value.toString()] : [];
|
|
194
|
-
});
|
|
195
|
-
};
|
|
196
|
-
var isNpmPermissionCode = (value) => value === "EACCES" || value === "EPERM";
|
|
197
|
-
var npmPermissionCodeOf = (err) => {
|
|
198
|
-
for (const text of errorTextOf(err)) {
|
|
199
|
-
const code = NPM_PERMISSION_CODE.exec(text)?.[1];
|
|
200
|
-
if (isNpmPermissionCode(code)) return code;
|
|
201
|
-
}
|
|
202
|
-
return null;
|
|
203
|
-
};
|
|
204
|
-
var npmInstallFailure = (err, platform = process.platform) => {
|
|
205
|
-
const code = npmPermissionCodeOf(err);
|
|
206
|
-
return code === null ? new NpmInstallError(npmErrorMessage(err)) : new NpmPermissionError(npmErrorMessage(err), npmPermissionFailureKind(code, platform));
|
|
207
|
-
};
|
|
208
|
-
var resolveBinary = (name) => resolveGlobalBinary(name) ?? resolvePathBinary(name);
|
|
209
|
-
var resolvePackageVersionFromBinary = (binary, packageName) => {
|
|
210
|
-
try {
|
|
211
|
-
let dir = dirname(realpathSync(binary));
|
|
212
|
-
const packagePath = packageName.split("/");
|
|
213
|
-
for (let depth = 0; depth < 8; depth++) {
|
|
214
|
-
for (const manifest of [
|
|
215
|
-
join(dir, "package.json"),
|
|
216
|
-
join(dir, "node_modules", ...packagePath, "package.json")
|
|
217
|
-
]) {
|
|
218
|
-
try {
|
|
219
|
-
const value = JSON.parse(readFileSync(manifest, "utf8"));
|
|
220
|
-
if (value.name === packageName && typeof value.version === "string") return value.version;
|
|
221
|
-
} catch {
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
const parent = dirname(dir);
|
|
225
|
-
if (parent === dir) break;
|
|
226
|
-
dir = parent;
|
|
227
|
-
}
|
|
228
|
-
} catch {
|
|
229
|
-
}
|
|
230
|
-
return void 0;
|
|
231
|
-
};
|
|
232
|
-
var globalPackageVersionIn = (output, name) => {
|
|
233
|
-
const result = JSON.parse(output);
|
|
234
|
-
if (typeof result !== "object" || result === null || !("dependencies" in result)) return void 0;
|
|
235
|
-
const dependencies = result.dependencies;
|
|
236
|
-
if (typeof dependencies !== "object" || dependencies === null || !(name in dependencies)) return void 0;
|
|
237
|
-
const entry = Reflect.get(dependencies, name);
|
|
238
|
-
if (typeof entry !== "object" || entry === null || !("version" in entry)) return void 0;
|
|
239
|
-
return typeof entry.version === "string" ? entry.version : void 0;
|
|
240
|
-
};
|
|
241
|
-
var resolveGlobalPackageVersion = (name) => {
|
|
242
|
-
try {
|
|
243
|
-
return globalPackageVersionIn(execNpm("list -g --depth=0 --json --no-workspaces", { timeout: DISCOVERY_TIMEOUT_MS }).toString(), name);
|
|
244
|
-
} catch {
|
|
245
|
-
return void 0;
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
var resolveGlobalPackageVersionAsync = async (name, signal) => {
|
|
249
|
-
try {
|
|
250
|
-
const { stdout } = await runNpmDiscovery("list -g --depth=0 --json --no-workspaces", signal);
|
|
251
|
-
return globalPackageVersionIn(stdout, name);
|
|
252
|
-
} catch {
|
|
253
|
-
return void 0;
|
|
254
|
-
}
|
|
255
|
-
};
|
|
256
|
-
var localImportsPresent = (entry, packageDir, seen = /* @__PURE__ */ new Set()) => {
|
|
257
|
-
if (seen.has(entry)) return true;
|
|
258
|
-
seen.add(entry);
|
|
259
|
-
try {
|
|
260
|
-
const source = readFileSync(entry, "utf8");
|
|
261
|
-
for (const match of source.matchAll(/\b(?:import|export)\s+(?:[^"'()]*?\s+from\s+)?["'](\.{1,2}\/[^"']+)["']|\bimport\s*\(\s*["'](\.{1,2}\/[^"']+)["']/g)) {
|
|
262
|
-
const dependency = resolve(dirname(entry), match[1] ?? match[2]);
|
|
263
|
-
const localPath = relative(packageDir, dependency);
|
|
264
|
-
if (localPath.startsWith("..") || isAbsolute(localPath) || !existsSync(dependency)) return false;
|
|
265
|
-
if (/\.[cm]?js$/.test(dependency) && !localImportsPresent(dependency, packageDir, seen)) return false;
|
|
266
|
-
}
|
|
267
|
-
return true;
|
|
268
|
-
} catch {
|
|
269
|
-
return false;
|
|
270
|
-
}
|
|
271
|
-
};
|
|
272
|
-
var packageBinsPresent = (packageDir, prefix, platform = process.platform, requiredFiles = []) => {
|
|
273
|
-
try {
|
|
274
|
-
const manifest = JSON.parse(readFileSync(join(packageDir, "package.json"), "utf8"));
|
|
275
|
-
if (!manifest.bin || typeof manifest.bin !== "object" || Array.isArray(manifest.bin)) return false;
|
|
276
|
-
const bins = Object.entries(manifest.bin);
|
|
277
|
-
if (bins.length === 0) return false;
|
|
278
|
-
if (!requiredFiles.every((path) => existsSync(join(packageDir, path)))) return false;
|
|
279
|
-
const seen = /* @__PURE__ */ new Set();
|
|
280
|
-
return bins.every(([name, target]) => {
|
|
281
|
-
if (typeof target !== "string") return false;
|
|
282
|
-
const shims = platform === "win32" ? [join(prefix, `${name}.cmd`), join(prefix, name)] : [join(prefix, "bin", name)];
|
|
283
|
-
const entry = join(packageDir, target);
|
|
284
|
-
return existsSync(entry) && shims.some(existsSync) && localImportsPresent(entry, packageDir, seen);
|
|
285
|
-
});
|
|
286
|
-
} catch {
|
|
287
|
-
return false;
|
|
288
|
-
}
|
|
289
|
-
};
|
|
290
|
-
var AGENT_HOOKS_RUNTIME_FILES = [
|
|
291
|
-
"data/SKILL.md",
|
|
292
|
-
"data/cursor-plugin/.cursor-plugin/plugin.json",
|
|
293
|
-
"data/cursor-plugin/hooks/hooks.json",
|
|
294
|
-
"data/cursor-plugin/mcp.json",
|
|
295
|
-
"data/cursor-plugin/scripts/pushary-gate.mjs",
|
|
296
|
-
"data/cursor-plugin/scripts/redaction.mjs",
|
|
297
|
-
"data/vscode-plugin/.claude-plugin/plugin.json",
|
|
298
|
-
"data/vscode-plugin/hooks/hooks.json",
|
|
299
|
-
"data/vscode-plugin/.mcp.json",
|
|
300
|
-
"data/vscode-plugin/scripts/pushary-gate.mjs",
|
|
301
|
-
"data/vscode-plugin/scripts/redaction.mjs"
|
|
302
|
-
];
|
|
303
|
-
var globalPackageBinsPresent = (name, prefix, platform) => packageBinsPresent(globalPackageFolder(globalRootFor(prefix, platform), name, platform), prefix, platform, AGENT_HOOKS_RUNTIME_FILES);
|
|
304
|
-
var errorCode = (error) => typeof error === "object" && error !== null && "code" in error ? error.code : void 0;
|
|
305
|
-
var realpathOrUndefined = (path) => {
|
|
306
|
-
try {
|
|
307
|
-
return realpathSync(path);
|
|
308
|
-
} catch {
|
|
309
|
-
return void 0;
|
|
310
|
-
}
|
|
311
|
-
};
|
|
312
|
-
var definedPaths = (paths) => paths.filter((path) => path !== void 0);
|
|
313
|
-
var readPosixCommandLink = (prefix) => {
|
|
314
|
-
const command = join(prefix, "bin", OWNERSHIP_PROBE_COMMAND);
|
|
315
|
-
try {
|
|
316
|
-
const target = resolve(dirname(command), readlinkSync(command));
|
|
317
|
-
return { kind: "resolved", targets: definedPaths([target, realpathOrUndefined(command)]) };
|
|
318
|
-
} catch (error) {
|
|
319
|
-
if (errorCode(error) === "ENOENT") return { kind: "absent" };
|
|
320
|
-
const real = realpathOrUndefined(command);
|
|
321
|
-
return real === void 0 ? { kind: "unreadable" } : { kind: "resolved", targets: [real] };
|
|
322
|
-
}
|
|
323
|
-
};
|
|
324
|
-
var readWindowsCommandLink = (prefix) => {
|
|
325
|
-
const shim = join(prefix, `${OWNERSHIP_PROBE_COMMAND}.cmd`);
|
|
326
|
-
try {
|
|
327
|
-
const target = cmdShimTarget(prefix, readFileSync(shim, "utf8"));
|
|
328
|
-
return target === void 0 ? { kind: "unreadable" } : { kind: "resolved", targets: [target] };
|
|
329
|
-
} catch (error) {
|
|
330
|
-
return errorCode(error) === "ENOENT" ? { kind: "absent" } : { kind: "unreadable" };
|
|
331
|
-
}
|
|
332
|
-
};
|
|
333
|
-
var readCommandLink = (prefix, platform) => platform === "win32" ? readWindowsCommandLink(prefix) : readPosixCommandLink(prefix);
|
|
334
|
-
var readFolderManifest = (folder) => {
|
|
335
|
-
try {
|
|
336
|
-
return { kind: "read", manifest: JSON.parse(readFileSync(join(folder, "package.json"), "utf8")) };
|
|
337
|
-
} catch {
|
|
338
|
-
return { kind: "unreadable" };
|
|
339
|
-
}
|
|
340
|
-
};
|
|
341
|
-
var readGlobalFolder = (root, name, platform = process.platform) => classifyGlobalFolder(name, readFolderManifest(globalPackageFolder(root, name, platform)));
|
|
342
|
-
var installedIfOurs = (folder) => folder.kind === "ours" ? [folder.installed] : [];
|
|
343
|
-
var readInstalledCliPackages = (root, platform = process.platform) => CLI_PACKAGE_NAMES.flatMap((name) => installedIfOurs(readGlobalFolder(root, name, platform)));
|
|
344
|
-
var globalRootsFor = (prefix, platform) => {
|
|
345
|
-
const root = globalRootFor(prefix, platform);
|
|
346
|
-
return definedPaths([root, realpathOrUndefined(root)]);
|
|
347
|
-
};
|
|
348
|
-
var readCommandOwner = (prefix, platform = process.platform) => decideCommandOwner({
|
|
349
|
-
platform,
|
|
350
|
-
globalRoots: globalRootsFor(prefix, platform),
|
|
351
|
-
link: readCommandLink(prefix, platform),
|
|
352
|
-
installed: readInstalledCliPackages(globalRootFor(prefix, platform), platform).map((installed) => installed.name)
|
|
353
|
-
});
|
|
354
|
-
var NPM_UNAVAILABLE_OWNER = { kind: "unknown", reason: "npm_unavailable" };
|
|
355
|
-
var readGlobalCliInstallAt = (prefix, platform = process.platform) => classifyGlobalInstall(readInstalledCliPackages(globalRootFor(prefix, platform), platform), readCommandOwner(prefix, platform));
|
|
356
|
-
var readGlobalCliInstall = (platform = process.platform) => {
|
|
357
|
-
const prefix = readGlobalPrefix();
|
|
358
|
-
return prefix === void 0 ? { kind: "unavailable" } : readGlobalCliInstallAt(prefix, platform);
|
|
359
|
-
};
|
|
360
|
-
var resolveGlobalBinDir = (probe) => {
|
|
361
|
-
if (process.platform === "win32") return void 0;
|
|
362
|
-
const resolved = resolveGlobalBinary(probe);
|
|
363
|
-
return resolved ? resolved.slice(0, resolved.length - probe.length - 1) : void 0;
|
|
364
|
-
};
|
|
365
|
-
var quoteIfNeeded = (path) => /\s/.test(path) ? `"${path}"` : path;
|
|
366
|
-
var fetchLatestPublishedVersion = async (request) => {
|
|
367
|
-
try {
|
|
368
|
-
const response = await (request.fetchImpl ?? fetch)(latestReleaseUrl(request.packageName), {
|
|
369
|
-
signal: AbortSignal.timeout(request.timeoutMs ?? REGISTRY_TIMEOUT_MS)
|
|
370
|
-
});
|
|
371
|
-
if (!response.ok) return void 0;
|
|
372
|
-
const body = await response.json();
|
|
373
|
-
const version = body && typeof body === "object" && "version" in body ? body.version : void 0;
|
|
374
|
-
return typeof version === "string" && isReleaseVersion(version) ? version : void 0;
|
|
375
|
-
} catch {
|
|
376
|
-
return void 0;
|
|
377
|
-
}
|
|
378
|
-
};
|
|
379
|
-
var POSIX_SHELL_WORD = /^[\w@%+=:,./-]+$/;
|
|
380
|
-
var quoteForPosixShell = (value) => POSIX_SHELL_WORD.test(value) ? value : `'${value.replaceAll("'", `'\\''`)}'`;
|
|
381
|
-
var installPackageGlobally = (request, runNpm = execNpm) => {
|
|
382
|
-
const prefixFlag = request.prefix === void 0 ? "" : ` --prefix ${quoteForPosixShell(request.prefix)}`;
|
|
383
|
-
const spec = quoteForPosixShell(`${request.packageName}@${request.version}`);
|
|
384
|
-
runNpm(`install -g --no-workspaces${prefixFlag} ${spec}`, { timeout: request.timeoutMs });
|
|
385
|
-
};
|
|
386
|
-
var needsGlobalInstall = (requested, installed, binaryPresent) => requested !== installed || !binaryPresent;
|
|
387
|
-
var planGlobalInstall = (platform) => {
|
|
388
|
-
const prefix = readGlobalPrefix();
|
|
389
|
-
const owner = prefix === void 0 ? NPM_UNAVAILABLE_OWNER : readCommandOwner(prefix, platform);
|
|
390
|
-
return { prefix, packageName: globalInstallTarget(owner, ownPackageName()) };
|
|
391
|
-
};
|
|
392
|
-
var plannedGlobalPackage = () => planGlobalInstall(process.platform).packageName;
|
|
393
|
-
var installedVersionOf = (prefix, name, platform) => {
|
|
394
|
-
const folder = readGlobalFolder(globalRootFor(prefix, platform), name, platform);
|
|
395
|
-
return folder.kind === "ours" ? folder.installed.version : void 0;
|
|
396
|
-
};
|
|
397
|
-
var asCachedResult = (result) => result === "installed" ? "cached" : result;
|
|
398
|
-
var installState;
|
|
399
|
-
var installGlobally = (options) => {
|
|
400
|
-
if (installState) {
|
|
401
|
-
return installState.then(asCachedResult);
|
|
402
|
-
}
|
|
403
|
-
const started = (async () => {
|
|
404
|
-
if (!npmIsOnPath()) throw new NpmMissingError();
|
|
405
|
-
const { withUpgradeLock } = await import("./global-upgrade-AIUSS2YH.js");
|
|
406
|
-
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-5UAGXIW7.js");
|
|
407
|
-
const { autoUpdateLock: autoUpdateLock2 } = await import("./paths-RO34TYNM.js");
|
|
408
|
-
let result = "skipped";
|
|
409
|
-
const install = async () => {
|
|
410
|
-
const platform = process.platform;
|
|
411
|
-
const { prefix, packageName } = planGlobalInstall(platform);
|
|
412
|
-
const pinned = process.env.PUSHARY_PIN_GLOBAL_VERSION !== "0";
|
|
413
|
-
if (pinned && prefix !== void 0 && !needsGlobalInstall(
|
|
414
|
-
options.version,
|
|
415
|
-
installedVersionOf(prefix, packageName, platform),
|
|
416
|
-
globalPackageBinsPresent(packageName, prefix, platform)
|
|
417
|
-
)) {
|
|
418
|
-
return;
|
|
419
|
-
}
|
|
420
|
-
const version = pinned && options.version && options.version !== "0.0.0" ? options.version : LATEST_TAG;
|
|
421
|
-
installWithUpgradeLock({ packageName, version, timeoutMs: options.timeoutMs ?? 12e4 }, options.lockPath);
|
|
422
|
-
result = "installed";
|
|
423
|
-
};
|
|
424
|
-
if (ownsUpgradeLock(options.lockPath ?? autoUpdateLock2())) {
|
|
425
|
-
await install();
|
|
426
|
-
} else {
|
|
427
|
-
const lock = await withUpgradeLock(install, options);
|
|
428
|
-
if (lock.kind === "refused") throw new Error(lock.message);
|
|
429
|
-
}
|
|
430
|
-
return result;
|
|
431
|
-
})();
|
|
432
|
-
installState = started;
|
|
433
|
-
started.catch(() => {
|
|
434
|
-
if (installState === started) installState = void 0;
|
|
435
|
-
});
|
|
436
|
-
return started;
|
|
437
|
-
};
|
|
438
|
-
|
|
439
49
|
// src/hook-command.ts
|
|
440
50
|
var HOOK_SHELL = "/bin/sh -c";
|
|
441
51
|
var holdBudgetOf = (hook) => hook.holds ? hook.timeout : void 0;
|
|
@@ -526,12 +136,12 @@ var canonicalJson = (value) => {
|
|
|
526
136
|
// src/codex-config.ts
|
|
527
137
|
var CODEX_HOOK_BINARY = "pushary-codex-hook";
|
|
528
138
|
var codexHome = () => codexHomeFrom(homedir());
|
|
529
|
-
var codexHomeFrom = (home) => process.env.CODEX_HOME?.trim() ||
|
|
530
|
-
var codexConfigToml = () =>
|
|
531
|
-
var codexHooksJsonIn = (home) =>
|
|
139
|
+
var codexHomeFrom = (home) => process.env.CODEX_HOME?.trim() || join(home, ".codex");
|
|
140
|
+
var codexConfigToml = () => join(codexHome(), "config.toml");
|
|
141
|
+
var codexHooksJsonIn = (home) => join(home, "hooks.json");
|
|
532
142
|
var codexHooksJson = () => codexHooksJsonIn(codexHome());
|
|
533
|
-
var codexAgentsMd = () =>
|
|
534
|
-
var codexSkillDir = () =>
|
|
143
|
+
var codexAgentsMd = () => join(codexHome(), "AGENTS.md");
|
|
144
|
+
var codexSkillDir = () => join(codexHome(), "skills", "pushary");
|
|
535
145
|
var CODEX_TOOL_CALL_MATCHER = "Bash|apply_patch|mcp__.*";
|
|
536
146
|
var CODEX_PRE_TOOL_USE_MATCHER = [CODEX_TOOL_CALL_MATCHER, ...CODEX_QUESTION_TOOLS].join("|");
|
|
537
147
|
var CODEX_HOOK_EVENTS = [
|
|
@@ -836,72 +446,44 @@ var staleTrustKeys = (state, hooksJsonPath, event, currentKey, ourHash) => {
|
|
|
836
446
|
};
|
|
837
447
|
|
|
838
448
|
// src/setup/paths.ts
|
|
839
|
-
var claudeSettings = () =>
|
|
840
|
-
var claudeJson = () =>
|
|
841
|
-
var claudeSkillDir = () =>
|
|
842
|
-
var cursorPluginDir = () =>
|
|
843
|
-
var cursorUserHooks = () =>
|
|
844
|
-
var cursorPluginMcp = () =>
|
|
845
|
-
var cursorPluginManifest = () =>
|
|
846
|
-
var cursorPluginRule = () =>
|
|
847
|
-
var cursorUserMcp = () =>
|
|
848
|
-
var vscodePluginDir = () =>
|
|
849
|
-
var vscodePluginMcp = () =>
|
|
850
|
-
var claudeSettingsLocal = () =>
|
|
851
|
-
var pusharyDir = () =>
|
|
852
|
-
var claudeMcpReceipt = () =>
|
|
853
|
-
var bridgeAgentKey = () =>
|
|
854
|
-
var autoUpdateState = () =>
|
|
855
|
-
var autoUpdateLock = () =>
|
|
856
|
-
var autoUpdateLog = () =>
|
|
857
|
-
var clientReportClaims = () =>
|
|
858
|
-
var claudeRegistrationReceipt = () =>
|
|
859
|
-
var hermesConfig = () =>
|
|
860
|
-
var hermesConfigReceipt = () =>
|
|
861
|
-
var fxQuestionRuleReceipt = () =>
|
|
862
|
-
var hookTakeoverReceipt = (agent) =>
|
|
863
|
-
var codexSkillDir2 = () =>
|
|
864
|
-
var codexAgentsMd2 = () =>
|
|
865
|
-
var geminiSettings = () =>
|
|
866
|
-
var geminiMd = () =>
|
|
867
|
-
var pusharyConfigFile = () =>
|
|
868
|
-
var fxConfigDir = () =>
|
|
869
|
-
var fxMcpProfile = () =>
|
|
870
|
-
var fxSettings = () =>
|
|
871
|
-
var fxAgentsMd = () =>
|
|
449
|
+
var claudeSettings = () => join2(homedir2(), ".claude", "settings.json");
|
|
450
|
+
var claudeJson = () => join2(homedir2(), ".claude.json");
|
|
451
|
+
var claudeSkillDir = () => join2(homedir2(), ".claude", "skills", "pushary");
|
|
452
|
+
var cursorPluginDir = () => join2(homedir2(), ".cursor", "plugins", "local", "pushary");
|
|
453
|
+
var cursorUserHooks = () => join2(homedir2(), ".cursor", "hooks.json");
|
|
454
|
+
var cursorPluginMcp = () => join2(cursorPluginDir(), "mcp.json");
|
|
455
|
+
var cursorPluginManifest = () => join2(cursorPluginDir(), ".cursor-plugin", "plugin.json");
|
|
456
|
+
var cursorPluginRule = () => join2(cursorPluginDir(), "rules", "pushary.mdc");
|
|
457
|
+
var cursorUserMcp = () => join2(homedir2(), ".cursor", "mcp.json");
|
|
458
|
+
var vscodePluginDir = () => join2(homedir2(), ".pushary", "plugins", "vscode");
|
|
459
|
+
var vscodePluginMcp = () => join2(vscodePluginDir(), ".mcp.json");
|
|
460
|
+
var claudeSettingsLocal = () => join2(homedir2(), ".claude", "settings.local.json");
|
|
461
|
+
var pusharyDir = () => join2(homedir2(), ".pushary");
|
|
462
|
+
var claudeMcpReceipt = () => join2(pusharyDir(), "setup", "claude-mcp.json");
|
|
463
|
+
var bridgeAgentKey = () => join2(pusharyDir(), "bridge-auth", "agent-key.json");
|
|
464
|
+
var autoUpdateState = () => join2(pusharyDir(), "auto-update.json");
|
|
465
|
+
var autoUpdateLock = () => join2(pusharyDir(), "auto-update.lock");
|
|
466
|
+
var autoUpdateLog = () => join2(pusharyDir(), "logs", "auto-update.log");
|
|
467
|
+
var clientReportClaims = () => join2(pusharyDir(), "client-reports");
|
|
468
|
+
var claudeRegistrationReceipt = () => join2(pusharyDir(), "setup", "claude-registration.json");
|
|
469
|
+
var hermesConfig = () => join2(homedir2(), ".hermes", "config.yaml");
|
|
470
|
+
var hermesConfigReceipt = () => join2(pusharyDir(), "setup", "hermes-config.json");
|
|
471
|
+
var fxQuestionRuleReceipt = () => join2(pusharyDir(), "setup", "fx-question-rule.json");
|
|
472
|
+
var hookTakeoverReceipt = (agent) => join2(pusharyDir(), "setup", `hook-takeover-${agent}.json`);
|
|
473
|
+
var codexSkillDir2 = () => join2(codexHome(), "skills", "pushary");
|
|
474
|
+
var codexAgentsMd2 = () => join2(codexHome(), "AGENTS.md");
|
|
475
|
+
var geminiSettings = () => join2(homedir2(), ".gemini", "settings.json");
|
|
476
|
+
var geminiMd = () => join2(homedir2(), ".gemini", "GEMINI.md");
|
|
477
|
+
var pusharyConfigFile = () => join2(homedir2(), ".pushary", "config.json");
|
|
478
|
+
var fxConfigDir = () => join2(homedir2(), ".fx");
|
|
479
|
+
var fxMcpProfile = () => join2(fxConfigDir(), "mcp.json");
|
|
480
|
+
var fxSettings = () => join2(fxConfigDir(), "settings.json");
|
|
481
|
+
var fxAgentsMd = () => join2(fxConfigDir(), "AGENTS.md");
|
|
872
482
|
|
|
873
483
|
export {
|
|
874
484
|
registeredCommands,
|
|
875
485
|
namesOurBinary,
|
|
876
486
|
registrationHolderOf,
|
|
877
|
-
LATEST_TAG,
|
|
878
|
-
cleanNpmEnv,
|
|
879
|
-
npmErrorMessage,
|
|
880
|
-
execNpm,
|
|
881
|
-
readGlobalPrefix,
|
|
882
|
-
resolveGlobalBinary,
|
|
883
|
-
resolveGlobalBinaryAt,
|
|
884
|
-
resolvePathBinary,
|
|
885
|
-
readGlobalPrefixAsync,
|
|
886
|
-
resolvePathBinaryAsync,
|
|
887
|
-
npmIsOnPath,
|
|
888
|
-
globalPackageState,
|
|
889
|
-
NpmMissingError,
|
|
890
|
-
NpmPermissionError,
|
|
891
|
-
NpmInstallError,
|
|
892
|
-
npmInstallFailure,
|
|
893
|
-
resolveBinary,
|
|
894
|
-
resolvePackageVersionFromBinary,
|
|
895
|
-
resolveGlobalPackageVersion,
|
|
896
|
-
resolveGlobalPackageVersionAsync,
|
|
897
|
-
readGlobalFolder,
|
|
898
|
-
readGlobalCliInstallAt,
|
|
899
|
-
readGlobalCliInstall,
|
|
900
|
-
resolveGlobalBinDir,
|
|
901
|
-
fetchLatestPublishedVersion,
|
|
902
|
-
installPackageGlobally,
|
|
903
|
-
plannedGlobalPackage,
|
|
904
|
-
installGlobally,
|
|
905
487
|
holdBudgetOf,
|
|
906
488
|
guardBinary,
|
|
907
489
|
guardBinaryRefusing,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETUP_FLAGS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BUXDR6US.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-MC4VY5LK.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-LF3TLC7B.js";
|
|
21
21
|
|
|
22
22
|
// src/cli/cowork.ts
|
|
23
23
|
import { readFileSync } from "fs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YQDZ7ZIL.js";
|
|
4
4
|
import {
|
|
5
5
|
readJsonSafe,
|
|
6
6
|
writeFileAtomic
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
serializeDeclinedAgents,
|
|
14
14
|
withDeclinedAgent,
|
|
15
15
|
withoutDeclinedAgent
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LF3TLC7B.js";
|
|
17
17
|
|
|
18
18
|
// src/declined-agents-file.ts
|
|
19
19
|
import { join } from "path";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CODEX_APP_CARDS_DIRECTORY,
|
|
3
|
+
CODEX_APP_CARDS_LOGIN_ITEM,
|
|
4
|
+
codexAppCardsCommand,
|
|
5
|
+
codexAppCardsCommandOnThisMac,
|
|
6
|
+
codexAppCardsInstallation,
|
|
7
|
+
codexAppCardsLoginItem,
|
|
8
|
+
codexAppCardsLoginScript,
|
|
9
|
+
codexAppCardsPaths,
|
|
10
|
+
codexAppCardsReceiptFrom,
|
|
11
|
+
codexAppCardsStatus,
|
|
12
|
+
codexAppCardsStatusLine,
|
|
13
|
+
removeCodexAppCards,
|
|
14
|
+
removeCodexAppCardsFromThisMac,
|
|
15
|
+
runsFromATemporaryFolder,
|
|
16
|
+
turnCodexAppCardsOff,
|
|
17
|
+
turnCodexAppCardsOn
|
|
18
|
+
} from "./chunk-7YAVKENV.js";
|
|
19
|
+
import "./chunk-PVDSN6TB.js";
|
|
20
|
+
import "./chunk-XCEN33UP.js";
|
|
21
|
+
import "./chunk-QCGNGEGE.js";
|
|
22
|
+
import "./chunk-5CRQCIHR.js";
|
|
23
|
+
import "./chunk-XHKBHWLX.js";
|
|
24
|
+
import "./chunk-VYBH6D4X.js";
|
|
25
|
+
import "./chunk-36NGFHE4.js";
|
|
26
|
+
import "./chunk-KQBXPGXO.js";
|
|
27
|
+
import "./chunk-4QQEUJL4.js";
|
|
28
|
+
import "./chunk-YQDZ7ZIL.js";
|
|
29
|
+
import "./chunk-JZDRR7BL.js";
|
|
30
|
+
import "./chunk-AQFEP65J.js";
|
|
31
|
+
import "./chunk-CQ5JGRML.js";
|
|
32
|
+
import "./chunk-MC4VY5LK.js";
|
|
33
|
+
import "./chunk-QTOLNRET.js";
|
|
34
|
+
import "./chunk-LF3TLC7B.js";
|
|
35
|
+
export {
|
|
36
|
+
CODEX_APP_CARDS_DIRECTORY,
|
|
37
|
+
CODEX_APP_CARDS_LOGIN_ITEM,
|
|
38
|
+
codexAppCardsCommand,
|
|
39
|
+
codexAppCardsCommandOnThisMac,
|
|
40
|
+
codexAppCardsInstallation,
|
|
41
|
+
codexAppCardsLoginItem,
|
|
42
|
+
codexAppCardsLoginScript,
|
|
43
|
+
codexAppCardsPaths,
|
|
44
|
+
codexAppCardsReceiptFrom,
|
|
45
|
+
codexAppCardsStatus,
|
|
46
|
+
codexAppCardsStatusLine,
|
|
47
|
+
removeCodexAppCards,
|
|
48
|
+
removeCodexAppCardsFromThisMac,
|
|
49
|
+
runsFromATemporaryFolder,
|
|
50
|
+
turnCodexAppCardsOff,
|
|
51
|
+
turnCodexAppCardsOn
|
|
52
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
codexDesktopCommand,
|
|
3
|
+
codexEngineBehindLauncher,
|
|
4
|
+
codexPassThroughScript,
|
|
5
|
+
desktopEngine,
|
|
6
|
+
desktopEngineFromManifest,
|
|
7
|
+
desktopProxyScript,
|
|
8
|
+
installedCodexApp,
|
|
9
|
+
shellQuoted,
|
|
10
|
+
writeDesktopProxy
|
|
11
|
+
} from "./chunk-PVDSN6TB.js";
|
|
12
|
+
import "./chunk-XCEN33UP.js";
|
|
13
|
+
import {
|
|
14
|
+
CODEX_APP_LAUNCH_VARIABLE
|
|
15
|
+
} from "./chunk-36NGFHE4.js";
|
|
16
|
+
export {
|
|
17
|
+
CODEX_APP_LAUNCH_VARIABLE,
|
|
18
|
+
codexDesktopCommand,
|
|
19
|
+
codexEngineBehindLauncher,
|
|
20
|
+
codexPassThroughScript,
|
|
21
|
+
desktopEngine,
|
|
22
|
+
desktopEngineFromManifest,
|
|
23
|
+
desktopProxyScript,
|
|
24
|
+
installedCodexApp,
|
|
25
|
+
shellQuoted,
|
|
26
|
+
writeDesktopProxy
|
|
27
|
+
};
|