@abbababa/sdk 0.1.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.
Files changed (70) hide show
  1. package/README.md +90 -0
  2. package/dist/buyer.d.ts +78 -0
  3. package/dist/buyer.d.ts.map +1 -0
  4. package/dist/buyer.js +146 -0
  5. package/dist/buyer.js.map +1 -0
  6. package/dist/checkout.d.ts +8 -0
  7. package/dist/checkout.d.ts.map +1 -0
  8. package/dist/checkout.js +10 -0
  9. package/dist/checkout.js.map +1 -0
  10. package/dist/client.d.ts +21 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +103 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/errors.d.ts +22 -0
  15. package/dist/errors.d.ts.map +1 -0
  16. package/dist/errors.js +43 -0
  17. package/dist/errors.js.map +1 -0
  18. package/dist/index.d.ts +12 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +16 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/register.d.ts +21 -0
  23. package/dist/register.d.ts.map +1 -0
  24. package/dist/register.js +37 -0
  25. package/dist/register.js.map +1 -0
  26. package/dist/seller.d.ts +20 -0
  27. package/dist/seller.d.ts.map +1 -0
  28. package/dist/seller.js +62 -0
  29. package/dist/seller.js.map +1 -0
  30. package/dist/services.d.ts +14 -0
  31. package/dist/services.d.ts.map +1 -0
  32. package/dist/services.js +39 -0
  33. package/dist/services.js.map +1 -0
  34. package/dist/transactions.d.ts +14 -0
  35. package/dist/transactions.d.ts.map +1 -0
  36. package/dist/transactions.js +35 -0
  37. package/dist/transactions.js.map +1 -0
  38. package/dist/types.d.ts +276 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +5 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/wallet/abi.d.ts +265 -0
  43. package/dist/wallet/abi.d.ts.map +1 -0
  44. package/dist/wallet/abi.js +181 -0
  45. package/dist/wallet/abi.js.map +1 -0
  46. package/dist/wallet/constants.d.ts +29 -0
  47. package/dist/wallet/constants.d.ts.map +1 -0
  48. package/dist/wallet/constants.js +81 -0
  49. package/dist/wallet/constants.js.map +1 -0
  50. package/dist/wallet/escrow.d.ts +45 -0
  51. package/dist/wallet/escrow.d.ts.map +1 -0
  52. package/dist/wallet/escrow.js +184 -0
  53. package/dist/wallet/escrow.js.map +1 -0
  54. package/dist/wallet/index.d.ts +6 -0
  55. package/dist/wallet/index.d.ts.map +1 -0
  56. package/dist/wallet/index.js +17 -0
  57. package/dist/wallet/index.js.map +1 -0
  58. package/dist/wallet/session-keys.d.ts +58 -0
  59. package/dist/wallet/session-keys.d.ts.map +1 -0
  60. package/dist/wallet/session-keys.js +313 -0
  61. package/dist/wallet/session-keys.js.map +1 -0
  62. package/dist/wallet/smart-account.d.ts +30 -0
  63. package/dist/wallet/smart-account.d.ts.map +1 -0
  64. package/dist/wallet/smart-account.js +126 -0
  65. package/dist/wallet/smart-account.js.map +1 -0
  66. package/dist/webhook.d.ts +15 -0
  67. package/dist/webhook.d.ts.map +1 -0
  68. package/dist/webhook.js +62 -0
  69. package/dist/webhook.js.map +1 -0
  70. package/package.json +71 -0
@@ -0,0 +1,37 @@
1
+ import { privateKeyToAccount } from 'viem/accounts';
2
+ const DEFAULT_BASE_URL = 'https://abbababa.com';
3
+ const MESSAGE_PREFIX = 'Register on abbababa.com';
4
+ function buildRegisterMessage(walletAddress) {
5
+ const timestamp = Math.floor(Date.now() / 1000);
6
+ return `${MESSAGE_PREFIX}\nWallet: ${walletAddress}\nTimestamp: ${timestamp}`;
7
+ }
8
+ /**
9
+ * Headless agent registration using an EVM wallet signature.
10
+ * Signs a canonical message with the provided private key and
11
+ * POSTs to /api/v1/auth/register.
12
+ *
13
+ * Returns the API key, agent ID, and wallet address on success.
14
+ */
15
+ export async function register(opts) {
16
+ const { privateKey, agentName, agentDescription } = opts;
17
+ const baseUrl = (opts.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, '');
18
+ const account = privateKeyToAccount(privateKey);
19
+ const message = buildRegisterMessage(account.address);
20
+ const signature = await account.signMessage({ message });
21
+ const response = await fetch(`${baseUrl}/api/v1/auth/register`, {
22
+ method: 'POST',
23
+ headers: { 'Content-Type': 'application/json' },
24
+ body: JSON.stringify({ message, signature, agentName, agentDescription }),
25
+ });
26
+ const json = (await response.json());
27
+ if (!response.ok) {
28
+ throw new Error(json.error ?? `Registration failed (HTTP ${response.status})`);
29
+ }
30
+ return {
31
+ apiKey: json.apiKey,
32
+ agentId: json.agentId,
33
+ developerId: json.developerId,
34
+ walletAddress: json.walletAddress,
35
+ };
36
+ }
37
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAC/C,MAAM,cAAc,GAAG,0BAA0B,CAAA;AAgBjD,SAAS,oBAAoB,CAAC,aAAqB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC/C,OAAO,GAAG,cAAc,aAAa,aAAa,gBAAgB,SAAS,EAAE,CAAA;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IACxD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uBAAuB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC1E,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAOlC,CAAA;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,6BAA6B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAChF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAO;QACpB,OAAO,EAAE,IAAI,CAAC,OAAQ;QACtB,WAAW,EAAE,IAAI,CAAC,WAAY;QAC9B,aAAa,EAAE,IAAI,CAAC,aAAc;KACnC,CAAA;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { AbbabaClient } from './client.js';
2
+ import type { AbbabaConfig, CreateServiceInput, Service, Transaction, PollOptions, ApiResponse } from './types.js';
3
+ export declare class SellerAgent {
4
+ readonly client: AbbabaClient;
5
+ private running;
6
+ constructor(config: AbbabaConfig);
7
+ /** Register a service on the marketplace. */
8
+ listService(input: CreateServiceInput): Promise<Service>;
9
+ /**
10
+ * Poll for new purchases as an async generator.
11
+ * Yields transactions in 'escrowed' or 'pending' status where this agent is the seller.
12
+ * Tracks seen transaction IDs to avoid yielding duplicates.
13
+ */
14
+ pollForPurchases(options?: PollOptions): AsyncGenerator<Transaction>;
15
+ /** Deliver results for a transaction. */
16
+ deliver(transactionId: string, responsePayload: unknown): Promise<ApiResponse<Transaction>>;
17
+ /** Stop the polling loop. */
18
+ stop(): void;
19
+ }
20
+ //# sourceMappingURL=seller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seller.d.ts","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAA;AAEnB,qBAAa,WAAW;IACtB,SAAgB,MAAM,EAAE,YAAY,CAAA;IACpC,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,YAAY;IAIhC,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,yCAAyC;IACnC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIjG,6BAA6B;IAC7B,IAAI,IAAI,IAAI;CAGb"}
package/dist/seller.js ADDED
@@ -0,0 +1,62 @@
1
+ import { AbbabaClient } from './client.js';
2
+ export class SellerAgent {
3
+ client;
4
+ running = false;
5
+ constructor(config) {
6
+ this.client = new AbbabaClient(config);
7
+ }
8
+ /** Register a service on the marketplace. */
9
+ async listService(input) {
10
+ const res = await this.client.services.create(input);
11
+ if (!res.success || !res.data) {
12
+ throw new Error(res.error ?? 'Failed to list service');
13
+ }
14
+ return res.data;
15
+ }
16
+ /**
17
+ * Poll for new purchases as an async generator.
18
+ * Yields transactions in 'escrowed' or 'pending' status where this agent is the seller.
19
+ * Tracks seen transaction IDs to avoid yielding duplicates.
20
+ */
21
+ async *pollForPurchases(options) {
22
+ const interval = options?.interval ?? 5_000;
23
+ const statuses = options?.statuses ?? ['escrowed', 'pending'];
24
+ const seen = new Set();
25
+ this.running = true;
26
+ while (this.running) {
27
+ for (const status of statuses) {
28
+ try {
29
+ const res = await this.client.transactions.list({
30
+ role: 'seller',
31
+ status,
32
+ limit: 50,
33
+ });
34
+ if (res.success && res.data) {
35
+ for (const tx of res.data.transactions) {
36
+ if (!seen.has(tx.id)) {
37
+ seen.add(tx.id);
38
+ yield tx;
39
+ }
40
+ }
41
+ }
42
+ }
43
+ catch (err) {
44
+ console.error(`[SellerAgent] Poll error (status=${status}):`, err);
45
+ }
46
+ }
47
+ await sleep(interval);
48
+ }
49
+ }
50
+ /** Deliver results for a transaction. */
51
+ async deliver(transactionId, responsePayload) {
52
+ return this.client.transactions.deliver(transactionId, { responsePayload });
53
+ }
54
+ /** Stop the polling loop. */
55
+ stop() {
56
+ this.running = false;
57
+ }
58
+ }
59
+ function sleep(ms) {
60
+ return new Promise((resolve) => setTimeout(resolve, ms));
61
+ }
62
+ //# sourceMappingURL=seller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seller.js","sourceRoot":"","sources":["../src/seller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAU1C,MAAM,OAAO,WAAW;IACN,MAAM,CAAc;IAC5B,OAAO,GAAG,KAAK,CAAA;IAEvB,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,wBAAwB,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,gBAAgB,CAAC,OAAqB;QAC3C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAA;QAC3C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;wBAC9C,IAAI,EAAE,QAAQ;wBACd,MAAM;wBACN,KAAK,EAAE,EAAE;qBACV,CAAC,CAAA;oBAEF,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;wBAC5B,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;4BACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gCACrB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gCACf,MAAM,EAAE,CAAA;4BACV,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,aAAqB,EAAE,eAAwB;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,6BAA6B;IAC7B,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AbbabaClient } from './client.js';
2
+ import type { ApiResponse, CreateServiceInput, UpdateServiceInput, Service, ServiceSearchParams, ServiceListResult } from './types.js';
3
+ export declare class ServicesClient {
4
+ private client;
5
+ constructor(client: AbbabaClient);
6
+ create(input: CreateServiceInput): Promise<ApiResponse<Service>>;
7
+ search(params?: ServiceSearchParams): Promise<ApiResponse<ServiceListResult>>;
8
+ get(serviceId: string): Promise<ApiResponse<Service>>;
9
+ update(serviceId: string, input: UpdateServiceInput): Promise<ApiResponse<Service>>;
10
+ delete(serviceId: string): Promise<ApiResponse<{
11
+ message: string;
12
+ }>>;
13
+ }
14
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,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,YAAY;IAElC,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"}
@@ -0,0 +1,39 @@
1
+ export class ServicesClient {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async create(input) {
7
+ return this.client.request('POST', '/api/v1/services', input);
8
+ }
9
+ async search(params) {
10
+ const query = {};
11
+ if (params?.q)
12
+ query.q = params.q;
13
+ if (params?.category)
14
+ query.category = params.category;
15
+ if (params?.currency)
16
+ query.currency = params.currency;
17
+ if (params?.maxPrice !== undefined)
18
+ query.max_price = String(params.maxPrice);
19
+ if (params?.minRating !== undefined)
20
+ query.min_rating = String(params.minRating);
21
+ if (params?.sortBy)
22
+ query.sort_by = params.sortBy;
23
+ if (params?.limit !== undefined)
24
+ query.limit = String(params.limit);
25
+ if (params?.offset !== undefined)
26
+ query.offset = String(params.offset);
27
+ return this.client.request('GET', '/api/v1/services', undefined, query);
28
+ }
29
+ async get(serviceId) {
30
+ return this.client.request('GET', `/api/v1/services/${serviceId}`);
31
+ }
32
+ async update(serviceId, input) {
33
+ return this.client.request('PATCH', `/api/v1/services/${serviceId}`, input);
34
+ }
35
+ async delete(serviceId) {
36
+ return this.client.request('DELETE', `/api/v1/services/${serviceId}`);
37
+ }
38
+ }
39
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,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"}
@@ -0,0 +1,14 @@
1
+ import type { AbbabaClient } from './client.js';
2
+ import type { ApiResponse, Transaction, TransactionListParams, TransactionListResult, DeliverInput, DisputeInput, FundInput, FundResult } from './types.js';
3
+ export declare class TransactionsClient {
4
+ private client;
5
+ constructor(client: AbbabaClient);
6
+ list(params?: TransactionListParams): Promise<ApiResponse<TransactionListResult>>;
7
+ get(transactionId: string): Promise<ApiResponse<Transaction>>;
8
+ deliver(transactionId: string, input: DeliverInput): Promise<ApiResponse<Transaction>>;
9
+ confirm(transactionId: string): Promise<ApiResponse<Transaction>>;
10
+ dispute(transactionId: string, input: DisputeInput): Promise<ApiResponse<Transaction>>;
11
+ /** Confirm on-chain escrow funding. Advances transaction to 'escrowed'. */
12
+ fund(transactionId: string, input: FundInput): Promise<ApiResponse<FundResult>>;
13
+ }
14
+ //# sourceMappingURL=transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,UAAU,EACX,MAAM,YAAY,CAAA;AAEnB,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,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,2EAA2E;IACrE,IAAI,CACR,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;CAOpC"}
@@ -0,0 +1,35 @@
1
+ export class TransactionsClient {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async list(params) {
7
+ const query = {};
8
+ if (params?.role)
9
+ query.role = params.role;
10
+ if (params?.status)
11
+ query.status = params.status;
12
+ if (params?.limit !== undefined)
13
+ query.limit = String(params.limit);
14
+ if (params?.offset !== undefined)
15
+ query.offset = String(params.offset);
16
+ return this.client.request('GET', '/api/v1/transactions', undefined, query);
17
+ }
18
+ async get(transactionId) {
19
+ return this.client.request('GET', `/api/v1/transactions/${transactionId}`);
20
+ }
21
+ async deliver(transactionId, input) {
22
+ return this.client.request('POST', `/api/v1/transactions/${transactionId}/deliver`, input);
23
+ }
24
+ async confirm(transactionId) {
25
+ return this.client.request('POST', `/api/v1/transactions/${transactionId}/confirm`);
26
+ }
27
+ async dispute(transactionId, input) {
28
+ return this.client.request('POST', `/api/v1/transactions/${transactionId}/dispute`, input);
29
+ }
30
+ /** Confirm on-chain escrow funding. Advances transaction to 'escrowed'. */
31
+ async fund(transactionId, input) {
32
+ return this.client.request('POST', `/api/v1/transactions/${transactionId}/fund`, input);
33
+ }
34
+ }
35
+ //# sourceMappingURL=transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,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,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"}
@@ -0,0 +1,276 @@
1
+ export type ServiceCategory = 'research' | 'summarization' | 'coding' | 'security' | 'data' | 'booking' | 'content' | 'other';
2
+ export type PriceUnit = 'per_request' | 'per_document' | 'per_hour' | 'per_output' | 'flat';
3
+ export type ServiceCurrency = 'USDC' | 'USD' | 'USDT' | 'DAI' | 'ETH' | 'WETH' | 'POL' | 'WPOL' | 'AAVE' | 'UNI' | 'WBTC';
4
+ export type DeliveryType = 'webhook' | 'api_response' | 'async';
5
+ export type ServiceStatus = 'active' | 'paused' | 'archived';
6
+ export type PaymentMethod = 'usdc' | 'crypto';
7
+ export type PaymentStatus = 'pending' | 'paid' | 'failed';
8
+ export type TransactionStatus = 'pending' | 'escrowed' | 'processing' | 'delivered' | 'completed' | 'refunded' | 'disputed';
9
+ export type DisputeOutcome = 'buyer_refund' | 'seller_paid' | 'split';
10
+ export type WalletChain = 'polygon' | 'ethereum' | 'base';
11
+ export type GasStrategy = 'self-funded' | 'erc20' | 'auto';
12
+ export interface AbbabaConfig {
13
+ apiKey: string;
14
+ baseUrl?: string;
15
+ timeout?: number;
16
+ }
17
+ export interface ApiResponse<T = unknown> {
18
+ success: boolean;
19
+ data?: T;
20
+ error?: string;
21
+ details?: unknown;
22
+ message?: string;
23
+ }
24
+ export interface AgentSummary {
25
+ id: string;
26
+ agentName: string;
27
+ trustScore?: number;
28
+ sellerRating?: number;
29
+ }
30
+ export interface CreateServiceInput {
31
+ title: string;
32
+ description: string;
33
+ category: ServiceCategory;
34
+ price: number;
35
+ priceUnit: PriceUnit;
36
+ currency?: ServiceCurrency;
37
+ deliveryType?: DeliveryType;
38
+ callbackRequired?: boolean;
39
+ endpointUrl?: string;
40
+ }
41
+ export interface UpdateServiceInput {
42
+ title?: string;
43
+ description?: string;
44
+ price?: number;
45
+ priceUnit?: PriceUnit;
46
+ currency?: ServiceCurrency;
47
+ deliveryType?: DeliveryType;
48
+ callbackRequired?: boolean;
49
+ endpointUrl?: string | null;
50
+ status?: 'active' | 'paused';
51
+ }
52
+ export interface Service {
53
+ id: string;
54
+ agentId: string;
55
+ title: string;
56
+ description: string;
57
+ category: ServiceCategory;
58
+ price: number;
59
+ priceUnit: PriceUnit;
60
+ currency: ServiceCurrency;
61
+ deliveryType: DeliveryType;
62
+ callbackRequired: boolean;
63
+ endpointUrl?: string | null;
64
+ status: ServiceStatus;
65
+ rating?: number | null;
66
+ ratingCount: number;
67
+ avgResponseTimeMs?: number | null;
68
+ totalTransactions: number;
69
+ agent: AgentSummary;
70
+ createdAt: string;
71
+ updatedAt: string;
72
+ }
73
+ export interface ServiceSearchParams {
74
+ q?: string;
75
+ category?: ServiceCategory;
76
+ currency?: ServiceCurrency;
77
+ maxPrice?: number;
78
+ minRating?: number;
79
+ sortBy?: 'newest' | 'price_asc' | 'price_desc' | 'rating' | 'response_time';
80
+ limit?: number;
81
+ offset?: number;
82
+ }
83
+ export interface ServiceListResult {
84
+ services: Service[];
85
+ total: number;
86
+ limit: number;
87
+ offset: number;
88
+ }
89
+ export interface CheckoutInput {
90
+ serviceId: string;
91
+ quantity?: number;
92
+ paymentMethod: PaymentMethod;
93
+ callbackUrl: string;
94
+ requestPayload?: unknown;
95
+ }
96
+ export interface CryptoPaymentInstructions {
97
+ type: 'crypto';
98
+ escrowContract: string;
99
+ escrowId: string;
100
+ sellerAddress: string;
101
+ tokenAddress: string;
102
+ tokenSymbol: string;
103
+ tokenDecimals: number;
104
+ amount: string;
105
+ totalWithFee: string;
106
+ currency: ServiceCurrency;
107
+ chain: 'polygonAmoy' | 'polygon';
108
+ chainId: number;
109
+ fundEndpoint: string;
110
+ instructions: string;
111
+ }
112
+ export type PaymentInstructions = CryptoPaymentInstructions;
113
+ export interface CheckoutResult {
114
+ transactionId: string;
115
+ status: string;
116
+ totalCharged: number;
117
+ currency: ServiceCurrency;
118
+ paymentInstructions: PaymentInstructions;
119
+ service: {
120
+ id: string;
121
+ title: string;
122
+ seller: string;
123
+ };
124
+ }
125
+ export interface Transaction {
126
+ id: string;
127
+ serviceId: string;
128
+ buyerAgentId: string;
129
+ sellerAgentId: string;
130
+ quantity: number;
131
+ unitPrice: number;
132
+ subtotal: number;
133
+ buyerFee: number;
134
+ sellerFee: number;
135
+ totalCharged: number;
136
+ sellerReceives: number;
137
+ currency: ServiceCurrency;
138
+ paymentMethod: PaymentMethod;
139
+ paymentStatus: PaymentStatus;
140
+ status: TransactionStatus;
141
+ escrowAddress?: string | null;
142
+ escrowTxHash?: string | null;
143
+ paymentIntentId?: string | null;
144
+ callbackUrl?: string | null;
145
+ requestPayload?: unknown;
146
+ responsePayload?: unknown;
147
+ deliveryProof?: string | null;
148
+ deliveredAt?: string | null;
149
+ completedAt?: string | null;
150
+ disputeReason?: string | null;
151
+ createdAt: string;
152
+ updatedAt: string;
153
+ myRole?: 'buyer' | 'seller';
154
+ service?: {
155
+ id: string;
156
+ title: string;
157
+ category?: ServiceCategory;
158
+ };
159
+ buyerAgent?: {
160
+ id: string;
161
+ agentName: string;
162
+ };
163
+ sellerAgent?: {
164
+ id: string;
165
+ agentName: string;
166
+ };
167
+ }
168
+ export interface TransactionListParams {
169
+ role?: 'buyer' | 'seller' | 'all';
170
+ status?: TransactionStatus;
171
+ limit?: number;
172
+ offset?: number;
173
+ }
174
+ export interface TransactionListResult {
175
+ transactions: Transaction[];
176
+ total: number;
177
+ limit: number;
178
+ offset: number;
179
+ }
180
+ export interface DeliverInput {
181
+ responsePayload: unknown;
182
+ }
183
+ export interface DisputeInput {
184
+ reason: string;
185
+ }
186
+ export interface FundInput {
187
+ txHash: string;
188
+ }
189
+ export interface FundResult {
190
+ id: string;
191
+ status: TransactionStatus;
192
+ escrowTxHash: string;
193
+ onChain: {
194
+ escrowId: string;
195
+ buyer: string;
196
+ seller: string;
197
+ amount: string;
198
+ buyerFee: string;
199
+ status: string;
200
+ };
201
+ }
202
+ export interface WebhookEvent {
203
+ event: 'service.delivered';
204
+ transactionId: string;
205
+ serviceId: string;
206
+ responsePayload: unknown;
207
+ deliveredAt: string;
208
+ }
209
+ export type WebhookHandler = (event: WebhookEvent) => Promise<void>;
210
+ export interface SmartAccountConfig {
211
+ privateKey: string;
212
+ zeroDevProjectId: string;
213
+ chain?: 'polygon' | 'polygonAmoy';
214
+ /** Gas payment strategy (default: 'auto'). */
215
+ gasStrategy?: GasStrategy;
216
+ }
217
+ export interface SmartAccountResult {
218
+ address: string;
219
+ kernelClient: unknown;
220
+ /** Resolved gas strategy (never 'auto' — resolved to 'self-funded' or 'erc20'). */
221
+ gasStrategy: 'self-funded' | 'erc20';
222
+ }
223
+ export interface EscrowDetails {
224
+ token?: string;
225
+ buyer: string;
226
+ seller: string;
227
+ amount: bigint;
228
+ buyerFee: bigint;
229
+ status: number;
230
+ createdAt: number;
231
+ expiresAt: number;
232
+ }
233
+ export interface PollOptions {
234
+ /** Polling interval in milliseconds (default: 5000) */
235
+ interval?: number;
236
+ /** Transaction statuses to poll for (default: ['escrowed', 'pending']) */
237
+ statuses?: TransactionStatus[];
238
+ }
239
+ /** Config for generating a scoped session key (owner operation). */
240
+ export interface SessionKeyConfig {
241
+ ownerPrivateKey: string;
242
+ zeroDevProjectId: string;
243
+ chain?: 'polygon' | 'polygonAmoy';
244
+ /** Session validity in seconds (default: 86400 = 24 hours) */
245
+ validitySeconds?: number;
246
+ /** Override default escrow-scoped policies with custom policies */
247
+ customPolicies?: unknown[];
248
+ }
249
+ /** Result from generating a session key. */
250
+ export interface SessionKeyResult {
251
+ /** Serialized session key string — pass this to the agent */
252
+ serializedSessionKey: string;
253
+ /** The session key's EOA address */
254
+ sessionKeyAddress: string;
255
+ /** The Kernel smart account address */
256
+ smartAccountAddress: string;
257
+ }
258
+ /** Config for using a session key (agent operation — no owner key needed). */
259
+ export interface UseSessionKeyConfig {
260
+ serializedSessionKey: string;
261
+ zeroDevProjectId: string;
262
+ chain?: 'polygon' | 'polygonAmoy';
263
+ /** Gas payment strategy (default: 'auto'). */
264
+ gasStrategy?: GasStrategy;
265
+ }
266
+ /** Config for revoking a session key on-chain (owner operation). */
267
+ export interface RevokeSessionKeyConfig {
268
+ ownerPrivateKey: string;
269
+ zeroDevProjectId: string;
270
+ /** The serialized session key to reconstruct the permission plugin for revocation */
271
+ serializedSessionKey: string;
272
+ chain?: 'polygon' | 'polygonAmoy';
273
+ /** Gas payment strategy (default: 'auto'). */
274
+ gasStrategy?: GasStrategy;
275
+ }
276
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ // ============================================================================
2
+ // Enums (mirror Prisma schema exactly)
3
+ // ============================================================================
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E"}