thinkpool-pair 0.7.230 → 0.7.231
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/codex-app-server.mjs +8 -1
- package/codex-session.mjs +7 -1
- package/package.json +1 -1
package/codex-app-server.mjs
CHANGED
|
@@ -59,7 +59,14 @@ export function codexAppServerGate({ env = process.env, execFile = execFileSync
|
|
|
59
59
|
export function buildCodexAppServerArgs({ providerConfig, mcpUrl, writableDirs = [] } = {}) {
|
|
60
60
|
const args = ['app-server', '--stdio']
|
|
61
61
|
if (providerConfig) args.push('-c', providerConfig)
|
|
62
|
-
if (mcpUrl)
|
|
62
|
+
if (mcpUrl) {
|
|
63
|
+
args.push('-c', `mcp_servers.thinkpool.url=${JSON.stringify(mcpUrl)}`)
|
|
64
|
+
// The room prompt promises spawn/read/close_terminal as native room tools.
|
|
65
|
+
// Fail startup instead of silently running a tool-less Codex turn when the
|
|
66
|
+
// private loopback MCP handshake is unavailable. Existing MCP approval
|
|
67
|
+
// policy still owns the room permission card for each call.
|
|
68
|
+
args.push('-c', 'mcp_servers.thinkpool.required=true')
|
|
69
|
+
}
|
|
63
70
|
if (writableDirs.length) args.push('-c', `sandbox_workspace_write.writable_roots=${JSON.stringify(writableDirs)}`)
|
|
64
71
|
return args
|
|
65
72
|
}
|
package/codex-session.mjs
CHANGED
|
@@ -248,7 +248,13 @@ export function buildCodexExecArgs({ sessionId, model, effort, sandbox, approval
|
|
|
248
248
|
// accept --add-dir itself. Supply these only when creating the thread.
|
|
249
249
|
if (!sessionId) for (const dir of writableDirs) args.push('--add-dir', dir)
|
|
250
250
|
// Per-lane override only: never mutate the person's global Codex config.
|
|
251
|
-
if (mcpUrl)
|
|
251
|
+
if (mcpUrl) {
|
|
252
|
+
args.push('-c', `mcp_servers.thinkpool.url=${JSON.stringify(mcpUrl)}`)
|
|
253
|
+
// Room tools are part of the ThinkPool execution contract, not optional
|
|
254
|
+
// enrichment. A failed handshake must abort this invocation so Codex
|
|
255
|
+
// cannot continue after spawn_terminal vanished from its callable set.
|
|
256
|
+
args.push('-c', 'mcp_servers.thinkpool.required=true')
|
|
257
|
+
}
|
|
252
258
|
// Both fresh `exec` and `exec resume` accept repeatable --image flags. Only
|
|
253
259
|
// bridge-derived absolute paths reach this layer; relative values are ignored
|
|
254
260
|
// so a future caller cannot silently change the child's path interpretation.
|