impel-cli 0.20.35 → 0.20.36
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 +10 -0
- package/package.json +1 -1
- package/src/commands/launch.js +7 -5
- package/src/vendorCliBinaries.js +20 -0
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Release notes
|
|
2
2
|
|
|
3
|
+
## 0.20.36 — Restore Codex execution
|
|
4
|
+
|
|
5
|
+
- Keeps Codex 0.147's stable code-mode host enabled instead of overriding it
|
|
6
|
+
off, restoring filesystem, shell, and repository tools in `impel codex`.
|
|
7
|
+
- Launches ordinary tenant Codex sessions with unrestricted filesystem access
|
|
8
|
+
and no approval prompts by default while preserving read-only fixed-agent
|
|
9
|
+
profiles.
|
|
10
|
+
- Requires the reviewed macOS Codex install to include its separately signed
|
|
11
|
+
`codex-code-mode-host` companion before the CLI can launch it.
|
|
12
|
+
|
|
3
13
|
## 0.20.35 — Normalize the Claude Tasks destination
|
|
4
14
|
|
|
5
15
|
- Waits for Claude's native New row before cloning the Tasks destination,
|
package/package.json
CHANGED
package/src/commands/launch.js
CHANGED
|
@@ -70,13 +70,14 @@ export const IMPEL_CODEX_PARENT_DELEGATION_INSTRUCTIONS =
|
|
|
70
70
|
`${IMPEL_CODEX_SPECIALIST_DELEGATION_INSTRUCTIONS} ${IMPEL_CUSTOM_AGENT_VERBATIM_RELAY_APPENDIX}`;
|
|
71
71
|
|
|
72
72
|
const IMPEL_CODEX_RUNTIME_OVERRIDES = [
|
|
73
|
-
// Codex
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
"features.code_mode_host=false",
|
|
73
|
+
// Codex 0.147 fails closed when a model selects code mode while this stable
|
|
74
|
+
// feature is disabled. The reviewed standalone install includes the signed
|
|
75
|
+
// companion host, so keep the execution path enabled for Impel sessions.
|
|
76
|
+
"features.code_mode_host=true",
|
|
78
77
|
];
|
|
79
78
|
|
|
79
|
+
const IMPEL_CODEX_UNRESTRICTED_ARGUMENT = "--dangerously-bypass-approvals-and-sandbox";
|
|
80
|
+
|
|
80
81
|
export function impelLaunchArguments(tool, argv, { codexAgentProfile = null } = {}) {
|
|
81
82
|
if (!RUNTIME_BRAND.features.agents) return [...argv];
|
|
82
83
|
if (tool === "claude") {
|
|
@@ -89,6 +90,7 @@ export function impelLaunchArguments(tool, argv, { codexAgentProfile = null } =
|
|
|
89
90
|
...(codexAgentProfile ? ["--profile", codexAgentProfile] : [
|
|
90
91
|
"-c",
|
|
91
92
|
`developer_instructions=${JSON.stringify(IMPEL_CODEX_PARENT_DELEGATION_INSTRUCTIONS)}`,
|
|
93
|
+
IMPEL_CODEX_UNRESTRICTED_ARGUMENT,
|
|
92
94
|
]),
|
|
93
95
|
...IMPEL_CODEX_RUNTIME_OVERRIDES.flatMap((override) => ["-c", override]),
|
|
94
96
|
...argv,
|
package/src/vendorCliBinaries.js
CHANGED
|
@@ -38,6 +38,7 @@ export function verifyReviewedMacVendorCli(
|
|
|
38
38
|
{
|
|
39
39
|
run = spawnSync,
|
|
40
40
|
realpath = fs.realpathSync,
|
|
41
|
+
stat = fs.statSync,
|
|
41
42
|
versions = PINNED_VENDOR_CLI_VERSIONS,
|
|
42
43
|
signingTeams = MAC_VENDOR_SIGNING_TEAMS,
|
|
43
44
|
environmentPrefix = "IMPEL",
|
|
@@ -61,6 +62,25 @@ export function verifyReviewedMacVendorCli(
|
|
|
61
62
|
if (version !== versions[tool]) return false;
|
|
62
63
|
|
|
63
64
|
const resolved = realpath(binary);
|
|
65
|
+
if (tool === "codex") {
|
|
66
|
+
const codeModeHost = path.join(path.dirname(resolved), "codex-code-mode-host");
|
|
67
|
+
if (!stat(codeModeHost).isFile()) return false;
|
|
68
|
+
const helperVerified = run("/usr/bin/codesign", ["--verify", "--strict", codeModeHost], {
|
|
69
|
+
encoding: "utf8",
|
|
70
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
71
|
+
timeout: 15_000,
|
|
72
|
+
});
|
|
73
|
+
if (helperVerified?.status !== 0 || helperVerified?.error) return false;
|
|
74
|
+
const helperDetails = run("/usr/bin/codesign", ["-dv", "--verbose=4", codeModeHost], {
|
|
75
|
+
encoding: "utf8",
|
|
76
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
77
|
+
timeout: 15_000,
|
|
78
|
+
});
|
|
79
|
+
if (helperDetails?.status !== 0
|
|
80
|
+
|| !String(helperDetails.stderr || helperDetails.stdout || "").includes(`TeamIdentifier=${signingTeams[tool]}`)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
64
84
|
const verified = run("/usr/bin/codesign", ["--verify", "--strict", resolved], {
|
|
65
85
|
encoding: "utf8",
|
|
66
86
|
stdio: ["ignore", "pipe", "pipe"],
|