@antseed/node 0.2.27 → 0.2.29
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/README.md +14 -13
- package/dist/buyer-request-handler.d.ts +41 -0
- package/dist/buyer-request-handler.d.ts.map +1 -0
- package/dist/buyer-request-handler.js +254 -0
- package/dist/buyer-request-handler.js.map +1 -0
- package/dist/discovery/announcer.d.ts +5 -4
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +11 -18
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/discovery/index.d.ts +0 -1
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +0 -1
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/metadata-codec.d.ts +2 -2
- package/dist/discovery/metadata-codec.d.ts.map +1 -1
- package/dist/discovery/metadata-codec.js +47 -72
- package/dist/discovery/metadata-codec.js.map +1 -1
- package/dist/discovery/metadata-validator.js +6 -6
- package/dist/discovery/metadata-validator.js.map +1 -1
- package/dist/discovery/peer-lookup.d.ts.map +1 -1
- package/dist/discovery/peer-lookup.js +1 -2
- package/dist/discovery/peer-lookup.js.map +1 -1
- package/dist/discovery/peer-metadata.d.ts +3 -5
- package/dist/discovery/peer-metadata.d.ts.map +1 -1
- package/dist/discovery/peer-metadata.js +1 -1
- package/dist/discovery/reputation-verifier.d.ts +2 -25
- package/dist/discovery/reputation-verifier.d.ts.map +1 -1
- package/dist/discovery/reputation-verifier.js +2 -48
- package/dist/discovery/reputation-verifier.js.map +1 -1
- package/dist/discovery/stats-verifier.d.ts +27 -0
- package/dist/discovery/stats-verifier.d.ts.map +1 -0
- package/dist/discovery/stats-verifier.js +38 -0
- package/dist/discovery/stats-verifier.js.map +1 -0
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/metering/index.d.ts +1 -0
- package/dist/metering/index.d.ts.map +1 -1
- package/dist/metering/index.js +1 -0
- package/dist/metering/index.js.map +1 -1
- package/dist/metering/receipt-generator.d.ts +4 -4
- package/dist/metering/receipt-generator.d.ts.map +1 -1
- package/dist/metering/receipt-verifier.d.ts +6 -6
- package/dist/metering/receipt-verifier.d.ts.map +1 -1
- package/dist/metering/receipt-verifier.js +1 -1
- package/dist/metering/seller-session-tracker.d.ts +91 -0
- package/dist/metering/seller-session-tracker.d.ts.map +1 -0
- package/dist/metering/seller-session-tracker.js +261 -0
- package/dist/metering/seller-session-tracker.js.map +1 -0
- package/dist/metering/storage.d.ts +11 -5
- package/dist/metering/storage.d.ts.map +1 -1
- package/dist/metering/storage.js +28 -80
- package/dist/metering/storage.js.map +1 -1
- package/dist/node.d.ts +69 -117
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +240 -1269
- package/dist/node.js.map +1 -1
- package/dist/p2p/connection-auth.d.ts +2 -1
- package/dist/p2p/connection-auth.d.ts.map +1 -1
- package/dist/p2p/connection-auth.js +6 -6
- package/dist/p2p/connection-auth.js.map +1 -1
- package/dist/p2p/connection-manager.d.ts +3 -2
- package/dist/p2p/connection-manager.d.ts.map +1 -1
- package/dist/p2p/connection-manager.js +6 -6
- package/dist/p2p/connection-manager.js.map +1 -1
- package/dist/p2p/identity.d.ts +22 -15
- package/dist/p2p/identity.d.ts.map +1 -1
- package/dist/p2p/identity.js +66 -51
- package/dist/p2p/identity.js.map +1 -1
- package/dist/p2p/index.d.ts +1 -1
- package/dist/p2p/index.d.ts.map +1 -1
- package/dist/p2p/index.js +1 -1
- package/dist/p2p/index.js.map +1 -1
- package/dist/p2p/payment-codec.d.ts +4 -8
- package/dist/p2p/payment-codec.d.ts.map +1 -1
- package/dist/p2p/payment-codec.js +27 -57
- package/dist/p2p/payment-codec.js.map +1 -1
- package/dist/p2p/payment-mux.d.ts +4 -10
- package/dist/p2p/payment-mux.d.ts.map +1 -1
- package/dist/p2p/payment-mux.js +11 -33
- package/dist/p2p/payment-mux.js.map +1 -1
- package/dist/payments/balance-manager.d.ts +2 -2
- package/dist/payments/balance-manager.d.ts.map +1 -1
- package/dist/payments/balance-manager.js +5 -5
- package/dist/payments/balance-manager.js.map +1 -1
- package/dist/payments/buyer-payment-manager.d.ts +154 -21
- package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
- package/dist/payments/buyer-payment-manager.js +540 -166
- package/dist/payments/buyer-payment-manager.js.map +1 -1
- package/dist/payments/buyer-payment-negotiator.d.ts +84 -0
- package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -0
- package/dist/payments/buyer-payment-negotiator.js +624 -0
- package/dist/payments/buyer-payment-negotiator.js.map +1 -0
- package/dist/payments/chain-config.d.ts +10 -4
- package/dist/payments/chain-config.d.ts.map +1 -1
- package/dist/payments/chain-config.js +19 -9
- package/dist/payments/chain-config.js.map +1 -1
- package/dist/payments/channel-session-state.d.ts +13 -0
- package/dist/payments/channel-session-state.d.ts.map +1 -0
- package/dist/payments/channel-session-state.js +25 -0
- package/dist/payments/channel-session-state.js.map +1 -0
- package/dist/payments/channel-store.d.ts +87 -0
- package/dist/payments/channel-store.d.ts.map +1 -0
- package/dist/payments/channel-store.js +276 -0
- package/dist/payments/channel-store.js.map +1 -0
- package/dist/payments/evm/ants-token-client.d.ts +1 -1
- package/dist/payments/evm/ants-token-client.d.ts.map +1 -1
- package/dist/payments/evm/ants-token-client.js +3 -4
- package/dist/payments/evm/ants-token-client.js.map +1 -1
- package/dist/payments/evm/base-evm-client.d.ts +10 -1
- package/dist/payments/evm/base-evm-client.d.ts.map +1 -1
- package/dist/payments/evm/base-evm-client.js +34 -1
- package/dist/payments/evm/base-evm-client.js.map +1 -1
- package/dist/payments/evm/channels-client.d.ts +51 -0
- package/dist/payments/evm/channels-client.d.ts.map +1 -0
- package/dist/payments/evm/channels-client.js +101 -0
- package/dist/payments/evm/channels-client.js.map +1 -0
- package/dist/payments/evm/deposits-client.d.ts +30 -0
- package/dist/payments/evm/deposits-client.d.ts.map +1 -0
- package/dist/payments/evm/deposits-client.js +78 -0
- package/dist/payments/evm/deposits-client.js.map +1 -0
- package/dist/payments/evm/emissions-client.d.ts +3 -4
- package/dist/payments/evm/emissions-client.d.ts.map +1 -1
- package/dist/payments/evm/emissions-client.js +11 -30
- package/dist/payments/evm/emissions-client.js.map +1 -1
- package/dist/payments/evm/identity-client.d.ts +15 -23
- package/dist/payments/evm/identity-client.d.ts.map +1 -1
- package/dist/payments/evm/identity-client.js +68 -99
- package/dist/payments/evm/identity-client.js.map +1 -1
- package/dist/payments/evm/keypair.d.ts +3 -14
- package/dist/payments/evm/keypair.d.ts.map +1 -1
- package/dist/payments/evm/keypair.js +4 -20
- package/dist/payments/evm/keypair.js.map +1 -1
- package/dist/payments/evm/sessions-client.d.ts +30 -0
- package/dist/payments/evm/sessions-client.d.ts.map +1 -0
- package/dist/payments/evm/sessions-client.js +61 -0
- package/dist/payments/evm/sessions-client.js.map +1 -0
- package/dist/payments/evm/signatures.d.ts +43 -12
- package/dist/payments/evm/signatures.d.ts.map +1 -1
- package/dist/payments/evm/signatures.js +62 -45
- package/dist/payments/evm/signatures.js.map +1 -1
- package/dist/payments/evm/staking-client.d.ts +24 -0
- package/dist/payments/evm/staking-client.d.ts.map +1 -0
- package/dist/payments/evm/staking-client.js +54 -0
- package/dist/payments/evm/staking-client.js.map +1 -0
- package/dist/payments/evm/stats-client.d.ts +20 -0
- package/dist/payments/evm/stats-client.d.ts.map +1 -0
- package/dist/payments/evm/stats-client.js +25 -0
- package/dist/payments/evm/stats-client.js.map +1 -0
- package/dist/payments/index.d.ts +17 -10
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +15 -8
- package/dist/payments/index.js.map +1 -1
- package/dist/payments/pricing.d.ts +25 -0
- package/dist/payments/pricing.d.ts.map +1 -0
- package/dist/payments/pricing.js +33 -0
- package/dist/payments/pricing.js.map +1 -0
- package/dist/payments/readiness.d.ts +4 -3
- package/dist/payments/readiness.d.ts.map +1 -1
- package/dist/payments/readiness.js +11 -18
- package/dist/payments/readiness.js.map +1 -1
- package/dist/payments/seller-payment-manager.d.ts +72 -47
- package/dist/payments/seller-payment-manager.d.ts.map +1 -1
- package/dist/payments/seller-payment-manager.js +558 -275
- package/dist/payments/seller-payment-manager.js.map +1 -1
- package/dist/payments/session-store.d.ts +3 -0
- package/dist/payments/session-store.d.ts.map +1 -1
- package/dist/payments/session-store.js +31 -2
- package/dist/payments/session-store.js.map +1 -1
- package/dist/payments/types.d.ts +5 -3
- package/dist/payments/types.d.ts.map +1 -1
- package/dist/proxy/proxy-mux.d.ts.map +1 -1
- package/dist/proxy/proxy-mux.js +3 -2
- package/dist/proxy/proxy-mux.js.map +1 -1
- package/dist/proxy/request-codec.d.ts.map +1 -1
- package/dist/proxy/request-codec.js +3 -0
- package/dist/proxy/request-codec.js.map +1 -1
- package/dist/reputation/rating-manager.d.ts.map +1 -1
- package/dist/reputation/rating-manager.js +2 -4
- package/dist/reputation/rating-manager.js.map +1 -1
- package/dist/reputation/report-manager.d.ts.map +1 -1
- package/dist/reputation/report-manager.js +2 -4
- package/dist/reputation/report-manager.js.map +1 -1
- package/dist/routing/default-router.d.ts.map +1 -1
- package/dist/routing/default-router.js +4 -9
- package/dist/routing/default-router.js.map +1 -1
- package/dist/seller-request-handler.d.ts +54 -0
- package/dist/seller-request-handler.d.ts.map +1 -0
- package/dist/seller-request-handler.js +359 -0
- package/dist/seller-request-handler.js.map +1 -0
- package/dist/storage/migrate.d.ts +13 -0
- package/dist/storage/migrate.d.ts.map +1 -0
- package/dist/storage/migrate.js +28 -0
- package/dist/storage/migrate.js.map +1 -0
- package/dist/storage/migrations/channels/001_create_tables.d.ts +3 -0
- package/dist/storage/migrations/channels/001_create_tables.d.ts.map +1 -0
- package/dist/storage/migrations/channels/001_create_tables.js +45 -0
- package/dist/storage/migrations/channels/001_create_tables.js.map +1 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts +3 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts.map +1 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.js +19 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.js.map +1 -0
- package/dist/storage/migrations/channels/index.d.ts +3 -0
- package/dist/storage/migrations/channels/index.d.ts.map +1 -0
- package/dist/storage/migrations/channels/index.js +4 -0
- package/dist/storage/migrations/channels/index.js.map +1 -0
- package/dist/storage/migrations/metering/001_create_tables.d.ts +3 -0
- package/dist/storage/migrations/metering/001_create_tables.d.ts.map +1 -0
- package/dist/storage/migrations/metering/001_create_tables.js +80 -0
- package/dist/storage/migrations/metering/001_create_tables.js.map +1 -0
- package/dist/storage/migrations/metering/index.d.ts +3 -0
- package/dist/storage/migrations/metering/index.d.ts.map +1 -0
- package/dist/storage/migrations/metering/index.js +3 -0
- package/dist/storage/migrations/metering/index.js.map +1 -0
- package/dist/types/capability.d.ts +1 -1
- package/dist/types/metering.d.ts +1 -1
- package/dist/types/peer.d.ts +10 -11
- package/dist/types/peer.d.ts.map +1 -1
- package/dist/types/peer.js +7 -3
- package/dist/types/peer.js.map +1 -1
- package/dist/types/protocol.d.ts +22 -70
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +1 -3
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/rating.d.ts +1 -1
- package/dist/types/rating.d.ts.map +1 -1
- package/dist/types/report.d.ts +1 -1
- package/dist/types/report.d.ts.map +1 -1
- package/dist/utils/response-usage.d.ts +10 -0
- package/dist/utils/response-usage.d.ts.map +1 -0
- package/dist/utils/response-usage.js +34 -0
- package/dist/utils/response-usage.js.map +1 -0
- package/package.json +3 -3
package/dist/node.d.ts
CHANGED
|
@@ -2,15 +2,21 @@ import { EventEmitter } from "node:events";
|
|
|
2
2
|
import type { Identity, IdentityStore } from "./p2p/identity.js";
|
|
3
3
|
import type { PeerId } from "./types/peer.js";
|
|
4
4
|
import type { PeerInfo } from "./types/peer.js";
|
|
5
|
-
import {
|
|
5
|
+
import type { SerializedHttpRequest, SerializedHttpResponse } from "./types/http.js";
|
|
6
|
+
import { type SellerSessionSnapshot } from "./metering/seller-session-tracker.js";
|
|
6
7
|
import { ConnectionState } from "./types/connection.js";
|
|
7
8
|
import type { Provider, ProviderStreamCallbacks } from "./interfaces/seller-provider.js";
|
|
8
9
|
import type { Router } from "./interfaces/buyer-router.js";
|
|
9
10
|
import { type PaymentConfig, type PaymentMethod } from "./payments/index.js";
|
|
10
11
|
import { BuyerPaymentManager, type BuyerPaymentConfig } from "./payments/buyer-payment-manager.js";
|
|
12
|
+
import { BuyerPaymentNegotiator } from "./payments/buyer-payment-negotiator.js";
|
|
13
|
+
import { IdentityClient } from "./payments/evm/identity-client.js";
|
|
14
|
+
import { type RequestStreamCallbacks, type RequestStreamResponseMetadata, type RequestExecutionOptions } from "./buyer-request-handler.js";
|
|
11
15
|
export type { Provider, ProviderStreamCallbacks };
|
|
12
16
|
export type { Router };
|
|
13
17
|
export type { BuyerPaymentConfig };
|
|
18
|
+
export type { SellerSessionSnapshot };
|
|
19
|
+
export type { RequestStreamCallbacks, RequestStreamResponseMetadata, RequestExecutionOptions };
|
|
14
20
|
export interface NodePaymentsConfig {
|
|
15
21
|
/** Enable seller-side payment channels and automatic settlement. */
|
|
16
22
|
enabled?: boolean;
|
|
@@ -20,32 +26,36 @@ export interface NodePaymentsConfig {
|
|
|
20
26
|
platformFeeRate?: number;
|
|
21
27
|
/** Idle time before a session is finalized and settled. Default: 30000ms */
|
|
22
28
|
settlementIdleMs?: number;
|
|
23
|
-
/** Default
|
|
24
|
-
|
|
25
|
-
/** Optional seller wallet address for auto-funded
|
|
29
|
+
/** Default deposit amount in USDC units. Default: "1" */
|
|
30
|
+
defaultDepositAmountUSDC?: string;
|
|
31
|
+
/** Optional seller wallet address for auto-funded deposit. */
|
|
26
32
|
sellerWalletAddress?: string;
|
|
27
33
|
/** Settlement backend configuration (crypto). */
|
|
28
34
|
paymentConfig?: PaymentConfig | null;
|
|
29
35
|
/** Base JSON-RPC URL (e.g. http://127.0.0.1:8545 for anvil) */
|
|
30
36
|
rpcUrl?: string;
|
|
31
|
-
/** Deployed
|
|
32
|
-
|
|
37
|
+
/** Deployed AntseedDeposits contract address */
|
|
38
|
+
depositsAddress?: string;
|
|
39
|
+
/** Deployed AntseedChannels contract address */
|
|
40
|
+
channelsAddress?: string;
|
|
33
41
|
/** USDC token contract address */
|
|
34
42
|
usdcAddress?: string;
|
|
35
|
-
/**
|
|
36
|
-
|
|
43
|
+
/** ERC-8004 IdentityRegistry contract address */
|
|
44
|
+
identityRegistryAddress?: string;
|
|
45
|
+
/** AntseedStaking contract address */
|
|
46
|
+
stakingAddress?: string;
|
|
37
47
|
/** Chain ID for EIP-712 domain. Default: 8453 (Base) */
|
|
38
48
|
chainId?: number;
|
|
39
|
-
/** Default maximum USDC per spending auth. Default:
|
|
49
|
+
/** Default maximum USDC per spending auth. Default: 500000 ($0.50) */
|
|
40
50
|
defaultMaxAmountUsdc?: string;
|
|
41
|
-
/** Default auth duration in seconds. Default:
|
|
51
|
+
/** Default auth duration in seconds. Default: 90000 */
|
|
42
52
|
defaultAuthDurationSecs?: number;
|
|
43
|
-
/**
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
|
|
53
|
+
/** Minimum USDC per request (base units) for seller. Default: "10000" ($0.01). */
|
|
54
|
+
minBudgetPerRequest?: string;
|
|
55
|
+
/** Maximum USDC the buyer authorizes per single request (base units). Default: "500000" ($0.50). */
|
|
56
|
+
maxPerRequestUsdc?: string;
|
|
57
|
+
/** Maximum total USDC the buyer will reserve in a single SpendingAuth (base units). Default: "10000000" ($10.00). */
|
|
58
|
+
maxReserveAmountUsdc?: string;
|
|
49
59
|
}
|
|
50
60
|
export interface NodeConfig {
|
|
51
61
|
role: 'seller' | 'buyer';
|
|
@@ -77,35 +87,8 @@ export interface NodeConfig {
|
|
|
77
87
|
identityStore?: IdentityStore;
|
|
78
88
|
/** Optional explicit config.json path for runtime config reloads. */
|
|
79
89
|
configPath?: string;
|
|
80
|
-
/**
|
|
81
|
-
* When true, the node returns the 402 to the caller instead of auto-signing.
|
|
82
|
-
* The caller can then sign externally and retry with x-antseed-spending-auth header.
|
|
83
|
-
*/
|
|
84
|
-
requireManualApproval?: boolean;
|
|
85
|
-
}
|
|
86
|
-
export interface SellerSessionSnapshot {
|
|
87
|
-
sessionId: string;
|
|
88
|
-
buyerPeerId: string;
|
|
89
|
-
provider: string;
|
|
90
|
-
startedAt: number;
|
|
91
|
-
lastActivityAt: number;
|
|
92
|
-
totalRequests: number;
|
|
93
|
-
totalTokens: number;
|
|
94
|
-
avgLatencyMs: number;
|
|
95
|
-
settling: boolean;
|
|
96
|
-
}
|
|
97
|
-
export interface RequestStreamResponseMetadata {
|
|
98
|
-
streaming: boolean;
|
|
99
|
-
}
|
|
100
|
-
export interface RequestStreamCallbacks {
|
|
101
|
-
onResponseStart?: (response: SerializedHttpResponse, metadata: RequestStreamResponseMetadata) => void;
|
|
102
|
-
onResponseChunk?: (chunk: SerializedHttpResponseChunk) => void;
|
|
103
|
-
}
|
|
104
|
-
export interface RequestExecutionOptions {
|
|
105
|
-
signal?: AbortSignal;
|
|
106
90
|
}
|
|
107
91
|
export declare class AntseedNode extends EventEmitter {
|
|
108
|
-
private static readonly _METADATA_REFRESH_DEBOUNCE_MS;
|
|
109
92
|
private _config;
|
|
110
93
|
private _identity;
|
|
111
94
|
private _dht;
|
|
@@ -122,33 +105,29 @@ export declare class AntseedNode extends EventEmitter {
|
|
|
122
105
|
private _metering;
|
|
123
106
|
private _receiptGenerator;
|
|
124
107
|
private _balanceManager;
|
|
125
|
-
private
|
|
108
|
+
private _depositsClient;
|
|
109
|
+
private _channelsClient;
|
|
110
|
+
private _stakingClient;
|
|
126
111
|
private _identityClient;
|
|
127
112
|
private _paymentMuxes;
|
|
128
|
-
|
|
129
|
-
private
|
|
130
|
-
/** Per-buyer session tracking: buyerPeerId → seller session state */
|
|
131
|
-
private _sessions;
|
|
132
|
-
private _settlementTimers;
|
|
113
|
+
/** Seller-side request handler (provider matching, execution, load tracking). */
|
|
114
|
+
private _sellerHandler;
|
|
133
115
|
/** Buyer-side payment manager (initialized when buyer has payment config). */
|
|
134
116
|
private _buyerPaymentManager;
|
|
117
|
+
/** Buyer-side payment negotiation (402 handling, SpendingAuth, cost tracking). */
|
|
118
|
+
private _buyerNegotiator;
|
|
119
|
+
/** Buyer-side request execution (streaming, timeouts, 402 retry). */
|
|
120
|
+
private _buyerHandler;
|
|
135
121
|
/** Seller-side payment manager (initialized when seller has payment config). */
|
|
136
122
|
private _sellerPaymentManager;
|
|
137
|
-
/** Shared
|
|
138
|
-
private
|
|
123
|
+
/** Shared channel store for payment persistence. */
|
|
124
|
+
private _channelStore;
|
|
139
125
|
/** Periodic timeout checker interval. */
|
|
140
126
|
private _timeoutCheckerInterval;
|
|
141
|
-
/**
|
|
142
|
-
private
|
|
143
|
-
/**
|
|
144
|
-
private
|
|
145
|
-
private _manualApprovalCache;
|
|
146
|
-
/** Buffered PaymentRequired that arrived before _doNegotiatePayment registered its listener.
|
|
147
|
-
* This handles the race where 402 + PaymentRequired arrive in the same I/O tick. */
|
|
148
|
-
private _bufferedPaymentRequired;
|
|
149
|
-
/** Per-peer mutex to prevent concurrent payment negotiations. */
|
|
150
|
-
private _paymentNegotiationLocks;
|
|
151
|
-
/** Peers the caller has manually approved by retrying after a 402. */
|
|
127
|
+
/** Block cursor for CloseRequested event polling. */
|
|
128
|
+
private _closeRequestedFromBlock;
|
|
129
|
+
/** Seller session lifecycle tracking (metering, settlement). */
|
|
130
|
+
private _sessionTracker;
|
|
152
131
|
constructor(config: NodeConfig);
|
|
153
132
|
get peerId(): string | null;
|
|
154
133
|
get identity(): Identity | null;
|
|
@@ -157,10 +136,14 @@ export declare class AntseedNode extends EventEmitter {
|
|
|
157
136
|
get router(): Router | null;
|
|
158
137
|
/** Buyer-side payment manager (null if payments not enabled or not in buyer mode). */
|
|
159
138
|
get buyerPaymentManager(): BuyerPaymentManager | null;
|
|
139
|
+
/** Buyer-side payment negotiator (null if payments not configured for buyer). */
|
|
140
|
+
get buyerNegotiator(): BuyerPaymentNegotiator | null;
|
|
160
141
|
/** Actual DHT port after binding (0 means not started). */
|
|
161
142
|
get dhtPort(): number;
|
|
162
143
|
/** Actual signaling/connection port after binding (0 means not started). */
|
|
163
144
|
get signalingPort(): number;
|
|
145
|
+
/** ERC-8004 IdentityRegistry client (null if not configured). */
|
|
146
|
+
get identityClient(): IdentityClient | null;
|
|
164
147
|
/** Current connection state for a peer if a connection exists, otherwise null. */
|
|
165
148
|
getPeerConnectionState(peerId: PeerId): ConnectionState | null;
|
|
166
149
|
/**
|
|
@@ -168,8 +151,8 @@ export declare class AntseedNode extends EventEmitter {
|
|
|
168
151
|
* Includes open sessions before they are finalized/settled.
|
|
169
152
|
*/
|
|
170
153
|
getActiveSellerSessions(): SellerSessionSnapshot[];
|
|
171
|
-
/** Number of active in-memory seller
|
|
172
|
-
|
|
154
|
+
/** Number of active in-memory seller channels that are not currently settling. */
|
|
155
|
+
getActiveSellerChannelCount(): number;
|
|
173
156
|
start(): Promise<void>;
|
|
174
157
|
stop(): Promise<void>;
|
|
175
158
|
discoverPeers(service?: string): Promise<PeerInfo[]>;
|
|
@@ -178,70 +161,39 @@ export declare class AntseedNode extends EventEmitter {
|
|
|
178
161
|
* Subsequent sendRequest / sendRequestStream calls will reuse this connection.
|
|
179
162
|
*/
|
|
180
163
|
connectToPeer(peer: PeerInfo): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Query session stats for a specific seller peer.
|
|
166
|
+
* Combines channel store data (authoritative payment/session info) with
|
|
167
|
+
* metering events when available.
|
|
168
|
+
*/
|
|
169
|
+
getMeteringStatsByPeer(sellerPeerId: string): {
|
|
170
|
+
totalRequests: number;
|
|
171
|
+
inputTokens: number;
|
|
172
|
+
outputTokens: number;
|
|
173
|
+
totalTokens: number;
|
|
174
|
+
reservedUsdc: string | null;
|
|
175
|
+
consumedUsdc: string | null;
|
|
176
|
+
channelStatus: string | null;
|
|
177
|
+
reservedAt: number | null;
|
|
178
|
+
lifetimeSessions: number;
|
|
179
|
+
lifetimeRequests: number;
|
|
180
|
+
lifetimeInputTokens: number;
|
|
181
|
+
lifetimeOutputTokens: number;
|
|
182
|
+
lifetimeTotalTokens: number;
|
|
183
|
+
lifetimeAuthorizedUsdc: string;
|
|
184
|
+
lifetimeFirstSessionAt: number | null;
|
|
185
|
+
} | null;
|
|
181
186
|
sendRequest(peer: PeerInfo, req: SerializedHttpRequest, options?: RequestExecutionOptions): Promise<SerializedHttpResponse>;
|
|
182
187
|
sendRequestStream(peer: PeerInfo, req: SerializedHttpRequest, callbacks: RequestStreamCallbacks, options?: RequestExecutionOptions): Promise<SerializedHttpResponse>;
|
|
183
|
-
private _sendRequestInternal;
|
|
184
188
|
private _createDHTConfig;
|
|
185
189
|
private _wireConnection;
|
|
186
190
|
private _startSeller;
|
|
187
191
|
private _startBuyer;
|
|
188
192
|
private _handleIncomingConnection;
|
|
189
|
-
private _executeProviderRequest;
|
|
190
|
-
private _stripStreamingHeader;
|
|
191
|
-
private _parseJsonBody;
|
|
192
|
-
private _extractRequestedService;
|
|
193
|
-
private _extractRequestedProvider;
|
|
194
|
-
private _resolveProviderPricing;
|
|
195
|
-
private _getOrCreateSellerSession;
|
|
196
|
-
private _emitSellerSessionUpdated;
|
|
197
|
-
/** Estimate tokens from byte lengths (rough: ~4 chars per token). */
|
|
198
|
-
/** Fallback token estimation from byte lengths (~4 bytes per token). */
|
|
199
|
-
private _estimateTokens;
|
|
200
|
-
private _recordMetering;
|
|
201
193
|
private _initializePayments;
|
|
202
|
-
private _scheduleSettlementTimer;
|
|
203
|
-
private _finalizeSession;
|
|
204
|
-
private _finalizeAllSessions;
|
|
205
194
|
private _getOrCreateConnection;
|
|
206
195
|
private _getOrCreateMux;
|
|
207
|
-
/**
|
|
208
|
-
* Create a PaymentMux for a buyer-side outbound connection and register
|
|
209
|
-
* buyer-side handlers (lock confirm, lock reject, seller receipt, top-up request).
|
|
210
|
-
*/
|
|
211
|
-
private _getOrCreateBuyerPaymentMux;
|
|
212
|
-
/**
|
|
213
|
-
* Wait for the seller's PaymentRequired message, sign a SpendingAuth with
|
|
214
|
-
* the seller's real requirements, and wait for AuthAck.
|
|
215
|
-
* Uses a per-peer mutex so concurrent requests wait for the first negotiation.
|
|
216
|
-
*/
|
|
217
|
-
/** Read requireManualApproval from config.json so changes take effect without restart. */
|
|
218
|
-
private _isManualApprovalEnabled;
|
|
219
|
-
/**
|
|
220
|
-
* Wait for the seller's PaymentRequired payload for a given peer.
|
|
221
|
-
* Returns a buffered payload immediately when available, otherwise waits up to timeoutMs.
|
|
222
|
-
*/
|
|
223
|
-
private _awaitPaymentRequired;
|
|
224
|
-
/**
|
|
225
|
-
* Apply a pre-signed SpendingAuth from the x-antseed-spending-auth header.
|
|
226
|
-
* Sends it to the seller via PaymentMux and waits for AuthAck.
|
|
227
|
-
*/
|
|
228
|
-
private _applyExternalSpendingAuth;
|
|
229
|
-
private _negotiatePayment;
|
|
230
|
-
private _doNegotiatePayment;
|
|
231
|
-
/**
|
|
232
|
-
* Poll until the lock for a seller is confirmed or rejected.
|
|
233
|
-
* Polls every 200ms with a 30-second timeout.
|
|
234
|
-
*/
|
|
235
|
-
private _waitForLockConfirmation;
|
|
236
|
-
/**
|
|
237
|
-
* Clean up buyer payment sessions on shutdown.
|
|
238
|
-
* Sessions are persisted in SessionStore and will be resumed on next connect.
|
|
239
|
-
*/
|
|
240
|
-
private _endAllBuyerSessions;
|
|
241
196
|
private _resolvePublicAddress;
|
|
242
197
|
private _lookupResultToPeerInfo;
|
|
243
|
-
private _adjustProviderLoad;
|
|
244
|
-
private _scheduleMetadataRefresh;
|
|
245
|
-
private _unrefTimer;
|
|
246
198
|
}
|
|
247
199
|
//# sourceMappingURL=node.d.ts.map
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|