@antseed/node 0.2.26 → 0.2.28
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 +85 -11
- 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 -2
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +11 -14
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/discovery/index.d.ts +0 -2
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +0 -2
- 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 -22
- package/dist/discovery/reputation-verifier.d.ts.map +1 -1
- package/dist/discovery/reputation-verifier.js +2 -24
- 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 +17 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- 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 +83 -104
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +313 -1026
- 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 +12 -6
- package/dist/p2p/connection-manager.js.map +1 -1
- package/dist/p2p/identity.d.ts +44 -13
- package/dist/p2p/identity.d.ts.map +1 -1
- package/dist/p2p/identity.js +103 -49
- package/dist/p2p/identity.js.map +1 -1
- package/dist/p2p/index.d.ts +1 -3
- package/dist/p2p/index.d.ts.map +1 -1
- package/dist/p2p/index.js +1 -3
- package/dist/p2p/index.js.map +1 -1
- package/dist/p2p/payment-codec.d.ts +9 -19
- package/dist/p2p/payment-codec.d.ts.map +1 -1
- package/dist/p2p/payment-codec.js +41 -89
- package/dist/p2p/payment-codec.js.map +1 -1
- package/dist/p2p/payment-mux.d.ts +14 -29
- package/dist/p2p/payment-mux.d.ts.map +1 -1
- package/dist/p2p/payment-mux.js +41 -79
- 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 +157 -83
- package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
- package/dist/payments/buyer-payment-manager.js +573 -204
- 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 +44 -0
- package/dist/payments/chain-config.d.ts.map +1 -0
- package/dist/payments/chain-config.js +70 -0
- package/dist/payments/chain-config.js.map +1 -0
- 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 +16 -0
- package/dist/payments/evm/ants-token-client.d.ts.map +1 -0
- package/dist/payments/evm/ants-token-client.js +65 -0
- package/dist/payments/evm/ants-token-client.js.map +1 -0
- package/dist/payments/evm/base-evm-client.d.ts +22 -0
- package/dist/payments/evm/base-evm-client.d.ts.map +1 -0
- package/dist/payments/evm/base-evm-client.js +71 -0
- package/dist/payments/evm/base-evm-client.js.map +1 -0
- 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 +22 -0
- package/dist/payments/evm/emissions-client.d.ts.map +1 -0
- package/dist/payments/evm/emissions-client.js +65 -0
- package/dist/payments/evm/emissions-client.js.map +1 -0
- package/dist/payments/evm/escrow-client.d.ts +57 -36
- package/dist/payments/evm/escrow-client.d.ts.map +1 -1
- package/dist/payments/evm/escrow-client.js +200 -93
- package/dist/payments/evm/escrow-client.js.map +1 -1
- package/dist/payments/evm/identity-client.d.ts +21 -0
- package/dist/payments/evm/identity-client.d.ts.map +1 -0
- package/dist/payments/evm/identity-client.js +68 -0
- package/dist/payments/evm/identity-client.js.map +1 -0
- 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 +54 -10
- package/dist/payments/evm/signatures.d.ts.map +1 -1
- package/dist/payments/evm/signatures.js +80 -54
- 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/evm/subpool-client.d.ts +30 -0
- package/dist/payments/evm/subpool-client.d.ts.map +1 -0
- package/dist/payments/evm/subpool-client.js +158 -0
- package/dist/payments/evm/subpool-client.js.map +1 -0
- package/dist/payments/index.d.ts +29 -9
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +27 -9
- 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 +13 -0
- package/dist/payments/readiness.d.ts.map +1 -0
- package/dist/payments/readiness.js +57 -0
- package/dist/payments/readiness.js.map +1 -0
- package/dist/payments/seller-payment-manager.d.ts +101 -36
- package/dist/payments/seller-payment-manager.d.ts.map +1 -1
- package/dist/payments/seller-payment-manager.js +612 -120
- package/dist/payments/seller-payment-manager.js.map +1 -1
- package/dist/payments/session-store.d.ts +68 -0
- package/dist/payments/session-store.d.ts.map +1 -0
- package/dist/payments/session-store.js +272 -0
- package/dist/payments/session-store.js.map +1 -0
- package/dist/payments/types.d.ts +5 -3
- package/dist/payments/types.d.ts.map +1 -1
- package/dist/payments/usdc-utils.d.ts +9 -0
- package/dist/payments/usdc-utils.d.ts.map +1 -0
- package/dist/payments/usdc-utils.js +17 -0
- package/dist/payments/usdc-utils.js.map +1 -0
- 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/http.d.ts +2 -0
- package/dist/types/http.d.ts.map +1 -1
- package/dist/types/http.js +2 -0
- package/dist/types/http.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/metering.d.ts +2 -2
- package/dist/types/metering.d.ts.map +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 +32 -97
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +5 -10
- 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 +4 -3
|
@@ -1,27 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Queries the escrow contract using the peer's evmAddress and compares
|
|
4
|
-
* claimed vs actual reputation values.
|
|
2
|
+
* @deprecated Use stats-verifier.ts instead. This module is kept for backward compatibility.
|
|
5
3
|
*/
|
|
6
|
-
export
|
|
7
|
-
if (!metadata.evmAddress) {
|
|
8
|
-
throw new Error("Metadata does not contain an evmAddress");
|
|
9
|
-
}
|
|
10
|
-
const reputation = await escrowClient.getReputation(metadata.evmAddress);
|
|
11
|
-
const actualReputation = reputation.weightedAverage;
|
|
12
|
-
const actualSessionCount = reputation.sessionCount;
|
|
13
|
-
const actualDisputeCount = reputation.disputeCount;
|
|
14
|
-
const valid = metadata.onChainReputation === actualReputation &&
|
|
15
|
-
metadata.onChainSessionCount === actualSessionCount &&
|
|
16
|
-
metadata.onChainDisputeCount === actualDisputeCount;
|
|
17
|
-
return {
|
|
18
|
-
valid,
|
|
19
|
-
actualReputation,
|
|
20
|
-
actualSessionCount,
|
|
21
|
-
actualDisputeCount,
|
|
22
|
-
claimedReputation: metadata.onChainReputation,
|
|
23
|
-
claimedSessionCount: metadata.onChainSessionCount,
|
|
24
|
-
claimedDisputeCount: metadata.onChainDisputeCount,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
4
|
+
export { verifyStats as verifyReputation } from './stats-verifier.js';
|
|
27
5
|
//# sourceMappingURL=reputation-verifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reputation-verifier.js","sourceRoot":"","sources":["../../src/discovery/reputation-verifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reputation-verifier.js","sourceRoot":"","sources":["../../src/discovery/reputation-verifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAoD,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { PeerMetadata } from "./peer-metadata.js";
|
|
2
|
+
import type { StatsClient } from "../payments/evm/stats-client.js";
|
|
3
|
+
import type { StakingClient } from "../payments/evm/staking-client.js";
|
|
4
|
+
export interface StatsVerification {
|
|
5
|
+
/** Whether the claimed stats match on-chain data. */
|
|
6
|
+
valid: boolean;
|
|
7
|
+
/** The actual on-chain reputation score (channel count). */
|
|
8
|
+
actualReputation: number;
|
|
9
|
+
/** The actual on-chain channel count. */
|
|
10
|
+
actualChannelCount: number;
|
|
11
|
+
/** The actual on-chain ghost/dispute count. */
|
|
12
|
+
actualDisputeCount: number;
|
|
13
|
+
/** The claimed on-chain reputation score from metadata. */
|
|
14
|
+
claimedReputation?: number;
|
|
15
|
+
/** The claimed on-chain channel count from metadata. */
|
|
16
|
+
claimedChannelCount?: number;
|
|
17
|
+
/** The claimed on-chain dispute count from metadata. */
|
|
18
|
+
claimedDisputeCount?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Verify a peer's claimed on-chain stats against the AntseedStats contract.
|
|
22
|
+
* Uses the staking client to look up the agentId from the peer's EVM address
|
|
23
|
+
* (derived from peerId), then fetches stats from the StatsClient and compares
|
|
24
|
+
* claimed vs actual.
|
|
25
|
+
*/
|
|
26
|
+
export declare function verifyStats(statsClient: StatsClient, stakingClient: StakingClient, metadata: PeerMetadata): Promise<StatsVerification>;
|
|
27
|
+
//# sourceMappingURL=stats-verifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-verifier.d.ts","sourceRoot":"","sources":["../../src/discovery/stats-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGvE,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,KAAK,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAiC5B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { peerIdToAddress } from "../types/peer.js";
|
|
2
|
+
/**
|
|
3
|
+
* Verify a peer's claimed on-chain stats against the AntseedStats contract.
|
|
4
|
+
* Uses the staking client to look up the agentId from the peer's EVM address
|
|
5
|
+
* (derived from peerId), then fetches stats from the StatsClient and compares
|
|
6
|
+
* claimed vs actual.
|
|
7
|
+
*/
|
|
8
|
+
export async function verifyStats(statsClient, stakingClient, metadata) {
|
|
9
|
+
const evmAddress = peerIdToAddress(metadata.peerId);
|
|
10
|
+
const agentId = await stakingClient.getAgentId(evmAddress);
|
|
11
|
+
const stats = await statsClient.getStats(agentId);
|
|
12
|
+
// Map AgentStats fields to the verification format:
|
|
13
|
+
// - channelCount is the total completed channels
|
|
14
|
+
// - ghostCount maps to dispute count (channels where provider went silent)
|
|
15
|
+
// - Use channelCount as the reputation metric (higher = more trusted)
|
|
16
|
+
const actualReputation = stats.channelCount;
|
|
17
|
+
const actualChannelCount = stats.channelCount;
|
|
18
|
+
const actualDisputeCount = stats.ghostCount;
|
|
19
|
+
// Always compare against on-chain data.
|
|
20
|
+
// If peer omits stats fields, treat as unverified — prevents bypass
|
|
21
|
+
// by simply not claiming any values.
|
|
22
|
+
const valid = metadata.onChainReputation !== undefined &&
|
|
23
|
+
metadata.onChainChannelCount !== undefined &&
|
|
24
|
+
metadata.onChainDisputeCount !== undefined &&
|
|
25
|
+
metadata.onChainReputation === actualReputation &&
|
|
26
|
+
metadata.onChainChannelCount === actualChannelCount &&
|
|
27
|
+
metadata.onChainDisputeCount === actualDisputeCount;
|
|
28
|
+
return {
|
|
29
|
+
valid,
|
|
30
|
+
actualReputation,
|
|
31
|
+
actualChannelCount,
|
|
32
|
+
actualDisputeCount,
|
|
33
|
+
claimedReputation: metadata.onChainReputation,
|
|
34
|
+
claimedChannelCount: metadata.onChainChannelCount,
|
|
35
|
+
claimedDisputeCount: metadata.onChainDisputeCount,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=stats-verifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-verifier.js","sourceRoot":"","sources":["../../src/discovery/stats-verifier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAmBnD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAwB,EACxB,aAA4B,EAC5B,QAAsB;IAEtB,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElD,oDAAoD;IACpD,iDAAiD;IACjD,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC;IAC5C,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC;IAC9C,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC;IAE5C,wCAAwC;IACxC,oEAAoE;IACpE,qCAAqC;IACrC,MAAM,KAAK,GACT,QAAQ,CAAC,iBAAiB,KAAK,SAAS;QACxC,QAAQ,CAAC,mBAAmB,KAAK,SAAS;QAC1C,QAAQ,CAAC,mBAAmB,KAAK,SAAS;QAC1C,QAAQ,CAAC,iBAAiB,KAAK,gBAAgB;QAC/C,QAAQ,CAAC,mBAAmB,KAAK,kBAAkB;QACnD,QAAQ,CAAC,mBAAmB,KAAK,kBAAkB,CAAC;IAEtD,OAAO;QACL,KAAK;QACL,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;KAClD,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { AntseedNode, type NodeConfig, type
|
|
1
|
+
export { AntseedNode, type NodeConfig, type NodePaymentsConfig, type RequestStreamCallbacks, type RequestStreamResponseMetadata, } from './node.js';
|
|
2
2
|
export type { Provider, ProviderStreamCallbacks } from './interfaces/seller-provider.js';
|
|
3
3
|
export type { Router } from './interfaces/buyer-router.js';
|
|
4
4
|
export * from './types/index.js';
|
|
5
|
-
export { loadOrCreateIdentity, type Identity } from './p2p/identity.js';
|
|
5
|
+
export { loadOrCreateIdentity, identityFromPrivateKeyHex, type Identity, type IdentityStore, FileIdentityStore, hexToBytes, bytesToHex, } from './p2p/identity.js';
|
|
6
6
|
export { DHTNode, DEFAULT_DHT_CONFIG } from './discovery/dht-node.js';
|
|
7
7
|
export { OFFICIAL_BOOTSTRAP_NODES, mergeBootstrapNodes, toBootstrapConfig } from './discovery/bootstrap.js';
|
|
8
8
|
export { WELL_KNOWN_SERVICE_CATEGORIES, WELL_KNOWN_SERVICE_API_PROTOCOLS, type ServiceApiProtocol, type PeerMetadata, type ProviderAnnouncement, } from './discovery/peer-metadata.js';
|
|
@@ -10,11 +10,23 @@ export { MetadataServer, type MetadataServerConfig } from './discovery/metadata-
|
|
|
10
10
|
export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH, type ParsedPublicAddress } from './discovery/public-address.js';
|
|
11
11
|
export { MeteringStorage } from './metering/storage.js';
|
|
12
12
|
export { BalanceManager } from './payments/balance-manager.js';
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
13
|
+
export { DepositsClient, type DepositsClientConfig, type BuyerBalanceInfo } from './payments/evm/deposits-client.js';
|
|
14
|
+
export { ChannelsClient, type ChannelsClientConfig, type ChannelInfo, type AgentStats } from './payments/evm/channels-client.js';
|
|
15
|
+
export { IdentityClient, type IdentityClientConfig } from './payments/evm/identity-client.js';
|
|
16
|
+
export { StakingClient, type StakingClientConfig, type SellerAccountInfo } from './payments/evm/staking-client.js';
|
|
17
|
+
export { signData, verifySignature, signUtf8, verifyUtf8 } from './p2p/identity.js';
|
|
18
|
+
export { signSpendingAuth, signReserveAuth, signSetOperator, makeChannelsDomain, makeDepositsDomain, SPENDING_AUTH_TYPES, RESERVE_AUTH_TYPES, SET_OPERATOR_TYPES, computeMetadataHash, encodeMetadata, computeChannelId, ZERO_METADATA, ZERO_METADATA_HASH, } from './payments/evm/signatures.js';
|
|
19
|
+
export type { SpendingAuthMessage, ReserveAuthMessage, SetOperatorMessage, SpendingAuthMetadata } from './payments/evm/signatures.js';
|
|
15
20
|
export { NatTraversal, type NatMapping, type NatTraversalResult } from './p2p/nat-traversal.js';
|
|
16
21
|
export { BuyerPaymentManager } from './payments/buyer-payment-manager.js';
|
|
17
|
-
export type {
|
|
22
|
+
export type { BuyerPaymentConfig } from './payments/buyer-payment-manager.js';
|
|
23
|
+
export { SellerPaymentManager } from './payments/seller-payment-manager.js';
|
|
24
|
+
export type { SellerPaymentConfig } from './payments/seller-payment-manager.js';
|
|
25
|
+
export { ChannelStore } from './payments/channel-store.js';
|
|
26
|
+
export type { StoredChannel, StoredReceipt } from './payments/channel-store.js';
|
|
27
|
+
export { getChainConfig, resolveChainConfig, DEFAULT_CHAIN_ID, CHAIN_CONFIGS } from './payments/chain-config.js';
|
|
28
|
+
export type { ChainConfig } from './payments/chain-config.js';
|
|
29
|
+
export { formatUsdc, parseUsdc } from './payments/usdc-utils.js';
|
|
18
30
|
export { ProxyMux } from './proxy/proxy-mux.js';
|
|
19
31
|
export { resolveProvider } from './proxy/provider-detection.js';
|
|
20
32
|
export { detectRequestServiceApiProtocol, createOpenAIChatToAnthropicStreamingAdapter, createOpenAIChatToResponsesStreamingAdapter, inferProviderDefaultServiceApiProtocols, selectTargetProtocolForRequest, transformAnthropicMessagesRequestToOpenAIChat, transformOpenAIChatResponseToAnthropicMessage, transformOpenAIResponsesRequestToOpenAIChat, transformOpenAIChatResponseToOpenAIResponses, type TargetProtocolSelection, type AnthropicToOpenAIRequestTransformResult, type ResponsesToOpenAIRequestTransformResult, type StreamingResponseAdapter, } from './proxy/service-api-adapter.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { AntseedNode, } from './node.js';
|
|
|
3
3
|
// Types (re-export everything)
|
|
4
4
|
export * from './types/index.js';
|
|
5
5
|
// Submodule re-exports (commonly used)
|
|
6
|
-
export { loadOrCreateIdentity } from './p2p/identity.js';
|
|
6
|
+
export { loadOrCreateIdentity, identityFromPrivateKeyHex, FileIdentityStore, hexToBytes, bytesToHex, } from './p2p/identity.js';
|
|
7
7
|
export { DHTNode, DEFAULT_DHT_CONFIG } from './discovery/dht-node.js';
|
|
8
8
|
export { OFFICIAL_BOOTSTRAP_NODES, mergeBootstrapNodes, toBootstrapConfig } from './discovery/bootstrap.js';
|
|
9
9
|
export { WELL_KNOWN_SERVICE_CATEGORIES, WELL_KNOWN_SERVICE_API_PROTOCOLS, } from './discovery/peer-metadata.js';
|
|
@@ -11,10 +11,18 @@ export { MetadataServer } from './discovery/metadata-server.js';
|
|
|
11
11
|
export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH } from './discovery/public-address.js';
|
|
12
12
|
export { MeteringStorage } from './metering/storage.js';
|
|
13
13
|
export { BalanceManager } from './payments/balance-manager.js';
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
14
|
+
export { DepositsClient } from './payments/evm/deposits-client.js';
|
|
15
|
+
export { ChannelsClient } from './payments/evm/channels-client.js';
|
|
16
|
+
export { IdentityClient } from './payments/evm/identity-client.js';
|
|
17
|
+
export { StakingClient } from './payments/evm/staking-client.js';
|
|
18
|
+
export { signData, verifySignature, signUtf8, verifyUtf8 } from './p2p/identity.js';
|
|
19
|
+
export { signSpendingAuth, signReserveAuth, signSetOperator, makeChannelsDomain, makeDepositsDomain, SPENDING_AUTH_TYPES, RESERVE_AUTH_TYPES, SET_OPERATOR_TYPES, computeMetadataHash, encodeMetadata, computeChannelId, ZERO_METADATA, ZERO_METADATA_HASH, } from './payments/evm/signatures.js';
|
|
16
20
|
export { NatTraversal } from './p2p/nat-traversal.js';
|
|
17
21
|
export { BuyerPaymentManager } from './payments/buyer-payment-manager.js';
|
|
22
|
+
export { SellerPaymentManager } from './payments/seller-payment-manager.js';
|
|
23
|
+
export { ChannelStore } from './payments/channel-store.js';
|
|
24
|
+
export { getChainConfig, resolveChainConfig, DEFAULT_CHAIN_ID, CHAIN_CONFIGS } from './payments/chain-config.js';
|
|
25
|
+
export { formatUsdc, parseUsdc } from './payments/usdc-utils.js';
|
|
18
26
|
export { ProxyMux } from './proxy/proxy-mux.js';
|
|
19
27
|
export { resolveProvider } from './proxy/provider-detection.js';
|
|
20
28
|
export { detectRequestServiceApiProtocol, createOpenAIChatToAnthropicStreamingAdapter, createOpenAIChatToResponsesStreamingAdapter, inferProviderDefaultServiceApiProtocols, selectTargetProtocolForRequest, transformAnthropicMessagesRequestToOpenAIChat, transformOpenAIChatResponseToAnthropicMessage, transformOpenAIResponsesRequestToOpenAIChat, transformOpenAIChatResponseToOpenAIResponses, } from './proxy/service-api-adapter.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/metering/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { ReceiptGenerator, buildSignaturePayload, calculateCost, type Signer } f
|
|
|
4
4
|
export { ReceiptVerifier, type SignatureVerifier, type VerifierOptions } from './receipt-verifier.js';
|
|
5
5
|
export { SessionTracker } from './session-tracker.js';
|
|
6
6
|
export { UsageAggregator, type AggregationGranularity, type TimePeriod } from './usage-aggregator.js';
|
|
7
|
+
export { SellerSessionTracker, type SellerSessionSnapshot, type SellerSessionState, type SessionTrackerEvents, type SessionTrackerConfig } from './seller-session-tracker.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metering/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9K,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metering/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9K,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/metering/index.js
CHANGED
|
@@ -4,4 +4,5 @@ export { ReceiptGenerator, buildSignaturePayload, calculateCost } from './receip
|
|
|
4
4
|
export { ReceiptVerifier } from './receipt-verifier.js';
|
|
5
5
|
export { SessionTracker } from './session-tracker.js';
|
|
6
6
|
export { UsageAggregator } from './usage-aggregator.js';
|
|
7
|
+
export { SellerSessionTracker } from './seller-session-tracker.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metering/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9K,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAe,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAgD,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAgD,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metering/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9K,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAe,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAgD,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAgD,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAA6G,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { ProviderType, TokenCount, UsageReceipt } from '../types/metering.js';
|
|
2
2
|
/**
|
|
3
|
-
* Interface for signing data with the seller's
|
|
4
|
-
* The actual implementation lives in the identity module
|
|
3
|
+
* Interface for signing data with the seller's secp256k1 private key.
|
|
4
|
+
* The actual implementation lives in the identity module.
|
|
5
5
|
*/
|
|
6
6
|
export interface Signer {
|
|
7
7
|
/**
|
|
8
|
-
* Sign a message with the seller's
|
|
8
|
+
* Sign a message with the seller's secp256k1 private key.
|
|
9
9
|
* @param message - UTF-8 string to sign
|
|
10
10
|
* @returns Hex-encoded signature
|
|
11
11
|
*/
|
|
12
12
|
sign(message: string): string;
|
|
13
|
-
/** The seller's peer ID (
|
|
13
|
+
/** The seller's peer ID (EVM address hex, no 0x prefix) */
|
|
14
14
|
peerId: string;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt-generator.d.ts","sourceRoot":"","sources":["../../src/metering/receipt-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9B,
|
|
1
|
+
{"version":3,"file":"receipt-generator.d.ts","sourceRoot":"","sources":["../../src/metering/receipt-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,MAAM,CAYtF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,GAAG,MAAM,CAGlG;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,MAAM;IAI1B;;;;;;;;;;OAUG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,EAClB,+BAA+B,EAAE,MAAM,GACtC,YAAY;CA0BhB"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { UsageReceipt, TokenCount, ReceiptVerification } from '../types/metering.js';
|
|
2
2
|
/**
|
|
3
|
-
* Interface for verifying
|
|
4
|
-
* The actual implementation lives in the identity module
|
|
3
|
+
* Interface for verifying secp256k1 signatures.
|
|
4
|
+
* The actual implementation lives in the identity module.
|
|
5
5
|
*/
|
|
6
6
|
export interface SignatureVerifier {
|
|
7
7
|
/**
|
|
8
|
-
* Verify
|
|
8
|
+
* Verify a secp256k1 signature via ecrecover.
|
|
9
9
|
* @param message - The original signed message (UTF-8 string)
|
|
10
10
|
* @param signature - Hex-encoded signature
|
|
11
|
-
* @param
|
|
11
|
+
* @param address - Signer's EVM address (hex, no 0x prefix)
|
|
12
12
|
* @returns true if signature is valid
|
|
13
13
|
*/
|
|
14
|
-
verify(message: string, signature: string,
|
|
14
|
+
verify(message: string, signature: string, address: string): boolean;
|
|
15
15
|
}
|
|
16
16
|
export interface VerifierOptions {
|
|
17
17
|
/**
|
|
@@ -32,7 +32,7 @@ export declare class ReceiptVerifier {
|
|
|
32
32
|
* Verify a receipt against the buyer's independent token estimate.
|
|
33
33
|
*
|
|
34
34
|
* Verification steps:
|
|
35
|
-
* 1. Verify the
|
|
35
|
+
* 1. Verify the secp256k1 signature using the seller's address
|
|
36
36
|
* 2. Compare seller's token estimate with buyer's estimate
|
|
37
37
|
* 3. Calculate percentage difference
|
|
38
38
|
* 4. Flag as disputed if difference exceeds threshold
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt-verifier.d.ts","sourceRoot":"","sources":["../../src/metering/receipt-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG1F;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"receipt-verifier.d.ts","sourceRoot":"","sources":["../../src/metering/receipt-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG1F;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACtE;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAMD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAKpF;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,GAAG,mBAAmB;IAmC7E;;;;OAIG;IACH,MAAM,CAAC,6BAA6B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;CAKnE"}
|
|
@@ -16,7 +16,7 @@ export class ReceiptVerifier {
|
|
|
16
16
|
* Verify a receipt against the buyer's independent token estimate.
|
|
17
17
|
*
|
|
18
18
|
* Verification steps:
|
|
19
|
-
* 1. Verify the
|
|
19
|
+
* 1. Verify the secp256k1 signature using the seller's address
|
|
20
20
|
* 2. Compare seller's token estimate with buyer's estimate
|
|
21
21
|
* 3. Calculate percentage difference
|
|
22
22
|
* 4. Flag as disputed if difference exceeds threshold
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Identity } from '../p2p/identity.js';
|
|
2
|
+
import type { SerializedHttpRequest } from '../types/http.js';
|
|
3
|
+
import type { TokenCount } from '../types/metering.js';
|
|
4
|
+
import type { MeteringStorage } from './storage.js';
|
|
5
|
+
import type { ReceiptGenerator } from './receipt-generator.js';
|
|
6
|
+
export interface SellerSessionState {
|
|
7
|
+
sessionId: string;
|
|
8
|
+
sessionIdBytes: Uint8Array;
|
|
9
|
+
startedAt: number;
|
|
10
|
+
lastActivityAt: number;
|
|
11
|
+
totalRequests: number;
|
|
12
|
+
totalTokens: number;
|
|
13
|
+
totalLatencyMs: number;
|
|
14
|
+
totalCostCents: number;
|
|
15
|
+
provider: string;
|
|
16
|
+
settling?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface SellerSessionSnapshot {
|
|
19
|
+
sessionId: string;
|
|
20
|
+
buyerPeerId: string;
|
|
21
|
+
provider: string;
|
|
22
|
+
startedAt: number;
|
|
23
|
+
lastActivityAt: number;
|
|
24
|
+
totalRequests: number;
|
|
25
|
+
totalTokens: number;
|
|
26
|
+
avgLatencyMs: number;
|
|
27
|
+
settling: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface SessionTrackerEvents {
|
|
30
|
+
onSessionUpdated(snapshot: SellerSessionSnapshot & {
|
|
31
|
+
buyerPeerId: string;
|
|
32
|
+
}): void;
|
|
33
|
+
onSessionFinalized(info: {
|
|
34
|
+
buyerPeerId: string;
|
|
35
|
+
sessionId: string;
|
|
36
|
+
reason: string;
|
|
37
|
+
}): void;
|
|
38
|
+
}
|
|
39
|
+
export interface SessionTrackerConfig {
|
|
40
|
+
settlementIdleMs?: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Tracks seller-side session lifecycle: session state, metering, receipts, and settlement.
|
|
44
|
+
*
|
|
45
|
+
* Extracted from AntseedNode to separate seller session concerns
|
|
46
|
+
* from core node orchestration.
|
|
47
|
+
*/
|
|
48
|
+
export declare class SellerSessionTracker {
|
|
49
|
+
private readonly _identity;
|
|
50
|
+
private readonly _metering;
|
|
51
|
+
private readonly _receiptGenerator;
|
|
52
|
+
private readonly _config;
|
|
53
|
+
private readonly _events;
|
|
54
|
+
/** Per-buyer session tracking: buyerPeerId → seller session state */
|
|
55
|
+
private readonly _sessions;
|
|
56
|
+
private readonly _settlementTimers;
|
|
57
|
+
constructor(identity: Identity, metering: MeteringStorage | null, receiptGenerator: ReceiptGenerator | null, config: SessionTrackerConfig, events: SessionTrackerEvents);
|
|
58
|
+
getActiveSessions(): SellerSessionSnapshot[];
|
|
59
|
+
getActiveChannelCount(): number;
|
|
60
|
+
/**
|
|
61
|
+
* Get or create a seller session for a buyer.
|
|
62
|
+
* Updates lastActivityAt and provider on existing sessions.
|
|
63
|
+
*/
|
|
64
|
+
getOrCreateSession(buyerPeerId: string, providerName: string): SellerSessionState;
|
|
65
|
+
estimateTokens(inputBytes: number, outputBytes: number): TokenCount;
|
|
66
|
+
recordMetering(input: {
|
|
67
|
+
buyerPeerId: string;
|
|
68
|
+
providerName: string;
|
|
69
|
+
pricing: {
|
|
70
|
+
inputUsdPerMillion: number;
|
|
71
|
+
outputUsdPerMillion: number;
|
|
72
|
+
};
|
|
73
|
+
request: SerializedHttpRequest;
|
|
74
|
+
statusCode: number;
|
|
75
|
+
latencyMs: number;
|
|
76
|
+
inputBytes: number;
|
|
77
|
+
outputBytes: number;
|
|
78
|
+
responseBody: Uint8Array;
|
|
79
|
+
/** Pre-computed usage from parseResponseUsage — avoids re-parsing the same body. */
|
|
80
|
+
providerUsage?: {
|
|
81
|
+
inputTokens: number;
|
|
82
|
+
outputTokens: number;
|
|
83
|
+
};
|
|
84
|
+
}): Promise<void>;
|
|
85
|
+
scheduleSettlementTimer(buyerPeerId: string): void;
|
|
86
|
+
finalizeSession(buyerPeerId: string, reason: string): Promise<void>;
|
|
87
|
+
finalizeAllSessions(reason: string): Promise<void>;
|
|
88
|
+
clearTimers(): void;
|
|
89
|
+
private _emitSessionUpdated;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=seller-session-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seller-session-tracker.d.ts","sourceRoot":"","sources":["../../src/metering/seller-session-tracker.ts"],"names":[],"mappings":"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"}
|