@vidiemme/copilot-proxy 0.9.0 → 0.10.0

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/README.md CHANGED
@@ -161,6 +161,31 @@ Le risposte senza contatori, per esempio le chiamate a `/models`, non generano e
161
161
  Se uno stream si interrompe vengono registrati i contatori disponibili: il risultato
162
162
  puo' essere parziale.
163
163
 
164
+ ### Hydra Fusion
165
+
166
+ L'evento contiene `hydraFusion`: `true` indica Fusion, `false` una selezione diretta
167
+ riconoscibile e `null` significa che il routing non e' determinabile. Il campo `model`
168
+ continua a indicare il modello fisico e non basta, da solo, a stabilire se Fusion l'abbia
169
+ scelto.
170
+
171
+ Per Copilot CLI e le sessioni agentiche in VS Code il proxy legge localmente i record
172
+ `session.usage_record` e li abbina all'`x-request-id` dell'upstream tramite
173
+ `serviceRequestId`. Il blocco `usage.fusion.syntheticModel` identifica Fusion; in assenza
174
+ del blocco, una selezione esplicita di un modello fisico identico a quello della chiamata
175
+ indica una selezione diretta. Un identificatore sintetico Fusion riconosciuto nella richiesta
176
+ viene rilevato anche senza log. Per la chat VS Code ricaricata dallo storico, `true` deriva
177
+ dal modello Fusion selezionato; `false` richiede anche un modello risolto corrispondente.
178
+
179
+ Il record CLI puo' arrivare dopo la risposta: per un massimo di 15 secondi il proxy legge
180
+ le righe nuove dei log recenti (alla prima lettura, o dopo una crescita superiore a 4 MiB,
181
+ solo gli ultimi 4 MiB) e, se necessario, invia un aggiornamento con lo stesso
182
+ `requestId`. Il collector aggiorna il solo flag, senza ricontare token o costi; per questo va
183
+ aggiornato prima dei proxy, altrimenti scarta l'aggiornamento come duplicato. Un evento
184
+ scartato per coda piena non riceve aggiornamenti. Mancanza di
185
+ ID, log, permessi, metadati o modello selezionato affidabile lascia `null`; la chat VS Code
186
+ dal vivo e gli altri harness non vengono dedotti dal solo modello fisico. Il proxy non
187
+ salva ne' trasmette i contenuti dei log, soltanto il flag.
188
+
164
189
  ## Attribuzione al progetto e al developer
165
190
 
166
191
  ![Attribuzione del progetto: prima i segnali espliciti, poi i path dei repository locali, poi il progetto della sessione e infine unassigned.](https://raw.githubusercontent.com/vidiemme/copilot-usage/main/packages/client/docs/diagrams/attribution.png)
@@ -443,8 +468,10 @@ Il comando si puo' rilanciare: le chiavi degli eventi sono deterministiche e il
443
468
  collector deduplica. **Non deduplica pero' le chat di VS Code con il traffico
444
469
  gia' misurato dal proxy**, perche' non hanno un id in comune: se il proxy era
445
470
  attivo nel periodo scelto, `reload` lo segnala dal log del proxy e suggerisce
446
- il `--to` da usare. Per Copilot CLI la chiave e' l'id della richiesta GitHub,
447
- lo stesso che usa il proxy.
471
+ il `--to` da usare. Per Copilot CLI, quando il log contiene `serviceRequestId`, la
472
+ chiave e' l'id della richiesta GitHub, lo stesso che usa il proxy: un rinvio puo'
473
+ aggiungere il flag Fusion all'evento esistente. Senza quell'id si usa una chiave
474
+ locale, che non deduplica il traffico gia' misurato.
448
475
 
449
476
  ### File e variabili d'ambiente
450
477
 
@@ -467,6 +494,7 @@ generico di tutte le variabili d'ambiente nel file.
467
494
  | `PROJECT_STICKY_TTL_MS` | `1800000` (30 minuti). |
468
495
  | `DEVELOPER_ID_SALT` | Salt aziendale incluso nel pacchetto; non e' una credenziale segreta. |
469
496
  | `DEVELOPER_NAME`, `DEVELOPER_EMAIL` | Facoltativi; il nome abilita l'invio dell'identita' al collector. |
497
+ | `COPILOT_HOME` | `~/.copilot`; la stessa cartella usata dalla CLI per `session-state`. Configurala anche nel file del proxy se il servizio automatico non eredita la variabile. |
470
498
  | `ATTRIBUTION_TOKENS` | `{}`; oggetto JSON token -> `{ "projectId": "...", "developerId": "..." }`. Contiene credenziali: non versionarlo. |
471
499
  | `FLUSH_INTERVAL_MS`, `FLUSH_MAX_BATCH` | `5000`, `100` (massimo 500 eventi per batch). |
472
500
  | `COLLECTOR_TIMEOUT_MS` | `10000`. |
@@ -497,6 +525,7 @@ letto in memoria per inoltro, ispezione e attribuzione. Al collector arrivano:
497
525
  - identita' del repository rilevato: host, gruppi, nome e URL del remote;
498
526
  - pseudonimo/ID developer e sua fonte, user agent e ID sessione se disponibile;
499
527
  - endpoint, modello, contatori di token, durata e indicazione streaming;
528
+ - flag `hydraFusion` quando il routing e' rilevabile;
500
529
  - nome ed email facoltativi, negli header di invio, salvo `--anonymous`.
501
530
 
502
531
  Non vengono inviati al collector il token Copilot, i path di lavoro rilevati o il
@@ -526,7 +555,9 @@ La consegna e' **best effort, non senza perdite**:
526
555
  - spool fino a 50.000 eventi, conservando i piu' recenti;
527
556
  - gli altri errori HTTP 4xx sono definitivi e causano lo scarto del batch;
528
557
  - gli eventi rifiutati singolarmente dal collector vengono segnalati nei log;
529
- - un arresto improvviso puo' perdere gli eventi ancora soltanto in memoria.
558
+ - un arresto improvviso puo' perdere gli eventi ancora soltanto in memoria;
559
+ - gli aggiornamenti del flag Fusion seguono la stessa coda e lo stesso spool, ma non
560
+ contano come nuovi eventi in `recorded`, `delivered` e `dropped`.
530
561
 
531
562
  Tieni sotto controllo spool, errori e contatore `dropped`. Il proxy non ha
532
563
  autenticazione locale propria: non esporre `HOST=0.0.0.0` senza protezioni adeguate.
package/dist/cli.js CHANGED
@@ -791,6 +791,7 @@ async function commandReload(flags, root) {
791
791
  from: flags.from ? parseDate(String(flags.from), false) : undefined,
792
792
  to: flags.to ? parseDate(String(flags.to), true) : undefined,
793
793
  agents: agentPolicy(flags),
794
+ copilotHome: config.copilotHome,
794
795
  };
795
796
  }
796
797
  catch (error) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,13 @@ export declare class UsageForwarder {
50
50
  private readonly headers;
51
51
  constructor(config: ClientConfig, logger: Logger);
52
52
  start(): void;
53
- enqueue(event: UsageEventPayload): void;
53
+ /** Restituisce `false` se l'evento e' stato scartato per coda piena. */
54
+ enqueue(event: UsageEventPayload): boolean;
55
+ /** Da chiamare solo per eventi accettati da `enqueue`: il rinvio porta con se' i contatori. */
56
+ enqueueFusionUpdate(event: UsageEventPayload & {
57
+ hydraFusion: boolean;
58
+ }): void;
59
+ private push;
54
60
  /**
55
61
  * Gli invii sono serializzati: due flush concorrenti si contenderebbero lo
56
62
  * spool. Chi chiama attende il proprio turno, cosi' `close()` ha la garanzia
@@ -1,10 +1,13 @@
1
1
  import { appendFile, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';
2
- import { MAX_EVENTS_PER_BATCH } from '@vidiemme/copilot-usage-contract';
2
+ import { MAX_EVENTS_PER_BATCH, mergeHydraFusion } from '@vidiemme/copilot-usage-contract';
3
3
  import { CLIENT_USER_AGENT } from '../version.js';
4
4
  /** Oltre questa soglia si scartano eventi per non far crescere la memoria del proxy. */
5
5
  const MAX_QUEUE_LENGTH = 10_000;
6
6
  /** Tetto agli eventi parcheggiati su disco: si tengono i piu' recenti. */
7
7
  const MAX_SPOOL_EVENTS = 50_000;
8
+ function spoolLine({ event, fusionUpdate }) {
9
+ return JSON.stringify(fusionUpdate ? { fusionUpdate: event } : event);
10
+ }
8
11
  /**
9
12
  * Rifiuti che si risolvono senza toccare il payload: credenziali da sistemare,
10
13
  * timeout, rate limit. Gli eventi restano nello spool invece di andare persi.
@@ -87,21 +90,38 @@ export class UsageForwarder {
87
90
  }, this.config.flushIntervalMs);
88
91
  this.timer.unref();
89
92
  }
93
+ /** Restituisce `false` se l'evento e' stato scartato per coda piena. */
90
94
  enqueue(event) {
91
95
  this.counters.recorded += 1;
92
96
  this.counters.lastEventAt = new Date().toISOString();
93
97
  this.counters.lastEventByClient[clientFamily(event.clientName)] = this.counters.lastEventAt;
94
- if (this.queue.length >= MAX_QUEUE_LENGTH) {
95
- this.dropped += 1;
96
- this.counters.dropped += 1;
97
- if (this.dropped % 100 === 1) {
98
- this.logger.error({ dropped: this.dropped }, 'coda usage piena, eventi scartati');
99
- }
98
+ if (this.push({ event, fusionUpdate: false }))
99
+ return true;
100
+ this.dropped += 1;
101
+ this.counters.dropped += 1;
102
+ if (this.dropped % 100 === 1) {
103
+ this.logger.error({ dropped: this.dropped }, 'coda usage piena, eventi scartati');
104
+ }
105
+ return false;
106
+ }
107
+ /** Da chiamare solo per eventi accettati da `enqueue`: il rinvio porta con se' i contatori. */
108
+ enqueueFusionUpdate(event) {
109
+ const queued = this.queue.find((entry) => entry.event.requestId === event.requestId);
110
+ if (queued) {
111
+ queued.event = { ...queued.event, hydraFusion: mergeHydraFusion(queued.event.hydraFusion, event.hydraFusion) };
100
112
  return;
101
113
  }
102
- this.queue.push(event);
114
+ if (!this.push({ event, fusionUpdate: true })) {
115
+ this.logger.warn({ requestId: event.requestId }, 'coda usage piena, routing Fusion non inviato');
116
+ }
117
+ }
118
+ push(entry) {
119
+ if (this.queue.length >= MAX_QUEUE_LENGTH)
120
+ return false;
121
+ this.queue.push(entry);
103
122
  if (this.queue.length >= this.batchSize)
104
123
  void this.flush();
124
+ return true;
105
125
  }
106
126
  /**
107
127
  * Gli invii sono serializzati: due flush concorrenti si contenderebbero lo
@@ -140,9 +160,11 @@ export class UsageForwarder {
140
160
  stats() {
141
161
  return { ...this.counters, lastEventByClient: { ...this.counters.lastEventByClient } };
142
162
  }
143
- async send(events) {
144
- if (events.length === 0)
163
+ async send(entries) {
164
+ if (entries.length === 0)
145
165
  return true;
166
+ const measurements = entries.filter((entry) => !entry.fusionUpdate).length;
167
+ const events = entries.map((entry) => entry.event);
146
168
  let response;
147
169
  try {
148
170
  response = await fetch(this.config.collectorUrl, {
@@ -158,10 +180,10 @@ export class UsageForwarder {
158
180
  return false;
159
181
  }
160
182
  if (response.ok) {
161
- this.counters.delivered += events.length;
183
+ this.counters.delivered += measurements;
162
184
  this.counters.lastDeliveryAt = new Date().toISOString();
163
185
  this.counters.lastError = null;
164
- await this.logRejected(response);
186
+ await this.logRejected(response, entries);
165
187
  return true;
166
188
  }
167
189
  this.counters.lastError = String(response.status);
@@ -172,12 +194,12 @@ export class UsageForwarder {
172
194
  response.status < 500 &&
173
195
  !RETRYABLE_CLIENT_ERRORS.has(response.status);
174
196
  if (permanent)
175
- this.counters.dropped += events.length;
197
+ this.counters.dropped += measurements;
176
198
  this.logger.error({ status: response.status, events: events.length, permanent }, permanent ? 'collector ha rifiutato gli eventi' : 'collector non disponibile');
177
199
  return permanent;
178
200
  }
179
201
  /** Il collector accetta i singoli eventi validi e restituisce gli scartati. */
180
- async logRejected(response) {
202
+ async logRejected(response, entries) {
181
203
  let body;
182
204
  try {
183
205
  body = await response.json();
@@ -188,7 +210,12 @@ export class UsageForwarder {
188
210
  const rejected = body?.rejected;
189
211
  if (!Array.isArray(rejected) || rejected.length === 0)
190
212
  return;
191
- this.counters.dropped += rejected.length;
213
+ this.counters.dropped += rejected.filter((item) => {
214
+ if (typeof item !== 'object' || item === null || !('index' in item) || typeof item.index !== 'number') {
215
+ return true;
216
+ }
217
+ return !entries[item.index]?.fusionUpdate;
218
+ }).length;
192
219
  this.logger.error({ rejected: rejected.slice(0, 10) }, 'collector ha scartato alcuni eventi');
193
220
  }
194
221
  async drainSpool() {
@@ -231,7 +258,10 @@ export class UsageForwarder {
231
258
  if (line.trim().length === 0)
232
259
  continue;
233
260
  try {
234
- events.push(JSON.parse(line));
261
+ const parsed = JSON.parse(line);
262
+ events.push('fusionUpdate' in parsed
263
+ ? { event: parsed.fusionUpdate, fusionUpdate: true }
264
+ : { event: parsed, fusionUpdate: false });
235
265
  }
236
266
  catch {
237
267
  // Riga troncata da un arresto brusco: si scarta solo quella.
@@ -242,7 +272,7 @@ export class UsageForwarder {
242
272
  async spool(events) {
243
273
  if (events.length === 0)
244
274
  return;
245
- const lines = `${events.map((event) => JSON.stringify(event)).join('\n')}\n`;
275
+ const lines = `${events.map(spoolLine).join('\n')}\n`;
246
276
  try {
247
277
  const size = await stat(this.spoolPath).then((info) => info.size, () => 0);
248
278
  if (size === 0) {
@@ -263,7 +293,7 @@ export class UsageForwarder {
263
293
  return;
264
294
  const kept = events.slice(-MAX_SPOOL_EVENTS);
265
295
  this.logger.error({ dropped: events.length - kept.length }, "spool oltre il limite, scartati gli eventi piu' vecchi");
266
- await writeFile(this.spoolPath, `${kept.map((event) => JSON.stringify(event)).join('\n')}\n`, {
296
+ await writeFile(this.spoolPath, `${kept.map(spoolLine).join('\n')}\n`, {
267
297
  mode: 0o600,
268
298
  });
269
299
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forwarder.js","sourceRoot":"","sources":["../../src/collector/forwarder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forwarder.js","sourceRoot":"","sources":["../../src/collector/forwarder.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -28,6 +28,8 @@ export interface ClientConfig {
28
28
  /** Nome mostrato in dashboard al posto dello pseudonimo; assente = anonimo. */
29
29
  developerName: string | undefined;
30
30
  developerEmail: string | undefined;
31
+ /** Cartella usata da Copilot CLI per le sessioni locali. */
32
+ copilotHome?: string | undefined;
31
33
  flushIntervalMs: number;
32
34
  flushMaxBatch: number;
33
35
  /** Installa da solo le patch quando gira come servizio. */
package/dist/config.js CHANGED
@@ -66,6 +66,7 @@ export function loadConfig(source = process.env) {
66
66
  developerIdSalt,
67
67
  developerName: read('DEVELOPER_NAME'),
68
68
  developerEmail: read('DEVELOPER_EMAIL'),
69
+ copilotHome: read('COPILOT_HOME'),
69
70
  flushIntervalMs: intOption('FLUSH_INTERVAL_MS', 5000),
70
71
  flushMaxBatch: intOption('FLUSH_MAX_BATCH', 100),
71
72
  autoUpdate: !/^(0|false|no|off)$/i.test(optional('AUTO_UPDATE', 'true')),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { FastifyReply, FastifyRequest } from 'fastify';
2
2
  import type { ClientConfig } from '../config.js';
3
- import type { UsageForwarder } from '../collector/forwarder.js';
3
+ import { type UsageForwarder } from '../collector/forwarder.js';
4
4
  import { ProjectDetector } from '../projectDetector.js';
5
- export declare function createProxyHandler(config: ClientConfig, forwarder: UsageForwarder, detector?: ProjectDetector): (request: FastifyRequest, reply: FastifyReply) => Promise<void>;
5
+ import type { FusionCorrelator } from '../usage/fusionCorrelator.js';
6
+ export declare function createProxyHandler(config: ClientConfig, forwarder: UsageForwarder, detector?: ProjectDetector, fusion?: FusionCorrelator): (request: FastifyRequest, reply: FastifyReply) => Promise<void>;
@@ -2,7 +2,9 @@ import { randomUUID } from 'node:crypto';
2
2
  import { PassThrough, Readable } from 'node:stream';
3
3
  import { Agent, request as undiciRequest } from 'undici';
4
4
  import { resolveAttribution } from '../attribution.js';
5
+ import { clientFamily } from '../collector/forwarder.js';
5
6
  import { isStreamingResponse, UsageCollector } from '../usage/collector.js';
7
+ import { isHydraFusionModel } from '../usage/fusion.js';
6
8
  import { buildDownstreamHeaders, buildUpstreamHeaders } from './headers.js';
7
9
  import { inspectRequest } from './inspectRequest.js';
8
10
  /**
@@ -28,7 +30,7 @@ function sessionKey(headers, bodySessionId, developerId) {
28
30
  }
29
31
  return bodySessionId ? `s:${bodySessionId}` : `d:${developerId}`;
30
32
  }
31
- export function createProxyHandler(config, forwarder, detector) {
33
+ export function createProxyHandler(config, forwarder, detector, fusion) {
32
34
  const upstream = new URL(config.upstreamBaseUrl);
33
35
  return async function proxyHandler(request, reply) {
34
36
  const startedAt = Date.now();
@@ -90,7 +92,8 @@ export function createProxyHandler(config, forwarder, detector) {
90
92
  const contentType = responseHeaders.get('content-type') ?? undefined;
91
93
  const streaming = isStreamingResponse(contentType);
92
94
  const collector = new UsageCollector(streaming);
93
- const requestId = responseHeaders.get('x-request-id') ??
95
+ const serviceRequestId = responseHeaders.get('x-request-id');
96
+ const requestId = serviceRequestId ??
94
97
  request.headers['x-request-id'] ??
95
98
  randomUUID();
96
99
  let recorded = false;
@@ -103,7 +106,7 @@ export function createProxyHandler(config, forwarder, detector) {
103
106
  // (es. /models, health check). Non va registrata.
104
107
  if (!parsed)
105
108
  return;
106
- forwarder.enqueue({
109
+ const event = {
107
110
  requestId,
108
111
  occurredAt: new Date(startedAt).toISOString(),
109
112
  developerId: attribution.developerId,
@@ -115,6 +118,7 @@ export function createProxyHandler(config, forwarder, detector) {
115
118
  sessionId: facts.sessionId ?? null,
116
119
  endpoint: pathname,
117
120
  model: parsed.model ?? facts.model ?? null,
121
+ hydraFusion: isHydraFusionModel(facts.model) ? true : null,
118
122
  usage: {
119
123
  inputTokens: parsed.inputTokens,
120
124
  cachedInputTokens: parsed.cachedInputTokens,
@@ -124,7 +128,11 @@ export function createProxyHandler(config, forwarder, detector) {
124
128
  billedNanoAiu: parsed.billedNanoAiu ?? null,
125
129
  streamed: streaming,
126
130
  durationMs: Date.now() - startedAt,
127
- });
131
+ };
132
+ const accepted = forwarder.enqueue(event);
133
+ if (accepted && serviceRequestId && clientFamily(attribution.clientName).toLowerCase() === 'copilot') {
134
+ fusion?.track(event);
135
+ }
128
136
  };
129
137
  reply.code(upstreamResponse.statusCode);
130
138
  reply.headers(buildDownstreamHeaders(responseHeaders));
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/proxy/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/proxy/handler.ts"],"names":[],"mappings":"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"}