@antseed/node 0.2.27 → 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 +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 +10 -23
- package/dist/payments/evm/identity-client.d.ts.map +1 -1
- package/dist/payments/evm/identity-client.js +43 -100
- 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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export const migration = {
|
|
2
|
+
version: 1,
|
|
3
|
+
name: 'create_metering_tables',
|
|
4
|
+
up: (db) => {
|
|
5
|
+
db.exec(`
|
|
6
|
+
CREATE TABLE IF NOT EXISTS metering_events (
|
|
7
|
+
event_id TEXT PRIMARY KEY,
|
|
8
|
+
session_id TEXT NOT NULL,
|
|
9
|
+
timestamp INTEGER NOT NULL,
|
|
10
|
+
provider TEXT NOT NULL,
|
|
11
|
+
seller_peer_id TEXT NOT NULL,
|
|
12
|
+
buyer_peer_id TEXT NOT NULL,
|
|
13
|
+
input_tokens INTEGER NOT NULL,
|
|
14
|
+
output_tokens INTEGER NOT NULL,
|
|
15
|
+
total_tokens INTEGER NOT NULL,
|
|
16
|
+
token_method TEXT NOT NULL,
|
|
17
|
+
token_confidence TEXT NOT NULL,
|
|
18
|
+
latency_ms INTEGER NOT NULL,
|
|
19
|
+
status_code INTEGER NOT NULL,
|
|
20
|
+
was_streaming INTEGER NOT NULL
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_events_session ON metering_events(session_id);
|
|
24
|
+
CREATE INDEX IF NOT EXISTS idx_events_timestamp ON metering_events(timestamp);
|
|
25
|
+
|
|
26
|
+
CREATE TABLE IF NOT EXISTS usage_receipts (
|
|
27
|
+
receipt_id TEXT PRIMARY KEY,
|
|
28
|
+
session_id TEXT NOT NULL,
|
|
29
|
+
event_id TEXT NOT NULL,
|
|
30
|
+
timestamp INTEGER NOT NULL,
|
|
31
|
+
provider TEXT NOT NULL,
|
|
32
|
+
seller_peer_id TEXT NOT NULL,
|
|
33
|
+
buyer_peer_id TEXT NOT NULL,
|
|
34
|
+
input_tokens INTEGER NOT NULL,
|
|
35
|
+
output_tokens INTEGER NOT NULL,
|
|
36
|
+
total_tokens INTEGER NOT NULL,
|
|
37
|
+
token_method TEXT NOT NULL,
|
|
38
|
+
token_confidence TEXT NOT NULL,
|
|
39
|
+
unit_price_cents_per_thousand_tokens INTEGER NOT NULL,
|
|
40
|
+
cost_cents INTEGER NOT NULL,
|
|
41
|
+
signature TEXT NOT NULL
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
CREATE INDEX IF NOT EXISTS idx_receipts_session ON usage_receipts(session_id);
|
|
45
|
+
CREATE INDEX IF NOT EXISTS idx_receipts_timestamp ON usage_receipts(timestamp);
|
|
46
|
+
|
|
47
|
+
CREATE TABLE IF NOT EXISTS receipt_verifications (
|
|
48
|
+
receipt_id TEXT PRIMARY KEY,
|
|
49
|
+
signature_valid INTEGER NOT NULL,
|
|
50
|
+
buyer_input_tokens INTEGER NOT NULL,
|
|
51
|
+
buyer_output_tokens INTEGER NOT NULL,
|
|
52
|
+
buyer_total_tokens INTEGER NOT NULL,
|
|
53
|
+
seller_total_tokens INTEGER NOT NULL,
|
|
54
|
+
token_difference INTEGER NOT NULL,
|
|
55
|
+
percentage_difference REAL NOT NULL,
|
|
56
|
+
disputed INTEGER NOT NULL,
|
|
57
|
+
verified_at INTEGER NOT NULL
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
61
|
+
session_id TEXT PRIMARY KEY,
|
|
62
|
+
seller_peer_id TEXT NOT NULL,
|
|
63
|
+
buyer_peer_id TEXT NOT NULL,
|
|
64
|
+
provider TEXT NOT NULL,
|
|
65
|
+
started_at INTEGER NOT NULL,
|
|
66
|
+
ended_at INTEGER,
|
|
67
|
+
total_requests INTEGER NOT NULL,
|
|
68
|
+
total_tokens INTEGER NOT NULL,
|
|
69
|
+
total_cost_cents INTEGER NOT NULL,
|
|
70
|
+
avg_latency_ms REAL NOT NULL,
|
|
71
|
+
peer_switches INTEGER NOT NULL,
|
|
72
|
+
disputed_receipts INTEGER NOT NULL
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_started ON sessions(started_at);
|
|
76
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_provider ON sessions(provider);
|
|
77
|
+
`);
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=001_create_tables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"001_create_tables.js","sourceRoot":"","sources":["../../../../src/storage/migrations/metering/001_create_tables.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,wBAAwB;IAC9B,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwEP,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/metering/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/migrations/metering/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -12,7 +12,7 @@ export interface PricingTier {
|
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* A discrete offering that a peer advertises via DHT capability topics.
|
|
15
|
-
* Skills are loaded dynamically via the
|
|
15
|
+
* Skills are loaded dynamically via the AntAgentProvider in @antseed/ant-agent.
|
|
16
16
|
*/
|
|
17
17
|
export interface PeerOffering {
|
|
18
18
|
capability: ProviderCapability;
|
package/dist/types/metering.d.ts
CHANGED
|
@@ -74,7 +74,7 @@ export interface UsageReceipt {
|
|
|
74
74
|
/** Total cost in USD cents: (totalTokens / 1000) * unitPriceCentsPerThousandTokens */
|
|
75
75
|
costCents: number;
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* secp256k1 signature over the receipt data (hex string).
|
|
78
78
|
* Signs: receiptId + sessionId + eventId + timestamp + provider
|
|
79
79
|
* + sellerPeerId + buyerPeerId + totalTokens + costCents
|
|
80
80
|
*/
|
package/dist/types/peer.d.ts
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import type { ServiceApiProtocol } from "./service-api.js";
|
|
2
2
|
/**
|
|
3
|
-
* A PeerId is the
|
|
3
|
+
* A PeerId is the EVM address hex (40 lowercase chars = 20 bytes, no 0x prefix).
|
|
4
4
|
* This is the canonical identifier for any peer in the network.
|
|
5
|
+
* The peer's secp256k1 wallet address serves as both P2P and on-chain identity.
|
|
5
6
|
*/
|
|
6
7
|
export type PeerId = string & {
|
|
7
8
|
readonly __brand: "PeerId";
|
|
8
9
|
};
|
|
9
10
|
/**
|
|
10
11
|
* Validates and brands a string as a PeerId.
|
|
11
|
-
* Must be exactly
|
|
12
|
+
* Must be exactly 40 lowercase hex characters (EVM address without 0x).
|
|
12
13
|
*/
|
|
13
14
|
export declare function toPeerId(hex: string): PeerId;
|
|
15
|
+
/** Convert a PeerId to a checksummed 0x-prefixed EVM address. */
|
|
16
|
+
export declare function peerIdToAddress(peerId: string): string;
|
|
14
17
|
export interface TokenPricingUsdPerMillion {
|
|
15
18
|
inputUsdPerMillion: number;
|
|
16
19
|
outputUsdPerMillion: number;
|
|
@@ -27,7 +30,7 @@ export interface ProviderServiceApiProtocolMatrixEntry {
|
|
|
27
30
|
}
|
|
28
31
|
/** Information about a known peer. */
|
|
29
32
|
export interface PeerInfo {
|
|
30
|
-
/** Unique peer identifier (
|
|
33
|
+
/** Unique peer identifier (EVM address, 40 hex chars). */
|
|
31
34
|
peerId: PeerId;
|
|
32
35
|
/** Human-readable label, optional. */
|
|
33
36
|
displayName?: string;
|
|
@@ -55,13 +58,9 @@ export interface PeerInfo {
|
|
|
55
58
|
currentLoad?: number;
|
|
56
59
|
/** Computed trust score (0-100) from the trust engine. */
|
|
57
60
|
trustScore?: number;
|
|
58
|
-
/**
|
|
59
|
-
|
|
60
|
-
/** On-chain
|
|
61
|
-
|
|
62
|
-
/** On-chain session count from the Base escrow contract. */
|
|
63
|
-
onChainSessionCount?: number;
|
|
64
|
-
/** On-chain dispute count from the Base escrow contract. */
|
|
65
|
-
onChainDisputeCount?: number;
|
|
61
|
+
/** On-chain settled channel count from AntseedChannels. */
|
|
62
|
+
onChainChannelCount?: number;
|
|
63
|
+
/** On-chain ghost count (provider went silent) from AntseedChannels. */
|
|
64
|
+
onChainGhostCount?: number;
|
|
66
65
|
}
|
|
67
66
|
//# sourceMappingURL=peer.d.ts.map
|
package/dist/types/peer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/types/peer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/types/peer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK5C;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,MAAM,WAAW,yBAAyB;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;CAChD;AAED,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAC7D,0DAA0D;IAC1D,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAC/E,0DAA0D;IAC1D,2BAA2B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;IACpF,sEAAsE;IACtE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uEAAuE;IACvE,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
package/dist/types/peer.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Validates and brands a string as a PeerId.
|
|
3
|
-
* Must be exactly
|
|
3
|
+
* Must be exactly 40 lowercase hex characters (EVM address without 0x).
|
|
4
4
|
*/
|
|
5
5
|
export function toPeerId(hex) {
|
|
6
|
-
if (!/^[0-9a-f]{
|
|
7
|
-
throw new Error(`Invalid PeerId: expected
|
|
6
|
+
if (!/^[0-9a-f]{40}$/.test(hex)) {
|
|
7
|
+
throw new Error(`Invalid PeerId: expected 40 hex chars, got "${hex.slice(0, 20)}..."`);
|
|
8
8
|
}
|
|
9
9
|
return hex;
|
|
10
10
|
}
|
|
11
|
+
/** Convert a PeerId to a checksummed 0x-prefixed EVM address. */
|
|
12
|
+
export function peerIdToAddress(peerId) {
|
|
13
|
+
return '0x' + peerId;
|
|
14
|
+
}
|
|
11
15
|
//# sourceMappingURL=peer.js.map
|
package/dist/types/peer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/types/peer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/types/peer.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,GAAa,CAAC;AACvB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB,CAAC"}
|
package/dist/types/protocol.d.ts
CHANGED
|
@@ -12,10 +12,8 @@ export declare enum MessageType {
|
|
|
12
12
|
HttpRequestEnd = 38,
|
|
13
13
|
SpendingAuth = 80,
|
|
14
14
|
AuthAck = 81,
|
|
15
|
-
SellerReceipt = 83,
|
|
16
|
-
BuyerAck = 84,
|
|
17
|
-
TopUpRequest = 85,
|
|
18
15
|
PaymentRequired = 86,
|
|
16
|
+
NeedAuth = 88,
|
|
19
17
|
PeerReport = 96,
|
|
20
18
|
ReportAck = 97,
|
|
21
19
|
PeerRating = 112,
|
|
@@ -32,89 +30,43 @@ export interface FramedMessage {
|
|
|
32
30
|
export declare const FRAME_HEADER_SIZE = 9;
|
|
33
31
|
export declare const MAX_PAYLOAD_SIZE: number;
|
|
34
32
|
/**
|
|
35
|
-
* Buyer authorizes spending via EIP-712
|
|
33
|
+
* Buyer authorizes spending via a single EIP-712 SpendingAuth signature.
|
|
34
|
+
* The signature covers channelId, cumulativeAmount, and metadataHash.
|
|
36
35
|
*/
|
|
37
36
|
export interface SpendingAuthPayload {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/** Buyer's EIP-712 signature as hex */
|
|
47
|
-
buyerSig: string;
|
|
48
|
-
/** Buyer's EVM address */
|
|
49
|
-
buyerEvmAddr: string;
|
|
50
|
-
/** Token consumption from the previous session (USDC base units) */
|
|
51
|
-
previousConsumption: string;
|
|
52
|
-
/** Previous session ID (bytes32 hex, 0x00..00 for first sign) */
|
|
53
|
-
previousSessionId: string;
|
|
37
|
+
channelId: string;
|
|
38
|
+
cumulativeAmount: string;
|
|
39
|
+
metadataHash: string;
|
|
40
|
+
metadata: string;
|
|
41
|
+
spendingAuthSig: string;
|
|
42
|
+
reserveSalt?: string;
|
|
43
|
+
reserveMaxAmount?: string;
|
|
44
|
+
reserveDeadline?: number;
|
|
54
45
|
}
|
|
55
46
|
/**
|
|
56
47
|
* Seller acknowledges the spending authorization was reserved on-chain.
|
|
57
48
|
*/
|
|
58
49
|
export interface AuthAckPayload {
|
|
59
|
-
|
|
60
|
-
nonce: number;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Running-total receipt signed by seller after processing a request.
|
|
64
|
-
* Each receipt supersedes the previous one.
|
|
65
|
-
*/
|
|
66
|
-
export interface SellerReceiptPayload {
|
|
67
|
-
sessionId: string;
|
|
68
|
-
/** Cumulative cost of all requests in this session (USDC base units) */
|
|
69
|
-
runningTotal: string;
|
|
70
|
-
/** Number of requests processed so far */
|
|
71
|
-
requestCount: number;
|
|
72
|
-
/** SHA-256 hash of the response body (hex) for proof of work */
|
|
73
|
-
responseHash: string;
|
|
74
|
-
/** Seller's Ed25519 signature over (sessionId || runningTotal || requestCount || responseHash) */
|
|
75
|
-
sellerSig: string;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Buyer acknowledges the seller's receipt by counter-signing.
|
|
79
|
-
*/
|
|
80
|
-
export interface BuyerAckPayload {
|
|
81
|
-
sessionId: string;
|
|
82
|
-
/** Must match seller's runningTotal */
|
|
83
|
-
runningTotal: string;
|
|
84
|
-
/** Must match seller's requestCount */
|
|
85
|
-
requestCount: number;
|
|
86
|
-
/** Buyer's Ed25519 signature over (sessionId || runningTotal || requestCount) */
|
|
87
|
-
buyerSig: string;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Seller requests additional funds when budget is running low.
|
|
91
|
-
*/
|
|
92
|
-
export interface TopUpRequestPayload {
|
|
93
|
-
sessionId: string;
|
|
94
|
-
/** Current total used so far (USDC base units) */
|
|
95
|
-
currentUsed: string;
|
|
96
|
-
/** Current max authorized (USDC base units) */
|
|
97
|
-
currentMax: string;
|
|
98
|
-
/** Additional USDC amount requested (base units) */
|
|
99
|
-
requestedAdditional: string;
|
|
50
|
+
channelId: string;
|
|
100
51
|
}
|
|
101
52
|
/**
|
|
102
53
|
* Seller tells buyer what's needed to start a payment session.
|
|
103
54
|
* Sent via PaymentMux alongside the HTTP 402 response.
|
|
104
55
|
*/
|
|
105
56
|
export interface PaymentRequiredPayload {
|
|
106
|
-
|
|
107
|
-
sellerEvmAddr: string;
|
|
108
|
-
/** Seller's token rate in USDC base units per token (from escrow contract) */
|
|
109
|
-
tokenRate: string;
|
|
110
|
-
/** FIRST_SIGN_CAP from escrow contract (USDC base units) */
|
|
111
|
-
firstSignCap: string;
|
|
112
|
-
/** Suggested auth amount in USDC base units */
|
|
57
|
+
minBudgetPerRequest: string;
|
|
113
58
|
suggestedAmount: string;
|
|
114
|
-
/** The requestId that triggered the 402, so the buyer can correlate */
|
|
115
59
|
requestId: string;
|
|
116
|
-
/** Per-direction pricing from seller metadata (USD per 1M tokens), if available */
|
|
117
60
|
inputUsdPerMillion?: number;
|
|
118
61
|
outputUsdPerMillion?: number;
|
|
119
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Seller tells buyer that the current cumulative authorization is insufficient.
|
|
65
|
+
*/
|
|
66
|
+
export interface NeedAuthPayload {
|
|
67
|
+
channelId: string;
|
|
68
|
+
requiredCumulativeAmount: string;
|
|
69
|
+
currentAcceptedCumulative: string;
|
|
70
|
+
deposit: string;
|
|
71
|
+
}
|
|
120
72
|
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,aAAa,IAAO;IACpB,YAAY,IAAO;IACnB,IAAI,KAAO;IACX,IAAI,KAAO;IACX,WAAW,KAAO;IAClB,YAAY,KAAO;IACnB,iBAAiB,KAAO;IACxB,eAAe,KAAO;IACtB,iBAAiB,KAAO;IAExB,gBAAgB,KAAO;IACvB,cAAc,KAAS;IAGvB,YAAY,KAAO;IACnB,OAAO,KAAO;IACd,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,aAAa,IAAO;IACpB,YAAY,IAAO;IACnB,IAAI,KAAO;IACX,IAAI,KAAO;IACX,WAAW,KAAO;IAClB,YAAY,KAAO;IACnB,iBAAiB,KAAO;IACxB,eAAe,KAAO;IACtB,iBAAiB,KAAO;IAExB,gBAAgB,KAAO;IACvB,cAAc,KAAS;IAGvB,YAAY,KAAO;IACnB,OAAO,KAAO;IACd,eAAe,KAAO;IACtB,QAAQ,KAAO;IAGf,UAAU,KAAO;IACjB,SAAS,KAAO;IAGhB,UAAU,MAAO;IACjB,WAAW,MAAO;IAClB,cAAc,MAAO;IAErB,UAAU,MAAO;IACjB,KAAK,MAAO;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
package/dist/types/protocol.js
CHANGED
|
@@ -15,10 +15,8 @@ export var MessageType;
|
|
|
15
15
|
// --- Payment Protocol (0x50-0x5F) ---
|
|
16
16
|
MessageType[MessageType["SpendingAuth"] = 80] = "SpendingAuth";
|
|
17
17
|
MessageType[MessageType["AuthAck"] = 81] = "AuthAck";
|
|
18
|
-
MessageType[MessageType["SellerReceipt"] = 83] = "SellerReceipt";
|
|
19
|
-
MessageType[MessageType["BuyerAck"] = 84] = "BuyerAck";
|
|
20
|
-
MessageType[MessageType["TopUpRequest"] = 85] = "TopUpRequest";
|
|
21
18
|
MessageType[MessageType["PaymentRequired"] = 86] = "PaymentRequired";
|
|
19
|
+
MessageType[MessageType["NeedAuth"] = 88] = "NeedAuth";
|
|
22
20
|
// Report message types
|
|
23
21
|
MessageType[MessageType["PeerReport"] = 96] = "PeerReport";
|
|
24
22
|
MessageType[MessageType["ReportAck"] = 97] = "ReportAck";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WA+BX;AA/BD,WAAY,WAAW;IACrB,+DAAoB,CAAA;IACpB,6DAAmB,CAAA;IACnB,8CAAW,CAAA;IACX,8CAAW,CAAA;IACX,4DAAkB,CAAA;IAClB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,wEAAwB,CAAA;IACxB,uDAAuD;IACvD,sEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,uCAAuC;IACvC,8DAAmB,CAAA;IACnB,oDAAc,CAAA;IACd,oEAAsB,CAAA;IACtB,sDAAe,CAAA;IAEf,uBAAuB;IACvB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAEhB,uBAAuB;IACvB,2DAAiB,CAAA;IACjB,6DAAkB,CAAA;IAClB,mEAAqB,CAAA;IAErB,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EA/BW,WAAW,KAAX,WAAW,QA+BtB;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC"}
|
package/dist/types/rating.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface PeerRating {
|
|
|
8
8
|
dimensions: Record<RatingDimension, 1 | 2 | 3 | 4 | 5>;
|
|
9
9
|
comment?: string;
|
|
10
10
|
timestamp: number;
|
|
11
|
-
/**
|
|
11
|
+
/** secp256k1 signature (hex) */
|
|
12
12
|
signature: string;
|
|
13
13
|
}
|
|
14
14
|
export interface AggregateRating {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating.d.ts","sourceRoot":"","sources":["../../src/types/rating.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"rating.d.ts","sourceRoot":"","sources":["../../src/types/rating.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/types/report.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export interface PeerReport {
|
|
|
14
14
|
sessionId?: string;
|
|
15
15
|
timestamp: number;
|
|
16
16
|
status: ReportStatus;
|
|
17
|
-
/**
|
|
17
|
+
/** secp256k1 signature over report data (hex string) */
|
|
18
18
|
signature: string;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/types/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,eAAe,GACf,OAAO,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/types/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,eAAe,GACf,OAAO,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse actual token usage from an LLM provider response body.
|
|
3
|
+
* Handles both JSON and SSE (streaming) responses. Returns zeros
|
|
4
|
+
* if usage data is not found (caller should fall back to estimation).
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseResponseUsage(body: Uint8Array): {
|
|
7
|
+
inputTokens: number;
|
|
8
|
+
outputTokens: number;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=response-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-usage.d.ts","sourceRoot":"","sources":["../../src/utils/response-usage.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAqBlG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { parseJsonObject, extractUsage } from '@antseed/api-adapter';
|
|
2
|
+
/**
|
|
3
|
+
* Parse actual token usage from an LLM provider response body.
|
|
4
|
+
* Handles both JSON and SSE (streaming) responses. Returns zeros
|
|
5
|
+
* if usage data is not found (caller should fall back to estimation).
|
|
6
|
+
*/
|
|
7
|
+
export function parseResponseUsage(body) {
|
|
8
|
+
const parsed = parseJsonObject(body);
|
|
9
|
+
if (parsed) {
|
|
10
|
+
return extractUsage(parsed);
|
|
11
|
+
}
|
|
12
|
+
const text = new TextDecoder().decode(body);
|
|
13
|
+
let inputTokens = 0;
|
|
14
|
+
let outputTokens = 0;
|
|
15
|
+
for (const line of text.split('\n')) {
|
|
16
|
+
const trimmed = line.trim();
|
|
17
|
+
if (!trimmed.startsWith('data:'))
|
|
18
|
+
continue;
|
|
19
|
+
const payload = trimmed.slice(5).trim();
|
|
20
|
+
if (!payload || payload === '[DONE]')
|
|
21
|
+
continue;
|
|
22
|
+
try {
|
|
23
|
+
const event = JSON.parse(payload);
|
|
24
|
+
const usage = extractUsage(event);
|
|
25
|
+
if (usage.inputTokens > 0)
|
|
26
|
+
inputTokens = Math.max(inputTokens, usage.inputTokens);
|
|
27
|
+
if (usage.outputTokens > 0)
|
|
28
|
+
outputTokens = Math.max(outputTokens, usage.outputTokens);
|
|
29
|
+
}
|
|
30
|
+
catch { /* skip non-JSON lines */ }
|
|
31
|
+
}
|
|
32
|
+
return { inputTokens, outputTokens };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=response-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-usage.js","sourceRoot":"","sources":["../../src/utils/response-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ;YAAE,SAAS;QAC/C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;YAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC;gBAAE,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAClF,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC;gBAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AACvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antseed/node",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.28",
|
|
4
4
|
"description": "Antseed Network protocol SDK — P2P inference marketplace",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -39,13 +39,13 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@noble/ed25519": "^2.1.0",
|
|
43
42
|
"@silentbot1/nat-api": "^0.4.9",
|
|
44
43
|
"better-sqlite3": "^12.6.2",
|
|
45
44
|
"bittorrent-dht": "^11.0.11",
|
|
46
45
|
"ethers": "~6.16.0",
|
|
47
46
|
"node-datachannel": "^0.7.0",
|
|
48
|
-
"
|
|
47
|
+
"tokenx": "^1.3.0",
|
|
48
|
+
"@antseed/api-adapter": "0.1.15"
|
|
49
49
|
},
|
|
50
50
|
"optionalDependencies": {
|
|
51
51
|
"keytar": "^7.9.0"
|