codex-multi-auth 1.2.4 → 1.2.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 (120) hide show
  1. package/README.md +23 -9
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +212 -24
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/accounts.d.ts.map +1 -1
  6. package/dist/lib/accounts.js +8 -0
  7. package/dist/lib/accounts.js.map +1 -1
  8. package/dist/lib/auto-update-checker.d.ts.map +1 -1
  9. package/dist/lib/auto-update-checker.js +72 -36
  10. package/dist/lib/auto-update-checker.js.map +1 -1
  11. package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
  12. package/dist/lib/codex-manager/commands/forecast.js +1 -76
  13. package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
  14. package/dist/lib/codex-manager/commands/report.d.ts +4 -1
  15. package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
  16. package/dist/lib/codex-manager/commands/report.js +128 -75
  17. package/dist/lib/codex-manager/commands/report.js.map +1 -1
  18. package/dist/lib/codex-manager/commands/status.d.ts +4 -1
  19. package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
  20. package/dist/lib/codex-manager/commands/status.js +48 -1
  21. package/dist/lib/codex-manager/commands/status.js.map +1 -1
  22. package/dist/lib/codex-manager/forecast-report-shared.d.ts +35 -0
  23. package/dist/lib/codex-manager/forecast-report-shared.d.ts.map +1 -0
  24. package/dist/lib/codex-manager/forecast-report-shared.js +79 -0
  25. package/dist/lib/codex-manager/forecast-report-shared.js.map +1 -0
  26. package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
  27. package/dist/lib/codex-manager/repair-commands.js +20 -12
  28. package/dist/lib/codex-manager/repair-commands.js.map +1 -1
  29. package/dist/lib/codex-manager.d.ts.map +1 -1
  30. package/dist/lib/codex-manager.js +39 -8
  31. package/dist/lib/codex-manager.js.map +1 -1
  32. package/dist/lib/config.d.ts +4 -0
  33. package/dist/lib/config.d.ts.map +1 -1
  34. package/dist/lib/config.js +42 -5
  35. package/dist/lib/config.js.map +1 -1
  36. package/dist/lib/index.d.ts +1 -1
  37. package/dist/lib/index.d.ts.map +1 -1
  38. package/dist/lib/index.js +1 -1
  39. package/dist/lib/index.js.map +1 -1
  40. package/dist/lib/parallel-probe.d.ts.map +1 -1
  41. package/dist/lib/parallel-probe.js +28 -1
  42. package/dist/lib/parallel-probe.js.map +1 -1
  43. package/dist/lib/preemptive-quota-scheduler.d.ts.map +1 -1
  44. package/dist/lib/preemptive-quota-scheduler.js +16 -6
  45. package/dist/lib/preemptive-quota-scheduler.js.map +1 -1
  46. package/dist/lib/proactive-refresh.d.ts.map +1 -1
  47. package/dist/lib/proactive-refresh.js +16 -5
  48. package/dist/lib/proactive-refresh.js.map +1 -1
  49. package/dist/lib/quota-cache.d.ts.map +1 -1
  50. package/dist/lib/quota-cache.js +36 -30
  51. package/dist/lib/quota-cache.js.map +1 -1
  52. package/dist/lib/quota-probe.d.ts.map +1 -1
  53. package/dist/lib/quota-probe.js +5 -0
  54. package/dist/lib/quota-probe.js.map +1 -1
  55. package/dist/lib/request/failure-policy.js +1 -1
  56. package/dist/lib/request/failure-policy.js.map +1 -1
  57. package/dist/lib/request/fetch-helpers.js +12 -4
  58. package/dist/lib/request/fetch-helpers.js.map +1 -1
  59. package/dist/lib/request/rate-limit-backoff.d.ts +24 -4
  60. package/dist/lib/request/rate-limit-backoff.d.ts.map +1 -1
  61. package/dist/lib/request/rate-limit-backoff.js +84 -19
  62. package/dist/lib/request/rate-limit-backoff.js.map +1 -1
  63. package/dist/lib/request/request-attempt-budget.d.ts +24 -0
  64. package/dist/lib/request/request-attempt-budget.d.ts.map +1 -0
  65. package/dist/lib/request/request-attempt-budget.js +49 -0
  66. package/dist/lib/request/request-attempt-budget.js.map +1 -0
  67. package/dist/lib/request/request-resilience.d.ts +10 -0
  68. package/dist/lib/request/request-resilience.d.ts.map +1 -0
  69. package/dist/lib/request/request-resilience.js +80 -0
  70. package/dist/lib/request/request-resilience.js.map +1 -0
  71. package/dist/lib/request/response-metadata.js +1 -1
  72. package/dist/lib/request/response-metadata.js.map +1 -1
  73. package/dist/lib/request/stream-failover.d.ts +5 -1
  74. package/dist/lib/request/stream-failover.d.ts.map +1 -1
  75. package/dist/lib/request/stream-failover.js +8 -1
  76. package/dist/lib/request/stream-failover.js.map +1 -1
  77. package/dist/lib/runtime/live-sync-entry.d.ts +7 -0
  78. package/dist/lib/runtime/live-sync-entry.d.ts.map +1 -1
  79. package/dist/lib/runtime/live-sync-entry.js +4 -0
  80. package/dist/lib/runtime/live-sync-entry.js.map +1 -1
  81. package/dist/lib/runtime/live-sync.d.ts +3 -0
  82. package/dist/lib/runtime/live-sync.d.ts.map +1 -1
  83. package/dist/lib/runtime/live-sync.js +17 -3
  84. package/dist/lib/runtime/live-sync.js.map +1 -1
  85. package/dist/lib/runtime/runtime-observability.d.ts +46 -0
  86. package/dist/lib/runtime/runtime-observability.d.ts.map +1 -0
  87. package/dist/lib/runtime/runtime-observability.js +167 -0
  88. package/dist/lib/runtime/runtime-observability.js.map +1 -0
  89. package/dist/lib/runtime/runtime-services.d.ts +3 -0
  90. package/dist/lib/runtime/runtime-services.d.ts.map +1 -1
  91. package/dist/lib/runtime/runtime-services.js +19 -7
  92. package/dist/lib/runtime/runtime-services.js.map +1 -1
  93. package/dist/lib/schemas.d.ts +11 -0
  94. package/dist/lib/schemas.d.ts.map +1 -1
  95. package/dist/lib/schemas.js +5 -1
  96. package/dist/lib/schemas.js.map +1 -1
  97. package/dist/lib/session-affinity.d.ts +4 -1
  98. package/dist/lib/session-affinity.d.ts.map +1 -1
  99. package/dist/lib/session-affinity.js +26 -1
  100. package/dist/lib/session-affinity.js.map +1 -1
  101. package/dist/lib/storage/account-clear.d.ts.map +1 -1
  102. package/dist/lib/storage/account-clear.js +43 -13
  103. package/dist/lib/storage/account-clear.js.map +1 -1
  104. package/dist/lib/storage/health.d.ts +22 -0
  105. package/dist/lib/storage/health.d.ts.map +1 -0
  106. package/dist/lib/storage/health.js +15 -0
  107. package/dist/lib/storage/health.js.map +1 -0
  108. package/dist/lib/storage/migrations.d.ts +1 -1
  109. package/dist/lib/storage/migrations.d.ts.map +1 -1
  110. package/dist/lib/storage.d.ts +3 -1
  111. package/dist/lib/storage.d.ts.map +1 -1
  112. package/dist/lib/storage.js +108 -4
  113. package/dist/lib/storage.js.map +1 -1
  114. package/package.json +1 -1
  115. package/scripts/codex-multi-auth.js +1 -1
  116. package/scripts/codex.js +205 -20
  117. package/dist/lib/runtime/metrics.d.ts +0 -29
  118. package/dist/lib/runtime/metrics.d.ts.map +0 -1
  119. package/dist/lib/runtime/metrics.js +0 -97
  120. package/dist/lib/runtime/metrics.js.map +0 -1
@@ -24,6 +24,7 @@ import { clearFlaggedAccountsEntry } from "./storage/flagged-entry.js";
24
24
  import { loadFlaggedAccountsEntry } from "./storage/flagged-load-entry.js";
25
25
  import { saveFlaggedAccountsEntry } from "./storage/flagged-save-entry.js";
26
26
  import { normalizeFlaggedStorage } from "./storage/flagged-storage.js";
27
+ import { createStorageHealthSummary, } from "./storage/health.js";
27
28
  import { clearFlaggedAccountsOnDisk, loadFlaggedAccountsState, saveFlaggedAccountsUnlockedToDisk, } from "./storage/flagged-storage-io.js";
28
29
  import { computeSha256 } from "./storage/hash.js";
29
30
  import { ensureCodexGitignoreEntry } from "./storage/gitignore.js";
@@ -872,7 +873,106 @@ export async function getRestoreAssessment() {
872
873
  hasResetMarker: existsSync(resetMarkerPath),
873
874
  });
874
875
  }
875
- async function loadAccountsFromJournal(path) {
876
+ export async function inspectStorageHealth() {
877
+ const path = getStoragePath();
878
+ const walPath = getAccountsWalPath(path);
879
+ const resetMarkerPath = getIntentionalResetMarkerPath(path);
880
+ if (existsSync(resetMarkerPath)) {
881
+ return createStorageHealthSummary({
882
+ state: "intentional-reset",
883
+ path,
884
+ walPath,
885
+ resetMarkerPath,
886
+ details: "intentional reset marker present",
887
+ });
888
+ }
889
+ if (!existsSync(path)) {
890
+ const walRecovered = await loadAccountsFromJournal(path, { silent: true });
891
+ if (walRecovered && walRecovered.accounts.length > 0) {
892
+ return createStorageHealthSummary({
893
+ state: "recoverable",
894
+ path,
895
+ walPath,
896
+ resetMarkerPath,
897
+ details: "primary storage missing but WAL recovery is available",
898
+ recoverySource: "wal",
899
+ });
900
+ }
901
+ return createStorageHealthSummary({
902
+ state: "empty",
903
+ path,
904
+ walPath,
905
+ resetMarkerPath,
906
+ details: "storage file is missing",
907
+ });
908
+ }
909
+ try {
910
+ const { normalized, schemaErrors } = await loadAccountsFromPath(path, {
911
+ normalizeAccountStorage,
912
+ isRecord,
913
+ });
914
+ if (normalized && normalized.accounts.length > 0) {
915
+ return createStorageHealthSummary({
916
+ state: "healthy",
917
+ path,
918
+ walPath,
919
+ resetMarkerPath,
920
+ schemaErrors,
921
+ });
922
+ }
923
+ if (normalized) {
924
+ return createStorageHealthSummary({
925
+ state: "empty",
926
+ path,
927
+ walPath,
928
+ resetMarkerPath,
929
+ schemaErrors,
930
+ details: "storage parsed but contains no accounts",
931
+ });
932
+ }
933
+ const walRecovered = await loadAccountsFromJournal(path, { silent: true });
934
+ if (walRecovered && walRecovered.accounts.length > 0) {
935
+ return createStorageHealthSummary({
936
+ state: "recoverable",
937
+ path,
938
+ walPath,
939
+ resetMarkerPath,
940
+ schemaErrors,
941
+ details: "primary storage is invalid but WAL recovery is available",
942
+ recoverySource: "wal",
943
+ });
944
+ }
945
+ return createStorageHealthSummary({
946
+ state: "corrupt",
947
+ path,
948
+ walPath,
949
+ resetMarkerPath,
950
+ schemaErrors,
951
+ details: "storage could not be normalized",
952
+ });
953
+ }
954
+ catch (error) {
955
+ const walRecovered = await loadAccountsFromJournal(path, { silent: true });
956
+ if (walRecovered && walRecovered.accounts.length > 0) {
957
+ return createStorageHealthSummary({
958
+ state: "recoverable",
959
+ path,
960
+ walPath,
961
+ resetMarkerPath,
962
+ details: error instanceof Error ? error.message : String(error),
963
+ recoverySource: "wal",
964
+ });
965
+ }
966
+ return createStorageHealthSummary({
967
+ state: "corrupt",
968
+ path,
969
+ walPath,
970
+ resetMarkerPath,
971
+ details: error instanceof Error ? error.message : String(error),
972
+ });
973
+ }
974
+ }
975
+ async function loadAccountsFromJournal(path, options = {}) {
876
976
  const walPath = getAccountsWalPath(path);
877
977
  const resetMarkerPath = getIntentionalResetMarkerPath(path);
878
978
  if (existsSync(resetMarkerPath)) {
@@ -893,19 +993,23 @@ async function loadAccountsFromJournal(path) {
893
993
  return null;
894
994
  const computed = computeSha256(entry.content);
895
995
  if (computed !== entry.checksum) {
896
- log.warn("Account journal checksum mismatch", { path: walPath });
996
+ if (!options.silent) {
997
+ log.warn("Account journal checksum mismatch", { path: walPath });
998
+ }
897
999
  return null;
898
1000
  }
899
1001
  const data = JSON.parse(entry.content);
900
1002
  const { normalized } = parseAndNormalizeStorage(data, normalizeAccountStorage, isRecord);
901
1003
  if (!normalized)
902
1004
  return null;
903
- log.warn("Recovered account storage from WAL journal", { path, walPath });
1005
+ if (!options.silent) {
1006
+ log.warn("Recovered account storage from WAL journal", { path, walPath });
1007
+ }
904
1008
  return normalized;
905
1009
  }
906
1010
  catch (error) {
907
1011
  const code = error.code;
908
- if (code !== "ENOENT") {
1012
+ if (code !== "ENOENT" && !options.silent) {
909
1013
  log.warn("Failed to load account WAL journal", {
910
1014
  path: walPath,
911
1015
  error: String(error),
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-multi-auth",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "description": "Multi-account OAuth manager and codex auth wrapper for the official @openai/codex CLI, with switching, health checks, and recovery tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  // @ts-check
4
4
 
package/scripts/codex.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { spawn } from "node:child_process";
4
4
  import {
@@ -653,18 +653,201 @@ function rewriteConfigTomlReasoningEffort(rawConfig, requestedModel) {
653
653
  return ensureTrailingNewline(nextLines.join(lineEnding));
654
654
  }
655
655
 
656
- function resolveOriginalMultiAuthDir(env) {
657
- const explicit = (env.CODEX_MULTI_AUTH_DIR ?? "").trim();
658
- if (explicit.length > 0) {
659
- return explicit;
660
- }
661
- return undefined;
662
- }
663
-
664
- function createCompatibilityCodexHome(
665
- processedArgs,
666
- requestedModel,
667
- baseEnv = process.env,
656
+ function resolveOriginalMultiAuthDir(env) {
657
+ const explicit = (env.CODEX_MULTI_AUTH_DIR ?? "").trim();
658
+ if (explicit.length > 0) {
659
+ return explicit;
660
+ }
661
+ return undefined;
662
+ }
663
+
664
+ async function loadRuntimeObservabilityModule() {
665
+ try {
666
+ const mod = await import("../dist/lib/runtime/runtime-observability.js");
667
+ if (
668
+ typeof mod.loadPersistedRuntimeObservabilitySnapshot !== "function" ||
669
+ typeof mod.mutateRuntimeObservabilitySnapshot !== "function"
670
+ ) {
671
+ return null;
672
+ }
673
+ return mod;
674
+ } catch (error) {
675
+ if (
676
+ error &&
677
+ typeof error === "object" &&
678
+ "code" in error &&
679
+ error.code === "ERR_MODULE_NOT_FOUND"
680
+ ) {
681
+ return null;
682
+ }
683
+ throw error;
684
+ }
685
+ }
686
+
687
+ function isPureHelpOrVersionArgs(rawArgs) {
688
+ if (!Array.isArray(rawArgs) || rawArgs.length === 0) {
689
+ return false;
690
+ }
691
+ return rawArgs.every((arg) =>
692
+ typeof arg === "string" && ["--help", "-h", "--version", "-V"].includes(arg),
693
+ );
694
+ }
695
+
696
+ function consumesNextArg(arg) {
697
+ return new Set([
698
+ "-c",
699
+ "--config",
700
+ "--enable",
701
+ "--disable",
702
+ "--remote",
703
+ "--remote-auth-token-env",
704
+ "-i",
705
+ "--image",
706
+ "-m",
707
+ "--model",
708
+ "--local-provider",
709
+ "-p",
710
+ "--profile",
711
+ "-s",
712
+ "--sandbox",
713
+ "-a",
714
+ "--ask-for-approval",
715
+ "-C",
716
+ "--cd",
717
+ "--add-dir",
718
+ "--output-schema",
719
+ "--color",
720
+ "-o",
721
+ "--output-last-message",
722
+ ]).has(arg);
723
+ }
724
+
725
+ function shouldTrackForwardedRuntimeObservability(rawArgs) {
726
+ if (!Array.isArray(rawArgs) || rawArgs.length === 0) {
727
+ return true;
728
+ }
729
+ if (isPureHelpOrVersionArgs(rawArgs)) {
730
+ return false;
731
+ }
732
+
733
+ const requestCommands = new Set(["exec", "review", "resume", "fork"]);
734
+ const nonRequestCommands = new Set([
735
+ "help",
736
+ "completion",
737
+ "login",
738
+ "logout",
739
+ "mcp",
740
+ "mcp-server",
741
+ "app-server",
742
+ "sandbox",
743
+ "debug",
744
+ "apply",
745
+ "cloud",
746
+ "features",
747
+ "auth",
748
+ ]);
749
+
750
+ for (let i = 0; i < rawArgs.length; i += 1) {
751
+ const arg = rawArgs[i];
752
+ if (typeof arg !== "string" || arg.length === 0) continue;
753
+ if (arg === "--") {
754
+ return i + 1 < rawArgs.length;
755
+ }
756
+ if (arg.startsWith("--config=")) {
757
+ continue;
758
+ }
759
+ if (arg.startsWith("--") || (arg.startsWith("-") && arg !== "-")) {
760
+ if (consumesNextArg(arg)) {
761
+ i += 1;
762
+ }
763
+ continue;
764
+ }
765
+ if (requestCommands.has(arg)) {
766
+ return true;
767
+ }
768
+ if (nonRequestCommands.has(arg)) {
769
+ return false;
770
+ }
771
+ return true;
772
+ }
773
+
774
+ return true;
775
+ }
776
+
777
+ function createRuntimeSnapshotChangeToken(snapshot) {
778
+ return JSON.stringify({
779
+ updatedAt: snapshot?.updatedAt ?? null,
780
+ responsesRequests: snapshot?.responsesRequests ?? null,
781
+ authRefreshRequests: snapshot?.authRefreshRequests ?? null,
782
+ diagnosticProbeRequests: snapshot?.diagnosticProbeRequests ?? null,
783
+ totalRequests: snapshot?.runtimeMetrics?.totalRequests ?? null,
784
+ successfulRequests: snapshot?.runtimeMetrics?.successfulRequests ?? null,
785
+ failedRequests: snapshot?.runtimeMetrics?.failedRequests ?? null,
786
+ lastRequestAt: snapshot?.runtimeMetrics?.lastRequestAt ?? null,
787
+ });
788
+ }
789
+
790
+ async function loadRuntimeSnapshotWithRetry(runtimeObservabilityModule) {
791
+ let snapshot = null;
792
+ for (let attempt = 0; attempt < 5; attempt += 1) {
793
+ snapshot =
794
+ (await runtimeObservabilityModule.loadPersistedRuntimeObservabilitySnapshot()) ??
795
+ null;
796
+ if (snapshot) {
797
+ return snapshot;
798
+ }
799
+ if (attempt < 4) {
800
+ await new Promise((resolve) => setTimeout(resolve, 20));
801
+ }
802
+ }
803
+ return snapshot;
804
+ }
805
+
806
+ async function withForwardedRuntimeObservability(rawArgs, runForwardedCommand) {
807
+ if (!shouldTrackForwardedRuntimeObservability(rawArgs)) {
808
+ return runForwardedCommand();
809
+ }
810
+
811
+ const runtimeObservabilityModule = await loadRuntimeObservabilityModule();
812
+ if (!runtimeObservabilityModule) {
813
+ return runForwardedCommand();
814
+ }
815
+
816
+ const beforeSnapshot = await loadRuntimeSnapshotWithRetry(runtimeObservabilityModule);
817
+ const beforeToken = createRuntimeSnapshotChangeToken(beforeSnapshot);
818
+ const startedAt = Date.now();
819
+ const exitCode = await runForwardedCommand();
820
+ const afterSnapshot = await loadRuntimeSnapshotWithRetry(runtimeObservabilityModule);
821
+ const afterToken = createRuntimeSnapshotChangeToken(afterSnapshot);
822
+ if (afterToken !== beforeToken) {
823
+ return exitCode;
824
+ }
825
+
826
+ runtimeObservabilityModule.mutateRuntimeObservabilitySnapshot((snapshot) => {
827
+ snapshot.currentRequestId = null;
828
+ snapshot.responsesRequests += 1;
829
+ snapshot.runtimeMetrics.totalRequests += 1;
830
+ snapshot.runtimeMetrics.responsesRequests += 1;
831
+ snapshot.runtimeMetrics.cumulativeLatencyMs += Math.max(0, Date.now() - startedAt);
832
+ snapshot.runtimeMetrics.lastRequestAt = Date.now();
833
+ if (!snapshot.runtimeMetrics.startedAt) {
834
+ snapshot.runtimeMetrics.startedAt = startedAt;
835
+ }
836
+ if (exitCode === 0) {
837
+ snapshot.runtimeMetrics.successfulRequests += 1;
838
+ snapshot.runtimeMetrics.lastError = null;
839
+ } else {
840
+ snapshot.runtimeMetrics.failedRequests += 1;
841
+ snapshot.runtimeMetrics.lastError = `forwarded-codex-exit:${exitCode}`;
842
+ }
843
+ });
844
+ return exitCode;
845
+ }
846
+
847
+ function createCompatibilityCodexHome(
848
+ processedArgs,
849
+ requestedModel,
850
+ baseEnv = process.env,
668
851
  ) {
669
852
  if (!requestedModel) {
670
853
  return { args: processedArgs, env: baseEnv, cleanup: undefined };
@@ -1149,13 +1332,15 @@ async function main() {
1149
1332
  forwardArgs,
1150
1333
  requestedModel,
1151
1334
  );
1152
- return forwardToRealCodex(
1153
- realCodexBin,
1154
- compatibility.args,
1155
- compatibility.env,
1156
- compatibility.cleanup,
1157
- );
1158
- }
1335
+ return withForwardedRuntimeObservability(rawArgs, () =>
1336
+ forwardToRealCodex(
1337
+ realCodexBin,
1338
+ compatibility.args,
1339
+ compatibility.env,
1340
+ compatibility.cleanup,
1341
+ ),
1342
+ );
1343
+ }
1159
1344
 
1160
1345
  const exitCode = await main();
1161
1346
  process.exitCode = normalizeExitCode(exitCode);
@@ -1,29 +0,0 @@
1
- import type { FailoverMode } from "../request/failure-policy.js";
2
- export declare const MAX_RETRY_HINT_MS: number;
3
- export type RuntimeMetrics = {
4
- startedAt: number;
5
- totalRequests: number;
6
- successfulRequests: number;
7
- failedRequests: number;
8
- rateLimitedResponses: number;
9
- serverErrors: number;
10
- networkErrors: number;
11
- userAborts: number;
12
- authRefreshFailures: number;
13
- emptyResponseRetries: number;
14
- accountRotations: number;
15
- sameAccountRetries: number;
16
- streamFailoverAttempts: number;
17
- streamFailoverRecoveries: number;
18
- streamFailoverCrossAccountRecoveries: number;
19
- cumulativeLatencyMs: number;
20
- lastRequestAt: number | null;
21
- lastError: string | null;
22
- };
23
- export declare function createRuntimeMetrics(now?: number): RuntimeMetrics;
24
- export declare function parseFailoverMode(value: string | undefined): FailoverMode;
25
- export declare function parseEnvInt(value: string | undefined): number | undefined;
26
- export declare function clampRetryHintMs(value: number): number | null;
27
- export declare function parseRetryAfterHintMs(headers: Headers, now?: number): number | null;
28
- export declare function sanitizeResponseHeadersForLog(headers: Headers): Record<string, string>;
29
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../lib/runtime/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,iBAAiB,QAAgB,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oCAAoC,EAAE,MAAM,CAAC;IAC7C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,SAAa,GAAG,cAAc,CAqBrE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAKzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAIzE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,OAAO,EAChB,GAAG,SAAa,GACd,MAAM,GAAG,IAAI,CAyBf;AAED,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BxB"}