@antseed/node 0.2.155 → 0.2.157
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/discovery/announcer.d.ts +13 -1
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +64 -9
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/discovery/http-metadata-resolver.d.ts +1 -1
- package/dist/discovery/http-metadata-resolver.d.ts.map +1 -1
- package/dist/discovery/http-metadata-resolver.js +7 -1
- package/dist/discovery/http-metadata-resolver.js.map +1 -1
- package/dist/discovery/index.d.ts +3 -2
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +2 -1
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/metadata/define-version.d.ts +40 -0
- package/dist/discovery/metadata/define-version.d.ts.map +1 -0
- package/dist/discovery/metadata/define-version.js +104 -0
- package/dist/discovery/metadata/define-version.js.map +1 -0
- package/dist/discovery/metadata/field.d.ts +26 -0
- package/dist/discovery/metadata/field.d.ts.map +1 -0
- package/dist/discovery/metadata/field.js +2 -0
- package/dist/discovery/metadata/field.js.map +1 -0
- package/dist/discovery/metadata/fields/offerings.d.ts +7 -0
- package/dist/discovery/metadata/fields/offerings.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/offerings.js +52 -0
- package/dist/discovery/metadata/fields/offerings.js.map +1 -0
- package/dist/discovery/metadata/fields/on-chain-stats.d.ts +6 -0
- package/dist/discovery/metadata/fields/on-chain-stats.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/on-chain-stats.js +30 -0
- package/dist/discovery/metadata/fields/on-chain-stats.js.map +1 -0
- package/dist/discovery/metadata/fields/peer-capabilities.d.ts +4 -0
- package/dist/discovery/metadata/fields/peer-capabilities.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/peer-capabilities.js +21 -0
- package/dist/discovery/metadata/fields/peer-capabilities.js.map +1 -0
- package/dist/discovery/metadata/fields/peer-profile.d.ts +11 -0
- package/dist/discovery/metadata/fields/peer-profile.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/peer-profile.js +58 -0
- package/dist/discovery/metadata/fields/peer-profile.js.map +1 -0
- package/dist/discovery/metadata/fields/provider-basics.d.ts +12 -0
- package/dist/discovery/metadata/fields/provider-basics.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/provider-basics.js +87 -0
- package/dist/discovery/metadata/fields/provider-basics.js.map +1 -0
- package/dist/discovery/metadata/fields/service-api-protocols.d.ts +4 -0
- package/dist/discovery/metadata/fields/service-api-protocols.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/service-api-protocols.js +40 -0
- package/dist/discovery/metadata/fields/service-api-protocols.js.map +1 -0
- package/dist/discovery/metadata/fields/service-capabilities.d.ts +7 -0
- package/dist/discovery/metadata/fields/service-capabilities.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/service-capabilities.js +229 -0
- package/dist/discovery/metadata/fields/service-capabilities.js.map +1 -0
- package/dist/discovery/metadata/fields/service-categories.d.ts +4 -0
- package/dist/discovery/metadata/fields/service-categories.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/service-categories.js +37 -0
- package/dist/discovery/metadata/fields/service-categories.js.map +1 -0
- package/dist/discovery/metadata/fields/service-health.d.ts +7 -0
- package/dist/discovery/metadata/fields/service-health.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/service-health.js +90 -0
- package/dist/discovery/metadata/fields/service-health.js.map +1 -0
- package/dist/discovery/metadata/fields/service-unit-billing.d.ts +8 -0
- package/dist/discovery/metadata/fields/service-unit-billing.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/service-unit-billing.js +81 -0
- package/dist/discovery/metadata/fields/service-unit-billing.js.map +1 -0
- package/dist/discovery/metadata/fields/verifications.d.ts +7 -0
- package/dist/discovery/metadata/fields/verifications.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/verifications.js +96 -0
- package/dist/discovery/metadata/fields/verifications.js.map +1 -0
- package/dist/discovery/metadata/index.d.ts +27 -0
- package/dist/discovery/metadata/index.d.ts.map +1 -0
- package/dist/discovery/metadata/index.js +55 -0
- package/dist/discovery/metadata/index.js.map +1 -0
- package/dist/discovery/metadata/versions/v10.d.ts +5 -0
- package/dist/discovery/metadata/versions/v10.d.ts.map +1 -0
- package/dist/discovery/metadata/versions/v10.js +32 -0
- package/dist/discovery/metadata/versions/v10.js.map +1 -0
- package/dist/discovery/metadata/versions/v11.d.ts +5 -0
- package/dist/discovery/metadata/versions/v11.d.ts.map +1 -0
- package/dist/discovery/metadata/versions/v11.js +11 -0
- package/dist/discovery/metadata/versions/v11.js.map +1 -0
- package/dist/discovery/metadata/versions/v12.d.ts +5 -0
- package/dist/discovery/metadata/versions/v12.d.ts.map +1 -0
- package/dist/discovery/metadata/versions/v12.js +66 -0
- package/dist/discovery/metadata/versions/v12.js.map +1 -0
- package/dist/discovery/metadata/versions/v13.d.ts +5 -0
- package/dist/discovery/metadata/versions/v13.d.ts.map +1 -0
- package/dist/discovery/metadata/versions/v13.js +16 -0
- package/dist/discovery/metadata/versions/v13.js.map +1 -0
- package/dist/discovery/metadata/wire.d.ts +54 -0
- package/dist/discovery/metadata/wire.d.ts.map +1 -0
- package/dist/discovery/metadata/wire.js +149 -0
- package/dist/discovery/metadata/wire.js.map +1 -0
- package/dist/discovery/metadata-codec.d.ts +1 -38
- package/dist/discovery/metadata-codec.d.ts.map +1 -1
- package/dist/discovery/metadata-codec.js +3 -1154
- package/dist/discovery/metadata-codec.js.map +1 -1
- package/dist/discovery/metadata-server.d.ts +3 -2
- package/dist/discovery/metadata-server.d.ts.map +1 -1
- package/dist/discovery/metadata-server.js +4 -1
- package/dist/discovery/metadata-server.js.map +1 -1
- package/dist/discovery/metadata-validator.d.ts.map +1 -1
- package/dist/discovery/metadata-validator.js +62 -1
- package/dist/discovery/metadata-validator.js.map +1 -1
- package/dist/discovery/service-catalog.d.ts +13 -2
- package/dist/discovery/service-catalog.d.ts.map +1 -1
- package/dist/discovery/service-catalog.js +6 -1
- package/dist/discovery/service-catalog.js.map +1 -1
- package/dist/health/gas-auto-refuel.d.ts +138 -0
- package/dist/health/gas-auto-refuel.d.ts.map +1 -0
- package/dist/health/gas-auto-refuel.js +216 -0
- package/dist/health/gas-auto-refuel.js.map +1 -0
- package/dist/health/gas-health-monitor.d.ts +4 -0
- package/dist/health/gas-health-monitor.d.ts.map +1 -1
- package/dist/health/gas-health-monitor.js +13 -0
- package/dist/health/gas-health-monitor.js.map +1 -1
- package/dist/health/model-health-checker.d.ts +58 -33
- package/dist/health/model-health-checker.d.ts.map +1 -1
- package/dist/health/model-health-checker.js +250 -121
- package/dist/health/model-health-checker.js.map +1 -1
- package/dist/health/self-health-error.d.ts +20 -0
- package/dist/health/self-health-error.d.ts.map +1 -0
- package/dist/health/self-health-error.js +60 -0
- package/dist/health/self-health-error.js.map +1 -0
- package/dist/health/seller-events.d.ts +1 -1
- package/dist/health/seller-events.d.ts.map +1 -1
- package/dist/health/seller-events.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/seller-provider.d.ts +11 -5
- package/dist/interfaces/seller-provider.d.ts.map +1 -1
- package/dist/node.d.ts +8 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +36 -89
- package/dist/node.js.map +1 -1
- package/dist/p2p/connection-manager.d.ts +5 -1
- package/dist/p2p/connection-manager.d.ts.map +1 -1
- package/dist/p2p/connection-manager.js +48 -13
- package/dist/p2p/connection-manager.js.map +1 -1
- package/dist/payments/chain-config.d.ts +11 -0
- package/dist/payments/chain-config.d.ts.map +1 -1
- package/dist/payments/chain-config.js +7 -0
- package/dist/payments/chain-config.js.map +1 -1
- package/dist/payments/evm/usdc-eth-swap-client.d.ts +45 -0
- package/dist/payments/evm/usdc-eth-swap-client.d.ts.map +1 -0
- package/dist/payments/evm/usdc-eth-swap-client.js +83 -0
- package/dist/payments/evm/usdc-eth-swap-client.js.map +1 -0
- package/dist/payments/index.d.ts +2 -0
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +2 -0
- package/dist/payments/index.js.map +1 -1
- package/dist/seller-request-handler.d.ts +9 -0
- package/dist/seller-request-handler.d.ts.map +1 -1
- package/dist/seller-request-handler.js +78 -12
- package/dist/seller-request-handler.js.map +1 -1
- package/dist/types/peer.d.ts +4 -2
- package/dist/types/peer.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import type { ServiceHealth, ServiceHealthReason, ServiceHealthSource, ServiceHealthState } from '../discovery/peer-metadata.js';
|
|
1
2
|
import type { Provider } from '../interfaces/seller-provider.js';
|
|
2
3
|
import type { SerializedHttpRequest } from '../types/http.js';
|
|
3
4
|
import { type ServiceApiProtocol } from '../types/service-api.js';
|
|
4
|
-
/** Default sweep interval. Each sweep sends one 1-token probe per
|
|
5
|
+
/** Default sweep interval. Each sweep sends one 1-token probe per service without recent buyer traffic. */
|
|
5
6
|
export declare const DEFAULT_HEALTH_CHECK_INTERVAL_MS: number;
|
|
6
|
-
/** Consecutive
|
|
7
|
+
/** Consecutive failed checks before a service is announced as failing. */
|
|
7
8
|
export declare const DEFAULT_HEALTH_CHECK_FAILURE_THRESHOLD = 3;
|
|
8
9
|
/** Per-probe timeout. A model that hangs this long is treated as failing. */
|
|
9
10
|
export declare const DEFAULT_HEALTH_CHECK_PROBE_TIMEOUT_MS = 60000;
|
|
11
|
+
/** Shortest gap between probes triggered by failed buyer requests for one service. */
|
|
12
|
+
export declare const LIVE_FAILURE_PROBE_MIN_GAP_MS = 30000;
|
|
10
13
|
export interface ModelHealthTarget {
|
|
11
14
|
/**
|
|
12
|
-
* The provider
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* announced metadata.
|
|
15
|
+
* The provider registered with the node. The checker publishes results on
|
|
16
|
+
* its `serviceHealth`, which the announcer signs into metadata and the
|
|
17
|
+
* request handler quotes in errors.
|
|
16
18
|
*/
|
|
17
19
|
provider: Provider;
|
|
18
20
|
/**
|
|
@@ -33,9 +35,12 @@ export interface ModelHealthEvent {
|
|
|
33
35
|
/** The target's `id` (the configured provider name). */
|
|
34
36
|
providerId: string;
|
|
35
37
|
service: string;
|
|
36
|
-
|
|
38
|
+
/** `failing`: the service crossed the failure threshold; `recovered`: a check passed again. */
|
|
39
|
+
status: 'failing' | 'recovered';
|
|
37
40
|
consecutiveFailures: number;
|
|
38
|
-
/**
|
|
41
|
+
/** Why the service is failing (unset on recovery). */
|
|
42
|
+
reason?: ServiceHealthReason;
|
|
43
|
+
/** Short description of the most recent check outcome. Local only, never announced. */
|
|
39
44
|
detail: string;
|
|
40
45
|
}
|
|
41
46
|
/**
|
|
@@ -52,7 +57,7 @@ export interface UpstreamAccountEvent {
|
|
|
52
57
|
detail: string;
|
|
53
58
|
/** USD balance, when the provider can read it. */
|
|
54
59
|
balanceUsd: number | null;
|
|
55
|
-
/** The upstream's services
|
|
60
|
+
/** The upstream's services. */
|
|
56
61
|
services: string[];
|
|
57
62
|
}
|
|
58
63
|
export interface ServiceHealthSnapshot {
|
|
@@ -60,11 +65,18 @@ export interface ServiceHealthSnapshot {
|
|
|
60
65
|
/** The target's `id` (the configured provider name). */
|
|
61
66
|
providerId: string;
|
|
62
67
|
service: string;
|
|
63
|
-
|
|
68
|
+
status: ServiceHealthState;
|
|
64
69
|
consecutiveFailures: number;
|
|
70
|
+
failingSince: number | null;
|
|
71
|
+
reason: ServiceHealthReason | null;
|
|
72
|
+
/** When the evidence behind `status` was gathered, and from where. */
|
|
73
|
+
checkedAt: number | null;
|
|
74
|
+
source: ServiceHealthSource | null;
|
|
65
75
|
lastProbeAt: number | null;
|
|
66
76
|
lastStatusCode: number | null;
|
|
67
77
|
lastDetail: string | null;
|
|
78
|
+
/** Last successful billable buyer request. */
|
|
79
|
+
lastTrafficAt: number | null;
|
|
68
80
|
}
|
|
69
81
|
export interface ModelHealthCheckerConfig {
|
|
70
82
|
targets: ModelHealthTarget[];
|
|
@@ -72,8 +84,8 @@ export interface ModelHealthCheckerConfig {
|
|
|
72
84
|
failureThreshold?: number;
|
|
73
85
|
probeTimeoutMs?: number;
|
|
74
86
|
/**
|
|
75
|
-
* Invoked
|
|
76
|
-
*
|
|
87
|
+
* Invoked when a service starts failing or recovers. Callers should re-sign
|
|
88
|
+
* seller metadata here (e.g. `node.refreshSellerMetadata()`).
|
|
77
89
|
*/
|
|
78
90
|
onChange?: (event: ModelHealthEvent) => void | Promise<void>;
|
|
79
91
|
/** Invoked when an upstream account runs out of credit, drops below `lowBalanceUsd`, or is funded again. */
|
|
@@ -85,16 +97,16 @@ export interface ModelHealthCheckerConfig {
|
|
|
85
97
|
}
|
|
86
98
|
type ProbeOutcome = 'healthy' | 'unhealthy' | 'inconclusive';
|
|
87
99
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
100
|
+
* The seller's self health check. Every service stays announced; its latest
|
|
101
|
+
* result is published on `provider.serviceHealth`, which goes into signed
|
|
102
|
+
* metadata (v13+) so buyers can hide failing services from catalogs and
|
|
103
|
+
* routing and explain why a pinned request failed.
|
|
92
104
|
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
105
|
+
* Buyer traffic is the main evidence: a successful billable response marks a
|
|
106
|
+
* service healthy, and a service that had one within the last interval is not
|
|
107
|
+
* probed. Idle services get a minimal (1-token) completion each interval, and
|
|
108
|
+
* a failed buyer request triggers an early probe. A service is failing after
|
|
109
|
+
* `failureThreshold` failed checks in a row and recovers on the first pass.
|
|
98
110
|
*/
|
|
99
111
|
export declare class ModelHealthChecker {
|
|
100
112
|
private readonly _targets;
|
|
@@ -113,13 +125,13 @@ export declare class ModelHealthChecker {
|
|
|
113
125
|
private readonly _onSweepComplete;
|
|
114
126
|
/** Each upstream's credit as last seen; unset until something said. */
|
|
115
127
|
private readonly _accounts;
|
|
116
|
-
/** Services
|
|
117
|
-
private
|
|
128
|
+
/** Services marked failing before `onChange` could be told; reported on the first start. */
|
|
129
|
+
private _failingAtInit;
|
|
118
130
|
constructor(config: ModelHealthCheckerConfig);
|
|
119
131
|
/** Start periodic sweeps. The first sweep runs immediately (async). */
|
|
120
132
|
start(): void;
|
|
121
133
|
stop(): void;
|
|
122
|
-
/**
|
|
134
|
+
/** Check every service once, skipping probes for services with recent buyer traffic. */
|
|
123
135
|
runSweep(): Promise<void>;
|
|
124
136
|
getSnapshot(): ServiceHealthSnapshot[];
|
|
125
137
|
private _runSweep;
|
|
@@ -128,25 +140,38 @@ export declare class ModelHealthChecker {
|
|
|
128
140
|
* upstream account check (key valid, account funded) once, and the model
|
|
129
141
|
* check (model still offered) for every service. A service is unavailable
|
|
130
142
|
* when either check says so, and available only when no check is unsure.
|
|
131
|
-
* `unavailable` counts as a failed check, `available`
|
|
143
|
+
* `unavailable` counts as a failed check, `available` as a pass,
|
|
132
144
|
* `unknown` changes nothing.
|
|
133
145
|
*/
|
|
134
146
|
private _checkServices;
|
|
135
147
|
private _stateFor;
|
|
136
148
|
private _probeService;
|
|
137
149
|
/**
|
|
138
|
-
* A live request's upstream answer (the seller's own traffic)
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
150
|
+
* A live request's upstream answer (the seller's own traffic). A billable
|
|
151
|
+
* success marks `service` healthy and spares it the next probe. A failure
|
|
152
|
+
* the upstream is responsible for (auth, limits, 5xx) triggers an early
|
|
153
|
+
* probe instead of counting directly, so one buyer's odd request cannot mark
|
|
154
|
+
* a service failing. An out-of-credit error is reported at once, and a
|
|
155
|
+
* billable success after one means the account pays again (polling or
|
|
156
|
+
* downloading a video already paid for is not billable and proves nothing).
|
|
142
157
|
*/
|
|
143
|
-
reportUpstreamResponse(provider: Provider, statusCode: number, body: string, billable?: boolean): void;
|
|
158
|
+
reportUpstreamResponse(provider: Provider, statusCode: number, body: string, billable?: boolean, service?: string): void;
|
|
159
|
+
/** A live request threw before the upstream answered (network error, timeout). */
|
|
160
|
+
reportUpstreamFailure(provider: Provider, service: string): void;
|
|
161
|
+
/** The announced health of `service`, if it has been checked. */
|
|
162
|
+
getServiceHealth(provider: Provider, service: string): ServiceHealth | undefined;
|
|
163
|
+
private _findTarget;
|
|
164
|
+
private _probeSoon;
|
|
165
|
+
/** Probes never compete with paying buyers for concurrency slots. */
|
|
166
|
+
private _atCapacity;
|
|
144
167
|
private _lowLine;
|
|
145
168
|
/** Records an upstream's credit and reports a change; the first reading of a funded account is not a change. */
|
|
146
169
|
private _setAccount;
|
|
170
|
+
private _recordSuccess;
|
|
171
|
+
/** A failed check started at `checkStartedAt`; a buyer success since then outweighs it. */
|
|
147
172
|
private _recordFailure;
|
|
148
|
-
|
|
149
|
-
private
|
|
173
|
+
/** Writes the announced form of `state` onto the provider. */
|
|
174
|
+
private _publish;
|
|
150
175
|
private _emitChange;
|
|
151
176
|
}
|
|
152
177
|
export declare function supportsHealthProbe(protocol: ServiceApiProtocol): boolean;
|
|
@@ -166,7 +191,7 @@ export declare function buildHealthProbeRequest(service: string, protocol: Servi
|
|
|
166
191
|
* collapses upstream network errors/timeouts to 502.)
|
|
167
192
|
* - Everything else (400, 422, ...) — the endpoint is alive but the probe
|
|
168
193
|
* itself was rejected (for example, an unsupported parameter): inconclusive,
|
|
169
|
-
* so a working model is never
|
|
194
|
+
* so a working model is never marked failing over a probe quirk.
|
|
170
195
|
*/
|
|
171
196
|
export declare function classifyProbeStatus(statusCode: number): ProbeOutcome;
|
|
172
197
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-health-checker.d.ts","sourceRoot":"","sources":["../../src/health/model-health-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA8C,MAAM,kCAAkC,CAAC;AAC7G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAA4C,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI5G,
|
|
1
|
+
{"version":3,"file":"model-health-checker.d.ts","sourceRoot":"","sources":["../../src/health/model-health-checker.ts"],"names":[],"mappings":"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"}
|