@deepthonk/providers 0.1.5 → 0.2.1

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.
@@ -29,14 +29,14 @@ export declare const providerReplaySchema: z.ZodObject<{
29
29
  model: z.ZodString;
30
30
  supportsJsonMode: z.ZodOptional<z.ZodBoolean>;
31
31
  }, "strict", z.ZodTypeAny, {
32
- model: string;
33
32
  provider: string;
33
+ model: string;
34
34
  baseUrl?: string | undefined;
35
35
  apiKeyEnv?: string | undefined;
36
36
  supportsJsonMode?: boolean | undefined;
37
37
  }, {
38
- model: string;
39
38
  provider: string;
39
+ model: string;
40
40
  baseUrl?: string | undefined;
41
41
  apiKeyEnv?: string | undefined;
42
42
  supportsJsonMode?: boolean | undefined;
@@ -48,14 +48,14 @@ export declare const providerReplaySchema: z.ZodObject<{
48
48
  model: z.ZodString;
49
49
  supportsJsonMode: z.ZodOptional<z.ZodBoolean>;
50
50
  }, "strict", z.ZodTypeAny, {
51
- model: string;
52
51
  provider: string;
52
+ model: string;
53
53
  baseUrl?: string | undefined;
54
54
  apiKeyEnv?: string | undefined;
55
55
  supportsJsonMode?: boolean | undefined;
56
56
  }, {
57
- model: string;
58
57
  provider: string;
58
+ model: string;
59
59
  baseUrl?: string | undefined;
60
60
  apiKeyEnv?: string | undefined;
61
61
  supportsJsonMode?: boolean | undefined;
@@ -67,14 +67,14 @@ export declare const providerReplaySchema: z.ZodObject<{
67
67
  model: z.ZodString;
68
68
  supportsJsonMode: z.ZodOptional<z.ZodBoolean>;
69
69
  }, "strict", z.ZodTypeAny, {
70
- model: string;
71
70
  provider: string;
71
+ model: string;
72
72
  baseUrl?: string | undefined;
73
73
  apiKeyEnv?: string | undefined;
74
74
  supportsJsonMode?: boolean | undefined;
75
75
  }, {
76
- model: string;
77
76
  provider: string;
77
+ model: string;
78
78
  baseUrl?: string | undefined;
79
79
  apiKeyEnv?: string | undefined;
80
80
  supportsJsonMode?: boolean | undefined;
@@ -86,72 +86,72 @@ export declare const providerReplaySchema: z.ZodObject<{
86
86
  model: z.ZodString;
87
87
  supportsJsonMode: z.ZodOptional<z.ZodBoolean>;
88
88
  }, "strict", z.ZodTypeAny, {
89
- model: string;
90
89
  provider: string;
90
+ model: string;
91
91
  baseUrl?: string | undefined;
92
92
  apiKeyEnv?: string | undefined;
93
93
  supportsJsonMode?: boolean | undefined;
94
94
  }, {
95
- model: string;
96
95
  provider: string;
96
+ model: string;
97
97
  baseUrl?: string | undefined;
98
98
  apiKeyEnv?: string | undefined;
99
99
  supportsJsonMode?: boolean | undefined;
100
100
  }>>;
101
101
  }, "strict", z.ZodTypeAny, {
102
102
  generator?: {
103
- model: string;
104
103
  provider: string;
104
+ model: string;
105
105
  baseUrl?: string | undefined;
106
106
  apiKeyEnv?: string | undefined;
107
107
  supportsJsonMode?: boolean | undefined;
108
108
  } | undefined;
109
109
  mutator?: {
110
- model: string;
111
110
  provider: string;
111
+ model: string;
112
112
  baseUrl?: string | undefined;
113
113
  apiKeyEnv?: string | undefined;
114
114
  supportsJsonMode?: boolean | undefined;
115
115
  } | undefined;
116
116
  judge?: {
117
- model: string;
118
117
  provider: string;
118
+ model: string;
119
119
  baseUrl?: string | undefined;
120
120
  apiKeyEnv?: string | undefined;
121
121
  supportsJsonMode?: boolean | undefined;
122
122
  } | undefined;
123
123
  finalizer?: {
124
- model: string;
125
124
  provider: string;
125
+ model: string;
126
126
  baseUrl?: string | undefined;
127
127
  apiKeyEnv?: string | undefined;
128
128
  supportsJsonMode?: boolean | undefined;
129
129
  } | undefined;
130
130
  }, {
131
131
  generator?: {
132
- model: string;
133
132
  provider: string;
133
+ model: string;
134
134
  baseUrl?: string | undefined;
135
135
  apiKeyEnv?: string | undefined;
136
136
  supportsJsonMode?: boolean | undefined;
137
137
  } | undefined;
138
138
  mutator?: {
139
- model: string;
140
139
  provider: string;
140
+ model: string;
141
141
  baseUrl?: string | undefined;
142
142
  apiKeyEnv?: string | undefined;
143
143
  supportsJsonMode?: boolean | undefined;
144
144
  } | undefined;
145
145
  judge?: {
146
- model: string;
147
146
  provider: string;
147
+ model: string;
148
148
  baseUrl?: string | undefined;
149
149
  apiKeyEnv?: string | undefined;
150
150
  supportsJsonMode?: boolean | undefined;
151
151
  } | undefined;
152
152
  finalizer?: {
153
- model: string;
154
153
  provider: string;
154
+ model: string;
155
155
  baseUrl?: string | undefined;
156
156
  apiKeyEnv?: string | undefined;
157
157
  supportsJsonMode?: boolean | undefined;
@@ -163,15 +163,15 @@ export declare const providerReplaySchema: z.ZodObject<{
163
163
  speedPriority: z.ZodOptional<z.ZodNumber>;
164
164
  intelligencePriority: z.ZodOptional<z.ZodNumber>;
165
165
  }, "strict", z.ZodTypeAny, {
166
+ modelHints?: string[] | undefined;
166
167
  costPriority?: number | undefined;
167
168
  speedPriority?: number | undefined;
168
169
  intelligencePriority?: number | undefined;
169
- modelHints?: string[] | undefined;
170
170
  }, {
171
+ modelHints?: string[] | undefined;
171
172
  costPriority?: number | undefined;
172
173
  speedPriority?: number | undefined;
173
174
  intelligencePriority?: number | undefined;
174
- modelHints?: string[] | undefined;
175
175
  }>>;
176
176
  routeFingerprint: z.ZodOptional<z.ZodString>;
177
177
  }, "strict", z.ZodTypeAny, {
@@ -188,39 +188,39 @@ export declare const providerReplaySchema: z.ZodObject<{
188
188
  apiKeyEnv?: string | undefined;
189
189
  roleProviders?: {
190
190
  generator?: {
191
- model: string;
192
191
  provider: string;
192
+ model: string;
193
193
  baseUrl?: string | undefined;
194
194
  apiKeyEnv?: string | undefined;
195
195
  supportsJsonMode?: boolean | undefined;
196
196
  } | undefined;
197
197
  mutator?: {
198
- model: string;
199
198
  provider: string;
199
+ model: string;
200
200
  baseUrl?: string | undefined;
201
201
  apiKeyEnv?: string | undefined;
202
202
  supportsJsonMode?: boolean | undefined;
203
203
  } | undefined;
204
204
  judge?: {
205
- model: string;
206
205
  provider: string;
206
+ model: string;
207
207
  baseUrl?: string | undefined;
208
208
  apiKeyEnv?: string | undefined;
209
209
  supportsJsonMode?: boolean | undefined;
210
210
  } | undefined;
211
211
  finalizer?: {
212
- model: string;
213
212
  provider: string;
213
+ model: string;
214
214
  baseUrl?: string | undefined;
215
215
  apiKeyEnv?: string | undefined;
216
216
  supportsJsonMode?: boolean | undefined;
217
217
  } | undefined;
218
218
  } | undefined;
219
219
  samplingPreferences?: {
220
+ modelHints?: string[] | undefined;
220
221
  costPriority?: number | undefined;
221
222
  speedPriority?: number | undefined;
222
223
  intelligencePriority?: number | undefined;
223
- modelHints?: string[] | undefined;
224
224
  } | undefined;
225
225
  }, {
226
226
  provider: string;
@@ -236,44 +236,47 @@ export declare const providerReplaySchema: z.ZodObject<{
236
236
  supportsJsonMode?: boolean | undefined;
237
237
  roleProviders?: {
238
238
  generator?: {
239
- model: string;
240
239
  provider: string;
240
+ model: string;
241
241
  baseUrl?: string | undefined;
242
242
  apiKeyEnv?: string | undefined;
243
243
  supportsJsonMode?: boolean | undefined;
244
244
  } | undefined;
245
245
  mutator?: {
246
- model: string;
247
246
  provider: string;
247
+ model: string;
248
248
  baseUrl?: string | undefined;
249
249
  apiKeyEnv?: string | undefined;
250
250
  supportsJsonMode?: boolean | undefined;
251
251
  } | undefined;
252
252
  judge?: {
253
- model: string;
254
253
  provider: string;
254
+ model: string;
255
255
  baseUrl?: string | undefined;
256
256
  apiKeyEnv?: string | undefined;
257
257
  supportsJsonMode?: boolean | undefined;
258
258
  } | undefined;
259
259
  finalizer?: {
260
- model: string;
261
260
  provider: string;
261
+ model: string;
262
262
  baseUrl?: string | undefined;
263
263
  apiKeyEnv?: string | undefined;
264
264
  supportsJsonMode?: boolean | undefined;
265
265
  } | undefined;
266
266
  } | undefined;
267
267
  samplingPreferences?: {
268
+ modelHints?: string[] | undefined;
268
269
  costPriority?: number | undefined;
269
270
  speedPriority?: number | undefined;
270
271
  intelligencePriority?: number | undefined;
271
- modelHints?: string[] | undefined;
272
272
  } | undefined;
273
273
  }>;
274
274
  export type ProviderReplay = z.infer<typeof providerReplaySchema>;
275
275
  export declare function providerReplayFromConfig(config: ProviderConfig): ProviderReplay;
276
276
  export declare function parseProviderReplay(value: unknown): ProviderReplay | undefined;
277
- export declare function providerConfigFromReplay(replay: ProviderReplay, retry?: ProviderConfig["retry"]): ProviderConfig;
277
+ export declare function providerConfigFromReplay(replay: ProviderReplay, retry?: ProviderConfig["retry"], options?: {
278
+ providerMaxConcurrency?: number;
279
+ samplingTransport?: ProviderConfig["samplingTransport"];
280
+ }): ProviderConfig;
278
281
  export declare function providerRouteFingerprint(replay: Omit<ProviderReplay, "routeFingerprint"> | ProviderReplay): string;
279
282
  export declare function assertProviderReplayFingerprint(replay: ProviderReplay): void;
@@ -79,17 +79,19 @@ export function parseProviderReplay(value) {
79
79
  assertProviderReplayFingerprint(parsed.data);
80
80
  return parsed.data;
81
81
  }
82
- export function providerConfigFromReplay(replay, retry) {
82
+ export function providerConfigFromReplay(replay, retry, options = {}) {
83
83
  assertProviderReplayFingerprint(replay);
84
84
  return resolveProviderConfig({
85
85
  provider: replay.provider,
86
86
  routeFingerprint: replay.routeFingerprint,
87
+ providerMaxConcurrency: options.providerMaxConcurrency,
87
88
  baseUrl: replay.baseUrl,
88
89
  apiKeyEnv: replay.apiKeyEnv,
89
90
  supportsJsonMode: replay.supportsJsonMode,
90
91
  models: replay.models,
91
92
  roleProviders: replay.roleProviders,
92
93
  retry,
94
+ samplingTransport: options.samplingTransport,
93
95
  modelHints: replay.samplingPreferences?.modelHints,
94
96
  costPriority: replay.samplingPreferences?.costPriority,
95
97
  speedPriority: replay.samplingPreferences?.speedPriority,
@@ -1 +1 @@
1
- {"version":3,"file":"providerReplay.js","sourceRoot":"","sources":["../src/providerReplay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerReplay.js","sourceRoot":"","sources":["../src/providerReplay.ts"],"names":[],"mappings":"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"}
package/dist/registry.js CHANGED
@@ -116,6 +116,7 @@ function roleProviderToConfig(config) {
116
116
  judge: config.model,
117
117
  finalizer: config.model
118
118
  },
119
+ providerMaxConcurrency: config.providerMaxConcurrency,
119
120
  retry: config.retry,
120
121
  supportsJsonMode: config.supportsJsonMode
121
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,UAAU,YAAY,CAAC,MAAsB;IACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3G,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,MAAM,WAAW,GAAG,KAAK,IAAoB,EAAE;QAC7C,MAAM,IAAI,WAAW,CAAC,kDAAkD,EAAE;YACxE,IAAI,EAAE,+BAA+B;YACrC,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,4DAA4D;SAClE,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,WAAW;KAMtB,CAAC;IACF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAC1D,IAAI;YACJ;gBACE,MAAM,EAAE;oBACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,WAAW;iBACP;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsB;IAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,UAAU,EAAE,CAAC;IACxD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,IAAI,WAAW,CAAC,6IAA6I,EAAE;gBACnK,IAAI,EAAE,gCAAgC;gBACtC,SAAS,EAAE,KAAK;gBAChB,GAAG,EAAE,uGAAuG;aAC7G,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAClD,GAAG,MAAM;YACT,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,IAAK,MAAwC,CAAC,gBAAgB;SAC/G,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,QAAQ,KAAK,mBAAmB;QAAE,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACvF,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,IAAI,aAAa,CAAC,qBAAqB,MAAM,CAAC,QAAQ,kGAAkG,EAAE;QAC9J,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,sIAAsI;KAC5I,CAAC,CAAC;AACL,CAAC;AAED,MAAM,iBAAiB;IAIF;IAHF,MAAM,CAAwE;IAE/F,YACmB,UAAuB,EACxC,aAA2D;QAD1C,eAAU,GAAV,UAAU,CAAa;QAGxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CACpF,CAAC;IAC7E,CAAC;IAED,QAAQ,CAAC,KAAoB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,CAAC,KAAmB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,KAAkB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,QAAQ,CAAC,KAAoB;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3H,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,IAAkB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1D,CAAC;IAEO,cAAc,CAA8B,KAAQ,EAAE,IAAkB;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC;CACF;AAED,SAAS,oBAAoB,CAAC,MAA0B;IACtD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE;YACN,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,KAAK;SACxB;QACD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;QACrD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;KAC1C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { ProviderConfig } from "./types.js";
2
+ export interface RouteLimiterSnapshot {
3
+ key: string;
4
+ active: number;
5
+ queued: number;
6
+ ceiling: number;
7
+ configuredMax: number;
8
+ explicitMaxConfigured: boolean;
9
+ successesTowardIncrease: number;
10
+ }
11
+ /** FIFO adaptive concurrency limiter shared by every matching provider route in this process. */
12
+ export declare class AdaptiveRouteLimiter {
13
+ readonly key: string;
14
+ private active;
15
+ private readonly queue;
16
+ private ceilingValue;
17
+ private configuredMaxValue;
18
+ private explicitMaxConfiguredValue;
19
+ private successesTowardIncrease;
20
+ constructor(key: string, initialCeiling: number, configuredMax: number, explicitMaxConfigured?: boolean);
21
+ acquire(signal?: AbortSignal): Promise<() => void>;
22
+ recordRateLimit(): void;
23
+ recordSuccess(): void;
24
+ /**
25
+ * Unspecified defaults establish a starting point, not a permanent cap. Once a route
26
+ * receives explicit maxima, conflicting explicit values resolve to their conservative minimum.
27
+ */
28
+ constrainConfiguredMax(configuredMax: number, explicitlyConfigured?: boolean): void;
29
+ snapshot(): RouteLimiterSnapshot;
30
+ private releaseOnce;
31
+ private drain;
32
+ }
33
+ export declare function getSharedRouteLimiter(config: ProviderConfig): AdaptiveRouteLimiter;
34
+ export declare function providerRouteLimiterKey(config: Pick<ProviderConfig, "provider" | "baseUrl" | "apiKeyEnv" | "apiKey">): string;
35
+ /** Test-only process registry reset. */
36
+ export declare function resetSharedRouteLimiters(): void;
@@ -0,0 +1,164 @@
1
+ import { createHmac, randomBytes } from "node:crypto";
2
+ const DEFAULT_DIRECT_CONCURRENCY = 8;
3
+ const DEFAULT_SAMPLING_CONCURRENCY = 4;
4
+ const SUCCESSES_PER_INCREASE = 32;
5
+ const ROUTE_CREDENTIAL_SALT = randomBytes(32);
6
+ /** FIFO adaptive concurrency limiter shared by every matching provider route in this process. */
7
+ export class AdaptiveRouteLimiter {
8
+ key;
9
+ active = 0;
10
+ queue = [];
11
+ ceilingValue;
12
+ configuredMaxValue;
13
+ explicitMaxConfiguredValue;
14
+ successesTowardIncrease = 0;
15
+ constructor(key, initialCeiling, configuredMax, explicitMaxConfigured = true) {
16
+ this.key = key;
17
+ this.configuredMaxValue = positiveInteger(configuredMax, "configuredMax");
18
+ this.explicitMaxConfiguredValue = explicitMaxConfigured;
19
+ this.ceilingValue = Math.min(positiveInteger(initialCeiling, "initialCeiling"), this.configuredMaxValue);
20
+ }
21
+ acquire(signal) {
22
+ if (signal?.aborted)
23
+ return Promise.reject(abortError(signal));
24
+ if (this.active < this.ceilingValue) {
25
+ this.active += 1;
26
+ return Promise.resolve(this.releaseOnce());
27
+ }
28
+ return new Promise((resolve, reject) => {
29
+ const waiter = { resolve, reject, signal };
30
+ if (signal) {
31
+ waiter.onAbort = () => {
32
+ const index = this.queue.indexOf(waiter);
33
+ if (index >= 0)
34
+ this.queue.splice(index, 1);
35
+ reject(abortError(signal));
36
+ };
37
+ signal.addEventListener("abort", waiter.onAbort, { once: true });
38
+ }
39
+ this.queue.push(waiter);
40
+ });
41
+ }
42
+ recordRateLimit() {
43
+ this.ceilingValue = Math.max(1, Math.floor(this.ceilingValue / 2));
44
+ this.successesTowardIncrease = 0;
45
+ }
46
+ recordSuccess() {
47
+ this.successesTowardIncrease += 1;
48
+ if (this.successesTowardIncrease < SUCCESSES_PER_INCREASE)
49
+ return;
50
+ this.successesTowardIncrease = 0;
51
+ if (this.ceilingValue < this.configuredMaxValue) {
52
+ this.ceilingValue += 1;
53
+ this.drain();
54
+ }
55
+ }
56
+ /**
57
+ * Unspecified defaults establish a starting point, not a permanent cap. Once a route
58
+ * receives explicit maxima, conflicting explicit values resolve to their conservative minimum.
59
+ */
60
+ constrainConfiguredMax(configuredMax, explicitlyConfigured = true) {
61
+ if (!explicitlyConfigured)
62
+ return;
63
+ const validated = positiveInteger(configuredMax, "configuredMax");
64
+ this.configuredMaxValue = this.explicitMaxConfiguredValue
65
+ ? Math.min(this.configuredMaxValue, validated)
66
+ : validated;
67
+ this.explicitMaxConfiguredValue = true;
68
+ this.ceilingValue = Math.min(this.ceilingValue, this.configuredMaxValue);
69
+ }
70
+ snapshot() {
71
+ return {
72
+ key: this.key,
73
+ active: this.active,
74
+ queued: this.queue.length,
75
+ ceiling: this.ceilingValue,
76
+ configuredMax: this.configuredMaxValue,
77
+ explicitMaxConfigured: this.explicitMaxConfiguredValue,
78
+ successesTowardIncrease: this.successesTowardIncrease
79
+ };
80
+ }
81
+ releaseOnce() {
82
+ let released = false;
83
+ return () => {
84
+ if (released)
85
+ return;
86
+ released = true;
87
+ this.active = Math.max(0, this.active - 1);
88
+ this.drain();
89
+ };
90
+ }
91
+ drain() {
92
+ while (this.active < this.ceilingValue && this.queue.length > 0) {
93
+ const waiter = this.queue.shift();
94
+ if (waiter.signal?.aborted) {
95
+ waiter.reject(abortError(waiter.signal));
96
+ continue;
97
+ }
98
+ if (waiter.signal && waiter.onAbort)
99
+ waiter.signal.removeEventListener("abort", waiter.onAbort);
100
+ this.active += 1;
101
+ waiter.resolve(this.releaseOnce());
102
+ }
103
+ }
104
+ }
105
+ const sharedLimiters = new Map();
106
+ export function getSharedRouteLimiter(config) {
107
+ const key = providerRouteLimiterKey(config);
108
+ const defaultCeiling = config.provider === "sampling" ? DEFAULT_SAMPLING_CONCURRENCY : DEFAULT_DIRECT_CONCURRENCY;
109
+ const explicitMaxConfigured = config.providerMaxConcurrency !== undefined;
110
+ const configuredMax = config.providerMaxConcurrency ?? defaultCeiling;
111
+ const existing = sharedLimiters.get(key);
112
+ if (existing) {
113
+ existing.constrainConfiguredMax(configuredMax, explicitMaxConfigured);
114
+ return existing;
115
+ }
116
+ const limiter = new AdaptiveRouteLimiter(key, defaultCeiling, configuredMax, explicitMaxConfigured);
117
+ sharedLimiters.set(key, limiter);
118
+ return limiter;
119
+ }
120
+ export function providerRouteLimiterKey(config) {
121
+ const endpoint = normalizeEndpoint(config.baseUrl) ?? (config.provider === "sampling" ? "mcp:sampling" : "default");
122
+ const credentialIdentity = routeCredentialIdentity(config);
123
+ return `${config.provider}|${endpoint}|${credentialIdentity}`;
124
+ }
125
+ /** Test-only process registry reset. */
126
+ export function resetSharedRouteLimiters() {
127
+ sharedLimiters.clear();
128
+ }
129
+ function normalizeEndpoint(value) {
130
+ if (!value)
131
+ return undefined;
132
+ try {
133
+ const url = new URL(value);
134
+ url.hash = "";
135
+ url.username = "";
136
+ url.password = "";
137
+ url.hostname = url.hostname.toLowerCase();
138
+ url.pathname = url.pathname.replace(/\/+$/, "");
139
+ return url.toString().replace(/\/$/, "");
140
+ }
141
+ catch {
142
+ return value.trim().replace(/\/+$/, "").toLowerCase();
143
+ }
144
+ }
145
+ function routeCredentialIdentity(config) {
146
+ const secret = config.apiKey ?? (config.apiKeyEnv ? process.env[config.apiKeyEnv] : undefined);
147
+ if (secret)
148
+ return `secret:${saltedDigest(secret)}`;
149
+ if (config.apiKeyEnv)
150
+ return `missing-env:${saltedDigest(config.apiKeyEnv)}`;
151
+ return "none";
152
+ }
153
+ function saltedDigest(value) {
154
+ return createHmac("sha256", ROUTE_CREDENTIAL_SALT).update(value).digest("hex");
155
+ }
156
+ function positiveInteger(value, name) {
157
+ if (!Number.isInteger(value) || value < 1)
158
+ throw new TypeError(`${name} must be a positive integer.`);
159
+ return value;
160
+ }
161
+ function abortError(signal) {
162
+ return signal.reason instanceof DOMException ? signal.reason : new DOMException("Aborted", "AbortError");
163
+ }
164
+ //# sourceMappingURL=routeLimiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeLimiter.js","sourceRoot":"","sources":["../src/routeLimiter.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,13 @@ export interface SamplingDriverConfig {
8
8
  intelligencePriority?: number;
9
9
  includeRawOutputs?: boolean;
10
10
  requestTimeoutMs?: number;
11
+ providerMaxConcurrency?: number;
11
12
  }
12
13
  export type SamplingTransport = (params: CreateMessageRequestParamsBase, options?: RequestOptions) => Promise<CreateMessageResult>;
13
14
  export declare class SamplingDriver implements ModelDriver {
14
15
  private readonly createMessage;
15
16
  private readonly config;
16
- readonly maxConcurrency = 4;
17
+ private readonly routeLimiter;
17
18
  constructor(createMessage: SamplingTransport, config?: SamplingDriverConfig);
18
19
  generate(input: GenerateInput): Promise<ModelTextResult>;
19
20
  compare(input: CompareInput): Promise<ModelTextResult>;