@jeffreycao/copilot-api 1.6.4 → 1.6.6
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/{auth-I-jV5RwF.js → auth-BgOK9NO8.js} +3 -3
- package/dist/{auth-I-jV5RwF.js.map → auth-BgOK9NO8.js.map} +1 -1
- package/dist/{check-usage-DYLFqYhN.js → check-usage-B2MnS4b2.js} +3 -3
- package/dist/{check-usage-DYLFqYhN.js.map → check-usage-B2MnS4b2.js.map} +1 -1
- package/dist/main.js +3 -3
- package/dist/{server-DS5Brc8C.js → server-B4dnJhMM.js} +7 -4
- package/dist/server-B4dnJhMM.js.map +1 -0
- package/dist/{start-6DUmwwg0.js → start-DdoskBh9.js} +4 -4
- package/dist/{start-6DUmwwg0.js.map → start-DdoskBh9.js.map} +1 -1
- package/dist/{token-BINhAFp5.js → token-D60pjKIw.js} +2 -2
- package/dist/{token-BINhAFp5.js.map → token-D60pjKIw.js.map} +1 -1
- package/dist/{utils-C_HZ9gNe.js → utils-B4L29Swq.js} +2 -2
- package/dist/{utils-C_HZ9gNe.js.map → utils-B4L29Swq.js.map} +1 -1
- package/package.json +1 -1
- package/dist/server-DS5Brc8C.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PATHS, ensurePaths } from "./paths-Cla6y5eD.js";
|
|
2
|
-
import { state } from "./utils-
|
|
3
|
-
import { setupGitHubToken } from "./token-
|
|
2
|
+
import { state } from "./utils-B4L29Swq.js";
|
|
3
|
+
import { setupGitHubToken } from "./token-D60pjKIw.js";
|
|
4
4
|
import { defineCommand } from "citty";
|
|
5
5
|
import consola from "consola";
|
|
6
6
|
|
|
@@ -43,4 +43,4 @@ const auth = defineCommand({
|
|
|
43
43
|
|
|
44
44
|
//#endregion
|
|
45
45
|
export { auth };
|
|
46
|
-
//# sourceMappingURL=auth-
|
|
46
|
+
//# sourceMappingURL=auth-BgOK9NO8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-
|
|
1
|
+
{"version":3,"file":"auth-BgOK9NO8.js","names":[],"sources":["../src/auth.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { defineCommand } from \"citty\"\nimport consola from \"consola\"\n\nimport { PATHS, ensurePaths } from \"./lib/paths\"\nimport { state } from \"./lib/state\"\nimport { setupGitHubToken } from \"./lib/token\"\n\ninterface RunAuthOptions {\n verbose: boolean\n showToken: boolean\n}\n\nexport async function runAuth(options: RunAuthOptions): Promise<void> {\n if (options.verbose) {\n consola.level = 5\n consola.info(\"Verbose logging enabled\")\n }\n\n state.showToken = options.showToken\n\n await ensurePaths()\n await setupGitHubToken({ force: true })\n consola.success(\"GitHub token written to\", PATHS.GITHUB_TOKEN_PATH)\n}\n\nexport const auth = defineCommand({\n meta: {\n name: \"auth\",\n description: \"Run GitHub auth flow without running the server\",\n },\n args: {\n verbose: {\n alias: \"v\",\n type: \"boolean\",\n default: false,\n description: \"Enable verbose logging\",\n },\n \"show-token\": {\n type: \"boolean\",\n default: false,\n description: \"Show GitHub token on auth\",\n },\n },\n run({ args }) {\n return runAuth({\n verbose: args.verbose,\n showToken: args[\"show-token\"],\n })\n },\n})\n"],"mappings":";;;;;;;AAcA,eAAsB,QAAQ,SAAwC;AACpE,KAAI,QAAQ,SAAS;AACnB,UAAQ,QAAQ;AAChB,UAAQ,KAAK,0BAA0B;;AAGzC,OAAM,YAAY,QAAQ;AAE1B,OAAM,aAAa;AACnB,OAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC;AACvC,SAAQ,QAAQ,2BAA2B,MAAM,kBAAkB;;AAGrE,MAAa,OAAO,cAAc;CAChC,MAAM;EACJ,MAAM;EACN,aAAa;EACd;CACD,MAAM;EACJ,SAAS;GACP,OAAO;GACP,MAAM;GACN,SAAS;GACT,aAAa;GACd;EACD,cAAc;GACZ,MAAM;GACN,SAAS;GACT,aAAa;GACd;EACF;CACD,IAAI,EAAE,QAAQ;AACZ,SAAO,QAAQ;GACb,SAAS,KAAK;GACd,WAAW,KAAK;GACjB,CAAC;;CAEL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ensurePaths } from "./paths-Cla6y5eD.js";
|
|
2
|
-
import { getCopilotUsage } from "./utils-
|
|
3
|
-
import { setupGitHubToken } from "./token-
|
|
2
|
+
import { getCopilotUsage } from "./utils-B4L29Swq.js";
|
|
3
|
+
import { setupGitHubToken } from "./token-D60pjKIw.js";
|
|
4
4
|
import { defineCommand } from "citty";
|
|
5
5
|
import consola from "consola";
|
|
6
6
|
|
|
@@ -41,4 +41,4 @@ const checkUsage = defineCommand({
|
|
|
41
41
|
|
|
42
42
|
//#endregion
|
|
43
43
|
export { checkUsage };
|
|
44
|
-
//# sourceMappingURL=check-usage-
|
|
44
|
+
//# sourceMappingURL=check-usage-B2MnS4b2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-usage-
|
|
1
|
+
{"version":3,"file":"check-usage-B2MnS4b2.js","names":[],"sources":["../src/check-usage.ts"],"sourcesContent":["import { defineCommand } from \"citty\"\nimport consola from \"consola\"\n\nimport { ensurePaths } from \"./lib/paths\"\nimport { setupGitHubToken } from \"./lib/token\"\nimport {\n getCopilotUsage,\n type QuotaDetail,\n} from \"./services/github/get-copilot-usage\"\n\nexport const checkUsage = defineCommand({\n meta: {\n name: \"check-usage\",\n description: \"Show current GitHub Copilot usage/quota information\",\n },\n async run() {\n await ensurePaths()\n await setupGitHubToken()\n try {\n const usage = await getCopilotUsage()\n const premium = usage.quota_snapshots.premium_interactions\n const premiumTotal = premium.entitlement\n const premiumUsed = premiumTotal - premium.remaining\n const premiumPercentUsed =\n premiumTotal > 0 ? (premiumUsed / premiumTotal) * 100 : 0\n const premiumPercentRemaining = premium.percent_remaining\n\n // Helper to summarize a quota snapshot\n function summarizeQuota(name: string, snap: QuotaDetail | undefined) {\n if (!snap) return `${name}: N/A`\n const total = snap.entitlement\n const used = total - snap.remaining\n const percentUsed = total > 0 ? (used / total) * 100 : 0\n const percentRemaining = snap.percent_remaining\n return `${name}: ${used}/${total} used (${percentUsed.toFixed(1)}% used, ${percentRemaining.toFixed(1)}% remaining)`\n }\n\n const premiumLine = `Premium: ${premiumUsed}/${premiumTotal} used (${premiumPercentUsed.toFixed(1)}% used, ${premiumPercentRemaining.toFixed(1)}% remaining)`\n const chatLine = summarizeQuota(\"Chat\", usage.quota_snapshots.chat)\n const completionsLine = summarizeQuota(\n \"Completions\",\n usage.quota_snapshots.completions,\n )\n\n consola.box(\n `Copilot Usage (plan: ${usage.copilot_plan})\\n`\n + `Quota resets: ${usage.quota_reset_date}\\n`\n + `\\nQuotas:\\n`\n + ` ${premiumLine}\\n`\n + ` ${chatLine}\\n`\n + ` ${completionsLine}`,\n )\n } catch (err) {\n consola.error(\"Failed to fetch Copilot usage:\", err)\n process.exit(1)\n }\n },\n})\n"],"mappings":";;;;;;;AAUA,MAAa,aAAa,cAAc;CACtC,MAAM;EACJ,MAAM;EACN,aAAa;EACd;CACD,MAAM,MAAM;AACV,QAAM,aAAa;AACnB,QAAM,kBAAkB;AACxB,MAAI;GACF,MAAM,QAAQ,MAAM,iBAAiB;GACrC,MAAM,UAAU,MAAM,gBAAgB;GACtC,MAAM,eAAe,QAAQ;GAC7B,MAAM,cAAc,eAAe,QAAQ;GAC3C,MAAM,qBACJ,eAAe,IAAK,cAAc,eAAgB,MAAM;GAC1D,MAAM,0BAA0B,QAAQ;GAGxC,SAAS,eAAe,MAAc,MAA+B;AACnE,QAAI,CAAC,KAAM,QAAO,GAAG,KAAK;IAC1B,MAAM,QAAQ,KAAK;IACnB,MAAM,OAAO,QAAQ,KAAK;IAC1B,MAAM,cAAc,QAAQ,IAAK,OAAO,QAAS,MAAM;IACvD,MAAM,mBAAmB,KAAK;AAC9B,WAAO,GAAG,KAAK,IAAI,KAAK,GAAG,MAAM,SAAS,YAAY,QAAQ,EAAE,CAAC,UAAU,iBAAiB,QAAQ,EAAE,CAAC;;GAGzG,MAAM,cAAc,YAAY,YAAY,GAAG,aAAa,SAAS,mBAAmB,QAAQ,EAAE,CAAC,UAAU,wBAAwB,QAAQ,EAAE,CAAC;GAChJ,MAAM,WAAW,eAAe,QAAQ,MAAM,gBAAgB,KAAK;GACnE,MAAM,kBAAkB,eACtB,eACA,MAAM,gBAAgB,YACvB;AAED,WAAQ,IACN,wBAAwB,MAAM,aAAa,mBACtB,MAAM,iBAAiB,iBAEnC,YAAY,MACZ,SAAS,MACT,kBACV;WACM,KAAK;AACZ,WAAQ,MAAM,kCAAkC,IAAI;AACpD,WAAQ,KAAK,EAAE;;;CAGpB,CAAC"}
|
package/dist/main.js
CHANGED
|
@@ -20,10 +20,10 @@ const args = parseArgs(process.argv, cliArgs);
|
|
|
20
20
|
if (typeof args["api-home"] === "string") process.env.COPILOT_API_HOME = args["api-home"];
|
|
21
21
|
if (typeof args["oauth-app"] === "string") process.env.COPILOT_API_OAUTH_APP = args["oauth-app"];
|
|
22
22
|
if (typeof args["enterprise-url"] === "string") process.env.COPILOT_API_ENTERPRISE_URL = args["enterprise-url"];
|
|
23
|
-
const { auth } = await import("./auth-
|
|
24
|
-
const { checkUsage } = await import("./check-usage-
|
|
23
|
+
const { auth } = await import("./auth-BgOK9NO8.js");
|
|
24
|
+
const { checkUsage } = await import("./check-usage-B2MnS4b2.js");
|
|
25
25
|
const { debug } = await import("./debug-DcC7ZPH0.js");
|
|
26
|
-
const { start } = await import("./start-
|
|
26
|
+
const { start } = await import("./start-DdoskBh9.js");
|
|
27
27
|
const main = defineCommand({
|
|
28
28
|
meta: {
|
|
29
29
|
name: "copilot-api",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PATHS } from "./paths-Cla6y5eD.js";
|
|
2
|
-
import { COMPACT_AUTO_CONTINUE, COMPACT_REQUEST, HTTPError, cacheModels, compactAutoContinuePromptStarts, compactMessageSections, compactSummaryPromptStart, compactSystemPromptStart, compactTextOnlyGuard, copilotBaseUrl, copilotHeaders, forwardError, generateRequestIdFromPayload, getCopilotUsage, getRootSessionId, getUUID, isNullish, parseUserIdMetadata, prepareForCompact, prepareInteractionHeaders, prepareMessageProxyHeaders, requestContext, resolveTraceId, sleep, state } from "./utils-
|
|
2
|
+
import { COMPACT_AUTO_CONTINUE, COMPACT_REQUEST, HTTPError, cacheModels, compactAutoContinuePromptStarts, compactMessageSections, compactSummaryPromptStart, compactSystemPromptStart, compactTextOnlyGuard, copilotBaseUrl, copilotHeaders, forwardError, generateRequestIdFromPayload, getCopilotUsage, getRootSessionId, getUUID, isNullish, parseUserIdMetadata, prepareForCompact, prepareInteractionHeaders, prepareMessageProxyHeaders, requestContext, resolveTraceId, sleep, state } from "./utils-B4L29Swq.js";
|
|
3
3
|
import { getAnthropicApiKey, getClaudeTokenMultiplier, getConfig, getExtraPromptForModel, getProviderConfig, getReasoningEffortForModel, getSmallModel, isMessagesApiEnabled, isResponsesApiContextManagementModel, isResponsesApiWebSearchEnabled } from "./config-D44X0MP1.js";
|
|
4
4
|
import consola from "consola";
|
|
5
5
|
import path from "node:path";
|
|
@@ -264,6 +264,7 @@ const createChatCompletions = async (payload, options) => {
|
|
|
264
264
|
};
|
|
265
265
|
prepareInteractionHeaders(options.sessionId, Boolean(options.subagentMarker), headers);
|
|
266
266
|
prepareForCompact(headers, options.compactType);
|
|
267
|
+
consola.log(`<-- model: ${payload.model}`);
|
|
267
268
|
const response = await fetch(`${copilotBaseUrl(state)}/chat/completions`, {
|
|
268
269
|
method: "POST",
|
|
269
270
|
headers,
|
|
@@ -954,7 +955,8 @@ const createResponses = async (payload, { vision, initiator, subagentMarker, req
|
|
|
954
955
|
};
|
|
955
956
|
prepareInteractionHeaders(sessionId, Boolean(subagentMarker), headers);
|
|
956
957
|
prepareForCompact(headers, compactType);
|
|
957
|
-
payload.service_tier =
|
|
958
|
+
payload.service_tier = void 0;
|
|
959
|
+
consola.log(`<-- model: ${payload.model}`);
|
|
958
960
|
const response = await fetch(`${copilotBaseUrl(state)}/responses`, {
|
|
959
961
|
method: "POST",
|
|
960
962
|
headers,
|
|
@@ -1939,6 +1941,7 @@ const createMessages = async (payload, anthropicBetaHeader, options) => {
|
|
|
1939
1941
|
if (safetyIdentifier && sessionId) prepareMessageProxyHeaders(headers);
|
|
1940
1942
|
const anthropicBeta = buildAnthropicBetaHeader(anthropicBetaHeader, payload.thinking, payload.model);
|
|
1941
1943
|
if (anthropicBeta) headers["anthropic-beta"] = anthropicBeta;
|
|
1944
|
+
consola.log(`<-- model: ${payload.model}`);
|
|
1942
1945
|
const response = await fetch(`${copilotBaseUrl(state)}/v1/messages`, {
|
|
1943
1946
|
method: "POST",
|
|
1944
1947
|
headers,
|
|
@@ -2025,7 +2028,7 @@ const isAttachmentBlock = (block) => {
|
|
|
2025
2028
|
return block.type === "image" || block.type === "document";
|
|
2026
2029
|
};
|
|
2027
2030
|
const getMergeableToolResultIndices = (toolResults) => {
|
|
2028
|
-
return toolResults.flatMap((block, index) => hasToolRef(block) ? [] : [index]);
|
|
2031
|
+
return toolResults.flatMap((block, index) => block.is_error || hasToolRef(block) ? [] : [index]);
|
|
2029
2032
|
};
|
|
2030
2033
|
const mergeAttachmentsIntoToolResults = (toolResults, attachmentsByToolResultIndex) => {
|
|
2031
2034
|
if (attachmentsByToolResultIndex.size === 0) return toolResults;
|
|
@@ -3165,4 +3168,4 @@ server.route("/:provider/v1/models", providerModelRoutes);
|
|
|
3165
3168
|
|
|
3166
3169
|
//#endregion
|
|
3167
3170
|
export { server };
|
|
3168
|
-
//# sourceMappingURL=server-
|
|
3171
|
+
//# sourceMappingURL=server-B4dnJhMM.js.map
|