@jeffreycao/copilot-api 1.10.32 → 1.10.33

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 CHANGED
@@ -43,7 +43,7 @@ const { auth } = await import("./auth-D9rXn0sD.js");
43
43
  const { checkUsage } = await import("./check-usage-CpiDMOc1.js");
44
44
  const { debug } = await import("./debug-BEVHlRGL.js");
45
45
  const { mcp } = await import("./mcp-DZgcvqQY.js");
46
- const { start } = await import("./start-Co9B7ZYe.js");
46
+ const { start } = await import("./start-CctrQnIT.js");
47
47
  await runMain(defineCommand({
48
48
  meta: {
49
49
  name: "copilot-api",
@@ -2289,6 +2289,39 @@ const stripCacheControl = (payload) => {
2289
2289
  }
2290
2290
  }
2291
2291
  };
2292
+ const applyTopLevelCacheControl = (payload) => {
2293
+ const topLevel = payload.cache_control;
2294
+ if (!topLevel || typeof topLevel !== "object") {
2295
+ if (topLevel !== void 0) delete payload.cache_control;
2296
+ return;
2297
+ }
2298
+ delete payload.cache_control;
2299
+ for (let m = payload.messages.length - 1; m >= 0; m--) {
2300
+ const message = payload.messages[m];
2301
+ if (typeof message.content === "string") {
2302
+ message.content = [{
2303
+ type: "text",
2304
+ text: message.content,
2305
+ cache_control: { ...topLevel }
2306
+ }];
2307
+ return;
2308
+ }
2309
+ if (!Array.isArray(message.content)) continue;
2310
+ for (let b = message.content.length - 1; b >= 0; b--) {
2311
+ const block = message.content[b];
2312
+ if (block.type !== "text" && block.type !== "image" && block.type !== "tool_use" && block.type !== "tool_result") continue;
2313
+ if (!block.cache_control) block.cache_control = { ...topLevel };
2314
+ return;
2315
+ }
2316
+ }
2317
+ };
2318
+ const stripToolEagerInputStreaming = (payload) => {
2319
+ if (!payload.tools || payload.tools.length === 0) return;
2320
+ for (const tool of payload.tools) {
2321
+ const extended = tool;
2322
+ if ("eager_input_streaming" in extended) delete extended.eager_input_streaming;
2323
+ }
2324
+ };
2292
2325
  const filterAssistantThinkingBlocks = (payload) => {
2293
2326
  for (const msg of payload.messages) if (msg.role === "assistant" && Array.isArray(msg.content)) msg.content = msg.content.filter((block) => {
2294
2327
  if (block.type !== "thinking") return true;
@@ -2297,6 +2330,8 @@ const filterAssistantThinkingBlocks = (payload) => {
2297
2330
  };
2298
2331
  const prepareMessagesApiPayload = (payload, selectedModel) => {
2299
2332
  stripCacheControl(payload);
2333
+ applyTopLevelCacheControl(payload);
2334
+ stripToolEagerInputStreaming(payload);
2300
2335
  filterAssistantThinkingBlocks(payload);
2301
2336
  const hasThinking = Boolean(payload.thinking);
2302
2337
  const toolChoice = payload.tool_choice;
@@ -5533,4 +5568,4 @@ server.route("/:provider/v1/models", providerModelRoutes);
5533
5568
  //#endregion
5534
5569
  export { server };
5535
5570
 
5536
- //# sourceMappingURL=server-DD7IeSJq.js.map
5571
+ //# sourceMappingURL=server-De-habi1.js.map