@antseed/router-core 0.1.45 → 0.1.47
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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/peer-metrics.d.ts +17 -0
- package/dist/peer-metrics.d.ts.map +1 -1
- package/dist/peer-metrics.js +25 -3
- package/dist/peer-metrics.js.map +1 -1
- package/dist/peer-scorer.d.ts.map +1 -1
- package/dist/peer-scorer.js +2 -2
- package/dist/peer-scorer.js.map +1 -1
- package/package.json +2 -2
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|
package/dist/peer-metrics.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/peer-metrics.js
CHANGED
|
@@ -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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
}
|
package/dist/peer-metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-metrics.js","sourceRoot":"","sources":["../src/peer-metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"peer-metrics.js","sourceRoot":"","sources":["../src/peer-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-scorer.d.ts","sourceRoot":"","sources":["../src/peer-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"peer-scorer.d.ts","sourceRoot":"","sources":["../src/peer-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7E,MAAM,WAAW,yBAAyB;IACxC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,cAO7B,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,yBAAyB,CAAA;IAChC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,EAAE,WAAW,CAAA;CACrB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAClC;AA6CD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,cAAc,EAAE,EAC5B,OAAO,EAAE,cAAc,GACtB,eAAe,EAAE,CAkFnB"}
|
package/dist/peer-scorer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizedModelReputationScore } from '@antseed/node';
|
|
2
2
|
export const DEFAULT_WEIGHTS = {
|
|
3
3
|
price: 0.30,
|
|
4
4
|
latency: 0.25,
|
|
@@ -14,7 +14,7 @@ function normalizedInverted(value, min, range) {
|
|
|
14
14
|
return 1 - (value - min) / range;
|
|
15
15
|
}
|
|
16
16
|
function effectiveReputation(p) {
|
|
17
|
-
return
|
|
17
|
+
return normalizedModelReputationScore(p) ?? 0;
|
|
18
18
|
}
|
|
19
19
|
function availableCapacity(p) {
|
|
20
20
|
const max = p.maxConcurrency ?? 1;
|
package/dist/peer-scorer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-scorer.js","sourceRoot":"","sources":["../src/peer-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"peer-scorer.js","sourceRoot":"","sources":["../src/peer-scorer.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.
|
|
3
|
+
"version": "0.1.47",
|
|
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.
|
|
17
|
+
"@antseed/node": "0.2.119"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"prebuild": "node ../../scripts/remove-paths.mjs dist",
|