@attesso/sdk 1.1.1 → 1.3.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 CHANGED
@@ -16,7 +16,7 @@ Instead of managing sensitive credentials in plaintext, agents interact with **S
16
16
 
17
17
  - **Deterministic**: Same mandate, same constraints, every time
18
18
  - **Isolated**: Credentials never exposed to agent runtime
19
- - **Revocable**: Sub-second propagation via Global Revocation List
19
+ - **Revocable**: Sub-millisecond propagation via Redis-backed block store
20
20
  - **Typed**: Full TypeScript coverage with Zod validation
21
21
 
22
22
  ## AttessoClient
@@ -101,7 +101,6 @@ const result = await generateText({
101
101
  | `attesso_get_passport` | `{ mandateId? }` | PassportToken |
102
102
  | `attesso_capture` | `{ paymentId, amount, metadata? }` | CaptureResponse |
103
103
  | `attesso_cancel` | `{ paymentId }` | CancelResponse |
104
- | `attesso_check_balance` | `{ mandateId? }` | `{ available, currency, status }` |
105
104
 
106
105
  > **Note**: The Vercel AI SDK uses `attesso_pay` for payments. If using the MCP server (`@attesso/mcp`) directly with Claude Desktop or other MCP clients, the equivalent tool is named `attesso_execute_payment`.
107
106
 
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { MandateResponse, PaymentResponse, PassportToken, CapturePaymentResponse, CancelAuthorizationResponse, CreateMandateRequestInput, CreateMandateRequestResponse, MandateRequestDetails } from '@attesso/types';
1
+ import type { MandateResponse, PaymentResponse, IssueCardResponse, CreateMandateRequestInput, CreateMandateRequestResponse, MandateRequestDetails } from '@attesso/types';
2
2
  export interface AttessoClientConfig {
3
3
  apiKey?: string;
4
4
  apiUrl?: string;
@@ -18,14 +18,11 @@ export interface AttessoClientConfig {
18
18
  */
19
19
  allowedOrigins?: string[];
20
20
  }
21
- export interface ExecutePaymentOptions {
22
- mandateId: string;
21
+ export interface IssueCardOptions {
23
22
  amount: number;
24
- merchant: string;
25
- }
26
- export interface CapturePaymentOptions {
27
- amount: number;
28
- metadata?: Record<string, string>;
23
+ ttlSeconds?: number;
24
+ allowedMccs?: string[];
25
+ blockedMccs?: string[];
29
26
  }
30
27
  export declare class AttessoClient {
31
28
  private apiKey;
@@ -57,61 +54,31 @@ export declare class AttessoClient {
57
54
  */
58
55
  getMandate(mandateId: string): Promise<MandateResponse>;
59
56
  /**
60
- * Execute a payment against a mandate.
57
+ * Issue an ephemeral virtual card from a standing mandate.
61
58
  * This is the main method bots use to make purchases.
62
59
  *
60
+ * The card is created with a TTL and auto-destructs after use or timeout.
61
+ * Money is auth-held at issue time and captured when the merchant charges.
62
+ *
63
+ * @param mandateId - The mandate ID to issue a card from
64
+ * @param options - Issue options including amount and TTL
65
+ *
63
66
  * @example
64
67
  * ```typescript
65
- * const aegis = new AttessoClient({ apiKey: 'your-api-key' });
66
- *
67
- * const payment = await aegis.executePayment({
68
- * mandateId: 'mandate_xyz',
68
+ * const card = await attesso.issueCard('mandate_xyz', {
69
69
  * amount: 75000, // $750.00 in cents
70
- * merchant: 'United Airlines'
70
+ * ttlSeconds: 300, // 5 minute TTL
71
71
  * });
72
72
  *
73
- * console.log(`Payment ${payment.id} status: ${payment.status}`);
73
+ * console.log(`Card ${card.cardId} number: ${card.number}`);
74
+ * console.log(`Expires at: ${card.expiresAt}`);
74
75
  * ```
75
76
  */
76
- executePayment(options: ExecutePaymentOptions): Promise<PaymentResponse>;
77
+ issueCard(mandateId: string, options: IssueCardOptions): Promise<IssueCardResponse>;
77
78
  /**
78
79
  * Get a payment by ID.
79
80
  */
80
81
  getPayment(paymentId: string): Promise<PaymentResponse>;
81
- /**
82
- * Get a passport token for making authenticated requests to merchants.
83
- * The passport proves to the merchant that this request has authorized spending.
84
- */
85
- getPassport(mandateId: string): Promise<PassportToken>;
86
- /**
87
- * Capture a previously authorized payment.
88
- * The capture amount must be less than or equal to the authorized amount.
89
- *
90
- * @param paymentId - The ID of the authorized payment
91
- * @param options - Capture options including the final amount
92
- *
93
- * @example
94
- * ```typescript
95
- * const payment = await attesso.capture('payment_abc123', {
96
- * amount: 34700, // $347.00 actual price
97
- * });
98
- * ```
99
- */
100
- capture(paymentId: string, options: CapturePaymentOptions): Promise<CapturePaymentResponse>;
101
- /**
102
- * Cancel an authorization and release the hold on funds.
103
- * Use this when the purchase won't proceed (e.g., user cancelled, no suitable flights found).
104
- *
105
- * @param paymentId - The ID of the authorized payment to cancel
106
- *
107
- * @example
108
- * ```typescript
109
- * // User decided not to book
110
- * const result = await attesso.cancel('payment_abc123');
111
- * console.log('Funds released');
112
- * ```
113
- */
114
- cancel(paymentId: string): Promise<CancelAuthorizationResponse>;
115
82
  /**
116
83
  * Create a mandate request and get an approval URL.
117
84
  * Send this URL to the user so they can authorize the spending.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,eAAe,EAEf,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAuB;gBAEjC,MAAM,GAAE,mBAAwB;IAM5C;;;OAGG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;OAGG;IACH,OAAO,CAAC,cAAc;YAUR,OAAO;IA8BrB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7D;;;;;;;;;;;;;;;;OAgBG;IACG,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAU9E;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7D;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAc5D;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQjG;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAYrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,oBAAoB,CACxB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,4BAA4B,CAAC;IAQxC;;;;;;;;;;;;;;;OAeG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAO1E;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,IAAI,EAAE,MAAM,CAAwB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;gBAEb,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;CAS5D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAGf,iBAAiB,EACjB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAuB;gBAEjC,MAAM,GAAE,mBAAwB;IAM5C;;;OAGG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;OAGG;IACH,OAAO,CAAC,cAAc;YAUR,OAAO;IA8BrB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7D;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQzF;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAS7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,oBAAoB,CACxB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,4BAA4B,CAAC;IAQxC;;;;;;;;;;;;;;;OAeG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAO1E;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,IAAI,EAAE,MAAM,CAAwB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;gBAEb,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;CAS5D"}
package/dist/client.js CHANGED
@@ -110,29 +110,28 @@ class AttessoClient {
110
110
  return this.request('GET', `/v1/mandates/${mandateId}`);
111
111
  }
112
112
  /**
113
- * Execute a payment against a mandate.
113
+ * Issue an ephemeral virtual card from a standing mandate.
114
114
  * This is the main method bots use to make purchases.
115
115
  *
116
+ * The card is created with a TTL and auto-destructs after use or timeout.
117
+ * Money is auth-held at issue time and captured when the merchant charges.
118
+ *
119
+ * @param mandateId - The mandate ID to issue a card from
120
+ * @param options - Issue options including amount and TTL
121
+ *
116
122
  * @example
117
123
  * ```typescript
118
- * const aegis = new AttessoClient({ apiKey: 'your-api-key' });
119
- *
120
- * const payment = await aegis.executePayment({
121
- * mandateId: 'mandate_xyz',
124
+ * const card = await attesso.issueCard('mandate_xyz', {
122
125
  * amount: 75000, // $750.00 in cents
123
- * merchant: 'United Airlines'
126
+ * ttlSeconds: 300, // 5 minute TTL
124
127
  * });
125
128
  *
126
- * console.log(`Payment ${payment.id} status: ${payment.status}`);
129
+ * console.log(`Card ${card.cardId} number: ${card.number}`);
130
+ * console.log(`Expires at: ${card.expiresAt}`);
127
131
  * ```
128
132
  */
129
- async executePayment(options) {
130
- const request = {
131
- mandateId: options.mandateId,
132
- amount: options.amount,
133
- merchant: options.merchant,
134
- };
135
- return this.request('POST', '/v1/payments', request);
133
+ async issueCard(mandateId, options) {
134
+ return this.request('POST', `/v1/mandates/${mandateId}/issue`, options);
136
135
  }
137
136
  /**
138
137
  * Get a payment by ID.
@@ -140,52 +139,6 @@ class AttessoClient {
140
139
  async getPayment(paymentId) {
141
140
  return this.request('GET', `/v1/payments/${paymentId}`);
142
141
  }
143
- /**
144
- * Get a passport token for making authenticated requests to merchants.
145
- * The passport proves to the merchant that this request has authorized spending.
146
- */
147
- async getPassport(mandateId) {
148
- return this.request('POST', `/v1/passports/mandate/${mandateId}`);
149
- }
150
- // ============================================================
151
- // CAPTURE & CANCEL METHODS
152
- // Note: Authorization happens automatically when the USER creates
153
- // a mandate via FaceID on their mobile app. Bots can only capture
154
- // or cancel existing authorizations.
155
- // ============================================================
156
- /**
157
- * Capture a previously authorized payment.
158
- * The capture amount must be less than or equal to the authorized amount.
159
- *
160
- * @param paymentId - The ID of the authorized payment
161
- * @param options - Capture options including the final amount
162
- *
163
- * @example
164
- * ```typescript
165
- * const payment = await attesso.capture('payment_abc123', {
166
- * amount: 34700, // $347.00 actual price
167
- * });
168
- * ```
169
- */
170
- async capture(paymentId, options) {
171
- return this.request('POST', `/v1/payments/${paymentId}/capture`, options);
172
- }
173
- /**
174
- * Cancel an authorization and release the hold on funds.
175
- * Use this when the purchase won't proceed (e.g., user cancelled, no suitable flights found).
176
- *
177
- * @param paymentId - The ID of the authorized payment to cancel
178
- *
179
- * @example
180
- * ```typescript
181
- * // User decided not to book
182
- * const result = await attesso.cancel('payment_abc123');
183
- * console.log('Funds released');
184
- * ```
185
- */
186
- async cancel(paymentId) {
187
- return this.request('POST', `/v1/payments/${paymentId}/cancel`);
188
- }
189
142
  // ============================================================
190
143
  // MANDATE REQUESTS - Async authorization flow
191
144
  // Agent creates a request, user approves via link, agent gets notified
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  export { AttessoClient, AttessoError, OriginNotAllowedError } from './client.js';
2
- export type { AttessoClientConfig, ExecutePaymentOptions, CapturePaymentOptions, } from './client.js';
3
- export { verifyPassport, clearJwksCache, gatekeeperMiddleware } from '@attesso/gatekeeper';
4
- export type { VerifyPassportOptions, GatekeeperConfig, AttessoRequest } from '@attesso/gatekeeper';
5
- export type { Mandate, MandateResponse, MandateStatus, Payment, PaymentResponse, PaymentStatus, PaymentError, PaymentErrorCode, PassportToken, PassportPayload, VerifyPassportResult, CapturePaymentResponse, CancelAuthorizationResponse, MandateRequestStatus, CreateMandateRequestInput, CreateMandateRequestResponse, MandateRequestDetails, MandateRequestEventType, MandateRequestWebhookPayload, } from '@attesso/types';
2
+ export type { AttessoClientConfig, IssueCardOptions, } from './client.js';
3
+ export type { Mandate, MandateResponse, MandateStatus, Payment, PaymentResponse, PaymentStatus, PaymentError, PaymentErrorCode, IssueCardRequest, IssueCardResponse, MandateRequestStatus, CreateMandateRequestInput, CreateMandateRequestResponse, MandateRequestDetails, MandateRequestEventType, MandateRequestWebhookPayload, } from '@attesso/types';
6
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACjF,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGnG,YAAY,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,OAAO,EACP,eAAe,EACf,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAE3B,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACjF,YAAY,EACV,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,OAAO,EACP,eAAe,EACf,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAEjB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gatekeeperMiddleware = exports.clearJwksCache = exports.verifyPassport = exports.OriginNotAllowedError = exports.AttessoError = exports.AttessoClient = void 0;
3
+ exports.OriginNotAllowedError = exports.AttessoError = exports.AttessoClient = void 0;
4
4
  var client_js_1 = require("./client.js");
5
5
  Object.defineProperty(exports, "AttessoClient", { enumerable: true, get: function () { return client_js_1.AttessoClient; } });
6
6
  Object.defineProperty(exports, "AttessoError", { enumerable: true, get: function () { return client_js_1.AttessoError; } });
7
7
  Object.defineProperty(exports, "OriginNotAllowedError", { enumerable: true, get: function () { return client_js_1.OriginNotAllowedError; } });
8
- // Re-export gatekeeper for one-click merchant DX
9
- var gatekeeper_1 = require("@attesso/gatekeeper");
10
- Object.defineProperty(exports, "verifyPassport", { enumerable: true, get: function () { return gatekeeper_1.verifyPassport; } });
11
- Object.defineProperty(exports, "clearJwksCache", { enumerable: true, get: function () { return gatekeeper_1.clearJwksCache; } });
12
- Object.defineProperty(exports, "gatekeeperMiddleware", { enumerable: true, get: function () { return gatekeeper_1.gatekeeperMiddleware; } });
13
8
  //# 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,yCAAiF;AAAxE,0GAAA,aAAa,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAO3D,iDAAiD;AACjD,kDAA2F;AAAlF,4GAAA,cAAc,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,kHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiF;AAAxE,0GAAA,aAAa,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,kHAAA,qBAAqB,OAAA"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Vercel AI SDK Integration for Attesso
3
3
  *
4
- * Provides pre-built tools that instantly give AI agents wallet and identity capabilities.
4
+ * Provides pre-built tools that instantly give AI agents payment capabilities.
5
5
  *
6
6
  * @example
7
7
  * ```typescript
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { z } from 'zod';
19
19
  import { AttessoClient } from '../client.js';
20
- import type { MandateResponse, PaymentResponse, PassportToken, CapturePaymentResponse, CancelAuthorizationResponse } from '@attesso/types';
20
+ import type { MandateResponse, IssueCardResponse } from '@attesso/types';
21
21
  export interface AttessoToolsConfig {
22
22
  /**
23
23
  * Attesso API key. Falls back to ATTESSO_API_KEY env var.
@@ -34,11 +34,7 @@ export interface AttessoToolsConfig {
34
34
  */
35
35
  mandateId?: string;
36
36
  /**
37
- * If provided, restrict payments to this merchant only.
38
- */
39
- merchant?: string;
40
- /**
41
- * Maximum amount (in cents) the agent can spend per transaction.
37
+ * Maximum amount (in cents) the agent can spend per card issuance.
42
38
  * Provides an additional guardrail on top of mandate limits.
43
39
  */
44
40
  maxAmountPerTransaction?: number;
@@ -54,54 +50,27 @@ declare const schemas: {
54
50
  }, {
55
51
  mandateId: string;
56
52
  }>;
57
- executePayment: z.ZodObject<{
53
+ issueCard: z.ZodObject<{
58
54
  mandateId: z.ZodString;
59
55
  amount: z.ZodNumber;
60
- merchant: z.ZodString;
56
+ ttlSeconds: z.ZodOptional<z.ZodNumber>;
61
57
  }, "strip", z.ZodTypeAny, {
62
58
  mandateId: string;
63
59
  amount: number;
64
- merchant: string;
65
- }, {
66
- mandateId: string;
67
- amount: number;
68
- merchant: string;
69
- }>;
70
- getPayment: z.ZodObject<{
71
- paymentId: z.ZodString;
72
- }, "strip", z.ZodTypeAny, {
73
- paymentId: string;
74
- }, {
75
- paymentId: string;
76
- }>;
77
- getPassport: z.ZodObject<{
78
- mandateId: z.ZodString;
79
- }, "strip", z.ZodTypeAny, {
80
- mandateId: string;
60
+ ttlSeconds?: number | undefined;
81
61
  }, {
82
62
  mandateId: string;
83
- }>;
84
- capture: z.ZodObject<{
85
- paymentId: z.ZodString;
86
- amount: z.ZodNumber;
87
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
88
- }, "strip", z.ZodTypeAny, {
89
- amount: number;
90
- paymentId: string;
91
- metadata?: Record<string, string> | undefined;
92
- }, {
93
63
  amount: number;
94
- paymentId: string;
95
- metadata?: Record<string, string> | undefined;
64
+ ttlSeconds?: number | undefined;
96
65
  }>;
97
- cancel: z.ZodObject<{
98
- paymentId: z.ZodString;
66
+ getCard: z.ZodObject<{
67
+ cardId: z.ZodString;
99
68
  }, "strip", z.ZodTypeAny, {
100
- paymentId: string;
69
+ cardId: string;
101
70
  }, {
102
- paymentId: string;
71
+ cardId: string;
103
72
  }>;
104
- checkBalance: z.ZodObject<{
73
+ revokeMandate: z.ZodObject<{
105
74
  mandateId: z.ZodString;
106
75
  }, "strip", z.ZodTypeAny, {
107
76
  mandateId: string;
@@ -140,99 +109,49 @@ declare const schemas: {
140
109
  declare function createAttessoTools(config?: AttessoToolsConfig): {
141
110
  /**
142
111
  * Get mandate details to check spending limits and status.
143
- * Use this before making a purchase to verify available funds.
112
+ * Use this before issuing a card to verify the mandate is active.
144
113
  */
145
114
  attesso_get_mandate: import("ai").Tool<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, MandateResponse> & {
146
115
  execute: (args: {}, options: import("ai").ToolExecutionOptions) => PromiseLike<MandateResponse>;
147
116
  };
148
117
  /**
149
- * Execute a payment against a mandate.
118
+ * Issue an ephemeral virtual card from a standing mandate.
150
119
  * This is the main tool for making purchases.
151
120
  */
152
- attesso_pay: import("ai").Tool<z.ZodObject<{
153
- amount: z.ZodNumber;
154
- }, "strip", z.ZodTypeAny, {
155
- amount: number;
156
- }, {
157
- amount: number;
158
- }>, PaymentResponse> & {
159
- execute: (args: {
160
- amount: number;
161
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<PaymentResponse>;
162
- };
163
- /**
164
- * Get payment status and details.
165
- */
166
- attesso_get_payment: import("ai").Tool<z.ZodObject<{
167
- paymentId: z.ZodString;
168
- }, "strip", z.ZodTypeAny, {
169
- paymentId: string;
170
- }, {
171
- paymentId: string;
172
- }>, PaymentResponse> & {
173
- execute: (args: {
174
- paymentId: string;
175
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<PaymentResponse>;
176
- };
177
- /**
178
- * Get a passport token for authenticated merchant access.
179
- * This proves to merchants that the agent has authorized spending power.
180
- */
181
- attesso_get_passport: import("ai").Tool<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, PassportToken> & {
182
- execute: (args: {}, options: import("ai").ToolExecutionOptions) => PromiseLike<PassportToken>;
183
- };
184
- /**
185
- * Capture a previously authorized payment.
186
- * Use this in auth/capture flow when the final price is known.
187
- */
188
- attesso_capture: import("ai").Tool<z.ZodObject<{
189
- paymentId: z.ZodString;
121
+ attesso_issue_card: import("ai").Tool<z.ZodObject<{
190
122
  amount: z.ZodNumber;
191
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
123
+ ttlSeconds: z.ZodOptional<z.ZodNumber>;
192
124
  }, "strip", z.ZodTypeAny, {
193
125
  amount: number;
194
- paymentId: string;
195
- metadata?: Record<string, string> | undefined;
126
+ ttlSeconds?: number | undefined;
196
127
  }, {
197
128
  amount: number;
198
- paymentId: string;
199
- metadata?: Record<string, string> | undefined;
200
- }>, CapturePaymentResponse> & {
129
+ ttlSeconds?: number | undefined;
130
+ }>, IssueCardResponse> & {
201
131
  execute: (args: {
202
132
  amount: number;
203
- paymentId: string;
204
- metadata?: Record<string, string> | undefined;
205
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<CapturePaymentResponse>;
133
+ ttlSeconds?: number | undefined;
134
+ }, options: import("ai").ToolExecutionOptions) => PromiseLike<IssueCardResponse>;
206
135
  };
207
136
  /**
208
- * Cancel an authorization and release held funds.
209
- * Use this when a purchase won't proceed.
137
+ * Get card status and details.
210
138
  */
211
- attesso_cancel: import("ai").Tool<z.ZodObject<{
212
- paymentId: z.ZodString;
139
+ attesso_get_card: import("ai").Tool<z.ZodObject<{
140
+ cardId: z.ZodString;
213
141
  }, "strip", z.ZodTypeAny, {
214
- paymentId: string;
142
+ cardId: string;
215
143
  }, {
216
- paymentId: string;
217
- }>, CancelAuthorizationResponse> & {
144
+ cardId: string;
145
+ }>, unknown> & {
218
146
  execute: (args: {
219
- paymentId: string;
220
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<CancelAuthorizationResponse>;
147
+ cardId: string;
148
+ }, options: import("ai").ToolExecutionOptions) => PromiseLike<unknown>;
221
149
  };
222
150
  /**
223
- * Check remaining balance on a mandate.
224
- * Convenience tool that wraps getMandate for quick balance checks.
151
+ * Revoke a mandate so it can no longer be used.
225
152
  */
226
- attesso_check_balance: import("ai").Tool<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, {
227
- available: number;
228
- currency: string;
229
- status: string;
230
- }> & {
231
- execute: (args: {}, options: import("ai").ToolExecutionOptions) => PromiseLike<{
232
- available: number;
233
- currency: string;
234
- status: string;
235
- }>;
153
+ attesso_revoke_mandate: import("ai").Tool<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, void> & {
154
+ execute: (args: {}, options: import("ai").ToolExecutionOptions) => PromiseLike<void>;
236
155
  };
237
156
  };
238
157
  /**
@@ -256,7 +175,6 @@ declare function createAttessoTools(config?: AttessoToolsConfig): {
256
175
  * model: openai('gpt-4o'),
257
176
  * tools: attesso.tools({
258
177
  * mandateId: mandate.id,
259
- * merchant: 'United Airlines',
260
178
  * }),
261
179
  * prompt: 'Find and book the cheapest flight',
262
180
  * });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vercel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAMD;;GAEG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCZ,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,iBAAS,kBAAkB,CAAC,MAAM,GAAE,kBAAuB;IAWvD;;;OAGG;;;;IAeH;;;OAGG;;;;;;;;;;;;IA2CH;;OAEG;;;;;;;;;;;;IAWH;;;OAGG;;;;IAgBH;;;OAGG;;;;;;;;;;;;;;;;;;;;IAaH;;;OAGG;;;;;;;;;;;;IAYH;;;OAGG;;mBAM4C,MAAM;kBAAY,MAAM;gBAAU,MAAM;;;uBAAxC,MAAM;sBAAY,MAAM;oBAAU,MAAM;;;EAc1F;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO;IAClB;;;OAGG;;IAGH;;;OAGG;sBACe;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;CAKxD,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,OAAO,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vercel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAMD;;GAEG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBZ,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,iBAAS,kBAAkB,CAAC,MAAM,GAAE,kBAAuB;IAUvD;;;OAGG;;;;IAeH;;;OAGG;;;;;;;;;;;;;;;;IAkCH;;OAEG;;;;;;;;;;;;IAWH;;OAEG;;;;EAeN;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,OAAO;IAClB;;;OAGG;;IAGH;;;OAGG;sBACe;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;CAKxD,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,OAAO,IAAI,cAAc,EAAE,CAAC"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Vercel AI SDK Integration for Attesso
4
4
  *
5
- * Provides pre-built tools that instantly give AI agents wallet and identity capabilities.
5
+ * Provides pre-built tools that instantly give AI agents payment capabilities.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -32,27 +32,16 @@ const schemas = {
32
32
  getMandate: zod_1.z.object({
33
33
  mandateId: zod_1.z.string().describe('The unique identifier of the mandate to retrieve'),
34
34
  }),
35
- executePayment: zod_1.z.object({
36
- mandateId: zod_1.z.string().describe('The mandate ID authorizing this payment'),
37
- amount: zod_1.z.number().positive().describe('Amount to charge in cents (e.g., 34700 for $347.00)'),
38
- merchant: zod_1.z.string().describe('Name of the merchant receiving payment'),
35
+ issueCard: zod_1.z.object({
36
+ mandateId: zod_1.z.string().describe('The mandate ID to issue an ephemeral card from'),
37
+ amount: zod_1.z.number().positive().describe('Amount in cents the agent wants to spend (e.g., 34700 for $347.00)'),
38
+ ttlSeconds: zod_1.z.number().int().min(60).max(900).optional().describe('Card time-to-live in seconds (60-900, default 300)'),
39
39
  }),
40
- getPayment: zod_1.z.object({
41
- paymentId: zod_1.z.string().describe('The unique identifier of the payment to retrieve'),
40
+ getCard: zod_1.z.object({
41
+ cardId: zod_1.z.string().describe('The unique identifier of the card to retrieve'),
42
42
  }),
43
- getPassport: zod_1.z.object({
44
- mandateId: zod_1.z.string().describe('The mandate ID to generate a passport for'),
45
- }),
46
- capture: zod_1.z.object({
47
- paymentId: zod_1.z.string().describe('The payment ID to capture'),
48
- amount: zod_1.z.number().positive().describe('Final amount to capture in cents (must be <= authorized amount)'),
49
- metadata: zod_1.z.record(zod_1.z.string()).optional().describe('Optional metadata to attach to the capture'),
50
- }),
51
- cancel: zod_1.z.object({
52
- paymentId: zod_1.z.string().describe('The payment ID to cancel and release funds'),
53
- }),
54
- checkBalance: zod_1.z.object({
55
- mandateId: zod_1.z.string().describe('The mandate ID to check remaining balance for'),
43
+ revokeMandate: zod_1.z.object({
44
+ mandateId: zod_1.z.string().describe('The mandate ID to revoke'),
56
45
  }),
57
46
  empty: zod_1.z.object({}),
58
47
  };
@@ -93,16 +82,15 @@ function createAttessoTools(config = {}) {
93
82
  baseUrl: config.baseUrl,
94
83
  });
95
84
  const defaultMandateId = config.mandateId;
96
- const defaultMerchant = config.merchant;
97
85
  const maxAmount = config.maxAmountPerTransaction;
98
86
  return {
99
87
  /**
100
88
  * Get mandate details to check spending limits and status.
101
- * Use this before making a purchase to verify available funds.
89
+ * Use this before issuing a card to verify the mandate is active.
102
90
  */
103
91
  attesso_get_mandate: (0, ai_1.tool)({
104
- description: 'Get details about a spending mandate including the maximum amount, status, and restrictions. ' +
105
- 'Use this to check how much money is available before making a purchase.',
92
+ description: 'Get details about a spending mandate including the spending limit, status, and restrictions. ' +
93
+ 'Use this to check how much money is available before issuing a card.',
106
94
  parameters: defaultMandateId ? schemas.empty : schemas.getMandate,
107
95
  execute: async (input) => {
108
96
  const mandateId = defaultMandateId ?? input.mandateId;
@@ -113,117 +101,58 @@ function createAttessoTools(config = {}) {
113
101
  },
114
102
  }),
115
103
  /**
116
- * Execute a payment against a mandate.
104
+ * Issue an ephemeral virtual card from a standing mandate.
117
105
  * This is the main tool for making purchases.
118
106
  */
119
- attesso_pay: (0, ai_1.tool)({
120
- description: 'Execute a payment to purchase something. The payment will be charged against the user\'s pre-authorized mandate. ' +
107
+ attesso_issue_card: (0, ai_1.tool)({
108
+ description: 'Issue an ephemeral virtual card from a standing mandate. ' +
109
+ 'This auth-holds the user\'s payment method and creates a card with a TTL. ' +
110
+ 'The card auto-destructs after use or when the TTL expires. ' +
121
111
  'Amount must be in cents (e.g., 34700 for $347.00). ' +
122
- 'Only call this after finding the best deal and confirming the price.',
123
- parameters: defaultMandateId && defaultMerchant
124
- ? zod_1.z.object({ amount: schemas.executePayment.shape.amount })
125
- : defaultMandateId
126
- ? zod_1.z.object({
127
- amount: schemas.executePayment.shape.amount,
128
- merchant: schemas.executePayment.shape.merchant,
129
- })
130
- : defaultMerchant
131
- ? zod_1.z.object({
132
- mandateId: schemas.executePayment.shape.mandateId,
133
- amount: schemas.executePayment.shape.amount,
134
- })
135
- : schemas.executePayment,
112
+ 'Only call this when you are ready to make a purchase.',
113
+ parameters: defaultMandateId
114
+ ? zod_1.z.object({
115
+ amount: schemas.issueCard.shape.amount,
116
+ ttlSeconds: schemas.issueCard.shape.ttlSeconds,
117
+ })
118
+ : schemas.issueCard,
136
119
  execute: async (input) => {
137
120
  const mandateId = defaultMandateId ?? input.mandateId;
138
- const merchant = defaultMerchant ?? input.merchant;
139
- const { amount } = input;
121
+ const { amount, ttlSeconds } = input;
140
122
  if (!mandateId) {
141
123
  throw new client_js_1.AttessoError('MANDATE_NOT_FOUND', 'mandateId is required');
142
124
  }
143
- if (!merchant) {
144
- throw new client_js_1.AttessoError('MERCHANT_MISMATCH', 'merchant is required');
145
- }
146
125
  // Apply optional transaction cap
147
126
  if (maxAmount && amount > maxAmount) {
148
127
  throw new client_js_1.AttessoError('AMOUNT_EXCEEDS_LIMIT', `Amount ${amount} exceeds maximum allowed per transaction (${maxAmount})`);
149
128
  }
150
- return client.executePayment({ mandateId, amount, merchant });
151
- },
152
- }),
153
- /**
154
- * Get payment status and details.
155
- */
156
- attesso_get_payment: (0, ai_1.tool)({
157
- description: 'Get the status and details of a specific payment. ' +
158
- 'Use this to verify a payment was successful or check its current status.',
159
- parameters: schemas.getPayment,
160
- execute: async ({ paymentId }) => {
161
- return client.getPayment(paymentId);
162
- },
163
- }),
164
- /**
165
- * Get a passport token for authenticated merchant access.
166
- * This proves to merchants that the agent has authorized spending power.
167
- */
168
- attesso_get_passport: (0, ai_1.tool)({
169
- description: 'Get a passport token that proves authorized spending power to merchants. ' +
170
- 'Some merchants require this for fast-lane checkout without additional verification. ' +
171
- 'The passport includes solvency proof and reputation data.',
172
- parameters: defaultMandateId ? schemas.empty : schemas.getPassport,
173
- execute: async (input) => {
174
- const mandateId = defaultMandateId ?? input.mandateId;
175
- if (!mandateId) {
176
- throw new client_js_1.AttessoError('MANDATE_NOT_FOUND', 'mandateId is required');
177
- }
178
- return client.getPassport(mandateId);
179
- },
180
- }),
181
- /**
182
- * Capture a previously authorized payment.
183
- * Use this in auth/capture flow when the final price is known.
184
- */
185
- attesso_capture: (0, ai_1.tool)({
186
- description: 'Capture a previously authorized payment with the final amount. ' +
187
- 'Use this when the exact price is known (e.g., after finding the best flight). ' +
188
- 'The capture amount must be less than or equal to the authorized amount. ' +
189
- 'Any excess funds are automatically released.',
190
- parameters: schemas.capture,
191
- execute: async ({ paymentId, amount, metadata }) => {
192
- return client.capture(paymentId, { amount, metadata });
129
+ return client.issueCard(mandateId, { amount, ttlSeconds });
193
130
  },
194
131
  }),
195
132
  /**
196
- * Cancel an authorization and release held funds.
197
- * Use this when a purchase won't proceed.
133
+ * Get card status and details.
198
134
  */
199
- attesso_cancel: (0, ai_1.tool)({
200
- description: 'Cancel an authorization and release the held funds back to the user. ' +
201
- 'Use this when a purchase won\'t proceed (e.g., no suitable options found, user changed mind). ' +
202
- 'Always cancel unused authorizations promptly.',
203
- parameters: schemas.cancel,
204
- execute: async ({ paymentId }) => {
205
- return client.cancel(paymentId);
135
+ attesso_get_card: (0, ai_1.tool)({
136
+ description: 'Get the status and details of an issued ephemeral card. ' +
137
+ 'Use this to check if a card is still active or has been used.',
138
+ parameters: schemas.getCard,
139
+ execute: async ({ cardId }) => {
140
+ return client.request('GET', `/v1/cards/${cardId}`);
206
141
  },
207
142
  }),
208
143
  /**
209
- * Check remaining balance on a mandate.
210
- * Convenience tool that wraps getMandate for quick balance checks.
144
+ * Revoke a mandate so it can no longer be used.
211
145
  */
212
- attesso_check_balance: (0, ai_1.tool)({
213
- description: 'Quickly check how much money is available to spend on a mandate. ' +
214
- 'Returns the maximum amount and current status.',
215
- parameters: defaultMandateId ? schemas.empty : schemas.checkBalance,
146
+ attesso_revoke_mandate: (0, ai_1.tool)({
147
+ description: 'Revoke a mandate so it can no longer be used to issue cards. ' +
148
+ 'Use this when the mandate is no longer needed.',
149
+ parameters: defaultMandateId ? schemas.empty : schemas.revokeMandate,
216
150
  execute: async (input) => {
217
151
  const mandateId = defaultMandateId ?? input.mandateId;
218
152
  if (!mandateId) {
219
153
  throw new client_js_1.AttessoError('MANDATE_NOT_FOUND', 'mandateId is required');
220
154
  }
221
- const mandate = await client.getMandate(mandateId);
222
- return {
223
- available: mandate.maxAmount,
224
- currency: mandate.currency,
225
- status: mandate.status,
226
- };
155
+ await client.request('DELETE', `/v1/mandates/${mandateId}`);
227
156
  },
228
157
  }),
229
158
  };
@@ -252,7 +181,6 @@ function createAttessoTools(config = {}) {
252
181
  * model: openai('gpt-4o'),
253
182
  * tools: attesso.tools({
254
183
  * mandateId: mandate.id,
255
- * merchant: 'United Airlines',
256
184
  * }),
257
185
  * prompt: 'Find and book the cheapest flight',
258
186
  * });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vercel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vercel/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@attesso/sdk",
3
- "version": "1.1.1",
4
- "description": "Isomorphic client for the Attesso Settlement Protocol. FIDO2-signed execution bindings.",
3
+ "version": "1.3.0",
4
+ "description": "TypeScript SDK for the Attesso API create mandates, issue virtual cards, and manage payments for AI agents.",
5
5
  "author": "Attesso",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -40,15 +40,14 @@
40
40
  },
41
41
  "keywords": [
42
42
  "attesso",
43
- "settlement",
43
+ "sdk",
44
+ "ai-agents",
44
45
  "mandates",
45
- "fido2",
46
- "webauthn",
47
- "hardware-attestation",
46
+ "virtual-cards",
47
+ "payments",
48
48
  "vercel-ai-sdk"
49
49
  ],
50
50
  "dependencies": {
51
- "@attesso/gatekeeper": "workspace:*",
52
51
  "@attesso/types": "workspace:*"
53
52
  },
54
53
  "peerDependencies": {