impel-cli 0.20.63 → 0.20.64
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/RELEASE_NOTES.md +13 -0
- package/package.json +1 -1
- package/src/managedProfileVersion.js +3 -6
- package/src/sessionHooks.js +4 -11
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Release notes
|
|
2
2
|
|
|
3
|
+
## 0.20.64 — Windows cmd-compatible Codex hooks; rebuilt managed macOS package
|
|
4
|
+
|
|
5
|
+
- Emits managed Codex hooks with cmd-compatible quoting on Windows. Codex's
|
|
6
|
+
Windows hook runner passes `commandWindows` to cmd.exe as one raw command
|
|
7
|
+
line, so the PowerShell call syntax used before failed every Windows hook
|
|
8
|
+
even though the same command worked on macOS. Bumps the managed config
|
|
9
|
+
contract to 49 so existing Windows profiles are rewritten.
|
|
10
|
+
- New version so the managed macOS `Impel-CLI` package can be reissued and
|
|
11
|
+
reinstalled by Munki. The 0.20.63 package published with release 0.1.134 was
|
|
12
|
+
re-signed without the Node runtime's JIT entitlements and its bundled Node
|
|
13
|
+
aborts at startup; the impel-apps builders now restore those entitlements,
|
|
14
|
+
but Munki only replaces the package when its version increases.
|
|
15
|
+
|
|
3
16
|
## 0.20.63 — Route isolated Codex through the typed gateway surface
|
|
4
17
|
|
|
5
18
|
- Moves the `impel codex` and `impel use gateway codex` model provider from the
|
package/package.json
CHANGED
|
@@ -17,9 +17,6 @@
|
|
|
17
17
|
// v47 persists `features.apps = false` in the managed ChatGPT desktop profile
|
|
18
18
|
// so the hosted codex_apps connector stops handshaking against the gateway
|
|
19
19
|
// without a credential (the same gate 0.20.61 passed to CLI sessions).
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
|
|
23
|
-
// pins `supports_websockets = false` so Codex stops retrying a wss://
|
|
24
|
-
// handshake the gateway refuses before every HTTPS turn.
|
|
25
|
-
export const CURRENT_CONFIG_VERSION = 48;
|
|
20
|
+
// v49 rewrites Codex `commandWindows` from PowerShell syntax to the
|
|
21
|
+
// `cmd.exe` syntax required by Codex's hook runner.
|
|
22
|
+
export const CURRENT_CONFIG_VERSION = 49;
|
package/src/sessionHooks.js
CHANGED
|
@@ -2,6 +2,7 @@ import fs from "node:fs";
|
|
|
2
2
|
import crypto from "node:crypto";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
|
|
5
|
+
import { escapeWindowsBareArgument } from "./nativeProcess.js";
|
|
5
6
|
import { impelCliInvocation } from "./selfInvocation.js";
|
|
6
7
|
import { RUNTIME_BRAND } from "./runtimeBrand.js";
|
|
7
8
|
|
|
@@ -146,12 +147,6 @@ function shellQuote(value) {
|
|
|
146
147
|
return `'${String(value).replaceAll("'", `'"'"'`)}'`;
|
|
147
148
|
}
|
|
148
149
|
|
|
149
|
-
function powershellQuote(value) {
|
|
150
|
-
const text = String(value);
|
|
151
|
-
if (/[\r\n\0]/u.test(text)) throw new Error("cannot safely write this Windows hook command");
|
|
152
|
-
return `'${text.replaceAll("'", "''")}'`;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
150
|
function canonicalize(value) {
|
|
156
151
|
if (Array.isArray(value)) return value.map(canonicalize);
|
|
157
152
|
if (!value || typeof value !== "object") return value;
|
|
@@ -214,11 +209,9 @@ export function ensureCodexSessionHooks(codexHome, tenantId, surface = "codex_cl
|
|
|
214
209
|
const document = readJsonObject(hooksPath);
|
|
215
210
|
const invocation = managedInvocation("codex", surface, tenantId);
|
|
216
211
|
const unixCommand = [invocation.command, ...invocation.args].map(shellQuote).join(" ");
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
// the call operator; cmd.exe's doubled outer-quote form is invalid here.
|
|
221
|
-
const windowsCommand = `& ${windowsTokens}`;
|
|
212
|
+
const windowsCommand = [invocation.command, ...invocation.args]
|
|
213
|
+
.map(escapeWindowsBareArgument)
|
|
214
|
+
.join(" ");
|
|
222
215
|
const handler = {
|
|
223
216
|
type: "command",
|
|
224
217
|
command: unixCommand,
|