aweshare 0.5.5 → 0.5.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.
Files changed (39) hide show
  1. package/README.ai.md +5 -5
  2. package/README.md +11 -10
  3. package/apps/agent/dist/config.d.ts +1 -1
  4. package/apps/agent/dist/config.js +2 -0
  5. package/apps/agent/dist/config.js.map +1 -1
  6. package/apps/agent/dist/connection.js +9 -4
  7. package/apps/agent/dist/connection.js.map +1 -1
  8. package/apps/agent/dist/doctor.js +3 -3
  9. package/apps/agent/dist/doctor.js.map +1 -1
  10. package/apps/consumer/dist/cli.js +1 -1
  11. package/apps/consumer/dist/cli.js.map +1 -1
  12. package/apps/hub/dist/cli.js +119 -112
  13. package/apps/hub/dist/cli.js.map +1 -1
  14. package/apps/hub/dist/consumer.js +1 -1
  15. package/apps/hub/dist/consumer.js.map +1 -1
  16. package/apps/hub/dist/db.d.ts +9 -1
  17. package/apps/hub/dist/db.js +10 -2
  18. package/apps/hub/dist/db.js.map +1 -1
  19. package/apps/hub/dist/local.d.ts +12 -2
  20. package/apps/hub/dist/local.js +26 -7
  21. package/apps/hub/dist/local.js.map +1 -1
  22. package/apps/hub/dist/table.d.ts +2 -2
  23. package/apps/hub/dist/table.js +2 -2
  24. package/apps/hub/dist/table.js.map +1 -1
  25. package/package.json +2 -1
  26. package/packages/producer-core/dist/adapters.d.ts +3 -6
  27. package/packages/producer-core/dist/adapters.js +8 -7
  28. package/packages/producer-core/dist/adapters.js.map +1 -1
  29. package/packages/producer-core/dist/health.d.ts +25 -2
  30. package/packages/producer-core/dist/health.js +77 -4
  31. package/packages/producer-core/dist/health.js.map +1 -1
  32. package/packages/producer-core/dist/index.d.ts +1 -0
  33. package/packages/producer-core/dist/index.js +1 -0
  34. package/packages/producer-core/dist/index.js.map +1 -1
  35. package/packages/producer-core/dist/job.js +9 -8
  36. package/packages/producer-core/dist/job.js.map +1 -1
  37. package/packages/producer-core/dist/proxy.d.ts +21 -0
  38. package/packages/producer-core/dist/proxy.js +77 -0
  39. package/packages/producer-core/dist/proxy.js.map +1 -0
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { EventEmitter } from 'node:events';
3
3
  import { existsSync, readFileSync, unwatchFile, watchFile } from 'node:fs';
4
- import { classifyStatus, HealthGate, parseCatalog, probeBody, probeTarget, UpstreamJob, } from '../../../packages/producer-core/dist/index.js';
4
+ import { classifyStatus, fetchUpstream, HealthGate, logHealthTransition, parseCatalog, probeBody, probeTarget, UpstreamJob, } from '../../../packages/producer-core/dist/index.js';
5
5
  import { parse as parseToml } from 'smol-toml';
6
6
  import { ensureLocalProducer, LOCAL_PRODUCER_ID, LOCAL_PRODUCER_NAME, upsertOfferings, } from './db.js';
7
7
  import { HttpError } from './http.js';
@@ -227,6 +227,10 @@ export class LocalRelay extends EventEmitter {
227
227
  export class LocalProducer {
228
228
  deps;
229
229
  backends = new Map();
230
+ /** One offering model per backend, used by recovery probes: a probe must
231
+ * name a real model id, or upstreams that validate model names answer 4xx
232
+ * and a recovered backend stays stuck degraded. */
233
+ probeModels = new Map();
230
234
  health = new HealthGate();
231
235
  probeTimer = null;
232
236
  reloadTimer = null;
@@ -367,6 +371,7 @@ export class LocalProducer {
367
371
  // row and the backend together or neither
368
372
  upsertOfferings(this.deps.db, LOCAL_PRODUCER_ID, catalog.offerings);
369
373
  this.backends = new Map(catalog.backends.map((b) => [b.id, b]));
374
+ this.probeModels = new Map(catalog.offerings.map((o) => [o.backendId, o.upstreamModel]));
370
375
  }
371
376
  installWatcher() {
372
377
  // stat-poll (not inotify) so Docker bind mounts and network volumes work;
@@ -388,25 +393,39 @@ export class LocalProducer {
388
393
  this.watchers.push([file, listener]);
389
394
  }
390
395
  }
391
- /** Minimal live probe for degraded backends; success clears the state. */
392
- async probeDegraded() {
396
+ /** Live probe for degraded backends; a probe with the offering's real model
397
+ * (and the login-safe shape for codex accounts) clears the state on success.
398
+ * Failed probes back off per backend (awewarm-style) so an exhausted quota
399
+ * isn't pinged at the base cadence. Public so tests and operators can
400
+ * trigger a recovery pass on demand — the timer runs the same method every
401
+ * PROBE_INTERVAL_MS. `force` skips the backoff, like awewarm's manual
402
+ * activation bypassing the schedule. */
403
+ async probeDegraded(force = false) {
393
404
  for (const backend of this.backends.values()) {
394
405
  if (!this.health.isDegraded(backend.id))
395
406
  continue;
407
+ if (!force && Date.now() < this.health.probeNotBeforeMs(backend.id))
408
+ continue;
409
+ const model = this.probeModels.get(backend.id);
410
+ if (!model)
411
+ continue; // no offering left on this backend — nothing real to probe with
396
412
  try {
397
413
  const { url, headers } = probeTarget(backend);
398
- const resp = await fetch(url, {
414
+ const resp = await fetchUpstream(backend, url, {
399
415
  method: 'POST',
400
416
  headers,
401
- body: JSON.stringify(probeBody('ping', backend.protocol)),
417
+ body: JSON.stringify(probeBody(model, backend.protocol, backend.login !== undefined)),
402
418
  signal: AbortSignal.timeout(10_000),
403
419
  });
404
420
  const reason = classifyStatus(resp.status);
405
- this.health.record(backend.id, reason === null, reason ?? undefined);
421
+ logHealthTransition(this.deps.log, backend.id, this.health.record(backend.id, reason === null, reason ?? undefined), reason === null
422
+ ? `probe ok (model '${model}')`
423
+ : `probe ${resp.status} (${reason}) — next attempt backs off`);
406
424
  await resp.arrayBuffer().catch(() => undefined);
407
425
  }
408
- catch {
426
+ catch (err) {
409
427
  this.health.record(backend.id, false, 'NETWORK');
428
+ this.deps.log.warn(`probe for backend ${backend.id} failed: ${err instanceof Error ? err.message : err}`);
410
429
  }
411
430
  }
412
431
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"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"}
@@ -83,8 +83,8 @@ export interface HubStatusInput {
83
83
  }
84
84
  /** Compact read-only overview for operators; tokens and request contents stay
85
85
  * absent. The rosters absorbed the old `hub list producers|consumers` views —
86
- * status is the single live-state command (usage is the other read command,
87
- * the invite ledger lives under `hub invite --list`). */
86
+ * status is the single live-state command (`hub list invites` keeps the
87
+ * ledger, `hub list usage` the meter). */
88
88
  export declare function renderHubStatus(input: HubStatusInput): string;
89
89
  export declare function renderProducers(rows: ProducerListRow[]): string;
90
90
  export declare function renderConsumers(rows: ConsumerListRow[]): string;
@@ -140,8 +140,8 @@ function aliasLines(offerings) {
140
140
  }
141
141
  /** Compact read-only overview for operators; tokens and request contents stay
142
142
  * absent. The rosters absorbed the old `hub list producers|consumers` views —
143
- * status is the single live-state command (usage is the other read command,
144
- * the invite ledger lives under `hub invite --list`). */
143
+ * status is the single live-state command (`hub list invites` keeps the
144
+ * ledger, `hub list usage` the meter). */
145
145
  export function renderHubStatus(input) {
146
146
  const producers = input.producers.filter((p) => p.id !== LOCAL_PRODUCER_ID);
147
147
  const activeProducers = producers.filter((p) => p.revoked_at === null).length;
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAE3C,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,OAAiB,EAAE,IAAgB;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/F,MAAM,IAAI,GAAG,CAAC,KAAe,EAAU,EAAE,CACvC,KAAK;SACF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACvC,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CAAA;IACd,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,OAAO,CAAC,GAA8B;IACpD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAC7D,CAAC;AA+BD;;;;;GAKG;AACH,SAAS,YAAY,CAAC,GAAkB,EAAE,GAAW;IACnD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,mBAAmB,CAAA;QACpE,IAAI,SAAS;YAAE,OAAO,WAAW,CAAA;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,mBAAmB,CAAA;QAClE,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG;YAAE,OAAO,SAAS,CAAA;QAC3D,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,GAAG,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACpC,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG;QAAE,OAAO,SAAS,CAAA;IACzE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,CAAgB;IACjC,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,CAAA;IAClD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IACvB,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE,CAAA;IAChF,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE,CAAA;IAChF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK;IACpF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAA;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,OAAO,WAAW,CAChB;QACE,IAAI;QACJ,MAAM;QACN,UAAU;QACV,SAAS;QACT,SAAS;QACT,QAAQ;QACR,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,EACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,IAAI,GAAG;QACb,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QACrB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QACrB,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC;QACpB,GAAG,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC7E,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACnC,CAAC,CACH,CAAA;AACH,CAAC;AAqDD,MAAM,WAAW,GAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;AAElF;;wDAEwD;AACxD,MAAM,gBAAgB,GAAG;IACvB,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,cAAc;IACd,WAAW;CACZ,CAAA;AAED;yEACyE;AACzE,SAAS,WAAW,CAAC,QAAkB;IACrC,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC7E,QAAQ,CACT,CAAA;AACH,CAAC;AAED;;;;4BAI4B;AAC5B,SAAS,UAAU,CAAC,SAA2B;IAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;IAClD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3B,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAmB,CAAA;QACvC,MAAM,IAAI,GAAG,CAAC,IAAmC,EAAE,GAAG,GAAG,GAAG,EAAU,EAAE,CACtE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxC,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;gBAC9B,KAAK,CAAC,KAAK;gBACX,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;gBACjE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACtF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,kBAAkB,IAAI,GAAG,EAAE,CACtF;gBACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAC9E;gBACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CACtF;gBACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,WAAW,KAAK,SAAS;oBACzB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC;wBACnB,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,CACpE;aACF;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAChG,CAAA;IACD,OAAO;QACL,+BAA+B;QAC/B,WAAW,CACT,gBAAgB,EAChB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACzB;KACF,CAAA;AACH,CAAC;AAED;;;0CAG0C;AAC1C,MAAM,UAAU,eAAe,CAAC,KAAqB;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAA;IAC3E,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM,CAAA;IAC7E,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,GAAG,eAAe,CAAA;IAC7D,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM,CAAA;IACnF,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAA;IACnE,gFAAgF;IAChF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/E,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IAC7E,MAAM,KAAK,GAAG;QACZ,YAAY;QACZ,qBAAqB,eAAe,IAAI,KAAK,CAAC,YAAY,YAAY,kBAAkB,aAAa;QACrG,gBAAgB,eAAe,YAAY,kBAAkB,aAAa;QAC1E,gBAAgB,KAAK,CAAC,QAAQ,CAAC,YAAY,KAAK,CAAC,SAAS,CAAC,aAAa,KAAK,CAAC,UAAU,CAAC,cAAc,OAAO,CAAC,IAAI,aAAa;KACjI,CAAA;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;QACzC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC9D,KAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,cAAc,EAAE,SAAS,MAAM,WAAW,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CACR,4BAA4B,KAAK,CAAC,WAAW,WAAW,KAAK,CAAC,aAAa,oBAAoB,KAAK,CAAC,qBAAqB,EAAE,EAC5H,oBAAoB,KAAK,CAAC,aAAa,YAAY,KAAK,CAAC,aAAa,IAAI,CAC3E,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9D,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mEAAmE,CAAA;IACjG,OAAO,WAAW,CAChB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,EACnE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,IAAI,GAAG;QACd,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;QAC/E,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC9D,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;KACtB,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO,iFAAiF,CAAA;IAC1F,OAAO,WAAW,CAChB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,EAChD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;QACrC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;KACtB,CAAC,CACH,CAAA;AACH,CAAC;AAwBD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB,EAAE,YAAoC;IAChF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,6DAA6D,CAAA;IAC3F,OAAO,WAAW,CAChB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAClE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAC7E,GAAG,CAAC,CAAC,WAAW,IAAI;QACpB,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,iBAAiB,KAAK,IAAI;YACtD,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,EAAE;KAC1D,CAAC,CACH,CAAA;AACH,CAAC;AAwBD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAuB,EACvB,KAAiB,EACjB,YAAY,GAAG,IAAI;IAEnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO,wEAAwE,CAAA;IACjF,MAAM,YAAY,GAAG,KAAK,KAAK,OAAO,IAAI,YAAY,CAAA;IACtD,OAAO,WAAW,CAChB;QACE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,UAAU;QACV,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,OAAO;QACP,KAAK;QACL,UAAU;QACV,WAAW;KACZ,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACd,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAChB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QAC/D,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;QACvB,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QACxB,GAAG,CAAC,CAAC,eAAe,IAAI;QACxB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;KACnB,CAAC,CACH,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aweshare",
3
- "version": "0.5.5",
3
+ "version": "0.5.6",
4
4
  "type": "module",
5
5
  "description": "Open-source, local-first AI capability relay",
6
6
  "license": "UNLICENSED",
@@ -33,6 +33,7 @@
33
33
  "better-sqlite3": "^12.2.0",
34
34
  "pino": "^9.7.0",
35
35
  "smol-toml": "^1.4.2",
36
+ "undici": "^7.29.0",
36
37
  "ws": "^8.18.3"
37
38
  },
38
39
  "devDependencies": {
@@ -21,9 +21,6 @@ export interface UpstreamRequestInit {
21
21
  * injected here and nowhere else.
22
22
  */
23
23
  export declare function buildUpstreamRequest(backend: ResolvedBackend, msg: Pick<UpstreamRequestInit, 'path' | 'query' | 'headers'>): UpstreamRequest;
24
- /**
25
- * Force `store: false` on a JSON request body: chatgpt's responses backend
26
- * requires it, the Codex CLI sends it, other consumers may not. Non-JSON
27
- * bodies pass through untouched — the upstream will reject those itself.
28
- */
29
- export declare function forceStoreFalse(body: Uint8Array): Uint8Array;
24
+ /** Normalize a JSON request to the subset chatgpt's Codex backend accepts.
25
+ * Non-JSON bodies pass through untouched — the upstream rejects those itself. */
26
+ export declare function prepareCodexBody(body: Uint8Array): Uint8Array;
@@ -52,12 +52,9 @@ function stripEdgeHeaders(headers) {
52
52
  }
53
53
  }
54
54
  }
55
- /**
56
- * Force `store: false` on a JSON request body: chatgpt's responses backend
57
- * requires it, the Codex CLI sends it, other consumers may not. Non-JSON
58
- * bodies pass through untouched — the upstream will reject those itself.
59
- */
60
- export function forceStoreFalse(body) {
55
+ /** Normalize a JSON request to the subset chatgpt's Codex backend accepts.
56
+ * Non-JSON bodies pass through untouched — the upstream rejects those itself. */
57
+ export function prepareCodexBody(body) {
61
58
  if (body.byteLength === 0)
62
59
  return body;
63
60
  let parsed;
@@ -69,7 +66,11 @@ export function forceStoreFalse(body) {
69
66
  }
70
67
  if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
71
68
  return body;
72
- parsed.store = false;
69
+ const request = parsed;
70
+ request.store = false;
71
+ // OpenCode's @ai-sdk/openai emits this standard Responses field, but the
72
+ // account backend rejects it. Codex CLI omits it as well.
73
+ delete request.max_output_tokens;
73
74
  return Buffer.from(JSON.stringify(parsed), 'utf8');
74
75
  }
75
76
  //# sourceMappingURL=adapters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,38 @@
1
1
  import type { BackendStatus } from 'aweshare-protocol';
2
+ import type { Logger } from 'pino';
2
3
  export type FailureReason = 'AUTH' | 'QUOTA' | 'HTTP' | 'NETWORK' | 'CANCELLED';
4
+ /** Ladder transition a record() caused, for logging: entering degraded,
5
+ * clearing it, or nothing. */
6
+ export type HealthTransition = 'degraded' | 'recovered' | null;
3
7
  /**
4
8
  * Per-backend health state. Degraded backends are reported in heartbeats and
5
- * the hub stops dispatching to their offerings until they recover.
9
+ * the hub stops dispatching to their offerings until they recover. The
10
+ * ladder is two rungs — healthy -> degraded, latched until a success — which
11
+ * for a relay is what awewarm's deeper ladder collapses to: its intermediate
12
+ * rungs trade probe expense against recovery speed, and a relay's probes are
13
+ * cheap pings, not quota-consuming activations. What does carry over from
14
+ * awewarm is the escalating probe schedule above: the longer a backend has
15
+ * been continuously degraded, the quieter its recovery probes become, down
16
+ * to a daily last gasp that never fully gives up.
6
17
  */
7
18
  export declare class HealthGate {
19
+ private readonly now;
8
20
  private consecutive;
9
21
  private degraded;
10
- record(backendId: string, ok: boolean, reason?: FailureReason): void;
22
+ private degradedSince;
23
+ private probeDelayMs;
24
+ private probeNotBefore;
25
+ /** The clock is injected so tests can walk the cap ladder without waiting. */
26
+ constructor(now?: () => number);
27
+ record(backendId: string, ok: boolean, reason?: FailureReason): HealthTransition;
28
+ /** Epoch ms before which a recovery probe for this backend should be
29
+ * skipped (backoff); 0 when no failed probe is being held back. */
30
+ probeNotBeforeMs(backendId: string): number;
11
31
  isDegraded(backendId: string): boolean;
12
32
  statusMap(): Record<string, BackendStatus>;
13
33
  }
34
+ /** Log a ladder transition where it happened — the request path or a probe
35
+ * loop — so "why is it still degraded" is answerable from the logs. */
36
+ export declare function logHealthTransition(log: Logger, backendId: string, transition: HealthTransition, detail?: string): void;
14
37
  /** Map an upstream HTTP status to a failure class (ok responses pass null). */
15
38
  export declare function classifyStatus(status: number): FailureReason | null;
@@ -1,26 +1,89 @@
1
1
  /** AUTH/QUOTA consecutive failures >= threshold -> degraded until a success. */
2
2
  const DEGRADE_THRESHOLD = 2;
3
+ // Recovery-probe backoff, awewarm-style: while degraded, each failed probe
4
+ // doubles the wait before the next one, so an exhausted quota isn't pinged at
5
+ // the base cadence for hours on end. Any success clears the degraded state
6
+ // and the backoff with it. Unlike awewarm — whose probes are quota-consuming
7
+ // activations that must back off a full window — a relay's probes are free
8
+ // pings, so the cap escalates with how long the backend has stayed degraded
9
+ // rather than jumping straight to window-length silence:
10
+ // < 15h cap 5min covers ~3 GLM 5h-window rolls: refresh picked up fast
11
+ // < 45h cap 1h not a window roll anymore — likely needs a human
12
+ // < 105h cap 6h long dead; quiet but still self-healing
13
+ // else cap 24h daily last gasp, keeps auto-recovery alive forever
14
+ const PROBE_BACKOFF_BASE_MS = 30_000;
15
+ const PROBE_FALLBACK_CAP_MS = 24 * 3_600_000;
16
+ const PROBE_CAP_SCHEDULE = [
17
+ { afterMs: 15 * 3_600_000, capMs: 5 * 60_000 },
18
+ { afterMs: 45 * 3_600_000, capMs: 3_600_000 },
19
+ { afterMs: 105 * 3_600_000, capMs: 6 * 3_600_000 },
20
+ { afterMs: Number.POSITIVE_INFINITY, capMs: PROBE_FALLBACK_CAP_MS },
21
+ ];
3
22
  /**
4
23
  * Per-backend health state. Degraded backends are reported in heartbeats and
5
- * the hub stops dispatching to their offerings until they recover.
24
+ * the hub stops dispatching to their offerings until they recover. The
25
+ * ladder is two rungs — healthy -> degraded, latched until a success — which
26
+ * for a relay is what awewarm's deeper ladder collapses to: its intermediate
27
+ * rungs trade probe expense against recovery speed, and a relay's probes are
28
+ * cheap pings, not quota-consuming activations. What does carry over from
29
+ * awewarm is the escalating probe schedule above: the longer a backend has
30
+ * been continuously degraded, the quieter its recovery probes become, down
31
+ * to a daily last gasp that never fully gives up.
6
32
  */
7
33
  export class HealthGate {
34
+ now;
8
35
  consecutive = new Map();
9
36
  degraded = new Map();
37
+ degradedSince = new Map();
38
+ probeDelayMs = new Map();
39
+ probeNotBefore = new Map();
40
+ /** The clock is injected so tests can walk the cap ladder without waiting. */
41
+ constructor(now = Date.now) {
42
+ this.now = now;
43
+ }
10
44
  record(backendId, ok, reason) {
11
45
  if (ok) {
12
46
  this.consecutive.delete(backendId);
13
- this.degraded.delete(backendId);
14
- return;
47
+ const wasDegraded = this.degraded.delete(backendId);
48
+ this.degradedSince.delete(backendId);
49
+ this.probeDelayMs.delete(backendId);
50
+ this.probeNotBefore.delete(backendId);
51
+ return wasDegraded ? 'recovered' : null;
15
52
  }
16
53
  if (reason === undefined || reason === 'CANCELLED')
17
- return;
54
+ return null;
55
+ // failures recorded while already degraded are probe outcomes (admission
56
+ // 503s before dialing, so real traffic can't add any) — back the next
57
+ // probe off. The failure that causes the degradation does not: the first
58
+ // probe should stay immediate so a just-refreshed quota or a fresh login
59
+ // is picked up on the next tick.
60
+ const wasDegraded = this.degraded.has(backendId);
18
61
  const current = this.consecutive.get(backendId);
19
62
  const count = current?.reason === reason ? current.count + 1 : 1;
20
63
  this.consecutive.set(backendId, { reason, count });
64
+ let transition = null;
21
65
  if ((reason === 'AUTH' || reason === 'QUOTA') && count >= DEGRADE_THRESHOLD) {
66
+ if (!wasDegraded) {
67
+ transition = 'degraded';
68
+ this.degradedSince.set(backendId, this.now());
69
+ }
22
70
  this.degraded.set(backendId, { state: 'degraded', reason });
23
71
  }
72
+ if (wasDegraded) {
73
+ const since = this.degradedSince.get(backendId) ?? this.now();
74
+ // The final tier is Infinity, so the fallback is only a type-safe guard.
75
+ const cap = PROBE_CAP_SCHEDULE.find((tier) => this.now() - since < tier.afterMs)?.capMs ??
76
+ PROBE_FALLBACK_CAP_MS;
77
+ const delay = Math.min((this.probeDelayMs.get(backendId) ?? PROBE_BACKOFF_BASE_MS / 2) * 2, cap);
78
+ this.probeDelayMs.set(backendId, delay);
79
+ this.probeNotBefore.set(backendId, this.now() + delay);
80
+ }
81
+ return transition;
82
+ }
83
+ /** Epoch ms before which a recovery probe for this backend should be
84
+ * skipped (backoff); 0 when no failed probe is being held back. */
85
+ probeNotBeforeMs(backendId) {
86
+ return this.probeNotBefore.get(backendId) ?? 0;
24
87
  }
25
88
  isDegraded(backendId) {
26
89
  return this.degraded.has(backendId);
@@ -32,6 +95,16 @@ export class HealthGate {
32
95
  return out;
33
96
  }
34
97
  }
98
+ /** Log a ladder transition where it happened — the request path or a probe
99
+ * loop — so "why is it still degraded" is answerable from the logs. */
100
+ export function logHealthTransition(log, backendId, transition, detail) {
101
+ if (transition === 'degraded') {
102
+ log.warn(`backend ${backendId} degraded${detail ? ` (${detail})` : ''}`);
103
+ }
104
+ else if (transition === 'recovered') {
105
+ log.info(`backend ${backendId} recovered${detail ? ` — ${detail}` : ''}`);
106
+ }
107
+ }
35
108
  /** Map an upstream HTTP status to a failure class (ok responses pass null). */
36
109
  export function classifyStatus(status) {
37
110
  if (status < 400)
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B;;;GAGG;AACH,MAAM,OAAO,UAAU;IACb,WAAW,GAAG,IAAI,GAAG,EAAoD,CAAA;IACzE,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IAEnD,MAAM,CAAC,SAAiB,EAAE,EAAW,EAAE,MAAsB;QAC3D,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW;YAAE,OAAM;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,IAAI,iBAAiB,EAAE,CAAC;YAC5E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;IAED,SAAS;QACP,MAAM,GAAG,GAAkC,EAAE,CAAA;QAC7C,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAA;IACnD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,OAAO,CAAA;IACpD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ export * from './credentials.js';
4
4
  export * from './health.js';
5
5
  export * from './job.js';
6
6
  export * from './probe.js';
7
+ export * from './proxy.js';
@@ -4,4 +4,5 @@ export * from './credentials.js';
4
4
  export * from './health.js';
5
5
  export * from './job.js';
6
6
  export * from './probe.js';
7
+ export * from './proxy.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
@@ -1,6 +1,7 @@
1
- import { buildUpstreamRequest, forceStoreFalse, } from './adapters.js';
1
+ import { buildUpstreamRequest, prepareCodexBody, } from './adapters.js';
2
2
  import { CredentialError, invalidateCodexCredentials } from './credentials.js';
3
- import { classifyStatus } from './health.js';
3
+ import { classifyStatus, logHealthTransition } from './health.js';
4
+ import { codexNetworkHint, fetchUpstream } from './proxy.js';
4
5
  /** Thrown by a sink whose transport died (e.g. a closed tunnel socket): the
5
6
  * job stops silently — no health record, no error frame nobody would read. */
6
7
  export class SinkClosedError extends Error {
@@ -40,8 +41,8 @@ export class UpstreamJob {
40
41
  // inside the try: a malformed URL must flow to sink.error like any other
41
42
  // failure — execute() must never reject
42
43
  const { url, headers } = buildUpstreamRequest(backend, init);
43
- const body = backend.login !== undefined ? forceStoreFalse(init.body) : init.body;
44
- const resp = await fetch(url, {
44
+ const body = backend.login !== undefined ? prepareCodexBody(init.body) : init.body;
45
+ const resp = await fetchUpstream(backend, url, {
45
46
  method: init.method,
46
47
  headers,
47
48
  // GET/HEAD must carry no body, even an empty one
@@ -52,7 +53,7 @@ export class UpstreamJob {
52
53
  clearTimeout(connectTimer);
53
54
  log.debug(`request ${id} upstream ${backend.id} -> ${resp.status}`);
54
55
  const reason = classifyStatus(resp.status);
55
- health.record(backend.id, reason === null, reason ?? undefined);
56
+ logHealthTransition(log, backend.id, health.record(backend.id, reason === null, reason ?? undefined), `upstream ${resp.status}`);
56
57
  // a 401 on a login backend means the token rotated or expired; drop the
57
58
  // cached login so the next request re-reads auth.json
58
59
  if (resp.status === 401 && backend.login !== undefined)
@@ -80,14 +81,14 @@ export class UpstreamJob {
80
81
  // an unreadable login is an auth failure, not a network one: two in a
81
82
  // row degrade the backend like any other AUTH loss
82
83
  log.warn(`request ${id} upstream ${backend.id}: ${err.message}`);
83
- health.record(backend.id, false, 'AUTH');
84
+ logHealthTransition(log, backend.id, health.record(backend.id, false, 'AUTH'));
84
85
  sink.error('BACKEND_LOGIN', err.message);
85
86
  return;
86
87
  }
87
88
  const timedOut = err instanceof ConnectTimeoutError;
88
89
  log.warn(`request ${id} upstream ${backend.id} failed: ${err instanceof Error ? err.message : err}`);
89
- health.record(backend.id, false, 'NETWORK');
90
- sink.error(timedOut ? 'BACKEND_TIMEOUT' : 'BACKEND_UNREACHABLE', `upstream ${backend.id} failed: ${err instanceof Error ? err.message : String(err)}`);
90
+ logHealthTransition(log, backend.id, health.record(backend.id, false, 'NETWORK'), err instanceof Error ? err.message : undefined);
91
+ sink.error(timedOut ? 'BACKEND_TIMEOUT' : 'BACKEND_UNREACHABLE', `upstream ${backend.id} failed: ${err instanceof Error ? err.message : String(err)}${codexNetworkHint(backend)}`);
91
92
  }
92
93
  }
93
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ResolvedBackend } from './adapters.js';
2
+ export interface CodexProxyOptions {
3
+ httpProxy?: string;
4
+ httpsProxy?: string;
5
+ noProxy?: string;
6
+ source: 'HTTP_PROXY' | 'HTTPS_PROXY' | 'ALL_PROXY';
7
+ }
8
+ /** Proxy settings for the official Codex account upstream only.
9
+ *
10
+ * EnvHttpProxyAgent implements HTTP_PROXY/HTTPS_PROXY/NO_PROXY matching. We
11
+ * also accept ALL_PROXY because coding-agent proxy setups commonly provide it.
12
+ * SOCKS URLs are deliberately ignored: the producer has no SOCKS dependency,
13
+ * and silently treating one as HTTP would send account traffic incorrectly.
14
+ */
15
+ export declare function codexProxyOptions(backend: Pick<ResolvedBackend, 'login'>, env?: NodeJS.ProcessEnv): CodexProxyOptions | null;
16
+ /** Fetch an upstream request, honoring proxy environment variables only for a
17
+ * producer machine's Codex subscription login. */
18
+ export declare function fetchUpstream(backend: Pick<ResolvedBackend, 'login'>, url: string, init: RequestInit): Promise<Response>;
19
+ /** A safe, actionable suffix for network errors. Never include proxy URLs:
20
+ * they can contain credentials. */
21
+ export declare function codexNetworkHint(backend: Pick<ResolvedBackend, 'login'>): string;