From 79db038198ba78b6df036379deffbac79c5785b0 Mon Sep 17 00:00:00 2001 From: bitnom <14287229+bitnom@users.noreply.github.com> Date: Mon, 3 Mar 2025 15:22:43 -0500 Subject: [PATCH] feat: add x-onbehalf-extension-id to API config and update import paths --- src/lib/constants.ts | 1 + src/lib/initialization.ts | 7 +++---- src/lib/token.ts | 4 ++-- src/routes/chat-completions/handler.ts | 10 +++++----- src/routes/models/route.ts | 2 +- src/services/api-instance.ts | 6 +++--- .../copilot/chat-completions/service-streaming.ts | 6 +++--- src/services/copilot/chat-completions/service.ts | 4 ++-- src/services/github/get-token/service.ts | 4 ++-- src/services/github/get-user/service.ts | 2 +- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/lib/constants.ts b/src/lib/constants.ts index bf749d969..5d8f7816c 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -19,6 +19,7 @@ export const COPILOT_API_CONFIG = { "copilot-integration-id": "vscode-chat", "copilot-vision-request": "true", "editor-version": "vscode/1.98.0-insider", + "x-onbehalf-extension-id": "poai.copilot-proxy/1.0.1", }, } as const diff --git a/src/lib/initialization.ts b/src/lib/initialization.ts index c421b0f27..c4e1fbff3 100644 --- a/src/lib/initialization.ts +++ b/src/lib/initialization.ts @@ -2,12 +2,11 @@ import consola from "consola" import fs from "node:fs/promises" import { FetchError } from "ofetch" -import { PATHS } from "~/lib/paths" -import { tokenService } from "~/lib/token" -import { getGitHubUser } from "~/services/github/get-user/service" - +import { PATHS } from "../lib/paths" +import { tokenService } from "../lib/token" import { getModels } from "../services/copilot/get-models/service" import { getGitHubToken } from "../services/github/get-token/service" +import { getGitHubUser } from "../services/github/get-user/service" // Extract to individual functions for each initialization step async function initializeAppDirectory(): Promise { diff --git a/src/lib/token.ts b/src/lib/token.ts index 760855f22..f80e6c6fc 100644 --- a/src/lib/token.ts +++ b/src/lib/token.ts @@ -1,8 +1,8 @@ import consola from "consola" import fs from "node:fs/promises" -import { PATHS } from "~/lib/paths" -import { getCopilotToken } from "~/services/copilot/get-token/copilot-token" +import { PATHS } from "../lib/paths" +import { getCopilotToken } from "../services/copilot/get-token/copilot-token" // Simple token manager with basic encapsulation export const tokenService = { diff --git a/src/routes/chat-completions/handler.ts b/src/routes/chat-completions/handler.ts index 57f447eb0..496b21e30 100644 --- a/src/routes/chat-completions/handler.ts +++ b/src/routes/chat-completions/handler.ts @@ -6,11 +6,11 @@ import { streamSSE, type SSEMessage } from "hono/streaming" import type { ChatCompletionsPayload } from "~/services/copilot/chat-completions/types" import type { ChatCompletionChunk } from "~/services/copilot/chat-completions/types-streaming" -import { isNullish } from "~/lib/is-nullish" -import { logger } from "~/lib/logger" -import { modelsCache } from "~/lib/models" -import { chatCompletions } from "~/services/copilot/chat-completions/service" -import { chatCompletionsStream } from "~/services/copilot/chat-completions/service-streaming" +import { isNullish } from "../../lib/is-nullish" +import { logger } from "../../lib/logger" +import { modelsCache } from "../../lib/models" +import { chatCompletions } from "../../services/copilot/chat-completions/service" +import { chatCompletionsStream } from "../../services/copilot/chat-completions/service-streaming" function createCondensedStreamingResponse( finalChunk: ChatCompletionChunk, diff --git a/src/routes/models/route.ts b/src/routes/models/route.ts index 7cd870225..1ba0d31ea 100644 --- a/src/routes/models/route.ts +++ b/src/routes/models/route.ts @@ -2,7 +2,7 @@ import consola from "consola" import { Hono } from "hono" import { FetchError } from "ofetch" -import { getModels } from "~/services/copilot/get-models/service" +import { getModels } from "../../services/copilot/get-models/service" export const modelRoutes = new Hono() diff --git a/src/services/api-instance.ts b/src/services/api-instance.ts index 017410328..45c69828a 100644 --- a/src/services/api-instance.ts +++ b/src/services/api-instance.ts @@ -5,9 +5,9 @@ import { COPILOT_API_CONFIG, GITHUB_API_CONFIG, GITHUB_WEB_API_CONFIG, -} from "~/lib/constants" -import { modelsCache } from "~/lib/models" -import { tokenService } from "~/lib/token" +} from "../lib/constants" +import { modelsCache } from "../lib/models" +import { tokenService } from "../lib/token" export const copilot = ofetch.create({ baseURL: COPILOT_API_CONFIG.baseURL, diff --git a/src/services/copilot/chat-completions/service-streaming.ts b/src/services/copilot/chat-completions/service-streaming.ts index a8b6849be..fd6f37c82 100644 --- a/src/services/copilot/chat-completions/service-streaming.ts +++ b/src/services/copilot/chat-completions/service-streaming.ts @@ -1,10 +1,10 @@ import { stream } from "fetch-event-stream" -import { COPILOT_API_CONFIG } from "~/lib/constants" -import { tokenService } from "~/lib/token" - import type { ChatCompletionsPayload } from "./types" +import { COPILOT_API_CONFIG } from "../../../lib/constants" +import { tokenService } from "../../../lib/token" + export const chatCompletionsStream = async ( payload: ChatCompletionsPayload, ) => { diff --git a/src/services/copilot/chat-completions/service.ts b/src/services/copilot/chat-completions/service.ts index d407b68ab..fc6bcb763 100644 --- a/src/services/copilot/chat-completions/service.ts +++ b/src/services/copilot/chat-completions/service.ts @@ -1,6 +1,6 @@ -import { copilot } from "~/services/api-instance" +import type { ChatCompletionResponse, ChatCompletionsPayload } from "./types.ts" -import type { ChatCompletionResponse, ChatCompletionsPayload } from "./types" +import { copilot } from "../../../services/api-instance" export const chatCompletions = (payload: ChatCompletionsPayload) => copilot("/chat/completions", { diff --git a/src/services/github/get-token/service.ts b/src/services/github/get-token/service.ts index 6ed944c4e..5fff13276 100644 --- a/src/services/github/get-token/service.ts +++ b/src/services/github/get-token/service.ts @@ -1,7 +1,7 @@ import consola from "consola" -import { ENV } from "~/lib/constants" -import { _github } from "~/services/api-instance" +import { ENV } from "../../../lib/constants" +import { _github } from "../../../services/api-instance" interface DeviceCodeResponse { device_code: string diff --git a/src/services/github/get-user/service.ts b/src/services/github/get-user/service.ts index cd2c27588..ddc87afc6 100644 --- a/src/services/github/get-user/service.ts +++ b/src/services/github/get-user/service.ts @@ -1,4 +1,4 @@ -import { github } from "~/services/api-instance" +import { github } from "../../../services/api-instance" export async function getGitHubUser() { return github("/user", {