@jeffreycao/copilot-api 1.10.22 → 1.10.23
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/dist/main.js +1 -1
- package/dist/{server-D8xBCYdO.js → server-G5PWGqkb.js} +37 -7
- package/dist/{server-D8xBCYdO.js.map → server-G5PWGqkb.js.map} +1 -1
- package/dist/{start-C2btrZWS.js → start-B9cpzVBW.js} +2 -2
- package/dist/{start-C2btrZWS.js.map → start-B9cpzVBW.js.map} +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -43,7 +43,7 @@ const { auth } = await import("./auth-Qy0uU2yI.js");
|
|
|
43
43
|
const { checkUsage } = await import("./check-usage-DDfnCA0c.js");
|
|
44
44
|
const { debug } = await import("./debug-Cc-hdADF.js");
|
|
45
45
|
const { mcp } = await import("./mcp-DZgcvqQY.js");
|
|
46
|
-
const { start } = await import("./start-
|
|
46
|
+
const { start } = await import("./start-B9cpzVBW.js");
|
|
47
47
|
await runMain(defineCommand({
|
|
48
48
|
meta: {
|
|
49
49
|
name: "copilot-api",
|
|
@@ -5169,13 +5169,17 @@ const handleResponses = async (c) => {
|
|
|
5169
5169
|
}
|
|
5170
5170
|
debugJson(logger$1, "Responses request payload:", payload);
|
|
5171
5171
|
await responsesHandlerDependencies.checkRateLimit(state);
|
|
5172
|
-
const
|
|
5172
|
+
const subagentMarker = getCodexResponsesSubagentMarker(c);
|
|
5173
|
+
if (subagentMarker) debugJson(logger$1, "Detected Codex subagent headers:", subagentMarker);
|
|
5174
|
+
const incomingSessionId = subagentMarker ? getIncomingResponsesSessionId(c) : void 0;
|
|
5175
|
+
const sessionId = incomingSessionId ? getUUID(incomingSessionId) : void 0;
|
|
5176
|
+
const requestId = generateRequestIdFromPayload({ messages: payload.input }, sessionId);
|
|
5173
5177
|
logger$1.debug("Generated request ID:", requestId);
|
|
5174
|
-
const
|
|
5175
|
-
logger$1.debug("Extracted session ID:",
|
|
5178
|
+
const fallbackSessionId = sessionId ?? getUUID(requestId);
|
|
5179
|
+
logger$1.debug("Extracted session ID:", fallbackSessionId);
|
|
5176
5180
|
const recordUsage = createCopilotTokenUsageRecorder({
|
|
5177
5181
|
endpoint: "responses",
|
|
5178
|
-
fallbackSessionId
|
|
5182
|
+
fallbackSessionId,
|
|
5179
5183
|
model: payload.model
|
|
5180
5184
|
});
|
|
5181
5185
|
removeUnsupportedTools(payload);
|
|
@@ -5191,13 +5195,15 @@ const handleResponses = async (c) => {
|
|
|
5191
5195
|
if (sanitizedImageCount > 0) logger$1.warn(`Omitted ${sanitizedImageCount} oversized input image(s) before forwarding to Copilot Responses`);
|
|
5192
5196
|
applyResponsesApiContextManagement(payload, selectedModel?.capabilities.limits.max_prompt_tokens);
|
|
5193
5197
|
debugJson(logger$1, "Translated Responses payload:", payload);
|
|
5194
|
-
const { vision, initiator } = getResponsesRequestOptions(payload);
|
|
5198
|
+
const { vision, initiator: inferredInitiator } = getResponsesRequestOptions(payload);
|
|
5199
|
+
const initiator = subagentMarker ? "agent" : inferredInitiator;
|
|
5195
5200
|
if (state.manualApprove) await awaitApproval();
|
|
5196
5201
|
const response = await responsesHandlerDependencies.createResponses(payload, {
|
|
5197
5202
|
vision,
|
|
5198
5203
|
initiator,
|
|
5204
|
+
subagentMarker,
|
|
5199
5205
|
requestId,
|
|
5200
|
-
sessionId,
|
|
5206
|
+
sessionId: fallbackSessionId,
|
|
5201
5207
|
transport: responsesTransport
|
|
5202
5208
|
});
|
|
5203
5209
|
if (isStreamingRequested(payload) && isAsyncIterable(response)) {
|
|
@@ -5257,6 +5263,30 @@ const removeUnsupportedTools = (payload) => {
|
|
|
5257
5263
|
});
|
|
5258
5264
|
if (dropped.length > 0) logger$1.debug("Removed unsupported tools:", dropped);
|
|
5259
5265
|
};
|
|
5266
|
+
const getIncomingResponsesSessionId = (c) => getTrimmedHeader(c, "session-id") ?? getTrimmedHeader(c, "x-session-id");
|
|
5267
|
+
const codexSubagentHeaderValues = new Set([
|
|
5268
|
+
"collab_spawn",
|
|
5269
|
+
"compact",
|
|
5270
|
+
"memory_consolidation",
|
|
5271
|
+
"review"
|
|
5272
|
+
]);
|
|
5273
|
+
const getCodexResponsesSubagentMarker = (c) => {
|
|
5274
|
+
const agentType = getTrimmedHeader(c, "x-openai-subagent");
|
|
5275
|
+
if (!agentType || !codexSubagentHeaderValues.has(agentType)) return null;
|
|
5276
|
+
const threadId = getTrimmedHeader(c, "thread-id");
|
|
5277
|
+
const rootSessionId = getIncomingResponsesSessionId(c);
|
|
5278
|
+
const parentThreadId = getTrimmedHeader(c, "x-codex-parent-thread-id");
|
|
5279
|
+
if (!threadId && !rootSessionId && !parentThreadId) return null;
|
|
5280
|
+
const agentId = threadId ?? parentThreadId ?? rootSessionId ?? agentType;
|
|
5281
|
+
return {
|
|
5282
|
+
agent_id: agentId,
|
|
5283
|
+
agent_type: agentType,
|
|
5284
|
+
session_id: threadId ?? rootSessionId ?? agentId
|
|
5285
|
+
};
|
|
5286
|
+
};
|
|
5287
|
+
const getTrimmedHeader = (c, name) => {
|
|
5288
|
+
return c.req.header(name)?.trim() || void 0;
|
|
5289
|
+
};
|
|
5260
5290
|
//#endregion
|
|
5261
5291
|
//#region src/routes/responses/route.ts
|
|
5262
5292
|
const responsesRoutes = new Hono();
|
|
@@ -5369,4 +5399,4 @@ server.route("/:provider/v1/models", providerModelRoutes);
|
|
|
5369
5399
|
//#endregion
|
|
5370
5400
|
export { server };
|
|
5371
5401
|
|
|
5372
|
-
//# sourceMappingURL=server-
|
|
5402
|
+
//# sourceMappingURL=server-G5PWGqkb.js.map
|