@eddyskywalker/dsh-chatgpt-subscription 0.2.3 → 0.2.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.
package/lib/index.js CHANGED
@@ -4251,9 +4251,9 @@ function extractProjectId(data) {
4251
4251
  }
4252
4252
  }
4253
4253
  }
4254
- async function listCloudAICompanionProjects(token) {
4254
+ async function listCloudAICompanionProjects(token, fetchFn = fetch) {
4255
4255
  for (const endpoint of endpointCandidates()) try {
4256
- const response = await fetch(`${endpoint}/v1internal:listCloudAICompanionProjects`, {
4256
+ const response = await fetchFn(`${endpoint}/v1internal:listCloudAICompanionProjects`, {
4257
4257
  method: "POST",
4258
4258
  headers: antigravityHeaders(token),
4259
4259
  body: JSON.stringify({}),
@@ -4263,7 +4263,7 @@ async function listCloudAICompanionProjects(token) {
4263
4263
  return extractProjectId(await response.json());
4264
4264
  } catch {}
4265
4265
  }
4266
- async function loadCodeAssist(token) {
4266
+ async function loadCodeAssist(token, fetchFn = fetch) {
4267
4267
  const cached = projectCache.get(token);
4268
4268
  if (cached && cached.expiresAt > Date.now()) return cached.projectId;
4269
4269
  const body = JSON.stringify({ metadata: {
@@ -4272,7 +4272,7 @@ async function loadCodeAssist(token) {
4272
4272
  pluginType: "GEMINI"
4273
4273
  } });
4274
4274
  for (const endpoint of endpointCandidates()) try {
4275
- const response = await fetch(`${endpoint}/v1internal:loadCodeAssist`, {
4275
+ const response = await fetchFn(`${endpoint}/v1internal:loadCodeAssist`, {
4276
4276
  method: "POST",
4277
4277
  headers: antigravityHeaders(token),
4278
4278
  body,
@@ -4287,7 +4287,7 @@ async function loadCodeAssist(token) {
4287
4287
  });
4288
4288
  return project;
4289
4289
  }
4290
- const listProj = await listCloudAICompanionProjects(token);
4290
+ const listProj = await listCloudAICompanionProjects(token, fetchFn);
4291
4291
  if (listProj) {
4292
4292
  projectCache.set(token, {
4293
4293
  projectId: listProj,
@@ -4297,9 +4297,9 @@ async function loadCodeAssist(token) {
4297
4297
  }
4298
4298
  } catch {}
4299
4299
  }
4300
- async function postJson(path, token, body) {
4300
+ async function postJson(path, token, body, fetchFn = fetch) {
4301
4301
  for (const endpoint of endpointCandidates()) try {
4302
- const response = await fetch(`${endpoint}${path}`, {
4302
+ const response = await fetchFn(`${endpoint}${path}`, {
4303
4303
  method: "POST",
4304
4304
  headers: jsonHeaders(token),
4305
4305
  body: JSON.stringify(body)
@@ -4362,16 +4362,16 @@ function parseCatalogModels(data) {
4362
4362
  }
4363
4363
  return list;
4364
4364
  }
4365
- async function fetchAccountQuota(store = new FileCredentialStore(), modelSettings) {
4366
- const { token, projectId: credentialProjectId } = await ensureApiKey(store);
4365
+ async function fetchAccountQuota(store = new FileCredentialStore(), modelSettings, fetchFn = fetch) {
4366
+ const { token, projectId: credentialProjectId } = await ensureApiKey(store, fetchFn);
4367
4367
  const [assistResult, summaryResult] = await Promise.all([postJson("/v1internal:loadCodeAssist", token, { metadata: {
4368
4368
  ideType: "ANTIGRAVITY",
4369
4369
  platform: "PLATFORM_UNSPECIFIED",
4370
4370
  pluginType: "GEMINI"
4371
- } }).catch(() => null), postJson("/v1internal:retrieveUserQuotaSummary", token, {}).catch(() => null)]);
4371
+ } }, fetchFn).catch(() => null), postJson("/v1internal:retrieveUserQuotaSummary", token, {}, fetchFn).catch(() => null)]);
4372
4372
  const discoveredProject = assistResult ? extractProjectId(assistResult.data) : void 0;
4373
4373
  const projectId = credentialProjectId || discoveredProject || "antigravity-default";
4374
- const modelsData = (await postJson("/v1internal:fetchAvailableModels", token, { project: projectId }).catch(() => null))?.data;
4374
+ const modelsData = (await postJson("/v1internal:fetchAvailableModels", token, { project: projectId }, fetchFn).catch(() => null))?.data;
4375
4375
  const { groups, description } = summaryResult ? parseQuotaSummary(summaryResult.data) : { groups: [] };
4376
4376
  const catalogModels = modelsData ? parseCatalogModels(modelsData) : [];
4377
4377
  const assistData = assistResult?.data || {};
@@ -4469,9 +4469,9 @@ function openBrowser(url) {
4469
4469
  });
4470
4470
  } catch {}
4471
4471
  }
4472
- async function getUserEmail(token) {
4472
+ async function getUserEmail(token, fetchFn = fetch) {
4473
4473
  try {
4474
- const response = await fetch("https://www.googleapis.com/oauth2/v1/userinfo?alt=json", { headers: { Authorization: `Bearer ${token}` } });
4474
+ const response = await fetchFn("https://www.googleapis.com/oauth2/v1/userinfo?alt=json", { headers: { Authorization: `Bearer ${token}` } });
4475
4475
  if (!response.ok) return void 0;
4476
4476
  const data = await response.json();
4477
4477
  return typeof data.email === "string" ? data.email : void 0;
@@ -4550,8 +4550,8 @@ function startCallbackServer(expectedState) {
4550
4550
  });
4551
4551
  });
4552
4552
  }
4553
- async function exchangeOAuthCode(code, verifier, callbackUrl) {
4554
- const tokenResponse = await fetch(TOKEN_URL, {
4553
+ async function exchangeOAuthCode(code, verifier, callbackUrl, fetchFn = fetch) {
4554
+ const tokenResponse = await fetchFn(TOKEN_URL, {
4555
4555
  method: "POST",
4556
4556
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
4557
4557
  body: new URLSearchParams$1({
@@ -4569,7 +4569,7 @@ async function exchangeOAuthCode(code, verifier, callbackUrl) {
4569
4569
  const accessToken = typeof tokenData.access_token === "string" ? tokenData.access_token : "";
4570
4570
  const expiresIn = typeof tokenData.expires_in === "number" ? tokenData.expires_in : 3600;
4571
4571
  if (!refreshToken) throw new Error("No refresh token received. Re-run login and allow offline access.");
4572
- const [email, discoveredProject] = await Promise.all([getUserEmail(accessToken), loadCodeAssist(accessToken).catch(() => void 0)]);
4572
+ const [email, discoveredProject] = await Promise.all([getUserEmail(accessToken, fetchFn), loadCodeAssist(accessToken, fetchFn).catch(() => void 0)]);
4573
4573
  return {
4574
4574
  refresh: refreshToken,
4575
4575
  refresh_token: refreshToken,
@@ -4581,7 +4581,7 @@ async function exchangeOAuthCode(code, verifier, callbackUrl) {
4581
4581
  email
4582
4582
  };
4583
4583
  }
4584
- async function beginWebLogin(store) {
4584
+ async function beginWebLogin(store, fetchFn = fetch) {
4585
4585
  if (webLoginFlow.status === "pending") return { ...webLoginFlow };
4586
4586
  const { verifier, challenge } = generatePKCE();
4587
4587
  const state = base64Url(randomBytes(32));
@@ -4607,7 +4607,7 @@ async function beginWebLogin(store) {
4607
4607
  try {
4608
4608
  const { code, state: returnedState } = await waitForCode();
4609
4609
  if (returnedState !== state) throw new Error("OAuth state mismatch");
4610
- const credentials = await exchangeOAuthCode(code, verifier, callbackUrl);
4610
+ const credentials = await exchangeOAuthCode(code, verifier, callbackUrl, fetchFn);
4611
4611
  await store.write(credentials);
4612
4612
  webLoginFlow.status = "complete";
4613
4613
  webLoginFlow.email = credentials.email;
@@ -4625,10 +4625,10 @@ async function beginWebLogin(store) {
4625
4625
  function getWebLoginStatus() {
4626
4626
  return { ...webLoginFlow };
4627
4627
  }
4628
- async function refreshAntigravityToken(credentials) {
4628
+ async function refreshAntigravityToken(credentials, fetchFn = fetch) {
4629
4629
  const refreshToken = credentials.refresh || credentials.refresh_token;
4630
4630
  if (!refreshToken) throw new Error("Missing Antigravity refresh token.");
4631
- const response = await fetch(TOKEN_URL, {
4631
+ const response = await fetchFn(TOKEN_URL, {
4632
4632
  method: "POST",
4633
4633
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
4634
4634
  body: new URLSearchParams$1({
@@ -4653,12 +4653,12 @@ async function refreshAntigravityToken(credentials) {
4653
4653
  expires_at: Date.now() + expiresIn * 1e3 - 300 * 1e3
4654
4654
  };
4655
4655
  }
4656
- async function ensureApiKey(store) {
4656
+ async function ensureApiKey(store, fetchFn = fetch) {
4657
4657
  let credentials = await store.read();
4658
4658
  if (!credentials) throw new Error("Not logged into Antigravity. Please log in from Settings > Antigravity.");
4659
4659
  const expires = credentials.expires || credentials.expires_at || 0;
4660
4660
  if (!(credentials.access || credentials.access_token) || expires <= Date.now() + 6e4) {
4661
- credentials = await refreshAntigravityToken(credentials);
4661
+ credentials = await refreshAntigravityToken(credentials, fetchFn);
4662
4662
  await store.write(credentials);
4663
4663
  }
4664
4664
  return {
@@ -4666,7 +4666,7 @@ async function ensureApiKey(store) {
4666
4666
  projectId: credentials.projectId
4667
4667
  };
4668
4668
  }
4669
- async function loginAndSave(store, signal, onUrl) {
4669
+ async function loginAndSave(store, signal, onUrl, fetchFn = fetch) {
4670
4670
  const { verifier, challenge } = generatePKCE();
4671
4671
  const state = base64Url(randomBytes(32));
4672
4672
  const { server, waitForCode } = await startCallbackServer(state);
@@ -4688,7 +4688,7 @@ async function loginAndSave(store, signal, onUrl) {
4688
4688
  if (signal?.aborted) throw new Error("OAuth login aborted");
4689
4689
  const { code, state: returnedState } = await waitForCode();
4690
4690
  if (returnedState !== state) throw new Error("OAuth state mismatch");
4691
- const credentials = await exchangeOAuthCode(code, verifier, callbackUrl);
4691
+ const credentials = await exchangeOAuthCode(code, verifier, callbackUrl, fetchFn);
4692
4692
  await store.write(credentials);
4693
4693
  return credentials;
4694
4694
  } finally {
@@ -5173,11 +5173,13 @@ var AntigravityAdapter = class extends LlmAdapter {
5173
5173
  store;
5174
5174
  modelSettings;
5175
5175
  preferences;
5176
- constructor(store = new FileCredentialStore(), modelSettings = new FileModelSettingsStore(), preferences) {
5176
+ options;
5177
+ constructor(store = new FileCredentialStore(), modelSettings = new FileModelSettingsStore(), preferences, options = {}) {
5177
5178
  super();
5178
5179
  this.store = store;
5179
5180
  this.modelSettings = modelSettings;
5180
5181
  this.preferences = preferences;
5182
+ this.options = options;
5181
5183
  }
5182
5184
  providerInfo(provider) {
5183
5185
  return {
@@ -5257,7 +5259,8 @@ var AntigravityAdapter = class extends LlmAdapter {
5257
5259
  yield* wrapStreamWithWatchdog((watchdogSignal) => this.requestStream(effectiveOptions, model, watchdogSignal), options.signal, STREAM_IDLE_TIMEOUT_MS, STREAM_IDLE_TIMEOUT_CODE, "Antigravity");
5258
5260
  }
5259
5261
  async *requestStream(options, model, signal) {
5260
- const { token, projectId: defaultProj } = await ensureApiKey(this.store);
5262
+ const fetchFn = this.options.fetchFn ?? fetch;
5263
+ const { token, projectId: defaultProj } = await ensureApiKey(this.store, fetchFn);
5261
5264
  const projectId = defaultProj || "antigravity-default";
5262
5265
  const effort = String(options.reasoningEffort || "medium").toLowerCase();
5263
5266
  const routing = ROUTING[model.id];
@@ -5276,7 +5279,7 @@ var AntigravityAdapter = class extends LlmAdapter {
5276
5279
  ...model.id.startsWith("claude-") ? { "anthropic-beta": "interleaved-thinking-2025-05-14" } : {}
5277
5280
  };
5278
5281
  for (const endpoint of endpointCandidates()) try {
5279
- response = await fetch(`${endpoint}/v1internal:streamGenerateContent?alt=sse`, {
5282
+ response = await fetchFn(`${endpoint}/v1internal:streamGenerateContent?alt=sse`, {
5280
5283
  method: "POST",
5281
5284
  headers,
5282
5285
  body,
@@ -5382,7 +5385,7 @@ async function getAntigravityWebStatus(store, modelSettings, preferences) {
5382
5385
  defaultReasoningEffort: settings.defaultReasoningEffort || null
5383
5386
  };
5384
5387
  }
5385
- function registerAntigravityRoutes(ctx, store, modelSettings, preferences) {
5388
+ function registerAntigravityRoutes(ctx, store, modelSettings, preferences, fetchFn = fetch) {
5386
5389
  return ctx.webServer.register({
5387
5390
  kind: "prefix",
5388
5391
  path: "/antigravity/api",
@@ -5400,7 +5403,7 @@ function registerAntigravityRoutes(ctx, store, modelSettings, preferences) {
5400
5403
  if (request.method !== "POST") return sendMethodNotAllowed(response);
5401
5404
  return sendJson(response, 200, {
5402
5405
  ok: true,
5403
- value: await beginWebLogin(store)
5406
+ value: await beginWebLogin(store, fetchFn)
5404
5407
  });
5405
5408
  }
5406
5409
  if (path === "login/status") {
@@ -5412,7 +5415,7 @@ function registerAntigravityRoutes(ctx, store, modelSettings, preferences) {
5412
5415
  }
5413
5416
  if (path === "quota") {
5414
5417
  if (request.method !== "GET" && request.method !== "POST") return sendMethodNotAllowed(response);
5415
- const quota = await fetchAccountQuota(store, modelSettings);
5418
+ const quota = await fetchAccountQuota(store, modelSettings, fetchFn);
5416
5419
  return sendJson(response, 200, {
5417
5420
  ok: true,
5418
5421
  value: {
@@ -5485,21 +5488,15 @@ function apply(ctx) {
5485
5488
  const antigravityStore = new FileCredentialStore();
5486
5489
  const antigravityModelSettings = new FileModelSettingsStore();
5487
5490
  const antigravityPreferences = registerAntigravityPreferenceStore(ctx.settings, antigravityModelSettings);
5488
- const antigravityAdapter = new AntigravityAdapter(antigravityStore, antigravityModelSettings, antigravityPreferences);
5489
- ctx.effect(() => {
5490
- const disposeAntigravityAdapter = ctx.llm.registerAdapter([PROVIDER_ID], antigravityAdapter);
5491
- const disposeAntigravityRoutes = registerAntigravityRoutes(ctx, antigravityStore, antigravityModelSettings, antigravityPreferences);
5492
- return () => {
5493
- disposeAntigravityRoutes();
5494
- disposeAntigravityAdapter();
5495
- };
5496
- }, "dsh-antigravity: adapter, routes, and lifecycle");
5497
5491
  ctx.effect(() => {
5498
5492
  const proxyManager = new ProxyManager({
5499
5493
  getPreferences: () => preferences.status(),
5500
5494
  logger: ctx.logger
5501
5495
  });
5502
5496
  const proxyFetch = proxyManager.createFetch();
5497
+ const antigravityAdapter = new AntigravityAdapter(antigravityStore, antigravityModelSettings, antigravityPreferences, { fetchFn: proxyFetch });
5498
+ const disposeAntigravityAdapter = ctx.llm.registerAdapter([PROVIDER_ID], antigravityAdapter);
5499
+ const disposeAntigravityRoutes = registerAntigravityRoutes(ctx, antigravityStore, antigravityModelSettings, antigravityPreferences, proxyFetch);
5503
5500
  const oauth = new OAuthService(store, {
5504
5501
  fetchFn: proxyFetch,
5505
5502
  logger: ctx.logger
@@ -5543,6 +5540,8 @@ function apply(ctx) {
5543
5540
  disposeImageTool();
5544
5541
  disposeAdapter();
5545
5542
  disposeRoutes();
5543
+ disposeAntigravityRoutes();
5544
+ disposeAntigravityAdapter();
5546
5545
  oauth.dispose();
5547
5546
  proxyManager.dispose();
5548
5547
  };
@@ -40,7 +40,7 @@ export declare const zh: {
40
40
  readonly modelsHint: "勾选后模型才会显示在对话页的模型选择列表中;至少保留一个。";
41
41
  readonly proxySettings: "网络代理";
42
42
  readonly proxyMode: "代理模式";
43
- readonly proxyModeHint: "配置访问 OpenAI / ChatGPT 服务的网络代理;支持自动读取操作系统代理。";
43
+ readonly proxyModeHint: "GPT Antigravity(Gemini)共用此代理设置;支持自动读取系统代理,修改后对后续请求生效。";
44
44
  readonly proxyModeAuto: "系统代理(自动检测)";
45
45
  readonly proxyModeCustom: "自定义代理";
46
46
  readonly proxyModeDirect: "直连(禁用代理)";
@@ -174,7 +174,7 @@ export declare const dictionaries: {
174
174
  readonly modelsHint: "勾选后模型才会显示在对话页的模型选择列表中;至少保留一个。";
175
175
  readonly proxySettings: "网络代理";
176
176
  readonly proxyMode: "代理模式";
177
- readonly proxyModeHint: "配置访问 OpenAI / ChatGPT 服务的网络代理;支持自动读取操作系统代理。";
177
+ readonly proxyModeHint: "GPT Antigravity(Gemini)共用此代理设置;支持自动读取系统代理,修改后对后续请求生效。";
178
178
  readonly proxyModeAuto: "系统代理(自动检测)";
179
179
  readonly proxyModeCustom: "自定义代理";
180
180
  readonly proxyModeDirect: "直连(禁用代理)";
@@ -264,6 +264,6 @@ export declare const dictionaries: {
264
264
  readonly retry: "重试";
265
265
  readonly unknown: "未知";
266
266
  };
267
- en: Record<"quota" | "account" | "storage" | "stale" | "pending" | "tokens" | "title" | "intro" | "signedOut" | "signedIn" | "plan" | "accountId" | "expires" | "storageWindows" | "storageMacKeychain" | "storageLinuxFile" | "storageMemory" | "storageUnavailable" | "securityWindows" | "securityMacKeychain" | "securityLinuxFile" | "securityMemory" | "securityUnavailable" | "signIn" | "signInAgain" | "cancel" | "signOut" | "refreshToken" | "popupBlocked" | "continueLogin" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "testing" | "latency" | "models" | "modelsHint" | "proxySettings" | "proxyMode" | "proxyModeHint" | "proxyModeAuto" | "proxyModeCustom" | "proxyModeDirect" | "customProxyUrl" | "customProxyUrlHint" | "customProxyUrlPlaceholder" | "saveProxyUrl" | "proxyDetected" | "proxyDetectedEffective" | "proxyNoneDetected" | "proxyDirectHint" | "enhancements" | "fastMode" | "fastModeHint" | "outputVerbosity" | "outputVerbosityHint" | "verbosityLow" | "verbosityMedium" | "verbosityHigh" | "reasoningSummary" | "reasoningSummaryHint" | "summaryAuto" | "summaryConcise" | "summaryDetailed" | "summaryNone" | "searchProvider" | "searchProviderHint" | "searchProviderDsh" | "searchProviderCodex" | "providerDefault" | "subagentEnhancements" | "subagentContextWindow" | "subagentContextWindowHint" | "subagentMaxDepth" | "subagentMaxDepthHint" | "subagentDisabled" | "levels" | "contextWindows" | "contextWindowsHint" | "contextWindow" | "contextWindowInvalid" | "saveContextWindow" | "save" | "quickQuota" | "quickQuotaHint" | "quotaIntro" | "refreshQuota" | "refreshing" | "noQuota" | "quotaSignedOut" | "updated" | "primary" | "secondary" | "limitWindow" | "used" | "remaining" | "available" | "unavailable" | "unlimited" | "credits" | "monthlySpend" | "resetCredits" | "resetCreditExpires" | "useResetCredit" | "usingResetCredit" | "useResetCreditConfirm" | "resetCreditUsed" | "spendControlReached" | "limit" | "exhausted" | "resets" | "quickQuotaLabel" | "quickQuotaLoading" | "imageToolRunning" | "imageToolDone" | "imageToolFailed" | "image" | "openImage" | "openNamedImage" | "imageLoading" | "imageLoadFailed" | "imagePreviewClose" | "imagePreviewOpenOriginal" | "retry" | "unknown", string>;
267
+ en: Record<"tokens" | "title" | "intro" | "account" | "signedOut" | "signedIn" | "plan" | "accountId" | "expires" | "storage" | "storageWindows" | "storageMacKeychain" | "storageLinuxFile" | "storageMemory" | "storageUnavailable" | "securityWindows" | "securityMacKeychain" | "securityLinuxFile" | "securityMemory" | "securityUnavailable" | "signIn" | "signInAgain" | "cancel" | "signOut" | "refreshToken" | "pending" | "popupBlocked" | "continueLogin" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "testing" | "latency" | "models" | "modelsHint" | "proxySettings" | "proxyMode" | "proxyModeHint" | "proxyModeAuto" | "proxyModeCustom" | "proxyModeDirect" | "customProxyUrl" | "customProxyUrlHint" | "customProxyUrlPlaceholder" | "saveProxyUrl" | "proxyDetected" | "proxyDetectedEffective" | "proxyNoneDetected" | "proxyDirectHint" | "enhancements" | "fastMode" | "fastModeHint" | "outputVerbosity" | "outputVerbosityHint" | "verbosityLow" | "verbosityMedium" | "verbosityHigh" | "reasoningSummary" | "reasoningSummaryHint" | "summaryAuto" | "summaryConcise" | "summaryDetailed" | "summaryNone" | "searchProvider" | "searchProviderHint" | "searchProviderDsh" | "searchProviderCodex" | "providerDefault" | "subagentEnhancements" | "subagentContextWindow" | "subagentContextWindowHint" | "subagentMaxDepth" | "subagentMaxDepthHint" | "subagentDisabled" | "levels" | "contextWindows" | "contextWindowsHint" | "contextWindow" | "contextWindowInvalid" | "saveContextWindow" | "save" | "quickQuota" | "quickQuotaHint" | "quota" | "quotaIntro" | "refreshQuota" | "refreshing" | "noQuota" | "quotaSignedOut" | "stale" | "updated" | "primary" | "secondary" | "limitWindow" | "used" | "remaining" | "available" | "unavailable" | "unlimited" | "credits" | "monthlySpend" | "resetCredits" | "resetCreditExpires" | "useResetCredit" | "usingResetCredit" | "useResetCreditConfirm" | "resetCreditUsed" | "spendControlReached" | "limit" | "exhausted" | "resets" | "quickQuotaLabel" | "quickQuotaLoading" | "imageToolRunning" | "imageToolDone" | "imageToolFailed" | "image" | "openImage" | "openNamedImage" | "imageLoading" | "imageLoadFailed" | "imagePreviewClose" | "imagePreviewOpenOriginal" | "retry" | "unknown", string>;
268
268
  };
269
269
  //# sourceMappingURL=locales.d.ts.map
@@ -4,7 +4,10 @@ export declare class AntigravityAdapter extends LlmAdapter {
4
4
  private readonly store;
5
5
  private readonly modelSettings;
6
6
  private readonly preferences?;
7
- constructor(store?: FileCredentialStore, modelSettings?: FileModelSettingsStore, preferences?: AntigravityPreferenceStore | undefined);
7
+ private readonly options;
8
+ constructor(store?: FileCredentialStore, modelSettings?: FileModelSettingsStore, preferences?: AntigravityPreferenceStore | undefined, options?: {
9
+ fetchFn?: typeof fetch;
10
+ });
8
11
  providerInfo(provider: string): LlmProviderInfo;
9
12
  listModels(provider?: string): Promise<readonly LlmModelInfo[]>;
10
13
  resolveModel(provider: string, modelId: string, signal?: AbortSignal): Promise<LlmResolvedModelInfo>;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGV,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAU7B,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAM/G,qBAAa,kBAAmB,SAAQ,UAAU;IAE9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAFZ,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA;IAK3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAIzC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAkB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqCpG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO/F,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;YAwBpD,aAAa;CAqG7B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGV,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAU7B,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAM/G,qBAAa,kBAAmB,SAAQ,UAAU;IAE9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA,EACxC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;KAAO;IAK3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAIzC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAkB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqCpG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO/F,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;YAwBpD,aAAa;CAsG7B"}
@@ -4,9 +4,9 @@ export declare function defaultUserAgent(): string;
4
4
  export declare function antigravityHeaders(token: string): Record<string, string>;
5
5
  export declare function jsonHeaders(token: string): Record<string, string>;
6
6
  export declare function endpointCandidates(): string[];
7
- export declare function listCloudAICompanionProjects(token: string): Promise<string | undefined>;
8
- export declare function loadCodeAssist(token: string): Promise<string | undefined>;
9
- export declare function postJson(path: string, token: string, body: Record<string, unknown>): Promise<{
7
+ export declare function listCloudAICompanionProjects(token: string, fetchFn?: typeof fetch): Promise<string | undefined>;
8
+ export declare function loadCodeAssist(token: string, fetchFn?: typeof fetch): Promise<string | undefined>;
9
+ export declare function postJson(path: string, token: string, body: Record<string, unknown>, fetchFn?: typeof fetch): Promise<{
10
10
  endpoint: string;
11
11
  status: number;
12
12
  data: unknown;
@@ -16,6 +16,6 @@ export declare function parseQuotaSummary(data: unknown): {
16
16
  description?: string;
17
17
  };
18
18
  export declare function parseCatalogModels(data: unknown): AntigravityCatalogModel[];
19
- export declare function fetchAccountQuota(store?: FileCredentialStore, modelSettings?: FileModelSettingsStore): Promise<AntigravityAccountQuota>;
19
+ export declare function fetchAccountQuota(store?: FileCredentialStore, modelSettings?: FileModelSettingsStore, fetchFn?: typeof fetch): Promise<AntigravityAccountQuota>;
20
20
  export declare function getCachedQuota(): AntigravityAccountQuota | undefined;
21
21
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/client.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,uCAAuC,CAAA;AAO9C,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKjE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAI7C;AA+BD,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7F;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsC/E;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAoB9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG;IAChD,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAyCA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,uBAAuB,EAAE,CAmB3E;AAED,wBAAsB,iBAAiB,CACrC,KAAK,sBAA4B,EACjC,aAAa,CAAC,EAAE,sBAAsB,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAoDlC;AAED,wBAAgB,cAAc,IAAI,uBAAuB,GAAG,SAAS,CAEpE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/client.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,uCAAuC,CAAA;AAO9C,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKjE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAI7C;AA+BD,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB5H;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsC9G;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAoB9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG;IAChD,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAyCA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,uBAAuB,EAAE,CAmB3E;AAED,wBAAsB,iBAAiB,CACrC,KAAK,sBAA4B,EACjC,aAAa,CAAC,EAAE,sBAAsB,EACtC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAoDlC;AAED,wBAAgB,cAAc,IAAI,uBAAuB,GAAG,SAAS,CAEpE"}
@@ -18,7 +18,7 @@ export declare function generatePKCE(): {
18
18
  challenge: string;
19
19
  };
20
20
  export declare function openBrowser(url: string): void;
21
- export declare function getUserEmail(token: string): Promise<string | undefined>;
21
+ export declare function getUserEmail(token: string, fetchFn?: typeof fetch): Promise<string | undefined>;
22
22
  export declare function startCallbackServer(expectedState: string): Promise<{
23
23
  server: Server;
24
24
  waitForCode: () => Promise<{
@@ -26,13 +26,13 @@ export declare function startCallbackServer(expectedState: string): Promise<{
26
26
  state: string;
27
27
  }>;
28
28
  }>;
29
- export declare function exchangeOAuthCode(code: string, verifier: string, callbackUrl: string): Promise<AntigravityCredentials>;
30
- export declare function beginWebLogin(store: FileCredentialStore): Promise<WebLoginFlowState>;
29
+ export declare function exchangeOAuthCode(code: string, verifier: string, callbackUrl: string, fetchFn?: typeof fetch): Promise<AntigravityCredentials>;
30
+ export declare function beginWebLogin(store: FileCredentialStore, fetchFn?: typeof fetch): Promise<WebLoginFlowState>;
31
31
  export declare function getWebLoginStatus(): WebLoginFlowState;
32
- export declare function refreshAntigravityToken(credentials: AntigravityCredentials): Promise<AntigravityCredentials>;
33
- export declare function ensureApiKey(store: FileCredentialStore): Promise<{
32
+ export declare function refreshAntigravityToken(credentials: AntigravityCredentials, fetchFn?: typeof fetch): Promise<AntigravityCredentials>;
33
+ export declare function ensureApiKey(store: FileCredentialStore, fetchFn?: typeof fetch): Promise<{
34
34
  token: string;
35
35
  projectId?: string;
36
36
  }>;
37
- export declare function loginAndSave(store: FileCredentialStore, signal?: AbortSignal, onUrl?: (url: string) => void): Promise<AntigravityCredentials>;
37
+ export declare function loginAndSave(store: FileCredentialStore, signal?: AbortSignal, onUrl?: (url: string) => void, fetchFn?: typeof fetch): Promise<AntigravityCredentials>;
38
38
  //# sourceMappingURL=oauth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAYrD,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAGnF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AASD,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,qBAAkC,GAAG,MAAM,CAIjF;AAED,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAMD,wBAAgB,YAAY,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAItE;AAeD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAY7C;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7E;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAC,CAyED;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CA0CjC;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgD1F;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD;AAED,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAiClH;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB7G;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAgCjC"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAYrD,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAGnF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AASD,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,qBAAkC,GAAG,MAAM,CAIjF;AAED,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAMD,wBAAgB,YAAY,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAItE;AAeD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAY7C;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW5G;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAC,CAyED;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CA0CjC;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgDzH;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD;AAED,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,sBAAsB,EACnC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAiCjC;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBhD;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC7B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAgCjC"}
@@ -2,5 +2,5 @@ import type { Context } from '@deepseek-ai/cordis';
2
2
  import { FileCredentialStore, FileModelSettingsStore, type AntigravityPreferenceStore } from './token-store.ts';
3
3
  import type { AntigravityWebStatus } from '../../shared/antigravity-contracts.ts';
4
4
  export declare function getAntigravityWebStatus(store: FileCredentialStore, modelSettings: FileModelSettingsStore, preferences?: AntigravityPreferenceStore): Promise<AntigravityWebStatus>;
5
- export declare function registerAntigravityRoutes(ctx: Context, store: FileCredentialStore, modelSettings: FileModelSettingsStore, preferences?: AntigravityPreferenceStore): () => void;
5
+ export declare function registerAntigravityRoutes(ctx: Context, store: FileCredentialStore, modelSettings: FileModelSettingsStore, preferences?: AntigravityPreferenceStore, fetchFn?: typeof fetch): () => void;
6
6
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAI/G,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AA+BzG,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,GACvC,OAAO,CAAC,oBAAoB,CAAC,CA4B/B;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,GACvC,MAAM,IAAI,CAgFZ"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAI/G,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AA+BzG,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,GACvC,OAAO,CAAC,oBAAoB,CAAC,CA4B/B;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,EACxC,OAAO,GAAE,OAAO,KAAa,GAC5B,MAAM,IAAI,CAgFZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA+BlD,eAAO,MAAM,MAAM,UAA4E,CAAA;AAE/F,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA+ExC;AAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA+BlD,eAAO,MAAM,MAAM,UAA4E,CAAA;AAE/F,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA8ExC;AAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddyskywalker/dsh-chatgpt-subscription",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
5
5
  "author": {
6
6
  "name": "eddyskywalker",