@abbababa/sdk 0.7.0 → 0.9.0
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 +113 -44
- package/dist/agents.d.ts +14 -3
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +13 -0
- package/dist/agents.js.map +1 -1
- package/dist/buyer.d.ts +67 -6
- package/dist/buyer.d.ts.map +1 -1
- package/dist/buyer.js +124 -3
- package/dist/buyer.js.map +1 -1
- package/dist/channels.d.ts +2 -2
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js.map +1 -1
- package/dist/checkout.d.ts +2 -2
- package/dist/checkout.d.ts.map +1 -1
- package/dist/checkout.js.map +1 -1
- package/dist/client.d.ts +3 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -6
- package/dist/client.js.map +1 -1
- package/dist/crypto.d.ts +93 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +298 -0
- package/dist/crypto.js.map +1 -0
- package/dist/errors.d.ts +7 -7
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -8
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/memory.d.ts +2 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js.map +1 -1
- package/dist/messages.d.ts +27 -3
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +35 -0
- package/dist/messages.js.map +1 -1
- package/dist/seller.d.ts +60 -5
- package/dist/seller.d.ts.map +1 -1
- package/dist/seller.js +109 -2
- package/dist/seller.js.map +1 -1
- package/dist/services.d.ts +2 -2
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js.map +1 -1
- package/dist/transactions.d.ts +2 -2
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js.map +1 -1
- package/dist/types.d.ts +98 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet/constants.d.ts +7 -3
- package/dist/wallet/constants.d.ts.map +1 -1
- package/dist/wallet/constants.js +36 -18
- package/dist/wallet/constants.js.map +1 -1
- package/dist/wallet/session-keys.js +8 -8
- package/dist/wallet/session-keys.js.map +1 -1
- package/dist/wallet/smart-account.d.ts +6 -3
- package/dist/wallet/smart-account.d.ts.map +1 -1
- package/dist/wallet/smart-account.js +27 -5
- package/dist/wallet/smart-account.js.map +1 -1
- package/package.json +15 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { AbbaBabaClient } from './client.js';
|
|
2
2
|
export { register } from './register.js';
|
|
3
3
|
export { SellerAgent } from './seller.js';
|
|
4
4
|
export { BuyerAgent } from './buyer.js';
|
|
@@ -10,9 +10,12 @@ export { MessagesClient } from './messages.js';
|
|
|
10
10
|
export { ChannelsClient } from './channels.js';
|
|
11
11
|
export { AgentsClient } from './agents.js';
|
|
12
12
|
export { WebhookServer, verifyWebhookSignature } from './webhook.js';
|
|
13
|
-
export {
|
|
14
|
-
export
|
|
13
|
+
export { AgentCrypto, encrypt, decrypt, getPublicKey, generatePrivateKey, generateAttestation, verifyAttestation } from './crypto.js';
|
|
14
|
+
export { AbbaBabaError, AuthenticationError, ForbiddenError, NotFoundError, PaymentRequiredError, ValidationError, RateLimitError, } from './errors.js';
|
|
15
|
+
export type { EncryptedEnvelope, E2EDecryptResult, E2EPublicKeyResult, DeliveryAttestation, AbbaBabaConfig, ApiResponse, ServiceCategory, PriceUnit, ServiceCurrency, DeliveryType, ServiceStatus, PaymentMethod, PaymentStatus, TransactionStatus, DisputeOutcome, WalletChain, CreateServiceInput, UpdateServiceInput, Service, ServiceSearchParams, ServiceListResult, AgentSummary, CheckoutInput, CheckoutResult, CryptoPaymentInstructions, PaymentInstructions, Transaction, TransactionListParams, TransactionListResult, DeliverInput, DisputeInput, DisputeStatus, EvidenceInput, FundInput, FundResult, AgentListParams, FeeTierResult, AgentScoreResult, MarketplacePulse, MarketplacePulseCategory, MemoryRenewResult, DiscoveryScoreResult, WebhookEvent, WebhookHandler, GasStrategy, SmartAccountConfig, SmartAccountResult, EscrowDetails, AgentStats, SessionKeyConfig, SessionKeyResult, UseSessionKeyConfig, RevokeSessionKeyConfig, PollOptions, X402PaymentRequirements, } from './types.js';
|
|
15
16
|
export { EscrowStatus, OnChainDisputeOutcome } from './types.js';
|
|
17
|
+
export { POLYGON_AMOY_CHAIN_ID, POLYGON_MAINNET_CHAIN_ID, BASE_SEPOLIA_CHAIN_ID, BASE_MAINNET_CHAIN_ID, ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, MAINNET_GRADUATION_SCORE, TESTNET_USDC_ADDRESS, TOKEN_REGISTRY, MAINNET_CHAIN_IDS, TESTNET_CHAIN_IDS, getToken, getTokensByTier, isTokenSupported, } from './wallet/constants.js';
|
|
18
|
+
export type { TokenInfo } from './wallet/constants.js';
|
|
16
19
|
export type { RegisterOptions, RegisterResult } from './register.js';
|
|
17
20
|
export type { MemoryWriteInput, MemoryEntry, MemorySearchInput, MemorySearchResult, MemoryHistoryParams, } from './memory.js';
|
|
18
21
|
export type { SendMessageInput, AgentMessage, InboxParams, SubscribeInput, MessageSubscription, } from './messages.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,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Core client
|
|
2
|
-
export {
|
|
2
|
+
export { AbbaBabaClient } from './client.js';
|
|
3
3
|
// Headless registration
|
|
4
4
|
export { register } from './register.js';
|
|
5
5
|
// Agent orchestrators
|
|
@@ -15,8 +15,12 @@ export { ChannelsClient } from './channels.js';
|
|
|
15
15
|
export { AgentsClient } from './agents.js';
|
|
16
16
|
// Webhook server + signature verification
|
|
17
17
|
export { WebhookServer, verifyWebhookSignature } from './webhook.js';
|
|
18
|
+
// E2E encryption
|
|
19
|
+
export { AgentCrypto, encrypt, decrypt, getPublicKey, generatePrivateKey, generateAttestation, verifyAttestation } from './crypto.js';
|
|
18
20
|
// Errors
|
|
19
|
-
export {
|
|
21
|
+
export { AbbaBabaError, AuthenticationError, ForbiddenError, NotFoundError, PaymentRequiredError, ValidationError, RateLimitError, } from './errors.js';
|
|
20
22
|
// V2 on-chain enums
|
|
21
23
|
export { EscrowStatus, OnChainDisputeOutcome } from './types.js';
|
|
24
|
+
// Wallet constants (chain IDs, contract addresses, token registry)
|
|
25
|
+
export { POLYGON_AMOY_CHAIN_ID, POLYGON_MAINNET_CHAIN_ID, BASE_SEPOLIA_CHAIN_ID, BASE_MAINNET_CHAIN_ID, ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, MAINNET_GRADUATION_SCORE, TESTNET_USDC_ADDRESS, TOKEN_REGISTRY, MAINNET_CHAIN_IDS, TESTNET_CHAIN_IDS, getToken, getTokensByTier, isTokenSupported, } from './wallet/constants.js';
|
|
22
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,wBAAwB;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,0CAA0C;AAC1C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAEpE,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAErI,SAAS;AACT,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAA;AAoFpB,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEhE,mEAAmE;AACnE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAA"}
|
package/dist/memory.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AbbaBabaClient } from './client.js';
|
|
2
2
|
import type { ApiResponse, MemoryRenewResult } from './types.js';
|
|
3
3
|
export interface MemoryWriteInput {
|
|
4
4
|
key: string;
|
|
@@ -47,7 +47,7 @@ export interface MemoryHistoryParams {
|
|
|
47
47
|
}
|
|
48
48
|
export declare class MemoryClient {
|
|
49
49
|
private client;
|
|
50
|
-
constructor(client:
|
|
50
|
+
constructor(client: AbbaBabaClient);
|
|
51
51
|
write(input: MemoryWriteInput): Promise<ApiResponse<MemoryEntry>>;
|
|
52
52
|
read(key: string, namespace?: string): Promise<ApiResponse<MemoryEntry>>;
|
|
53
53
|
search(input: MemorySearchInput): Promise<ApiResponse<MemorySearchResult[]>>;
|
package/dist/memory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEpC,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIjE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAWxE,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAI5E,OAAO,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAYhF;;;;;;;;;;OAUG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,kBAAkB,CAAC,EAAE,MAAM,EAC3B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAMpC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAUzF"}
|
package/dist/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAqDA,MAAM,OAAO,YAAY;IACH;IAApB,YAAoB,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAqDA,MAAM,OAAO,YAAY;IACH;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,KAAK,CAAC,KAAK,CAAC,KAAuB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAc,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,SAAkB;QACxC,MAAM,KAAK,GAA2B,EAAE,CAAA;QACxC,IAAI,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,kBAAkB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC3C,SAAS,EACT,KAAK,CACN,CAAA;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAwB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAuB,MAAM,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAA;IAC1F,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA4B;QACxC,MAAM,KAAK,GAA2B,EAAE,CAAA;QACxC,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACzD,IAAI,MAAM,EAAE,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QAC5D,IAAI,MAAM,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC1C,IAAI,MAAM,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC1C,IAAI,MAAM,EAAE,EAAE;YAAE,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;QACpC,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnE,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAgB,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IACtF,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,CACT,GAAW,EACX,kBAA2B,EAC3B,SAAkB;QAElB,MAAM,IAAI,GAAwC,EAAE,GAAG,EAAE,CAAA;QACzD,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAA;IACrF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,SAAkB;QAC1C,MAAM,KAAK,GAA2B,EAAE,CAAA;QACxC,IAAI,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,QAAQ,EACR,kBAAkB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC3C,SAAS,EACT,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
|
package/dist/messages.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ApiResponse } from './types.js';
|
|
1
|
+
import type { AbbaBabaClient } from './client.js';
|
|
2
|
+
import type { ApiResponse, E2EDecryptResult } from './types.js';
|
|
3
|
+
import type { AgentCrypto } from './crypto.js';
|
|
3
4
|
export interface SendMessageInput {
|
|
4
5
|
toAgentId?: string;
|
|
5
6
|
topic?: string;
|
|
@@ -52,7 +53,7 @@ export interface MessageSubscription {
|
|
|
52
53
|
}
|
|
53
54
|
export declare class MessagesClient {
|
|
54
55
|
private client;
|
|
55
|
-
constructor(client:
|
|
56
|
+
constructor(client: AbbaBabaClient);
|
|
56
57
|
send(input: SendMessageInput): Promise<ApiResponse<AgentMessage>>;
|
|
57
58
|
inbox(params?: InboxParams): Promise<ApiResponse<AgentMessage[]>>;
|
|
58
59
|
get(messageId: string): Promise<ApiResponse<AgentMessage>>;
|
|
@@ -61,5 +62,28 @@ export declare class MessagesClient {
|
|
|
61
62
|
unsubscribe(topic: string): Promise<ApiResponse<{
|
|
62
63
|
message: string;
|
|
63
64
|
}>>;
|
|
65
|
+
/**
|
|
66
|
+
* Send an end-to-end encrypted message to a recipient agent.
|
|
67
|
+
*
|
|
68
|
+
* The plaintext `body` is encrypted client-side using ECIES (abba-e2e-v1)
|
|
69
|
+
* and sent as `{ _e2e: EncryptedEnvelope }`. The platform never sees the
|
|
70
|
+
* plaintext — it relays the envelope as opaque JSON.
|
|
71
|
+
*
|
|
72
|
+
* @param input - Message parameters (same as `send()`). `body` is the plaintext.
|
|
73
|
+
* @param senderCrypto - The sending agent's AgentCrypto instance (holds private key).
|
|
74
|
+
* @param recipientPubKey - Recipient's compressed secp256k1 public key, hex (33 bytes).
|
|
75
|
+
* Obtain via `GET /api/v1/agents/:id/public-key`.
|
|
76
|
+
*/
|
|
77
|
+
sendEncrypted(input: SendMessageInput, senderCrypto: AgentCrypto, recipientPubKey: string): Promise<ApiResponse<AgentMessage>>;
|
|
78
|
+
/**
|
|
79
|
+
* Decrypt an encrypted message received in the inbox.
|
|
80
|
+
* Call this when `message.body._e2e` is present.
|
|
81
|
+
*
|
|
82
|
+
* @param message - Message from `inbox()` or `get()`.
|
|
83
|
+
* @param recipientCrypto - The receiving agent's AgentCrypto instance.
|
|
84
|
+
* @returns Decrypted plaintext, sender pubkey, timestamp, and signature validity.
|
|
85
|
+
* @throws If the ciphertext is tampered or the message is not encrypted.
|
|
86
|
+
*/
|
|
87
|
+
static decryptReceived(message: AgentMessage, recipientCrypto: AgentCrypto): Promise<E2EDecryptResult>;
|
|
64
88
|
}
|
|
65
89
|
//# sourceMappingURL=messages.d.ts.map
|
package/dist/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
|
package/dist/messages.js
CHANGED
|
@@ -32,5 +32,40 @@ export class MessagesClient {
|
|
|
32
32
|
async unsubscribe(topic) {
|
|
33
33
|
return this.client.request('DELETE', '/api/v1/messages/subscribe', undefined, { topic });
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Send an end-to-end encrypted message to a recipient agent.
|
|
37
|
+
*
|
|
38
|
+
* The plaintext `body` is encrypted client-side using ECIES (abba-e2e-v1)
|
|
39
|
+
* and sent as `{ _e2e: EncryptedEnvelope }`. The platform never sees the
|
|
40
|
+
* plaintext — it relays the envelope as opaque JSON.
|
|
41
|
+
*
|
|
42
|
+
* @param input - Message parameters (same as `send()`). `body` is the plaintext.
|
|
43
|
+
* @param senderCrypto - The sending agent's AgentCrypto instance (holds private key).
|
|
44
|
+
* @param recipientPubKey - Recipient's compressed secp256k1 public key, hex (33 bytes).
|
|
45
|
+
* Obtain via `GET /api/v1/agents/:id/public-key`.
|
|
46
|
+
*/
|
|
47
|
+
async sendEncrypted(input, senderCrypto, recipientPubKey) {
|
|
48
|
+
const envelope = await senderCrypto.encryptFor(input.body, recipientPubKey);
|
|
49
|
+
return this.client.request('POST', '/api/v1/messages', {
|
|
50
|
+
...input,
|
|
51
|
+
body: { _e2e: envelope },
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Decrypt an encrypted message received in the inbox.
|
|
56
|
+
* Call this when `message.body._e2e` is present.
|
|
57
|
+
*
|
|
58
|
+
* @param message - Message from `inbox()` or `get()`.
|
|
59
|
+
* @param recipientCrypto - The receiving agent's AgentCrypto instance.
|
|
60
|
+
* @returns Decrypted plaintext, sender pubkey, timestamp, and signature validity.
|
|
61
|
+
* @throws If the ciphertext is tampered or the message is not encrypted.
|
|
62
|
+
*/
|
|
63
|
+
static async decryptReceived(message, recipientCrypto) {
|
|
64
|
+
const envelope = message.body._e2e;
|
|
65
|
+
if (!envelope) {
|
|
66
|
+
throw new Error('Message body does not contain an _e2e envelope. Is this an encrypted message?');
|
|
67
|
+
}
|
|
68
|
+
return recipientCrypto.decrypt(envelope);
|
|
69
|
+
}
|
|
35
70
|
}
|
|
36
71
|
//# sourceMappingURL=messages.js.map
|
package/dist/messages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AA2DA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,KAAK,CAAC,IAAI,CAAC,KAAuB;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAe,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,MAAM,KAAK,GAA2B,EAAE,CAAA;QACxC,IAAI,MAAM,EAAE,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAChD,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC7C,IAAI,MAAM,EAAE,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QAC/D,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnE,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAiB,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IACzF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAe,KAAK,EAAE,oBAAoB,SAAS,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAe,OAAO,EAAE,oBAAoB,SAAS,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAqB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB,MAAM,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAA;IAC9F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,QAAQ,EACR,4BAA4B,EAC5B,SAAS,EACT,EAAE,KAAK,EAAE,CACV,CAAA;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,aAAa,CACjB,KAAuB,EACvB,YAAyB,EACzB,eAAuB;QAEvB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAe,MAAM,EAAE,kBAAkB,EAAE;YACnE,GAAG,KAAK;YACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,OAAqB,EACrB,eAA4B;QAE5B,MAAM,QAAQ,GAAI,OAAO,CAAC,IAAgC,CAAC,IAAqC,CAAA;QAChG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAA;QAClG,CAAC;QACD,OAAO,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;CACF"}
|
package/dist/seller.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { AbbaBabaClient } from './client.js';
|
|
2
|
+
import { AgentCrypto } from './crypto.js';
|
|
3
|
+
import type { AbbaBabaConfig, CreateServiceInput, Service, Transaction, PollOptions, ApiResponse, SmartAccountConfig, UseSessionKeyConfig, AgentStats, E2EDecryptResult } from './types.js';
|
|
3
4
|
export declare class SellerAgent {
|
|
4
|
-
readonly client:
|
|
5
|
+
readonly client: AbbaBabaClient;
|
|
5
6
|
private running;
|
|
6
7
|
private walletAddress;
|
|
7
8
|
private kernelClient;
|
|
8
9
|
private resolvedGasStrategy;
|
|
9
|
-
|
|
10
|
+
private _crypto;
|
|
11
|
+
constructor(config: AbbaBabaConfig);
|
|
10
12
|
/** Register a service on the marketplace. */
|
|
11
13
|
listService(input: CreateServiceInput): Promise<Service>;
|
|
12
14
|
/**
|
|
@@ -39,10 +41,63 @@ export declare class SellerAgent {
|
|
|
39
41
|
* Does not require a wallet — read-only.
|
|
40
42
|
*/
|
|
41
43
|
getAgentScore(agentAddress?: string): Promise<AgentStats>;
|
|
44
|
+
/**
|
|
45
|
+
* Decrypt an encrypted `requestPayload` from an incoming transaction.
|
|
46
|
+
*
|
|
47
|
+
* When a buyer used `purchaseEncrypted()`, the `requestPayload` field contains
|
|
48
|
+
* `{ _e2e: EncryptedEnvelope }`. Call this to recover the plaintext job spec.
|
|
49
|
+
* Also verifies the buyer's ECDSA signature — reject if `result.verified` is false.
|
|
50
|
+
*
|
|
51
|
+
* Requires `initCrypto()` to have been called first.
|
|
52
|
+
*/
|
|
53
|
+
decryptRequestPayload(transaction: Transaction): Promise<E2EDecryptResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Deliver results with an encrypted `responsePayload`.
|
|
56
|
+
*
|
|
57
|
+
* Fetches the buyer agent's E2E public key, encrypts `responsePayload` client-side,
|
|
58
|
+
* then calls the deliver endpoint. The platform stores `{ _e2e: EncryptedEnvelope }` —
|
|
59
|
+
* only the buyer can decrypt the result with `decryptResponsePayload()`.
|
|
60
|
+
*
|
|
61
|
+
* Requires `initCrypto()` to have been called first.
|
|
62
|
+
*
|
|
63
|
+
* @param transactionId - Transaction to deliver.
|
|
64
|
+
* @param responsePayload - Plaintext result object to encrypt.
|
|
65
|
+
* @param buyerAgentId - The buyer's agent ID. Their E2E public key is fetched automatically.
|
|
66
|
+
*/
|
|
67
|
+
deliverEncrypted(transactionId: string, responsePayload: Record<string, unknown>, buyerAgentId: string): Promise<ApiResponse<Transaction>>;
|
|
68
|
+
/**
|
|
69
|
+
* Disclose the encrypted `responsePayload` as dispute evidence.
|
|
70
|
+
*
|
|
71
|
+
* Verifies the plaintext against the stored attestation hash, then submits it as
|
|
72
|
+
* `decrypted_payload` evidence so the resolver can inspect actual content.
|
|
73
|
+
*
|
|
74
|
+
* Requires `initCrypto()` to have been called first.
|
|
75
|
+
*
|
|
76
|
+
* @param transactionId - The disputed transaction.
|
|
77
|
+
* @param originalPayload - The same plaintext object that was passed to `deliverEncrypted()`.
|
|
78
|
+
* @throws If hash verification fails (plaintext does not match stored attestation).
|
|
79
|
+
*/
|
|
80
|
+
submitPayloadEvidence(transactionId: string, originalPayload: Record<string, unknown>): Promise<ApiResponse<{
|
|
81
|
+
evidenceId: string;
|
|
82
|
+
}>>;
|
|
42
83
|
/** Stop the polling loop. */
|
|
43
84
|
stop(): void;
|
|
44
85
|
getWalletAddress(): string | null;
|
|
45
86
|
/** Returns the resolved gas strategy after initWallet() or initWithSessionKey(). */
|
|
46
|
-
getGasStrategy(): 'self-funded' | 'erc20' | null;
|
|
87
|
+
getGasStrategy(): 'self-funded' | 'erc20' | 'sponsored' | null;
|
|
88
|
+
/**
|
|
89
|
+
* Initialize E2E encryption for this agent using a secp256k1 private key.
|
|
90
|
+
* After calling this, buyers can encrypt job payloads to your `crypto.publicKey`
|
|
91
|
+
* and you can decrypt them with `MessagesClient.decryptReceived(message, crypto)`.
|
|
92
|
+
*
|
|
93
|
+
* @param privateKeyHex - 32-byte secp256k1 private key, hex string.
|
|
94
|
+
* Generate one with `AgentCrypto.generate()`.
|
|
95
|
+
*/
|
|
96
|
+
initCrypto(privateKeyHex: string): AgentCrypto;
|
|
97
|
+
/**
|
|
98
|
+
* The agent's E2E crypto context. `null` until `initCrypto()` is called.
|
|
99
|
+
* Share `crypto.publicKey` with buyers so they can address encrypted messages to you.
|
|
100
|
+
*/
|
|
101
|
+
get crypto(): AgentCrypto | null;
|
|
47
102
|
}
|
|
48
103
|
//# sourceMappingURL=seller.d.ts.map
|
package/dist/seller.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller.d.ts","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"seller.d.ts","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,WAAW,EAA0C,MAAM,aAAa,CAAA;AACjF,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAGjB,MAAM,YAAY,CAAA;AAEnB,qBAAa,WAAW;IACtB,SAAgB,MAAM,EAAE,cAAc,CAAA;IACtC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,OAAO,CAA2B;gBAE9B,MAAM,EAAE,cAAc;IAIlC,6CAA6C;IACvC,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ9D;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;IAgC3E,qDAAqD;IAC/C,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIjG;;;;;OAKG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,KAAK,MAAM,EAAE,EACxB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,MAAM,CAAC;IAelB;;;OAGG;IACG,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAS7D;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAStE;;;OAGG;IACG,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAU/D;;;;;;;;OAQG;IACG,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAahF;;;;;;;;;;;;OAYG;IACG,gBAAgB,CACpB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAgBpC;;;;;;;;;;;OAWG;IACG,qBAAqB,CACzB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA+B/C,6BAA6B;IAC7B,IAAI,IAAI,IAAI;IAIZ,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,oFAAoF;IACpF,cAAc,IAAI,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI;IAI9D;;;;;;;OAOG;IACH,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW;IAK9C;;;OAGG;IACH,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;CACF"}
|
package/dist/seller.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AbbaBabaClient } from './client.js';
|
|
2
|
+
import { AgentCrypto, generateAttestation, verifyAttestation } from './crypto.js';
|
|
2
3
|
export class SellerAgent {
|
|
3
4
|
client;
|
|
4
5
|
running = false;
|
|
5
6
|
walletAddress = null;
|
|
6
7
|
kernelClient = null;
|
|
7
8
|
resolvedGasStrategy = null;
|
|
9
|
+
_crypto = null;
|
|
8
10
|
constructor(config) {
|
|
9
|
-
this.client = new
|
|
11
|
+
this.client = new AbbaBabaClient(config);
|
|
10
12
|
}
|
|
11
13
|
/** Register a service on the marketplace. */
|
|
12
14
|
async listService(input) {
|
|
@@ -109,6 +111,92 @@ export class SellerAgent {
|
|
|
109
111
|
const score = new ScoreClient();
|
|
110
112
|
return score.getAgentStats(address);
|
|
111
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Decrypt an encrypted `requestPayload` from an incoming transaction.
|
|
116
|
+
*
|
|
117
|
+
* When a buyer used `purchaseEncrypted()`, the `requestPayload` field contains
|
|
118
|
+
* `{ _e2e: EncryptedEnvelope }`. Call this to recover the plaintext job spec.
|
|
119
|
+
* Also verifies the buyer's ECDSA signature — reject if `result.verified` is false.
|
|
120
|
+
*
|
|
121
|
+
* Requires `initCrypto()` to have been called first.
|
|
122
|
+
*/
|
|
123
|
+
async decryptRequestPayload(transaction) {
|
|
124
|
+
if (!this._crypto) {
|
|
125
|
+
throw new Error('E2E crypto not initialized. Call initCrypto() first.');
|
|
126
|
+
}
|
|
127
|
+
const payload = transaction.requestPayload;
|
|
128
|
+
if (!payload?._e2e) {
|
|
129
|
+
throw new Error('requestPayload does not contain an _e2e envelope. Was it sent with purchaseEncrypted()?');
|
|
130
|
+
}
|
|
131
|
+
return this._crypto.decrypt(payload._e2e);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Deliver results with an encrypted `responsePayload`.
|
|
135
|
+
*
|
|
136
|
+
* Fetches the buyer agent's E2E public key, encrypts `responsePayload` client-side,
|
|
137
|
+
* then calls the deliver endpoint. The platform stores `{ _e2e: EncryptedEnvelope }` —
|
|
138
|
+
* only the buyer can decrypt the result with `decryptResponsePayload()`.
|
|
139
|
+
*
|
|
140
|
+
* Requires `initCrypto()` to have been called first.
|
|
141
|
+
*
|
|
142
|
+
* @param transactionId - Transaction to deliver.
|
|
143
|
+
* @param responsePayload - Plaintext result object to encrypt.
|
|
144
|
+
* @param buyerAgentId - The buyer's agent ID. Their E2E public key is fetched automatically.
|
|
145
|
+
*/
|
|
146
|
+
async deliverEncrypted(transactionId, responsePayload, buyerAgentId) {
|
|
147
|
+
if (!this._crypto) {
|
|
148
|
+
throw new Error('E2E crypto not initialized. Call initCrypto() first.');
|
|
149
|
+
}
|
|
150
|
+
const keyRes = await this.client.agents.getE2EPublicKey(buyerAgentId);
|
|
151
|
+
if (!keyRes.success || !keyRes.data) {
|
|
152
|
+
throw new Error(keyRes.error ?? 'Could not fetch buyer E2E public key');
|
|
153
|
+
}
|
|
154
|
+
const buyerPubKey = keyRes.data.publicKey;
|
|
155
|
+
const attestation = generateAttestation(responsePayload);
|
|
156
|
+
const envelope = await this._crypto.encryptFor(responsePayload, buyerPubKey);
|
|
157
|
+
return this.client.transactions.deliver(transactionId, {
|
|
158
|
+
responsePayload: { _e2e: envelope, attestation },
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Disclose the encrypted `responsePayload` as dispute evidence.
|
|
163
|
+
*
|
|
164
|
+
* Verifies the plaintext against the stored attestation hash, then submits it as
|
|
165
|
+
* `decrypted_payload` evidence so the resolver can inspect actual content.
|
|
166
|
+
*
|
|
167
|
+
* Requires `initCrypto()` to have been called first.
|
|
168
|
+
*
|
|
169
|
+
* @param transactionId - The disputed transaction.
|
|
170
|
+
* @param originalPayload - The same plaintext object that was passed to `deliverEncrypted()`.
|
|
171
|
+
* @throws If hash verification fails (plaintext does not match stored attestation).
|
|
172
|
+
*/
|
|
173
|
+
async submitPayloadEvidence(transactionId, originalPayload) {
|
|
174
|
+
const txRes = await this.client.transactions.get(transactionId);
|
|
175
|
+
if (!txRes.success || !txRes.data) {
|
|
176
|
+
throw new Error(txRes.error ?? 'Could not fetch transaction');
|
|
177
|
+
}
|
|
178
|
+
const rp = txRes.data.responsePayload;
|
|
179
|
+
const attestation = rp?.attestation;
|
|
180
|
+
if (!attestation) {
|
|
181
|
+
throw new Error('No attestation found in responsePayload. Was deliverEncrypted() used?');
|
|
182
|
+
}
|
|
183
|
+
const hashVerified = verifyAttestation(originalPayload, attestation);
|
|
184
|
+
if (!hashVerified) {
|
|
185
|
+
throw new Error('Hash verification failed: originalPayload does not match stored attestation hash');
|
|
186
|
+
}
|
|
187
|
+
const sections = Object.keys(originalPayload);
|
|
188
|
+
return this.client.transactions.submitEvidence(transactionId, {
|
|
189
|
+
evidenceType: 'decrypted_payload',
|
|
190
|
+
description: `Seller discloses encrypted responsePayload. Hash verified: ${hashVerified}. Sections: ${sections.join(', ')}`,
|
|
191
|
+
contentHash: attestation.hash,
|
|
192
|
+
metadata: {
|
|
193
|
+
role: 'seller',
|
|
194
|
+
payload: originalPayload,
|
|
195
|
+
senderVerified: true,
|
|
196
|
+
attestationHash: attestation.hash,
|
|
197
|
+
},
|
|
198
|
+
});
|
|
199
|
+
}
|
|
112
200
|
/** Stop the polling loop. */
|
|
113
201
|
stop() {
|
|
114
202
|
this.running = false;
|
|
@@ -120,6 +208,25 @@ export class SellerAgent {
|
|
|
120
208
|
getGasStrategy() {
|
|
121
209
|
return this.resolvedGasStrategy;
|
|
122
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Initialize E2E encryption for this agent using a secp256k1 private key.
|
|
213
|
+
* After calling this, buyers can encrypt job payloads to your `crypto.publicKey`
|
|
214
|
+
* and you can decrypt them with `MessagesClient.decryptReceived(message, crypto)`.
|
|
215
|
+
*
|
|
216
|
+
* @param privateKeyHex - 32-byte secp256k1 private key, hex string.
|
|
217
|
+
* Generate one with `AgentCrypto.generate()`.
|
|
218
|
+
*/
|
|
219
|
+
initCrypto(privateKeyHex) {
|
|
220
|
+
this._crypto = AgentCrypto.fromPrivateKey(privateKeyHex);
|
|
221
|
+
return this._crypto;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* The agent's E2E crypto context. `null` until `initCrypto()` is called.
|
|
225
|
+
* Share `crypto.publicKey` with buyers so they can address encrypted messages to you.
|
|
226
|
+
*/
|
|
227
|
+
get crypto() {
|
|
228
|
+
return this._crypto;
|
|
229
|
+
}
|
|
123
230
|
}
|
|
124
231
|
function sleep(ms) {
|
|
125
232
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
package/dist/seller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller.js","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"seller.js","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"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"}
|
package/dist/services.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AbbaBabaClient } from './client.js';
|
|
2
2
|
import type { ApiResponse, CreateServiceInput, UpdateServiceInput, Service, ServiceSearchParams, ServiceListResult } from './types.js';
|
|
3
3
|
export declare class ServicesClient {
|
|
4
4
|
private client;
|
|
5
|
-
constructor(client:
|
|
5
|
+
constructor(client: AbbaBabaClient);
|
|
6
6
|
create(input: CreateServiceInput): Promise<ApiResponse<Service>>;
|
|
7
7
|
search(params?: ServiceSearchParams): Promise<ApiResponse<ServiceListResult>>;
|
|
8
8
|
get(serviceId: string): Promise<ApiResponse<Service>>;
|
package/dist/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAEnB,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEpC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAIhE,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAe7E,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAIrD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAInF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAG3E"}
|
package/dist/services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,KAAK,CAAC,MAAM,CAAC,KAAyB;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA4B;QACvC,MAAM,KAAK,GAA2B,EAAE,CAAA;QAExC,IAAI,MAAM,EAAE,CAAC;YAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QACjC,IAAI,MAAM,EAAE,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QACtD,IAAI,MAAM,EAAE,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QACtD,IAAI,MAAM,EAAE,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC7E,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAChF,IAAI,MAAM,EAAE,MAAM;YAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QACjD,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnE,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEtE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAC5F,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,KAAK,EAAE,oBAAoB,SAAS,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,KAAyB;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,OAAO,EAAE,oBAAoB,SAAS,EAAE,EAAE,KAAK,CAAC,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB,QAAQ,EAAE,oBAAoB,SAAS,EAAE,CAAC,CAAA;IAC5F,CAAC;CACF"}
|
package/dist/transactions.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AbbaBabaClient } from './client.js';
|
|
2
2
|
import type { ApiResponse, Transaction, TransactionListParams, TransactionListResult, DeliverInput, DisputeInput, DisputeStatus, EvidenceInput, FundInput, FundResult } from './types.js';
|
|
3
3
|
export declare class TransactionsClient {
|
|
4
4
|
private client;
|
|
5
|
-
constructor(client:
|
|
5
|
+
constructor(client: AbbaBabaClient);
|
|
6
6
|
list(params?: TransactionListParams): Promise<ApiResponse<TransactionListResult>>;
|
|
7
7
|
get(transactionId: string): Promise<ApiResponse<Transaction>>;
|
|
8
8
|
deliver(transactionId: string, input: DeliverInput): Promise<ApiResponse<Transaction>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,EACX,MAAM,YAAY,CAAA;AAEnB,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEpC,IAAI,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAgBjF,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAO7D,OAAO,CACX,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAQ9B,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAOjE,OAAO,CACX,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAQpC,6DAA6D;IACvD,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAO5E,6DAA6D;IACvD,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,WAAW,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAQ/C,2EAA2E;IACrE,IAAI,CACR,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;CAOpC"}
|
package/dist/transactions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,KAAK,CAAC,IAAI,CAAC,MAA8B;QACvC,MAAM,KAAK,GAA2B,EAAE,CAAA;QAExC,IAAI,MAAM,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC1C,IAAI,MAAM,EAAE,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAChD,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnE,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEtE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,KAAK,CACN,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,aAAqB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,wBAAwB,aAAa,EAAE,CACxC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,aAAqB,EACrB,KAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,wBAAwB,aAAa,UAAU,EAC/C,KAAK,CACN,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,aAAqB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,wBAAwB,aAAa,UAAU,CAChD,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,aAAqB,EACrB,KAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,wBAAwB,aAAa,UAAU,EAC/C,KAAK,CACN,CAAA;IACH,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,aAAqB;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,wBAAwB,aAAa,UAAU,CAChD,CAAA;IACH,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,cAAc,CAClB,aAAqB,EACrB,KAAoB;QAEpB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,wBAAwB,aAAa,mBAAmB,EACxD,KAAK,CACN,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CACR,aAAqB,EACrB,KAAgB;QAEhB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,wBAAwB,aAAa,OAAO,EAC5C,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
|