impel-cli 0.20.19 → 0.20.21
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/README.md +9 -7
- package/RELEASE_NOTES.md +16 -0
- package/docs/native-agent-host-capability-matrix.md +3 -0
- package/package.json +1 -1
- package/src/agents.js +12 -4
package/README.md
CHANGED
|
@@ -187,13 +187,15 @@ it by exact agent ID (preferred) or unique exact title:
|
|
|
187
187
|
impel codex --agent research-agent exec "answer this question"
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
-
This path loads a generated, tenant-bound profile with
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
190
|
+
This path loads a generated, tenant-bound profile with the ultra-fast Codex
|
|
191
|
+
Spark model at low reasoning for the thin adapter turns, a read-only local
|
|
192
|
+
sandbox, the exact fixed MCP binding, and only that binding's answer/run,
|
|
193
|
+
resume, and recovery tools. The selected Eve agent still performs the
|
|
194
|
+
substantive work. The path omits the normal parent specialist instructions, so
|
|
195
|
+
there is no parent spawn, parent wait, or relay turn. Model, profile,
|
|
196
|
+
developer-instruction, MCP, approval, sandbox, and feature overrides are
|
|
197
|
+
rejected with `--agent`. The selected tenant and profile integrity must match
|
|
198
|
+
before Codex starts. Ordinary `impel codex` passthrough is unchanged.
|
|
197
199
|
|
|
198
200
|
## Remote Fargate sessions
|
|
199
201
|
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Release notes
|
|
2
2
|
|
|
3
|
+
## 0.20.21 — Faster Codex adapter turns
|
|
4
|
+
|
|
5
|
+
- Uses the ultra-fast Codex Spark model at low reasoning for generated
|
|
6
|
+
fixed-binding adapters; the selected Eve agent still owns the substantive
|
|
7
|
+
task and model choice.
|
|
8
|
+
- Advances the managed profile manifest so existing CLI and Desktop adapters
|
|
9
|
+
refresh immediately onto the faster wrapper model.
|
|
10
|
+
|
|
11
|
+
## 0.20.20 — Minimal Codex adapter tool surface
|
|
12
|
+
|
|
13
|
+
- Disables Codex's stable multi-agent feature inside qualified managed adapter
|
|
14
|
+
profiles, removing collaboration tool schemas that fixed-binding children and
|
|
15
|
+
single-thread launches cannot legitimately use.
|
|
16
|
+
- Advances the managed profile manifest so existing adapters refresh onto the
|
|
17
|
+
smaller, configuration-enforced tool surface immediately.
|
|
18
|
+
|
|
3
19
|
## 0.20.19 — Recovered Codex stream accounting
|
|
4
20
|
|
|
5
21
|
- Counts a zero-exit, completed Codex turn with a final agent message and one
|
|
@@ -35,6 +35,9 @@ is treated as an eager host.
|
|
|
35
35
|
rather than receiving an unknown configuration key.
|
|
36
36
|
- `mcp__impel_agent` is the native tool namespace. The server id
|
|
37
37
|
`impel_agent` is not equivalent and does not qualify as direct exposure.
|
|
38
|
+
- Generated Codex fixed-binding adapters use `gpt-5.3-codex-spark` at low
|
|
39
|
+
reasoning for the thin tool-selection and terminal-relay turns. The selected
|
|
40
|
+
Eve agent, not this wrapper model, still owns the substantive task.
|
|
38
41
|
|
|
39
42
|
## Requalification
|
|
40
43
|
|
package/package.json
CHANGED
package/src/agents.js
CHANGED
|
@@ -52,7 +52,12 @@ export const NATIVE_AGENT_RUN_TOOL = "run_native_agent";
|
|
|
52
52
|
export const NATIVE_AGENT_RESUME_TOOL = "resume_native_agent_run";
|
|
53
53
|
export const NATIVE_AGENT_RECOVER_TOOL = "recover_native_agent_runs";
|
|
54
54
|
export const MANAGED_AGENT_MCP_SERVER = "impel_agent";
|
|
55
|
-
export const MANAGED_AGENT_MANIFEST_VERSION =
|
|
55
|
+
export const MANAGED_AGENT_MANIFEST_VERSION = 13;
|
|
56
|
+
|
|
57
|
+
// The host model only selects the fixed MCP tool and faithfully returns its
|
|
58
|
+
// result. Spark minimizes those two wrapper turns while the selected Eve agent
|
|
59
|
+
// remains responsible for the substantive work.
|
|
60
|
+
const CODEX_AGENT_ADAPTER_MODEL = "gpt-5.3-codex-spark";
|
|
56
61
|
|
|
57
62
|
const NATIVE_AGENT_TOOL_NAMES = [
|
|
58
63
|
NATIVE_AGENT_RUN_TOOL,
|
|
@@ -650,7 +655,7 @@ function codexAdapterInstructions(tenantId, agent) {
|
|
|
650
655
|
const callerGuidance = usesVerbatimRelay(agent)
|
|
651
656
|
? adapterCallerSpawnGuidance("Codex")
|
|
652
657
|
: null;
|
|
653
|
-
const collaborationConstraint = `
|
|
658
|
+
const collaborationConstraint = `Collaboration tools are disabled. Return one final response to the caller after the native-agent transport reaches terminal.`;
|
|
654
659
|
if (usesDirectAnswer(agent)) {
|
|
655
660
|
const completionGuidance = usesVerbatimRelay(agent)
|
|
656
661
|
? adapterAnswerVerbatimCompletionGuidance()
|
|
@@ -686,7 +691,7 @@ function codexAdapterInstructions(tenantId, agent) {
|
|
|
686
691
|
function retiredAdapterInstructions(tenantId, agent) {
|
|
687
692
|
return [
|
|
688
693
|
`You are a recovery-only transport adapter for retired Impel native-agent binding ${JSON.stringify(agent.agentId)} in tenant ${JSON.stringify(tenantId)}.`,
|
|
689
|
-
`
|
|
694
|
+
`Collaboration tools are disabled. Return one final response to the caller after the native-agent transport reaches terminal.`,
|
|
690
695
|
`You cannot start new work. Never call run_native_agent and never perform or recreate the assigned task yourself.`,
|
|
691
696
|
`Call ${nativeToolName(NATIVE_AGENT_RECOVER_TOOL)} with {} to obtain integrity-validated pending handles for this fixed binding, then call ${nativeToolName(NATIVE_AGENT_RESUME_TOOL)} with the intended handle until it returns a terminal result. If multiple handles cannot be safely associated with the request, report them instead of choosing.`,
|
|
692
697
|
`Return successful finalText byte-for-byte. For failure, return the preserved runId, output, and error without inventing a replacement result.`,
|
|
@@ -770,12 +775,15 @@ function renderCodexConfiguration({
|
|
|
770
775
|
`name = ${JSON.stringify(name)}`,
|
|
771
776
|
`description = ${JSON.stringify(description)}`,
|
|
772
777
|
] : []),
|
|
773
|
-
|
|
778
|
+
`model = ${JSON.stringify(CODEX_AGENT_ADAPTER_MODEL)}`,
|
|
774
779
|
'model_reasoning_effort = "low"',
|
|
775
780
|
'sandbox_mode = "read-only"',
|
|
776
781
|
`developer_instructions = ${JSON.stringify(recoveryOnly ? retiredAdapterInstructions(tenantId, agent) : codexAdapterInstructions(tenantId, agent))}`,
|
|
777
782
|
"",
|
|
778
783
|
...(directCodeMode ? [
|
|
784
|
+
"[features]",
|
|
785
|
+
"multi_agent = false",
|
|
786
|
+
"",
|
|
779
787
|
"[features.code_mode]",
|
|
780
788
|
"enabled = true",
|
|
781
789
|
`direct_only_tool_namespaces = [${JSON.stringify(nativeToolNamespace())}]`,
|