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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-codex-worker",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "MCP server bridge for Codex app-server",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -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);