@antseed/router-core 0.1.45 → 0.1.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { scoreCandidates, DEFAULT_WEIGHTS, type ScoringWeights, type ScoredCandidate, type TokenPricingUsdPerMillion, type PeerMetrics, } from './peer-scorer.js';
2
- export { PeerMetricsTracker, type PeerMetricsTrackerConfig, } from './peer-metrics.js';
2
+ export { PeerMetricsTracker, computeFailureCooldownMs, DEFAULT_MAX_FAILURES, DEFAULT_FAILURE_COOLDOWN_MS, MAX_COOLDOWN_DOUBLINGS, type PeerMetricsTrackerConfig, type FailureCooldownOptions, } from './peer-metrics.js';
3
3
  export { WELL_KNOWN_TOOL_HINTS, formatToolHints, type ToolHint, } from './tool-hints.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { scoreCandidates, DEFAULT_WEIGHTS, } from './peer-scorer.js';
2
- export { PeerMetricsTracker, } from './peer-metrics.js';
2
+ export { PeerMetricsTracker, computeFailureCooldownMs, DEFAULT_MAX_FAILURES, DEFAULT_FAILURE_COOLDOWN_MS, MAX_COOLDOWN_DOUBLINGS, } from './peer-metrics.js';
3
3
  export { WELL_KNOWN_TOOL_HINTS, formatToolHints, } from './tool-hints.js';
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,GAKhB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,GAEnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,qBAAqB,EACrB,eAAe,GAEhB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,GAKhB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,GAGvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,qBAAqB,EACrB,eAAe,GAEhB,MAAM,iBAAiB,CAAA"}
@@ -1,4 +1,21 @@
1
1
  import type { PeerMetrics } from './peer-scorer.js';
2
+ /** Consecutive failures tolerated before a peer starts cooling down. */
3
+ export declare const DEFAULT_MAX_FAILURES = 3;
4
+ /** Cooldown applied at the first offending failure, doubled for each one after. */
5
+ export declare const DEFAULT_FAILURE_COOLDOWN_MS = 30000;
6
+ /** Doubling cap: 30s → 60 → 120 → 240 → 480 (8 min ceiling). */
7
+ export declare const MAX_COOLDOWN_DOUBLINGS = 4;
8
+ export interface FailureCooldownOptions {
9
+ maxFailures?: number;
10
+ baseCooldownMs?: number;
11
+ maxDoublings?: number;
12
+ }
13
+ /**
14
+ * Canonical peer-cooldown escalation curve, shared by every consumer that
15
+ * penalizes an unresponsive peer. Returns 0 while the streak is still within
16
+ * tolerance, so callers can treat a zero as "not cooling down".
17
+ */
18
+ export declare function computeFailureCooldownMs(failureStreak: number, options?: FailureCooldownOptions): number;
2
19
  export interface PeerMetricsTrackerConfig {
3
20
  latencyAlpha?: number;
4
21
  maxFailures?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"peer-metrics.d.ts","sourceRoot":"","sources":["../src/peer-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAE9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;gBAEvB,MAAM,CAAC,EAAE,wBAAwB;IAO7C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA6BnF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAUvC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAWtC,gBAAgB,IAAI,MAAM;CAS3B"}
1
+ {"version":3,"file":"peer-metrics.d.ts","sourceRoot":"","sources":["../src/peer-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,IAAI,CAAA;AACrC,mFAAmF;AACnF,eAAO,MAAM,2BAA2B,QAAS,CAAA;AACjD,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CASR;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAE9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;gBAEvB,MAAM,CAAC,EAAE,wBAAwB;IAO7C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA+BnF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAUvC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAWtC,gBAAgB,IAAI,MAAM;CAS3B"}
@@ -1,3 +1,23 @@
1
+ /** Consecutive failures tolerated before a peer starts cooling down. */
2
+ export const DEFAULT_MAX_FAILURES = 3;
3
+ /** Cooldown applied at the first offending failure, doubled for each one after. */
4
+ export const DEFAULT_FAILURE_COOLDOWN_MS = 30_000;
5
+ /** Doubling cap: 30s → 60 → 120 → 240 → 480 (8 min ceiling). */
6
+ export const MAX_COOLDOWN_DOUBLINGS = 4;
7
+ /**
8
+ * Canonical peer-cooldown escalation curve, shared by every consumer that
9
+ * penalizes an unresponsive peer. Returns 0 while the streak is still within
10
+ * tolerance, so callers can treat a zero as "not cooling down".
11
+ */
12
+ export function computeFailureCooldownMs(failureStreak, options) {
13
+ const maxFailures = Math.max(1, options?.maxFailures ?? DEFAULT_MAX_FAILURES);
14
+ const baseCooldownMs = Math.max(1, options?.baseCooldownMs ?? DEFAULT_FAILURE_COOLDOWN_MS);
15
+ const maxDoublings = Math.max(0, options?.maxDoublings ?? MAX_COOLDOWN_DOUBLINGS);
16
+ if (!Number.isFinite(failureStreak) || failureStreak < maxFailures)
17
+ return 0;
18
+ const penaltyPower = Math.min(maxDoublings, Math.trunc(failureStreak) - maxFailures);
19
+ return baseCooldownMs * (2 ** penaltyPower);
20
+ }
1
21
  export class PeerMetricsTracker {
2
22
  _latencyMap = new Map();
3
23
  _failureStreakMap = new Map();
@@ -31,9 +51,11 @@ export class PeerMetricsTracker {
31
51
  const nextStreak = currentStreak + 1;
32
52
  this._failureStreakMap.set(peerId, nextStreak);
33
53
  this._totalFailureMap.set(peerId, (this._totalFailureMap.get(peerId) ?? 0) + 1);
34
- if (nextStreak >= this._maxFailures) {
35
- const penaltyPower = Math.min(4, nextStreak - this._maxFailures);
36
- const cooldownMs = this._failureCooldownMs * (2 ** penaltyPower);
54
+ const cooldownMs = computeFailureCooldownMs(nextStreak, {
55
+ maxFailures: this._maxFailures,
56
+ baseCooldownMs: this._failureCooldownMs,
57
+ });
58
+ if (cooldownMs > 0) {
37
59
  this._cooldownUntilMap.set(peerId, now + cooldownMs);
38
60
  }
39
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"peer-metrics.js","sourceRoot":"","sources":["../src/peer-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer-metrics.js","sourceRoot":"","sources":["../src/peer-metrics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/router-core",
3
- "version": "0.1.45",
3
+ "version": "0.1.46",
4
4
  "description": "Shared router infrastructure for Antseed plugins",
5
5
  "type": "module",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "devDependencies": {
15
15
  "typescript": "^5.5.0",
16
16
  "vitest": "^2.0.0",
17
- "@antseed/node": "0.2.107"
17
+ "@antseed/node": "0.2.108"
18
18
  },
19
19
  "scripts": {
20
20
  "prebuild": "node ../../scripts/remove-paths.mjs dist",