anyray-connect 0.11.11 → 0.11.12

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.
@@ -55,10 +55,10 @@
55
55
  */
56
56
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
57
57
  import { dirname, join } from 'node:path';
58
- import { fileExists } from '../util/jsonFile.js';
58
+ import { fileExists, readJson, writeJson } from '../util/jsonFile.js';
59
59
  import { appSupportDir } from '../util/appSupport.js';
60
60
  import { detectVscodeByok, installedVariant, } from '../util/vscodeState.js';
61
- import { metadataHeaderValue } from '../types.js';
61
+ import { effectiveSubscription, metadataHeaderValue } from '../types.js';
62
62
  /** The provider-group `name` we own — the marker for idempotent merge and revert. */
63
63
  const PROVIDER_NAME = 'Anyray';
64
64
  /** chatLanguageModels.json for a given VS Code variant (next to settings.json). */
@@ -190,6 +190,124 @@ const manualSteps = (target, reason) => {
190
190
  'Reload VS Code, then pick the Anyray model in the Chat model picker.',
191
191
  ];
192
192
  };
193
+ // --- Subscription seat: redirect Copilot Chat via overrideCapiUrl -------------
194
+ //
195
+ // For a dev on a paid Copilot plan we DON'T replace their model (that's BYOK,
196
+ // above) — we keep their Copilot sign-in + model and only REDIRECT where the
197
+ // chat request is sent, by writing VS Code's
198
+ // `github.copilot.advanced.debug.overrideCapiUrl` to the gateway's Copilot seat
199
+ // route. The gateway forwards verbatim to GitHub (the subscription pays), meters
200
+ // content-free, and may optimize server-side. The dev's gateway key rides in the
201
+ // override PATH (the native Copilot client can't send `x-anyray-*` headers), so
202
+ // subscription mode REQUIRES enrollment (`target.clientKey`).
203
+ //
204
+ // NOTE (spike): VS Code's Copilot CHAT extension has historically been
205
+ // inconsistent about honoring `overrideCapiUrl` (github/vscode-copilot-release
206
+ // #7802) — live-verify against the current extension before relying on this.
207
+ /** VS Code User settings.json for a variant (where the override is written). */
208
+ const settingsPath = (variant) => join(appSupportDir(variant), 'User', 'settings.json');
209
+ const COPILOT_ADVANCED_KEY = 'github.copilot.advanced';
210
+ // EXACT key the Copilot Chat extension reads (case-sensitive): the source
211
+ // defines `advanced.debug.overrideCapiUrl` — "Capi", NOT "CAPI". A wrong case is
212
+ // silently ignored by VS Code. See microsoft/vscode-copilot-chat
213
+ // configurationService.ts (ConfigKey.Advanced.DebugOverrideCAPIUrl).
214
+ const OVERRIDE_CAPI_KEY = 'debug.overrideCapiUrl';
215
+ /** The Copilot plan label that selects the gateway's upstream host. From
216
+ * ANYRAY_COPILOT_PLAN (individual|business|enterprise), else `default`. */
217
+ const copilotPlan = () => process.env.ANYRAY_COPILOT_PLAN?.trim() || 'default';
218
+ /** The gateway Copilot-seat base the override points at; the Copilot client
219
+ * appends `/chat/completions`. Carries the plan + the dev's gateway key in-path. */
220
+ const overrideCapiUrl = (target) => `${target.origin.replace(/\/+$/, '')}/v1/copilot/${copilotPlan()}/` +
221
+ encodeURIComponent(target.clientKey ?? '');
222
+ /** Read settings.json as an object; `unrecognized` if it's JSONC/malformed (VS
223
+ * Code allows comments) so we fall back to manual rather than clobbering it. */
224
+ const readSettings = async (path) => {
225
+ try {
226
+ return { kind: 'object', data: await readJson(path) };
227
+ }
228
+ catch {
229
+ return { kind: 'unrecognized' };
230
+ }
231
+ };
232
+ /** A JSON object (not null, not an array) — the shape the advanced block must be
233
+ * for us to safely spread / `in`-probe it. A user could set it to a string. */
234
+ const isPlainObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
235
+ /** Merge our overrideCapiUrl into the github.copilot.advanced block, preserving
236
+ * every other advanced key + every other setting. Pure, testable. */
237
+ export const withOverride = (data, url) => {
238
+ const existing = data[COPILOT_ADVANCED_KEY];
239
+ const advanced = isPlainObject(existing) ? { ...existing } : {};
240
+ advanced[OVERRIDE_CAPI_KEY] = url;
241
+ return { ...data, [COPILOT_ADVANCED_KEY]: advanced };
242
+ };
243
+ /** Remove our overrideCapiUrl for revert; drops the advanced block if it empties. */
244
+ export const withoutOverride = (data) => {
245
+ const advanced = data[COPILOT_ADVANCED_KEY];
246
+ if (!isPlainObject(advanced) || !(OVERRIDE_CAPI_KEY in advanced)) {
247
+ return { next: data, removed: false };
248
+ }
249
+ const nextAdvanced = { ...advanced };
250
+ delete nextAdvanced[OVERRIDE_CAPI_KEY];
251
+ const next = { ...data };
252
+ if (Object.keys(nextAdvanced).length) {
253
+ next[COPILOT_ADVANCED_KEY] = nextAdvanced;
254
+ }
255
+ else {
256
+ delete next[COPILOT_ADVANCED_KEY];
257
+ }
258
+ return { next, removed: true };
259
+ };
260
+ /** The subscription-mode steps (manual fallback when settings.json is JSONC). */
261
+ const subscriptionManualSteps = (target, reason) => [
262
+ reason,
263
+ 'GitHub Copilot Chat — route your SUBSCRIPTION through Anyray (keeps your Copilot plan + model; chat only). In VS Code settings.json add:',
264
+ ` "${COPILOT_ADVANCED_KEY}": { "${OVERRIDE_CAPI_KEY}": ${JSON.stringify(overrideCapiUrl(target))} }`,
265
+ `Plan host: ${copilotPlan()} (set ANYRAY_COPILOT_PLAN=individual|business|enterprise to match your plan).`,
266
+ 'Reload VS Code (Developer: Reload Window). Copilot Chat now flows through the gateway and is metered to you.',
267
+ ];
268
+ /** Write the overrideCapiUrl into settings.json (subscription seat). */
269
+ const applySubscription = async (variant, target, opts) => {
270
+ const path = settingsPath(variant);
271
+ const file = await readSettings(path);
272
+ if (file.kind === 'unrecognized') {
273
+ return {
274
+ status: 'manual',
275
+ messages: subscriptionManualSteps(target, `Couldn't parse ${path} (comments / unexpected shape) — set it by hand:`),
276
+ };
277
+ }
278
+ const url = overrideCapiUrl(target);
279
+ const messages = [
280
+ `${path} → ${COPILOT_ADVANCED_KEY}.${OVERRIDE_CAPI_KEY} → ${url}`,
281
+ 'Mode: SUBSCRIPTION — your Copilot plan + model are kept; only the chat endpoint is redirected through the gateway (verbatim passthrough). Inline completions still go to GitHub.',
282
+ 'Attribution: your gateway key rides in the override path, so spend is metered to you.',
283
+ `Plan host: ${copilotPlan()} — set ANYRAY_COPILOT_PLAN=individual|business|enterprise if the default host rejects your plan.`,
284
+ eligibilityNote(await detectVscodeByok()),
285
+ 'Optimization runs server-side at the gateway. Reload VS Code (Developer: Reload Window), then use Copilot Chat as usual.',
286
+ ];
287
+ if (opts.dryRun) {
288
+ return {
289
+ status: 'configured',
290
+ messages: [`Would set ${OVERRIDE_CAPI_KEY} in ${path}.`, ...messages],
291
+ };
292
+ }
293
+ await writeJson(path, withOverride(file.data, url));
294
+ return { status: 'configured', changedFiles: [path], messages };
295
+ };
296
+ /** Remove the overrideCapiUrl from settings.json (subscription revert). */
297
+ const revertSubscription = async (variant, opts) => {
298
+ const path = settingsPath(variant);
299
+ const file = await readSettings(path);
300
+ // Unparseable (JSONC/malformed) — readJson returns {} for a MISSING file, so a
301
+ // non-object here means the file exists but we can't safely edit it. We can't
302
+ // tell whether an override is present, and a silently-left override keeps
303
+ // routing Copilot Chat through the gateway — so flag it for a manual removal.
304
+ if (file.kind !== 'object')
305
+ return { removed: false, unrecognized: true, path };
306
+ const { next, removed } = withoutOverride(file.data);
307
+ if (removed && !opts.dryRun)
308
+ await writeJson(path, next);
309
+ return { removed, unrecognized: false, path };
310
+ };
193
311
  export const copilotChat = {
194
312
  id: 'copilot',
195
313
  title: 'GitHub Copilot Chat',
@@ -209,6 +327,15 @@ export const copilotChat = {
209
327
  messages: manualSteps(target, 'No VS Code install found — configure by hand once VS Code is present:'),
210
328
  };
211
329
  }
330
+ // Subscription seat: the dev is on a Copilot plan AND enrolled (a gateway key
331
+ // to carry in the override path). Redirect Copilot Chat to the gateway's
332
+ // Copilot seat route, keeping their plan + model — instead of BYOK, which
333
+ // replaces the model with our own key. Without a clientKey we can't route a
334
+ // subscription (the always-on gateway auth needs the dev key in-path), so we
335
+ // fall through to BYOK.
336
+ if (effectiveSubscription(target, 'copilot') && target.clientKey) {
337
+ return applySubscription(variant, target, opts);
338
+ }
212
339
  const path = chatModelsPath(variant);
213
340
  const file = await readModelsFile(path);
214
341
  if (file.kind === 'unrecognized') {
@@ -263,36 +390,65 @@ export const copilotChat = {
263
390
  if (!variant) {
264
391
  return { status: 'not-found', messages: ['no VS Code install found — nothing to revert'] };
265
392
  }
393
+ // The subscription override (settings.json) and the BYOK provider
394
+ // (chatLanguageModels.json) live in different files; clean BOTH so revert
395
+ // works regardless of which mode was applied.
396
+ const sub = await revertSubscription(variant, opts);
397
+ const subMsgs = sub.removed
398
+ ? [
399
+ opts.dryRun
400
+ ? `would remove ${OVERRIDE_CAPI_KEY} from ${sub.path}`
401
+ : `Removed ${OVERRIDE_CAPI_KEY} from ${sub.path}.`,
402
+ ]
403
+ : sub.unrecognized
404
+ ? [
405
+ `Couldn't parse ${sub.path} (comments / unexpected shape). If Copilot Chat still routes through Anyray, remove "${COPILOT_ADVANCED_KEY}"."${OVERRIDE_CAPI_KEY}" by hand.`,
406
+ ]
407
+ : [];
408
+ const subFiles = sub.removed && !opts.dryRun ? [sub.path] : [];
266
409
  const path = chatModelsPath(variant);
267
410
  const file = await readModelsFile(path);
268
- if (file.kind === 'missing') {
411
+ const byokAbsent = file.kind === 'missing' ||
412
+ (file.kind === 'array' && !withoutAnyrayProvider(file.entries).removed);
413
+ if (byokAbsent) {
414
+ // Nothing more in BYOK — report whatever the subscription revert did. A
415
+ // JSONC settings.json we couldn't touch is surfaced as `manual` so the dev
416
+ // knows the override may still be live and must be cleared by hand.
417
+ if (sub.removed) {
418
+ return { status: 'reverted', changedFiles: subFiles.length ? subFiles : undefined, messages: subMsgs };
419
+ }
420
+ if (sub.unrecognized) {
421
+ return { status: 'manual', messages: subMsgs };
422
+ }
269
423
  return { status: 'not-found', messages: ['nothing to revert'] };
270
424
  }
271
425
  if (file.kind === 'unrecognized') {
272
426
  return {
273
427
  status: 'manual',
274
428
  messages: [
429
+ ...subMsgs,
275
430
  `Couldn't recognize ${path} — remove the "${PROVIDER_NAME}" Custom Endpoint by hand: Chat model picker → "Manage Language Models…".`,
276
431
  ],
277
432
  };
278
433
  }
279
- const { next, removed } = withoutAnyrayProvider(file.entries);
280
- if (!removed) {
281
- return { status: 'not-found', messages: [`no ${PROVIDER_NAME} Custom Endpoint found in ${path}`] };
282
- }
434
+ const { next } = withoutAnyrayProvider(file.entries);
283
435
  if (opts.dryRun) {
284
- return { status: 'reverted', messages: [`would remove the ${PROVIDER_NAME} Custom Endpoint from ${path}`] };
436
+ return {
437
+ status: 'reverted',
438
+ messages: [...subMsgs, `would remove the ${PROVIDER_NAME} Custom Endpoint from ${path}`],
439
+ };
285
440
  }
286
441
  // Don't re-backup on revert — the backup is the pre-Anyray state from apply.
287
442
  await writeModelsFile(path, next, { backup: false });
288
443
  const messages = [
444
+ ...subMsgs,
289
445
  `Removed the ${PROVIDER_NAME} Custom Endpoint from ${path}.`,
290
446
  'If you entered a personal key, clear it too: Chat model picker → "Manage Language Models…" → remove the stored key (VS Code secret store).',
291
447
  ];
292
448
  if (await fileExists(`${path}.anyray-bak`)) {
293
449
  messages.push(`Pre-Anyray backup at ${path}.anyray-bak.`);
294
450
  }
295
- return { status: 'reverted', changedFiles: [path], messages };
451
+ return { status: 'reverted', changedFiles: [...subFiles, path], messages };
296
452
  },
297
453
  };
298
454
  //# sourceMappingURL=copilotChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilotChat.js","sourceRoot":"","sources":["../../src/tools/copilotChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilotChat.js","sourceRoot":"","sources":["../../src/tools/copilotChat.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAqFH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAqB,EACrB,MAAuB,EACd,EAAE;IACX,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,aAAa;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;AACxC,CAAC,CAAC;AAoDF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAA6B,EACT,EAAE;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA4FH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAqB,EACrB,MAAuB,EACd,EAAE;IACX,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,aAAa;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;AACxC,CAAC,CAAC;AAoDF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAA6B,EACT,EAAE;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -22,8 +22,10 @@
22
22
  import { homedir, platform } from 'node:os';
23
23
  import { join } from 'node:path';
24
24
  import { execFile } from 'node:child_process';
25
- import { readFile } from 'node:fs/promises';
25
+ import { readFile, readdir } from 'node:fs/promises';
26
26
  import { fileExists } from './jsonFile.js';
27
+ import { appSupportDir } from './appSupport.js';
28
+ import { VSCODE_VARIANTS } from './vscodeState.js';
27
29
  const KEYCHAIN_TIMEOUT_MS = 3000;
28
30
  const CLAUDE_KEYCHAIN_SERVICE = 'Claude Code-credentials';
29
31
  /** True if a Keychain generic-password item exists for `service`. Metadata-only
@@ -68,12 +70,60 @@ export const detectOpenAiSeat = async () => {
68
70
  return false;
69
71
  }
70
72
  };
73
+ /** True if a `github.copilot-chat-*` extension is installed under `extDir`. */
74
+ const hasCopilotChatExtension = async (extDir) => {
75
+ try {
76
+ const entries = await readdir(extDir);
77
+ return entries.some((n) => n.startsWith('github.copilot-chat-'));
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ };
83
+ /**
84
+ * Detect a GitHub Copilot subscription. Unlike the others there's no flat-file
85
+ * OAuth token to probe — VS Code keeps the GitHub token in its ENCRYPTED secret
86
+ * store — and the Copilot path is additive (we redirect VS Code via
87
+ * `overrideCapiUrl`; we never forward a token), so a capability signal is enough.
88
+ *
89
+ * PRIMARY signal: the copilot-chat extension's `globalStorage` dir under a VS
90
+ * Code variant's user-data dir. It's created when the extension activates and is
91
+ * LOCATION-STABLE — it lives under the standard `Code` user-data dir even when
92
+ * the extension binary is in a custom `--extensions-dir`, or the app itself is a
93
+ * renamed install (e.g. "Visual Studio Code 2.app"). Checking the extensions dir
94
+ * alone misses those; globalStorage catches them. Falls back to the shared
95
+ * Copilot CLI/Neovim credential dir and the default extensions dir.
96
+ *
97
+ * Existence-only; no secret is read. A false positive is a harmless override that
98
+ * simply never routes if the dev isn't actually signed in.
99
+ */
100
+ export const detectCopilotSeat = async () => {
101
+ for (const variant of VSCODE_VARIANTS) {
102
+ const gs = join(appSupportDir(variant), 'User', 'globalStorage');
103
+ if (await fileExists(join(gs, 'github.copilot-chat')))
104
+ return true;
105
+ if (await fileExists(join(gs, 'github.copilot')))
106
+ return true;
107
+ }
108
+ const cfg = join(homedir(), '.config', 'github-copilot');
109
+ if (await fileExists(join(cfg, 'apps.json')))
110
+ return true;
111
+ if (await fileExists(join(cfg, 'hosts.json')))
112
+ return true;
113
+ for (const dir of ['.vscode', '.vscode-insiders']) {
114
+ if (await hasCopilotChatExtension(join(homedir(), dir, 'extensions'))) {
115
+ return true;
116
+ }
117
+ }
118
+ return false;
119
+ };
71
120
  /** Detect seat sign-in for every provider family in parallel. Never throws. */
72
121
  export const detectSeatState = async () => {
73
- const [anthropic, openai] = await Promise.all([
122
+ const [anthropic, openai, copilot] = await Promise.all([
74
123
  detectAnthropicSeat(),
75
124
  detectOpenAiSeat(),
125
+ detectCopilotSeat(),
76
126
  ]);
77
- return { anthropic, openai };
127
+ return { anthropic, openai, copilot };
78
128
  };
79
129
  //# sourceMappingURL=seatState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seatState.js","sourceRoot":"","sources":["../../src/util/seatState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seatState.js","sourceRoot":"","sources":["../../src/util/seatState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anyray-connect",
3
- "version": "0.11.11",
3
+ "version": "0.11.12",
4
4
  "description": "Anyray connect — points local coding tools (Claude Code, Cursor, Windsurf, SDKs) at the Anyray gateway by writing their base URL + a placeholder key. The gateway stays the brain; this is just the on-ramp.",
5
5
  "type": "module",
6
6
  "bin": {