aweshare 0.6.2 → 0.6.3

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 (50) hide show
  1. package/README.ai.md +6 -0
  2. package/README.md +7 -4
  3. package/apps/agent/dist/connection.js +6 -1
  4. package/apps/agent/dist/connection.js.map +1 -1
  5. package/apps/agent/dist/table.d.ts +9 -0
  6. package/apps/agent/dist/table.js +21 -0
  7. package/apps/agent/dist/table.js.map +1 -1
  8. package/apps/consumer/dist/cli.js +87 -10
  9. package/apps/consumer/dist/cli.js.map +1 -1
  10. package/apps/consumer/dist/hub.d.ts +4 -2
  11. package/apps/consumer/dist/hub.js +5 -3
  12. package/apps/consumer/dist/hub.js.map +1 -1
  13. package/apps/consumer/dist/ping.d.ts +24 -0
  14. package/apps/consumer/dist/ping.js +164 -0
  15. package/apps/consumer/dist/ping.js.map +1 -0
  16. package/apps/consumer/dist/table.d.ts +38 -4
  17. package/apps/consumer/dist/table.js +86 -32
  18. package/apps/consumer/dist/table.js.map +1 -1
  19. package/apps/hub/dist/cli.js +2 -0
  20. package/apps/hub/dist/cli.js.map +1 -1
  21. package/apps/hub/dist/config.d.ts +4 -1
  22. package/apps/hub/dist/config.js +31 -0
  23. package/apps/hub/dist/config.js.map +1 -1
  24. package/apps/hub/dist/consumer.d.ts +5 -1
  25. package/apps/hub/dist/consumer.js +26 -1
  26. package/apps/hub/dist/consumer.js.map +1 -1
  27. package/apps/hub/dist/db.d.ts +7 -0
  28. package/apps/hub/dist/db.js +22 -5
  29. package/apps/hub/dist/db.js.map +1 -1
  30. package/apps/hub/dist/limits.d.ts +6 -0
  31. package/apps/hub/dist/limits.js +13 -4
  32. package/apps/hub/dist/limits.js.map +1 -1
  33. package/apps/hub/dist/local.d.ts +3 -0
  34. package/apps/hub/dist/local.js +5 -0
  35. package/apps/hub/dist/local.js.map +1 -1
  36. package/apps/hub/dist/table.d.ts +8 -0
  37. package/apps/hub/dist/table.js +20 -0
  38. package/apps/hub/dist/table.js.map +1 -1
  39. package/apps/hub/dist/tunnel.d.ts +4 -0
  40. package/apps/hub/dist/tunnel.js +6 -0
  41. package/apps/hub/dist/tunnel.js.map +1 -1
  42. package/package.json +1 -1
  43. package/packages/producer-core/dist/health.d.ts +10 -0
  44. package/packages/producer-core/dist/health.js +25 -0
  45. package/packages/producer-core/dist/health.js.map +1 -1
  46. package/packages/producer-core/dist/probe.d.ts +9 -0
  47. package/packages/producer-core/dist/probe.js +40 -0
  48. package/packages/producer-core/dist/probe.js.map +1 -1
  49. package/packages/protocol/dist/messages.d.ts +4 -0
  50. package/packages/protocol/dist/messages.js.map +1 -1
@@ -55,6 +55,18 @@ function positiveNumber(env, key, fallback) {
55
55
  }
56
56
  return value;
57
57
  }
58
+ /** Parse a whole-number env var that may legitimately be 0 (0 = off /
59
+ * unlimited for the budget knobs); garbage fails fast with the key named. */
60
+ function nonNegativeInteger(env, key, fallback) {
61
+ const raw = env[key];
62
+ if (raw === undefined || raw === '')
63
+ return fallback;
64
+ const value = Number(raw);
65
+ if (!Number.isInteger(value) || value < 0) {
66
+ throw new Error(`${key} must be 0 or a positive integer, got '${raw}'`);
67
+ }
68
+ return value;
69
+ }
58
70
  /** Host env var: same convention as positiveNumber — an empty value means
59
71
  * unset (a '' host would otherwise reach server.listen verbatim). */
60
72
  function hostFromEnv(env, fallback) {
@@ -87,6 +99,9 @@ export function hubConfigFromEnv(env = process.env) {
87
99
  consumerRps: positiveNumber(env, 'AWESHARE_CONSUMER_RPS', 10),
88
100
  consumerBurst: positiveNumber(env, 'AWESHARE_CONSUMER_BURST', 20),
89
101
  consumerMaxConcurrent: positiveNumber(env, 'AWESHARE_CONSUMER_CONCURRENCY', 8),
102
+ /** Probe-shaped requests per consumer per day ('ping' diagnostics like
103
+ * `consumer list --ping`); 0 = unlimited. */
104
+ consumerProbeBudget: nonNegativeInteger(env, 'AWESHARE_CONSUMER_PROBE_BUDGET', 15),
90
105
  /** No response head within this window -> 504 TICKET_EXPIRED. */
91
106
  headTimeoutMs: positiveNumber(env, 'AWESHARE_HEAD_TIMEOUT_MS', 120_000),
92
107
  /** No response bytes within this window after head -> 504 STREAM_IDLE_TIMEOUT.
@@ -120,6 +135,7 @@ const CONFIG_FILE_KEYS = new Set([
120
135
  'consumerRps',
121
136
  'consumerBurst',
122
137
  'consumerMaxConcurrent',
138
+ 'consumerProbeBudget',
123
139
  'headTimeoutMs',
124
140
  'idleTimeoutMs',
125
141
  'maxBodyBytes',
@@ -177,6 +193,15 @@ function readConfigFile(paths) {
177
193
  out.autoBlockModelMismatch = value;
178
194
  }
179
195
  }
196
+ else if (key === 'consumerProbeBudget') {
197
+ // 0 is meaningful here (unlimited), unlike the other numeric knobs
198
+ if (typeof value !== 'number' || !Number.isInteger(value) || value < 0) {
199
+ problems.push(`consumerProbeBudget must be 0 or a positive integer, got '${value}'`);
200
+ }
201
+ else {
202
+ out.consumerProbeBudget = value;
203
+ }
204
+ }
180
205
  else if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
181
206
  problems.push(`${key} must be a positive number, got '${value}'`);
182
207
  }
@@ -198,6 +223,7 @@ export function loadHubConfig(env = process.env, paths = resolvePaths(env)) {
198
223
  consumerRps: positiveNumber(env, 'AWESHARE_CONSUMER_RPS', file?.consumerRps ?? 10),
199
224
  consumerBurst: positiveNumber(env, 'AWESHARE_CONSUMER_BURST', file?.consumerBurst ?? 20),
200
225
  consumerMaxConcurrent: positiveNumber(env, 'AWESHARE_CONSUMER_CONCURRENCY', file?.consumerMaxConcurrent ?? 8),
226
+ consumerProbeBudget: nonNegativeInteger(env, 'AWESHARE_CONSUMER_PROBE_BUDGET', file?.consumerProbeBudget ?? 15),
201
227
  headTimeoutMs: positiveNumber(env, 'AWESHARE_HEAD_TIMEOUT_MS', file?.headTimeoutMs ?? 120_000),
202
228
  idleTimeoutMs: positiveNumber(env, 'AWESHARE_IDLE_TIMEOUT_MS', file?.idleTimeoutMs ?? 120_000),
203
229
  maxBodyBytes: positiveNumber(env, 'AWESHARE_MAX_BODY_BYTES', file?.maxBodyBytes ?? 32 * 1024 * 1024),
@@ -214,6 +240,7 @@ const RELOADABLE_KEYS = [
214
240
  'consumerRps',
215
241
  'consumerBurst',
216
242
  'consumerMaxConcurrent',
243
+ 'consumerProbeBudget',
217
244
  'headTimeoutMs',
218
245
  'idleTimeoutMs',
219
246
  'maxBodyBytes',
@@ -255,6 +282,10 @@ export const HUB_CONFIG_TEMPLATE = `# aweshare hub configuration (~/.aweshare-hu
255
282
  #consumerBurst = 20
256
283
  #consumerMaxConcurrent = 8
257
284
 
285
+ # Probe-shaped requests ('ping' diagnostics like "consumer list --ping") per
286
+ # consumer per day, shared across aliases; 0 = unlimited.
287
+ #consumerProbeBudget = 15
288
+
258
289
  # Timeouts in ms: no response head within headTimeoutMs -> 504; no bytes
259
290
  # within idleTimeoutMs after the head -> 504 (streaming keeps it alive).
260
291
  #headTimeoutMs = 120000
@@ -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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"}
@@ -19,10 +19,13 @@ export declare function offeringStatusOf(tunnel: Pick<Tunnel, 'offeringStatus'>,
19
19
  * health plus in-flight occupancy (a snapshot at read time, not a reservation). */
20
20
  export interface OfferingView {
21
21
  statusOf(o: OfferingRow): OfferingStatus;
22
+ /** Epoch ms of the backend's last success as the serving side reported it
23
+ * (heartbeats); null when that side is offline or never succeeded. */
24
+ lastOkOf(o: OfferingRow): number | null;
22
25
  activeUsersOf(alias: string): number;
23
26
  activeRequestsOf(alias: string): number;
24
27
  }
25
- export declare function offeringView(tunnel: Pick<Tunnel, 'offeringStatus'>, local: Pick<LocalProducer, 'offeringStatus'>, slots: Pick<AliasSlots, 'countRequests'>, users: Pick<AliasUsers, 'countUsers'>): OfferingView;
28
+ export declare function offeringView(tunnel: Pick<Tunnel, 'offeringStatus' | 'backendLastOk'>, local: Pick<LocalProducer, 'offeringStatus' | 'backendLastOk'>, slots: Pick<AliasSlots, 'countRequests'>, users: Pick<AliasUsers, 'countUsers'>): OfferingView;
26
29
  /** One offering as the discovery views present it: caps with hub defaults
27
30
  * applied, live tunnel status, in-flight occupancy, today's used tokens and
28
31
  * the model-honesty verdict (what the response reports, audited
@@ -40,6 +43,7 @@ export declare function serializeOffering(db: Database.Database, view: OfferingV
40
43
  blockedReason: string | null;
41
44
  observedModel: string | null;
42
45
  observedAt: string | null;
46
+ hubCheckAt: string | null;
43
47
  modelMatch: import("aweshare-protocol").ModelComparison | null;
44
48
  /** Kept for older clients: null means no current evidence or an
45
49
  * observation less specific than the declaration. */
@@ -1,6 +1,7 @@
1
+ import { isProbeBody } from '../../../packages/producer-core/dist/index.js';
1
2
  import { compareModels, parseAlias, protocolLabel } from '../../../packages/protocol/dist/index.js';
2
3
  import { requireConsumer } from './auth.js';
3
- import { blockOffering, dailyBonusOf, dailyWindowStart, getOffering, getQuotaGrant, insertUsageEvent, LOCAL_PRODUCER_ID, lastObservedModel, listOfferings, sumTokensForAliasSince, sumTokensUsed, touchLastSeen, } from './db.js';
4
+ import { blockOffering, countProbesSince, dailyBonusOf, dailyWindowStart, getOffering, getQuotaGrant, insertUsageEvent, LOCAL_PRODUCER_ID, lastObservedModel, listOfferings, sumTokensForAliasSince, sumTokensUsed, touchLastSeen, } from './db.js';
4
5
  import { HttpError, readBody, sendError, sendJson } from './http.js';
5
6
  import { jitteredRetrySec } from './limiter.js';
6
7
  import { resolveLimits, safeParseLimits } from './limits.js';
@@ -17,6 +18,9 @@ export function offeringStatusOf(tunnel, local, o) {
17
18
  export function offeringView(tunnel, local, slots, users) {
18
19
  return {
19
20
  statusOf: (o) => offeringStatusOf(tunnel, local, o),
21
+ lastOkOf: (o) => o.producer_id === LOCAL_PRODUCER_ID
22
+ ? local.backendLastOk(o.backend_id)
23
+ : tunnel.backendLastOk(o.producer_id, o.backend_id),
20
24
  activeUsersOf: (alias) => users.countUsers(alias),
21
25
  activeRequestsOf: (alias) => slots.countRequests(alias),
22
26
  };
@@ -34,6 +38,14 @@ export function serializeOffering(db, view, o) {
34
38
  const bonus = dailyBonusOf(grant);
35
39
  const observed = lastObservedModel(db, o.alias, o.protocol, o.upstream_model);
36
40
  const modelMatch = observed ? compareModels(o.upstream_model, observed.model) : null;
41
+ // freshness evidence from whichever source is newer: the last self-naming
42
+ // response (observedAt, from real traffic) or the serving side's heartbeat
43
+ // lastOkAt (any success, including recovery probes) — what `consumer list`
44
+ // renders as LAST SEEN
45
+ const lastOkMs = view.lastOkOf(o);
46
+ const observedMs = observed === null ? null : Date.parse(observed.at) || 0;
47
+ const hubCheckMs = lastOkMs === null ? observedMs : Math.max(lastOkMs, observedMs ?? 0);
48
+ const hubCheckAt = hubCheckMs === null ? null : new Date(hubCheckMs).toISOString();
37
49
  return {
38
50
  producer: o.producer,
39
51
  alias: o.alias,
@@ -44,6 +56,7 @@ export function serializeOffering(db, view, o) {
44
56
  blockedReason: o.blocked_reason,
45
57
  observedModel: observed?.model ?? null,
46
58
  observedAt: observed?.at ?? null,
59
+ hubCheckAt,
47
60
  modelMatch,
48
61
  /** Kept for older clients: null means no current evidence or an
49
62
  * observation less specific than the declaration. */
@@ -147,6 +160,10 @@ async function handleInference(ctx, deps, protocol, path) {
147
160
  if (!alias || typeof model !== 'string') {
148
161
  throw new HttpError(400, 'PROTOCOL_MISMATCH', `model must be an alias like namespace/name, got: ${String(model)}`);
149
162
  }
163
+ // counted, not judged: a probe-shaped request is a single-turn 'ping' with
164
+ // a minimal token cap (what `consumer list --ping` and smoke-test curls
165
+ // send). Real requests never match; the rare genuine 'ping' chat turn does.
166
+ const isProbe = isProbeBody(body, protocol);
150
167
  // an alias may speak several protocols — pick the row matching the endpoint
151
168
  const offering = getOffering(db, model, protocol);
152
169
  if (!offering) {
@@ -190,6 +207,13 @@ async function handleInference(ctx, deps, protocol, path) {
190
207
  if (limits.tpm !== null && !tpm.allow(consumer.id, limits.tpm)) {
191
208
  deny('RATE_LIMITED', `consumer ${consumer.name} exceeded ${limits.tpm} TPM`, jitteredRetrySec());
192
209
  }
210
+ if (isProbe &&
211
+ limits.probeBudget !== null &&
212
+ countProbesSince(db, consumer.id, dailyWindowStart(null)) >= limits.probeBudget) {
213
+ // resets at Beijing midnight like the daily token budget — a
214
+ // seconds-scale hint would invite pointless retries, so no Retry-After
215
+ deny('PROBE_BUDGET_EXCEEDED', `consumer ${consumer.name} spent today's probe budget (${limits.probeBudget} 'ping'-shaped requests per day, shared across aliases — resets at Beijing midnight); real requests are unaffected`);
216
+ }
193
217
  const limited = limiter.admit(consumer.id, limits);
194
218
  if (limited)
195
219
  deny(limited.code, 'consumer rate limit exceeded', limited.retryAfterSec);
@@ -266,6 +290,7 @@ async function handleInference(ctx, deps, protocol, path) {
266
290
  bytes_out: result.bytesOut,
267
291
  prompt_tokens: counts?.promptTokens ?? null,
268
292
  completion_tokens: counts?.completionTokens ?? null,
293
+ probe: isProbe ? 1 : 0,
269
294
  });
270
295
  };
271
296
  let usage = null;
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,9 @@ export type UsageEventRow = {
78
78
  bytes_out: number;
79
79
  prompt_tokens: number | null;
80
80
  completion_tokens: number | null;
81
+ /** 1 when the request matched the probe shape (single-turn 'ping', minimal
82
+ * token cap) — the counter behind the per-consumer daily probe budget. */
83
+ probe?: number;
81
84
  /** Joined display names so every caller (admin, producer, consumer) can
82
85
  * render "who" without a second roster call. */
83
86
  consumer_name?: string | null;
@@ -233,6 +236,10 @@ export interface ObservedModel {
233
236
  }
234
237
  export declare function lastObservedModel(db: Database.Database, alias: string, protocol: Protocol, upstreamModel: string): ObservedModel | null;
235
238
  export declare function insertUsageEvent(db: Database.Database, event: NewUsageEvent): void;
239
+ /** Probe-shaped requests a consumer has sent since an ISO instant — the
240
+ * counter behind the daily probe budget (15 by default, per consumer,
241
+ * shared across aliases). */
242
+ export declare function countProbesSince(db: Database.Database, consumerId: number, sinceISO: string): number;
236
243
  export interface UsageFilter {
237
244
  consumerId?: number;
238
245
  producerId?: number;
@@ -60,7 +60,8 @@ CREATE TABLE IF NOT EXISTS usage_events (
60
60
  bytes_in INTEGER NOT NULL,
61
61
  bytes_out INTEGER NOT NULL,
62
62
  prompt_tokens INTEGER,
63
- completion_tokens INTEGER
63
+ completion_tokens INTEGER,
64
+ probe INTEGER NOT NULL DEFAULT 0
64
65
  );
65
66
  CREATE INDEX IF NOT EXISTS idx_usage_at ON usage_events(at);
66
67
  CREATE INDEX IF NOT EXISTS idx_usage_consumer ON usage_events(consumer_id, at);
@@ -109,7 +110,7 @@ export function ensureLocalProducer(db) {
109
110
  function migrateDb(db, version) {
110
111
  if (version < 1) {
111
112
  db.exec(SCHEMA_LATEST);
112
- db.pragma('user_version = 15');
113
+ db.pragma('user_version = 16');
113
114
  }
114
115
  else {
115
116
  if (version < 2) {
@@ -285,7 +286,14 @@ function migrateDb(db, version) {
285
286
  db.exec('ALTER TABLE offerings DROP COLUMN quota_bonus');
286
287
  db.exec('ALTER TABLE offerings DROP COLUMN quota_bonus_until');
287
288
  }
288
- db.pragma('user_version = 15');
289
+ if (version < 16) {
290
+ // v15 -> v16: probe-shaped requests are counted (probe) against the
291
+ // per-consumer daily probe budget — the diagnostic traffic a `list
292
+ // --ping` or a hand-rolled 'ping' smoke test generates, kept visible
293
+ // in the usage rows it already lands in
294
+ db.exec('ALTER TABLE usage_events ADD COLUMN probe INTEGER NOT NULL DEFAULT 0');
295
+ }
296
+ db.pragma('user_version = 16');
289
297
  }
290
298
  }
291
299
  export function openDb(dbFile) {
@@ -636,14 +644,23 @@ export function insertUsageEvent(db, event) {
636
644
  db.prepare(`
637
645
  INSERT INTO usage_events
638
646
  (consumer_id, producer_id, alias, upstream_model, observed_model, protocol, streaming, status, error_code,
639
- duration_ms, bytes_in, bytes_out, prompt_tokens, completion_tokens)
647
+ duration_ms, bytes_in, bytes_out, prompt_tokens, completion_tokens, probe)
640
648
  VALUES
641
649
  (@consumer_id, @producer_id, @alias, @upstream_model, @observed_model, @protocol, @streaming, @status, @error_code,
642
- @duration_ms, @bytes_in, @bytes_out, @prompt_tokens, @completion_tokens)`).run({
650
+ @duration_ms, @bytes_in, @bytes_out, @prompt_tokens, @completion_tokens, @probe)`).run({
643
651
  observed_model: null,
652
+ probe: 0,
644
653
  ...event,
645
654
  });
646
655
  }
656
+ /** Probe-shaped requests a consumer has sent since an ISO instant — the
657
+ * counter behind the daily probe budget (15 by default, per consumer,
658
+ * shared across aliases). */
659
+ export function countProbesSince(db, consumerId, sinceISO) {
660
+ return db
661
+ .prepare('SELECT COUNT(*) AS n FROM usage_events WHERE consumer_id = ? AND probe = 1 AND at >= ?')
662
+ .get(consumerId, sinceISO).n;
663
+ }
647
664
  /** WHERE fragments shared by the detail log and the summary aggregate. */
648
665
  function usageWhere(filter) {
649
666
  const where = [];
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@ export interface ConsumerLimits {
14
14
  tpm?: number;
15
15
  /** Lifetime token budget (prompt + completion); null = unlimited. */
16
16
  maxTotalTokens?: number;
17
+ /** Probe-shaped requests (single-turn 'ping', minimal token cap) per
18
+ * consumer per day, shared across aliases; 0 = unlimited. Bounds the
19
+ * diagnostic traffic `consumer list --ping` and hand-rolled smoke tests
20
+ * can spend on producers' upstreams. */
21
+ probeBudget?: number;
17
22
  }
18
23
  /** Limits actually enforced for one request: overrides merged over hub globals. */
19
24
  export interface ResolvedLimits {
@@ -22,6 +27,7 @@ export interface ResolvedLimits {
22
27
  maxInflight: number;
23
28
  tpm: number | null;
24
29
  maxTotalTokens: number | null;
30
+ probeBudget: number | null;
25
31
  }
26
32
  /** Strict validation for the admin write path; throws with all problems listed. */
27
33
  export declare function parseLimits(input: unknown): ConsumerLimits;
@@ -1,11 +1,11 @@
1
- const INTEGER_KEYS = ['burst', 'maxConcurrent', 'tpm', 'maxTotalTokens'];
1
+ const INTEGER_KEYS = ['burst', 'maxConcurrent', 'tpm', 'maxTotalTokens', 'probeBudget'];
2
2
  /** Strict validation for the admin write path; throws with all problems listed. */
3
3
  export function parseLimits(input) {
4
4
  if (typeof input !== 'object' || input === null || Array.isArray(input)) {
5
5
  throw new Error('limits must be a JSON object');
6
6
  }
7
7
  const raw = input;
8
- const allowed = ['rps', 'burst', 'maxConcurrent', 'tpm', 'maxTotalTokens'];
8
+ const allowed = ['rps', 'burst', 'maxConcurrent', 'tpm', 'maxTotalTokens', 'probeBudget'];
9
9
  const unknown = Object.keys(raw).filter((k) => !allowed.includes(k));
10
10
  if (unknown.length > 0)
11
11
  throw new Error(`unknown limit keys: ${unknown.join(', ')}`);
@@ -15,8 +15,12 @@ export function parseLimits(input) {
15
15
  const value = raw[key];
16
16
  if (value === undefined)
17
17
  continue;
18
- if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
19
- problems.push(`${key} must be a positive number`);
18
+ // probeBudget may be 0 (unlimited); every other limit must be positive
19
+ const negative = key === 'probeBudget' ? value < 0 : value <= 0;
20
+ if (typeof value !== 'number' || !Number.isFinite(value) || negative) {
21
+ problems.push(key === 'probeBudget'
22
+ ? 'probeBudget must be 0 or a positive integer'
23
+ : `${key} must be a positive number`);
20
24
  continue;
21
25
  }
22
26
  if (INTEGER_KEYS.includes(key) && !Number.isInteger(value)) {
@@ -47,6 +51,11 @@ export function resolveLimits(overrides, global) {
47
51
  maxInflight: overrides?.maxConcurrent ?? global.consumerMaxConcurrent,
48
52
  tpm: overrides?.tpm ?? null,
49
53
  maxTotalTokens: overrides?.maxTotalTokens ?? null,
54
+ // 0 in either layer means unlimited — normalized to null so the
55
+ // admission path tests one thing
56
+ probeBudget: (overrides?.probeBudget ?? global.consumerProbeBudget) === 0
57
+ ? null
58
+ : (overrides?.probeBudget ?? global.consumerProbeBudget ?? null),
50
59
  };
51
60
  }
52
61
  //# sourceMappingURL=limits.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AA4BA,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,CAAU,CAAA;AAEjF,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAA;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpF,MAAM,GAAG,GAAmB,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,GAAG,IAAI,OAAmC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,4BAA4B,CAAC,CAAA;YACjD,SAAQ;QACV,CAAC;QACD,IAAK,YAAkC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAA;YAC1C,SAAQ;QACV,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAClB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7D,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAgC,EAAE,MAAiB;IAC/E,OAAO;QACL,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,MAAM,CAAC,WAAW;QACzC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC,aAAa;QAC/C,WAAW,EAAE,SAAS,EAAE,aAAa,IAAI,MAAM,CAAC,qBAAqB;QACrE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI;QAC3B,cAAc,EAAE,SAAS,EAAE,cAAc,IAAI,IAAI;KAClD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,9 @@ export declare class LocalProducer {
89
89
  start(): void;
90
90
  /** Status for hub-owned catalog rows — the local twin of Tunnel.offeringStatus. */
91
91
  offeringStatus(offering: OfferingRow): 'online' | 'degraded' | 'offline';
92
+ /** The local twin of Tunnel.backendLastOk — last success the in-process
93
+ * producer's HealthGate recorded for this backend. */
94
+ backendLastOk(backendId: string): number | null;
92
95
  /** Admission-time check, the local twin of the tunnel session lookup:
93
96
  * throws the same 503s a missing/degraded tunnel would. */
94
97
  check(offering: OfferingRow): void;
@@ -264,6 +264,11 @@ export class LocalProducer {
264
264
  return 'degraded';
265
265
  return this.backends.has(offering.backend_id) ? 'online' : 'offline';
266
266
  }
267
+ /** The local twin of Tunnel.backendLastOk — last success the in-process
268
+ * producer's HealthGate recorded for this backend. */
269
+ backendLastOk(backendId) {
270
+ return this.health.lastOkMs(backendId);
271
+ }
267
272
  /** Admission-time check, the local twin of the tunnel session lookup:
268
273
  * throws the same 503s a missing/degraded tunnel would. */
269
274
  check(offering) {