mcp-codex-worker 1.0.2 → 1.0.4
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.
|
@@ -107,31 +107,6 @@ export function translateCodexRequestToPendingQuestion(req) {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
// ---------------------------------------------------------------------------
|
|
110
|
-
// Elicitation auto-decline (Issue #11816 workaround)
|
|
111
|
-
// ---------------------------------------------------------------------------
|
|
112
|
-
const ELICITATION_AUTO_DECLINE_MS = 30_000;
|
|
113
|
-
function scheduleElicitationAutoDecline(client, handle, question, timeoutMs = ELICITATION_AUTO_DECLINE_MS) {
|
|
114
|
-
const timer = setTimeout(() => {
|
|
115
|
-
const still = handle
|
|
116
|
-
.getPendingQuestions()
|
|
117
|
-
.find((q) => q.requestId === question.requestId);
|
|
118
|
-
if (!still)
|
|
119
|
-
return;
|
|
120
|
-
client
|
|
121
|
-
.respondToServerRequest(question.requestId, {
|
|
122
|
-
action: 'decline',
|
|
123
|
-
content: {},
|
|
124
|
-
})
|
|
125
|
-
.catch(() => { });
|
|
126
|
-
const head = handle.getPendingQuestions()[0];
|
|
127
|
-
if (head?.requestId === question.requestId) {
|
|
128
|
-
handle.dequeuePendingQuestion();
|
|
129
|
-
}
|
|
130
|
-
handle.writeOutput(`[elicitation] auto-declined after ${timeoutMs}ms (issue #11816 workaround)`);
|
|
131
|
-
}, timeoutMs);
|
|
132
|
-
timer.unref();
|
|
133
|
-
}
|
|
134
|
-
// ---------------------------------------------------------------------------
|
|
135
110
|
// Attachment: wire pause-flow onto an AppServerClient + TaskHandle
|
|
136
111
|
// ---------------------------------------------------------------------------
|
|
137
112
|
function extractThreadIdFromParams(params) {
|
|
@@ -161,6 +136,50 @@ export function attachPauseFlow(client, handle, threadId) {
|
|
|
161
136
|
handle.writeOutputFileOnly(`[guardian] ${pending.method}`);
|
|
162
137
|
return;
|
|
163
138
|
}
|
|
139
|
+
const params = asObject(pending.params);
|
|
140
|
+
// -----------------------------------------------------------------
|
|
141
|
+
// Auto-approve: command approvals, file approvals, elicitations,
|
|
142
|
+
// and permission requests. Respond instantly so the agent never
|
|
143
|
+
// stalls waiting for orchestrator input on these.
|
|
144
|
+
// -----------------------------------------------------------------
|
|
145
|
+
// Command approval → accept immediately
|
|
146
|
+
if (pending.method === 'item/commandExecution/requestApproval' ||
|
|
147
|
+
pending.method === 'execCommandApproval') {
|
|
148
|
+
const cmd = asString(params?.command) ?? 'unknown';
|
|
149
|
+
handle.writeOutput(`[auto-approve] cmd: ${cmd}`);
|
|
150
|
+
client.respondToServerRequest(pending.id, { decision: 'accept' }).catch(() => { });
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
// File change approval → accept immediately
|
|
154
|
+
if (pending.method === 'item/fileChange/requestApproval' ||
|
|
155
|
+
pending.method === 'applyPatchApproval') {
|
|
156
|
+
handle.writeOutput('[auto-approve] file change');
|
|
157
|
+
client.respondToServerRequest(pending.id, { decision: 'accept' }).catch(() => { });
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
// MCP elicitation → accept immediately
|
|
161
|
+
if (pending.method === 'mcpServer/elicitation/request') {
|
|
162
|
+
handle.writeOutput('[auto-approve] elicitation');
|
|
163
|
+
client.respondToServerRequest(pending.id, {
|
|
164
|
+
action: 'accept',
|
|
165
|
+
content: {},
|
|
166
|
+
}).catch(() => { });
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
// Permission request → grant all requested permissions for the session
|
|
170
|
+
if (pending.method === 'item/permissions/requestApproval') {
|
|
171
|
+
const perms = asObject(params?.permissions);
|
|
172
|
+
handle.writeOutput('[auto-approve] permissions');
|
|
173
|
+
client.respondToServerRequest(pending.id, {
|
|
174
|
+
scope: 'session',
|
|
175
|
+
permissions: perms ?? {},
|
|
176
|
+
}).catch(() => { });
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
// -----------------------------------------------------------------
|
|
180
|
+
// Queue: user_input and dynamic_tool still need real answers from
|
|
181
|
+
// the orchestrator — these are the only types that pause the task.
|
|
182
|
+
// -----------------------------------------------------------------
|
|
164
183
|
const req = {
|
|
165
184
|
method: pending.method,
|
|
166
185
|
id: pending.id,
|
|
@@ -173,9 +192,6 @@ export function attachPauseFlow(client, handle, threadId) {
|
|
|
173
192
|
if (!handle.isTerminal()) {
|
|
174
193
|
handle.markInputRequired();
|
|
175
194
|
}
|
|
176
|
-
if (question.type === 'elicitation') {
|
|
177
|
-
scheduleElicitationAutoDecline(client, handle, question);
|
|
178
|
-
}
|
|
179
195
|
};
|
|
180
196
|
client.on('server-request', onServerRequest);
|
|
181
197
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pause-flow.js","sourceRoot":"","sources":["../../../src/execution/codex-pause-flow.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codex-pause-flow.js","sourceRoot":"","sources":["../../../src/execution/codex-pause-flow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -127,43 +127,6 @@ export function translateCodexRequestToPendingQuestion(
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
// ---------------------------------------------------------------------------
|
|
131
|
-
// Elicitation auto-decline (Issue #11816 workaround)
|
|
132
|
-
// ---------------------------------------------------------------------------
|
|
133
|
-
|
|
134
|
-
const ELICITATION_AUTO_DECLINE_MS = 30_000;
|
|
135
|
-
|
|
136
|
-
function scheduleElicitationAutoDecline(
|
|
137
|
-
client: AppServerClient,
|
|
138
|
-
handle: TaskHandle,
|
|
139
|
-
question: Extract<PendingQuestion, { type: 'elicitation' }>,
|
|
140
|
-
timeoutMs: number = ELICITATION_AUTO_DECLINE_MS,
|
|
141
|
-
): void {
|
|
142
|
-
const timer = setTimeout(() => {
|
|
143
|
-
const still = handle
|
|
144
|
-
.getPendingQuestions()
|
|
145
|
-
.find((q) => q.requestId === question.requestId);
|
|
146
|
-
if (!still) return;
|
|
147
|
-
|
|
148
|
-
client
|
|
149
|
-
.respondToServerRequest(question.requestId, {
|
|
150
|
-
action: 'decline',
|
|
151
|
-
content: {},
|
|
152
|
-
})
|
|
153
|
-
.catch(() => {});
|
|
154
|
-
|
|
155
|
-
const head = handle.getPendingQuestions()[0];
|
|
156
|
-
if (head?.requestId === question.requestId) {
|
|
157
|
-
handle.dequeuePendingQuestion();
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
handle.writeOutput(
|
|
161
|
-
`[elicitation] auto-declined after ${timeoutMs}ms (issue #11816 workaround)`,
|
|
162
|
-
);
|
|
163
|
-
}, timeoutMs);
|
|
164
|
-
timer.unref();
|
|
165
|
-
}
|
|
166
|
-
|
|
167
130
|
// ---------------------------------------------------------------------------
|
|
168
131
|
// Attachment: wire pause-flow onto an AppServerClient + TaskHandle
|
|
169
132
|
// ---------------------------------------------------------------------------
|
|
@@ -199,6 +162,57 @@ export function attachPauseFlow(
|
|
|
199
162
|
return;
|
|
200
163
|
}
|
|
201
164
|
|
|
165
|
+
const params = asObject(pending.params);
|
|
166
|
+
|
|
167
|
+
// -----------------------------------------------------------------
|
|
168
|
+
// Auto-approve: command approvals, file approvals, elicitations,
|
|
169
|
+
// and permission requests. Respond instantly so the agent never
|
|
170
|
+
// stalls waiting for orchestrator input on these.
|
|
171
|
+
// -----------------------------------------------------------------
|
|
172
|
+
|
|
173
|
+
// Command approval → accept immediately
|
|
174
|
+
if (pending.method === 'item/commandExecution/requestApproval' ||
|
|
175
|
+
pending.method === 'execCommandApproval') {
|
|
176
|
+
const cmd = asString(params?.command) ?? 'unknown';
|
|
177
|
+
handle.writeOutput(`[auto-approve] cmd: ${cmd}`);
|
|
178
|
+
client.respondToServerRequest(pending.id, { decision: 'accept' }).catch(() => {});
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// File change approval → accept immediately
|
|
183
|
+
if (pending.method === 'item/fileChange/requestApproval' ||
|
|
184
|
+
pending.method === 'applyPatchApproval') {
|
|
185
|
+
handle.writeOutput('[auto-approve] file change');
|
|
186
|
+
client.respondToServerRequest(pending.id, { decision: 'accept' }).catch(() => {});
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// MCP elicitation → accept immediately
|
|
191
|
+
if (pending.method === 'mcpServer/elicitation/request') {
|
|
192
|
+
handle.writeOutput('[auto-approve] elicitation');
|
|
193
|
+
client.respondToServerRequest(pending.id, {
|
|
194
|
+
action: 'accept',
|
|
195
|
+
content: {},
|
|
196
|
+
}).catch(() => {});
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// Permission request → grant all requested permissions for the session
|
|
201
|
+
if (pending.method === 'item/permissions/requestApproval') {
|
|
202
|
+
const perms = asObject(params?.permissions);
|
|
203
|
+
handle.writeOutput('[auto-approve] permissions');
|
|
204
|
+
client.respondToServerRequest(pending.id, {
|
|
205
|
+
scope: 'session',
|
|
206
|
+
permissions: perms ?? {},
|
|
207
|
+
}).catch(() => {});
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// -----------------------------------------------------------------
|
|
212
|
+
// Queue: user_input and dynamic_tool still need real answers from
|
|
213
|
+
// the orchestrator — these are the only types that pause the task.
|
|
214
|
+
// -----------------------------------------------------------------
|
|
215
|
+
|
|
202
216
|
const req: JsonLineRequest = {
|
|
203
217
|
method: pending.method,
|
|
204
218
|
id: pending.id,
|
|
@@ -212,10 +226,6 @@ export function attachPauseFlow(
|
|
|
212
226
|
if (!handle.isTerminal()) {
|
|
213
227
|
handle.markInputRequired();
|
|
214
228
|
}
|
|
215
|
-
|
|
216
|
-
if (question.type === 'elicitation') {
|
|
217
|
-
scheduleElicitationAutoDecline(client, handle, question);
|
|
218
|
-
}
|
|
219
229
|
};
|
|
220
230
|
|
|
221
231
|
client.on('server-request', onServerRequest);
|