@oneshot-agent/sdk 0.26.0 → 0.28.1

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
@@ -162,9 +162,68 @@ interface OneShotConfig {
162
162
  rpcUrl?: string; // Override RPC URL
163
163
  debug?: boolean; // Enable logging
164
164
  logger?: (msg: string) => void;
165
+ budgets?: { // Spend budget (see below)
166
+ daily?: number;
167
+ perTransaction?: number;
168
+ alertAt?: number;
169
+ pauseAt?: number;
170
+ };
171
+ alerts?: { email?: string };
165
172
  }
166
173
  ```
167
174
 
175
+ ## Spend Budgets
176
+
177
+ Cap what the agent can spend, so a runaway loop can't drain the wallet overnight.
178
+
179
+ ```typescript
180
+ const agent = await OneShot.create({
181
+ cdp: true,
182
+ budgets: {
183
+ daily: 50, // max USDC per UTC day
184
+ perTransaction: 5, // max USDC for any single call
185
+ alertAt: 0.8, // warn at 80% of daily
186
+ pauseAt: 1.0, // stop paying at 100%
187
+ },
188
+ alerts: { email: 'you@example.com' },
189
+ });
190
+ ```
191
+
192
+ Unlike `maxCost` (a per-call client-side check), budgets are **enforced server-side**
193
+ against your receipt ledger. The config is synced once before your first paid call,
194
+ so the daily figure is a true per-agent total — shared across every process, restart,
195
+ and serverless invocation using the same wallet, not a per-instance counter.
196
+
197
+ At `alertAt` you get a notification (in-app via `agent.notifications()`, plus email
198
+ if you set one). At `pauseAt` paid calls are rejected with a `BudgetExceededError`
199
+ until the window resets at the next UTC midnight:
200
+
201
+ ```typescript
202
+ try {
203
+ await agent.research({ topic: '...' });
204
+ } catch (err) {
205
+ if (err instanceof BudgetExceededError) {
206
+ console.log(`${err.reason} budget hit — $${err.spent} spent, resumes ${err.resetsAt}`);
207
+ }
208
+ }
209
+ ```
210
+
211
+ Check utilization any time:
212
+
213
+ ```typescript
214
+ const b = await agent.budgets();
215
+ // { daily_usdc: 50, spent_today_usdc: '41.20', pct_used: 0.824, resets_at: '...' }
216
+ ```
217
+
218
+ Omit `budgets` entirely to leave whatever is stored server-side untouched — agents
219
+ without a budget are unlimited, which is the default.
220
+
221
+ The sync **fails closed**: if the budget can't be confirmed with the server (network
222
+ error, 5xx, rate limit, rejected config) the paid call throws `BudgetSyncError` and is
223
+ not made — proceeding would silently drop the guardrail you asked for. It retries on
224
+ the next paid call. An invalid config (`daily: -1`, `alertAt: 2`) throws `ValidationError`
225
+ at construction.
226
+
168
227
  ## Authentication
169
228
 
170
229
  Every request identifies you by your wallet address (`X-Agent-ID`). Paid tools additionally settle a signed [x402](https://x402.org) USDC payment.
package/dist/errors.d.ts CHANGED
@@ -60,4 +60,37 @@ export declare class EmergencyNumberError extends OneShotError {
60
60
  readonly blockedNumber: string;
61
61
  constructor(message: string, blockedNumber: string);
62
62
  }
63
+ /**
64
+ * The agent's own spend budget stopped this call (HTTP 403 `budget_exceeded`).
65
+ *
66
+ * Distinct from PaymentError: nothing was signed and nothing was charged. A
67
+ * retry cannot succeed until the daily window resets (`resetsAt`) or the budget
68
+ * is raised — which is why the server answers 403 rather than 402.
69
+ *
70
+ * `reason` is 'daily' when cumulative UTC-day spend would cross the budget, or
71
+ * 'per_transaction' when this single call is larger than the per-call cap.
72
+ */
73
+ export declare class BudgetExceededError extends OneShotError {
74
+ readonly reason: 'daily' | 'per_transaction';
75
+ readonly cap?: number | undefined;
76
+ readonly spent?: number | undefined;
77
+ readonly charge?: number | undefined;
78
+ readonly resetsAt?: string | undefined;
79
+ constructor(message: string, reason: 'daily' | 'per_transaction', cap?: number | undefined, spent?: number | undefined, charge?: number | undefined, resetsAt?: string | undefined);
80
+ }
81
+ /**
82
+ * The SDK could not confirm the configured spend budget with the server
83
+ * before a paid call, so the call was NOT made.
84
+ *
85
+ * Budgets are enforced server-side; if the sync fails (network error, 5xx,
86
+ * rate limit, or a rejected config) the only honest options are to proceed
87
+ * without the guardrail the developer asked for, or to stop. We stop. The
88
+ * sync is retried on the next paid call. `status` is the HTTP status when the
89
+ * server answered, undefined on a network failure.
90
+ */
91
+ export declare class BudgetSyncError extends OneShotError {
92
+ readonly status?: number | undefined;
93
+ readonly responseBody?: string | undefined;
94
+ constructor(message: string, status?: number | undefined, responseBody?: string | undefined);
95
+ }
63
96
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,SAAU,SAAQ,YAAY;aAGvB,UAAU,EAAE,MAAM;aAClB,YAAY,EAAE,MAAM;gBAFpC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM;CAKvC;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,YAAY;aAG1B,MAAM,EAAE,MAAM;aACd,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;aAChF,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;aAC9B,OAAO,CAAC,EAAE,MAAM;gBAJhC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EAChF,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EAC9B,OAAO,CAAC,EAAE,MAAM,YAAA;CAKnC;AAED,qBAAa,QAAS,SAAQ,YAAY;aAGtB,KAAK,EAAE,MAAM;aACb,QAAQ,EAAE,MAAM;aAKhB,IAAI,CAAC,EAAE,MAAM;gBAP7B,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAKhB,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,eAAgB,SAAQ,YAAY;aAE7B,KAAK,EAAE,MAAM;aACb,SAAS,EAAE,MAAM;gBADjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM;CAKpC;AAED,qBAAa,eAAgB,SAAQ,YAAY;aACF,KAAK,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,KAAK,EAAE,MAAM;CAI3D;AAED,qBAAa,mBAAoB,SAAQ,YAAY;aAGjC,UAAU,EAAE,MAAM,EAAE;gBADpC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAAE;CAKvC;AAED,qBAAa,oBAAqB,SAAQ,YAAY;aAGlC,aAAa,EAAE,MAAM;gBADrC,OAAO,EAAE,MAAM,EACC,aAAa,EAAE,MAAM;CAKxC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,SAAU,SAAQ,YAAY;aAGvB,UAAU,EAAE,MAAM;aAClB,YAAY,EAAE,MAAM;gBAFpC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM;CAKvC;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,YAAY;aAG1B,MAAM,EAAE,MAAM;aACd,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;aAChF,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;aAC9B,OAAO,CAAC,EAAE,MAAM;gBAJhC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EAChF,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EAC9B,OAAO,CAAC,EAAE,MAAM,YAAA;CAKnC;AAED,qBAAa,QAAS,SAAQ,YAAY;aAGtB,KAAK,EAAE,MAAM;aACb,QAAQ,EAAE,MAAM;aAKhB,IAAI,CAAC,EAAE,MAAM;gBAP7B,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAKhB,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,eAAgB,SAAQ,YAAY;aAE7B,KAAK,EAAE,MAAM;aACb,SAAS,EAAE,MAAM;gBADjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM;CAKpC;AAED,qBAAa,eAAgB,SAAQ,YAAY;aACF,KAAK,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,KAAK,EAAE,MAAM;CAI3D;AAED,qBAAa,mBAAoB,SAAQ,YAAY;aAGjC,UAAU,EAAE,MAAM,EAAE;gBADpC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAAE;CAKvC;AAED,qBAAa,oBAAqB,SAAQ,YAAY;aAGlC,aAAa,EAAE,MAAM;gBADrC,OAAO,EAAE,MAAM,EACC,aAAa,EAAE,MAAM;CAKxC;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;aAGjC,MAAM,EAAE,OAAO,GAAG,iBAAiB;aACnC,GAAG,CAAC,EAAE,MAAM;aACZ,KAAK,CAAC,EAAE,MAAM;aACd,MAAM,CAAC,EAAE,MAAM;aACf,QAAQ,CAAC,EAAE,MAAM;gBALjC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,OAAO,GAAG,iBAAiB,EACnC,GAAG,CAAC,EAAE,MAAM,YAAA,EACZ,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,QAAQ,CAAC,EAAE,MAAM,YAAA;CAKpC;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,YAAY;aACF,MAAM,CAAC,EAAE,MAAM;aAAkB,YAAY,CAAC,EAAE,MAAM;gBAAvF,OAAO,EAAE,MAAM,EAAkB,MAAM,CAAC,EAAE,MAAM,YAAA,EAAkB,YAAY,CAAC,EAAE,MAAM,YAAA;CAIpG"}
package/dist/errors.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // that drove the throw (statusCode/responseBody, jobId, field, categories, …)
6
6
  // so error handlers don't need to re-parse strings.
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.EmergencyNumberError = exports.ContentBlockedError = exports.ValidationError = exports.JobTimeoutError = exports.JobError = exports.PaymentError = exports.ToolError = exports.OneShotError = void 0;
8
+ exports.BudgetSyncError = exports.BudgetExceededError = exports.EmergencyNumberError = exports.ContentBlockedError = exports.ValidationError = exports.JobTimeoutError = exports.JobError = exports.PaymentError = exports.ToolError = exports.OneShotError = void 0;
9
9
  class OneShotError extends Error {
10
10
  constructor(message) {
11
11
  super(message);
@@ -92,4 +92,45 @@ class EmergencyNumberError extends OneShotError {
92
92
  }
93
93
  }
94
94
  exports.EmergencyNumberError = EmergencyNumberError;
95
+ /**
96
+ * The agent's own spend budget stopped this call (HTTP 403 `budget_exceeded`).
97
+ *
98
+ * Distinct from PaymentError: nothing was signed and nothing was charged. A
99
+ * retry cannot succeed until the daily window resets (`resetsAt`) or the budget
100
+ * is raised — which is why the server answers 403 rather than 402.
101
+ *
102
+ * `reason` is 'daily' when cumulative UTC-day spend would cross the budget, or
103
+ * 'per_transaction' when this single call is larger than the per-call cap.
104
+ */
105
+ class BudgetExceededError extends OneShotError {
106
+ constructor(message, reason, cap, spent, charge, resetsAt) {
107
+ super(message);
108
+ this.reason = reason;
109
+ this.cap = cap;
110
+ this.spent = spent;
111
+ this.charge = charge;
112
+ this.resetsAt = resetsAt;
113
+ this.name = 'BudgetExceededError';
114
+ }
115
+ }
116
+ exports.BudgetExceededError = BudgetExceededError;
117
+ /**
118
+ * The SDK could not confirm the configured spend budget with the server
119
+ * before a paid call, so the call was NOT made.
120
+ *
121
+ * Budgets are enforced server-side; if the sync fails (network error, 5xx,
122
+ * rate limit, or a rejected config) the only honest options are to proceed
123
+ * without the guardrail the developer asked for, or to stop. We stop. The
124
+ * sync is retried on the next paid call. `status` is the HTTP status when the
125
+ * server answered, undefined on a network failure.
126
+ */
127
+ class BudgetSyncError extends OneShotError {
128
+ constructor(message, status, responseBody) {
129
+ super(message);
130
+ this.status = status;
131
+ this.responseBody = responseBody;
132
+ this.name = 'BudgetSyncError';
133
+ }
134
+ }
135
+ exports.BudgetSyncError = BudgetSyncError;
95
136
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,0EAA0E;AAC1E,gFAAgF;AAChF,8EAA8E;AAC9E,oDAAoD;;;AAEpD,MAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAND,oCAMC;AAED,MAAa,SAAU,SAAQ,YAAY;IACzC,YACE,OAAe,EACC,UAAkB,EAClB,YAAoB;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAGpC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AATD,8BASC;AAED;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,YAAY;IAC5C,YACE,OAAe,EACC,MAAc,EACd,QAAgF,EAChF,QAA8B,EAC9B,OAAgB;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAwE;QAChF,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,YAAO,GAAP,OAAO,CAAS;QAGhC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAXD,oCAWC;AAED,MAAa,QAAS,SAAQ,YAAY;IACxC,YACE,OAAe,EACC,KAAa,EACb,QAAgB;IAChC,+EAA+E;IAC/E,sEAAsE;IACtE,wEAAwE;IACxE,gEAAgE;IAChD,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QARC,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAQ;QAKhB,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAdD,4BAcC;AAED,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YACkB,KAAa,EACb,SAAiB;QAEjC,KAAK,CAAC,OAAO,KAAK,oBAAoB,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAH3C,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;QAGjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AARD,0CAQC;AAED,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe,EAAkB,KAAa;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,UAAK,GAAL,KAAK,CAAQ;QAExD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,mBAAoB,SAAQ,YAAY;IACnD,YACE,OAAe,EACC,UAAoB;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,eAAU,GAAV,UAAU,CAAU;QAGpC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AARD,kDAQC;AAED,MAAa,oBAAqB,SAAQ,YAAY;IACpD,YACE,OAAe,EACC,aAAqB;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,kBAAa,GAAb,aAAa,CAAQ;QAGrC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AARD,oDAQC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,0EAA0E;AAC1E,gFAAgF;AAChF,8EAA8E;AAC9E,oDAAoD;;;AAEpD,MAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAND,oCAMC;AAED,MAAa,SAAU,SAAQ,YAAY;IACzC,YACE,OAAe,EACC,UAAkB,EAClB,YAAoB;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAGpC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AATD,8BASC;AAED;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,YAAY;IAC5C,YACE,OAAe,EACC,MAAc,EACd,QAAgF,EAChF,QAA8B,EAC9B,OAAgB;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAwE;QAChF,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,YAAO,GAAP,OAAO,CAAS;QAGhC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAXD,oCAWC;AAED,MAAa,QAAS,SAAQ,YAAY;IACxC,YACE,OAAe,EACC,KAAa,EACb,QAAgB;IAChC,+EAA+E;IAC/E,sEAAsE;IACtE,wEAAwE;IACxE,gEAAgE;IAChD,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QARC,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAQ;QAKhB,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAdD,4BAcC;AAED,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YACkB,KAAa,EACb,SAAiB;QAEjC,KAAK,CAAC,OAAO,KAAK,oBAAoB,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAH3C,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;QAGjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AARD,0CAQC;AAED,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe,EAAkB,KAAa;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,UAAK,GAAL,KAAK,CAAQ;QAExD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,mBAAoB,SAAQ,YAAY;IACnD,YACE,OAAe,EACC,UAAoB;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,eAAU,GAAV,UAAU,CAAU;QAGpC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AARD,kDAQC;AAED,MAAa,oBAAqB,SAAQ,YAAY;IACpD,YACE,OAAe,EACC,aAAqB;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,kBAAa,GAAb,aAAa,CAAQ;QAGrC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AARD,oDAQC;AAED;;;;;;;;;GASG;AACH,MAAa,mBAAoB,SAAQ,YAAY;IACnD,YACE,OAAe,EACC,MAAmC,EACnC,GAAY,EACZ,KAAc,EACd,MAAe,EACf,QAAiB;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QANC,WAAM,GAAN,MAAM,CAA6B;QACnC,QAAG,GAAH,GAAG,CAAS;QACZ,UAAK,GAAL,KAAK,CAAS;QACd,WAAM,GAAN,MAAM,CAAS;QACf,aAAQ,GAAR,QAAQ,CAAS;QAGjC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAZD,kDAYC;AAED;;;;;;;;;GASG;AACH,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe,EAAkB,MAAe,EAAkB,YAAqB;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,WAAM,GAAN,MAAM,CAAS;QAAkB,iBAAY,GAAZ,YAAY,CAAS;QAEjG,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC"}
package/dist/index.d.ts CHANGED
@@ -6,16 +6,7 @@ export { getSwapQuote, executeSwap } from './swap';
6
6
  export type { SwapQuote, SwapResult, UniswapAddresses } from './swap';
7
7
  export * from './errors';
8
8
  export * from './types';
9
- import type { OneShotConfig, ToolOptions, EmailToolOptions, ResearchToolOptions, PeopleSearchOptions, EnrichProfileOptions, FindEmailOptions, VerifyEmailOptions, CompanySearchOptions, CompanySearchResult, EnrichCompanyOptions, EnrichCompanyResult, DeepResearchPersonOptions, SocialProfilesOptions, ArticleSearchOptions, PersonNewsfeedOptions, PersonInterestsOptions, PersonInteractionsOptions, InboxListOptions, CommerceBuyOptions, CommerceSearchOptions, WebSearchOptions, WebSearchResult, WebReadOptions, WebReadResult, VoiceCallOptions, SmsOptions, SmsInboxOptions, PeopleSearchResult, ResearchResult, EmailResult, EnrichProfileResult, FindEmailResult, DeepResearchPersonResult, SocialProfilesResult, ArticleSearchResult, PersonNewsfeedResult, PersonInterestsResult, PersonInteractionsResult, VerifyEmailResult, InboxEmail, InboxListResult, CommerceBuyResult, CommerceSearchResult, VoiceCallResult, SmsSendResult, SmsInboxMessage, SmsInboxResult, NotificationsListOptions, NotificationsResult, BuildOptions, BuildResult, BrowserTaskOptions, BrowserProfile, BrowserResult, UpdateBuildOptions, SpendBreakdown, RoCSResult, RoCSByGoalResult, ReceiptsListResult, UnifiedBalance, ComputeOptions, ComputeGoalResult, ComputeGoalStatus, ComputeTask, ComputeBudgetStatus, DomainPoolListResult, DomainPoolStatusResult } from './types';
10
- /**
11
- * OneShot Agent SDK - Execute commercial transactions with automatic x402 payments.
12
- *
13
- * @example
14
- * ```typescript
15
- * const agent = new OneShot({ privateKey: process.env.AGENT_PRIVATE_KEY });
16
- * await agent.email({ to: 'user@example.com', subject: 'Hi', body: 'Hello' });
17
- * ```
18
- */
9
+ import type { StatusUpdateFn, OneShotConfig, ToolOptions, EmailToolOptions, ResearchToolOptions, PeopleSearchOptions, EnrichProfileOptions, FindEmailOptions, VerifyEmailOptions, CompanySearchOptions, CompanySearchResult, EnrichCompanyOptions, EnrichCompanyResult, DeepResearchPersonOptions, SocialProfilesOptions, ArticleSearchOptions, PersonNewsfeedOptions, PersonInterestsOptions, PersonInteractionsOptions, InboxListOptions, CommerceBuyOptions, CommerceSearchOptions, WebSearchOptions, WebSearchResult, WebReadOptions, WebReadResult, VoiceCallOptions, SmsOptions, SmsInboxOptions, PeopleSearchResult, ResearchResult, EmailResult, EnrichProfileResult, FindEmailResult, DeepResearchPersonResult, SocialProfilesResult, ArticleSearchResult, PersonNewsfeedResult, PersonInterestsResult, PersonInteractionsResult, VerifyEmailResult, InboxEmail, InboxListResult, CommerceBuyResult, CommerceSearchResult, VoiceCallResult, SmsSendResult, SmsInboxMessage, SmsInboxResult, NotificationsListOptions, NotificationsResult, BuildOptions, BuildResult, BrowserTaskOptions, BrowserProfile, BrowserResult, UpdateBuildOptions, SpendBreakdown, RoCSResult, RoCSByGoalResult, ReceiptsListResult, UnifiedBalance, ComputeOptions, ComputeGoalResult, ComputeGoalStatus, ComputeTask, ComputeBudgetStatus, DomainPoolListResult, DomainPoolStatusResult, AgentBudgetConfig, AgentBudgetStatus } from './types';
19
10
  export declare class OneShot {
20
11
  private readonly provider;
21
12
  private readonly rpcProvider;
@@ -24,6 +15,14 @@ export declare class OneShot {
24
15
  private readonly logger;
25
16
  private readonly _currency;
26
17
  private readonly _slippage;
18
+ private readonly _budgets?;
19
+ private readonly _alertEmail?;
20
+ /**
21
+ * In-flight/settled budget sync. One PUT per instance: kept as a promise (not
22
+ * a boolean) so concurrent first calls await the same request instead of
23
+ * racing four PUTs on startup.
24
+ */
25
+ private _budgetSync?;
27
26
  /**
28
27
  * Async factory — required for CDP wallets (account creation is async).
29
28
  * Also works with privateKey and custom walletProvider.
@@ -48,6 +47,8 @@ export declare class OneShot {
48
47
  get chainId(): number;
49
48
  get currency(): 'USDC' | 'ETH';
50
49
  get slippage(): number;
50
+ /** The budget config this instance was constructed with, if any. */
51
+ get budgetConfig(): AgentBudgetConfig | undefined;
51
52
  tool<T = unknown>(toolName: string, options: ToolOptions & Record<string, unknown>): Promise<T>;
52
53
  email(options: EmailToolOptions): Promise<EmailResult>;
53
54
  /** List the caller's domain pool with warmup and rotation metadata. */
@@ -485,6 +486,38 @@ export declare class OneShot {
485
486
  /** Build a query string, skipping null/undefined values. Pass falsy-but-valid
486
487
  * values (0, '') as undefined at the call site to match prior `if (x)` guards. */
487
488
  private buildQuery;
489
+ /**
490
+ * Push `config.budgets` to the server once, before the first paid call.
491
+ *
492
+ * Lazy rather than in the constructor because the PUT is signed (async) and
493
+ * the constructor is sync. Idempotent per instance via the cached promise,
494
+ * which is only kept once the sync SUCCEEDS.
495
+ *
496
+ * FAILS CLOSED. If the server can't confirm the budget — network error,
497
+ * 5xx, 429, or a rejected config — this throws BudgetSyncError and the paid
498
+ * call is not made. Proceeding would silently drop the guardrail the
499
+ * developer configured, which is exactly the "empty wallet at 3am" the
500
+ * budget exists to prevent. The marker is cleared so the next paid call
501
+ * retries.
502
+ */
503
+ private ensureBudgetsSynced;
504
+ /**
505
+ * Local fast-fail on the per-transaction cap, so an oversized call fails
506
+ * without a network round-trip. The server enforces the same cap (and the
507
+ * daily one, which needs the ledger) regardless of which client calls —
508
+ * this is the same SDK-checks/server-enforces split as maxCost.
509
+ */
510
+ private assertWithinBudget;
511
+ /**
512
+ * Current spend budget and today's utilization.
513
+ *
514
+ * @example
515
+ * ```typescript
516
+ * const b = await agent.budgets();
517
+ * console.log(`${b.spent_today_usdc} of ${b.daily_usdc} spent, resets ${b.resets_at}`);
518
+ * ```
519
+ */
520
+ budgets(): Promise<AgentBudgetStatus>;
488
521
  /** Local fast-fail guard: throw when a quote total exceeds the caller's cap. */
489
522
  private assertWithinMaxCost;
490
523
  /**
@@ -523,6 +556,12 @@ export declare class OneShot {
523
556
  * `ToolError` shape.
524
557
  */
525
558
  private failFromResponse;
559
+ /**
560
+ * Map a 403 `budget_exceeded` body onto a typed error, so callers can catch
561
+ * "my own budget stopped this" separately from an auth failure or a payment
562
+ * rejection. Any other 403 falls through to ToolError.
563
+ */
564
+ private parseBudgetRejection;
526
565
  private parsePaymentRejection;
527
566
  private chargeAmount;
528
567
  private maxCostHeader;
@@ -541,6 +580,21 @@ export declare class OneShot {
541
580
  * body directly), since that differs per tool.
542
581
  */
543
582
  private runQuoteToPay;
583
+ /**
584
+ * Wait for a previously dispatched job and return its result.
585
+ *
586
+ * Use this to resolve the `request_id` returned by a call made with
587
+ * `wait: false`, or to resume waiting after a client restart. Delivery is the
588
+ * same as for blocking calls: WebSocket push when the server offers it, HTTP
589
+ * polling of `GET /v1/requests/:id` as the source of truth.
590
+ */
591
+ waitForResult<T = Record<string, unknown>>(requestId: string, options?: {
592
+ timeout?: number;
593
+ signal?: AbortSignal;
594
+ onStatusUpdate?: StatusUpdateFn;
595
+ waitForPhones?: boolean;
596
+ phoneTimeoutSec?: number;
597
+ }): Promise<T>;
544
598
  private pollJob;
545
599
  /**
546
600
  * Detects whether a job result is still waiting for an async phone reveal.
@@ -561,7 +615,21 @@ export declare class OneShot {
561
615
  * `phones_pending`).
562
616
  */
563
617
  private _pollForPhones;
618
+ /**
619
+ * WebSocket branch of a job wait. Resolves on a `completed` push for this
620
+ * request, rejects with `JobError` on `failed` and with `OneShotError` on
621
+ * abort. Every other failure (no WebSocket global, handshake refused, socket
622
+ * closed early) rejects with a plain `Error`, which `pollJob` treats as
623
+ * "no push available" rather than as an outcome. There is no timeout here:
624
+ * the HTTP branch owns the deadline and aborts this one when it settles.
625
+ */
564
626
  private waitViaWebSocket;
627
+ /**
628
+ * HTTP branch of a job wait: polls `GET /v1/requests/:id` immediately, then
629
+ * on a short backoff (300ms → 2s). Once the WebSocket has proven it delivers
630
+ * for this request, polling relaxes to 5s and acts as a safety net only.
631
+ * Owns the caller's deadline (`JobTimeoutError`).
632
+ */
565
633
  private pollJobHttp;
566
634
  private sleep;
567
635
  private makeRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAaxD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACtE,cAAc,UAAU,CAAC;AAqBzB,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,EAEgB,aAAa,EAAmB,WAAW,EACrE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAC1D,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAC1D,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EACpF,yBAAyB,EAAE,qBAAqB,EAAE,oBAAoB,EACtE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EACxE,gBAAgB,EAAmB,kBAAkB,EAAE,qBAAqB,EAC5E,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAChE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EACR,kBAAkB,EAAE,cAAc,EACvE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAC/B,wBAAwB,EAAE,oBAAoB,EAChE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAChE,wBAAwB,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EACzD,iBAAiB,EAAyB,oBAAoB,EACjE,eAAe,EAAY,aAAa,EAAE,eAAe,EACrE,cAAc,EAAgB,wBAAwB,EAAE,mBAAmB,EAClB,YAAY,EACzD,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAC3D,aAAa,EAAE,kBAAkB,EAAiB,cAAc,EAAE,UAAU,EAAE,gBAAgB,EACrF,kBAAkB,EAAE,cAAc,EAAmB,cAAc,EAC9D,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAC/D,mBAAmB,EACF,oBAAoB,EAAE,sBAAsB,EAC9D,MAAM,SAAS,CAAC;AAOjB;;;;;;;;GAQG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;;;;;;;;;;OAYG;WACU,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB5D;;;OAGG;gBACS,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,cAAc;IAoClE,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,KAAK,CAE7B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAMK,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/F,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IA+E5D,uEAAuE;IACjE,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAUlD,0DAA0D;IACpD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAYlE,8CAA8C;IACxC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAY7D,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAK/D,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIvE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO1E,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI/E,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO1E,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ9D,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKpE,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAOzF,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAO7E,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAM1E,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAK7E,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAOhF,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAKzF,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBnE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB9C,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsCpE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAK7E,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAK9D,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAK9D;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IA2DhE;;;;;;;;;;;OAWG;IACG,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA6DtD;;;;;;;;;;;;;;;OAeG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAsDxD;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoDlE;;;;;;;;OAQG;IACG,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAejE;;;;;;;;;;OAUG;IACG,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAYtD;;;;;;;OAOG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQpE;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB1E;;;;;;;;OAQG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgB9D;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAezF;;;;;;;OAOG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAY5C,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BxD;;;;;;;;;;;;;;;;;;OAkBG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwClE;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkBhE;;;;;;;;;;OAUG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAe7D;;;;;;;;OAQG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkBpE;;;;;;;;OAQG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBhI;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAqB9M;;;;;;;OAOG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBxH;;;;;;;;OAQG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB7H;;;;;;;;;;;OAWG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAiD/I;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAY5E;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAY9D;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoB/B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,eAAe,CACnB,GAAG,EAAE,MAAM,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EACzE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1D,OAAO,CAAC,IAAI,CAAC;IAiChB;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgB3F,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAOf,6DAA6D;IAC7D,OAAO,CAAC,WAAW;IAInB;;;;;;;;OAQG;YACW,iBAAiB;IA2B/B;uFACmF;IACnF,OAAO,CAAC,UAAU;IAQlB,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IAM3B;;;;;;OAMG;IACH;;;;;;;;;;;;;;;;;OAiBG;IACH;;;;;;;;;OASG;YACW,gBAAgB;IAO9B,OAAO,CAAC,qBAAqB;IAsC7B,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,aAAa;IAKrB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;YAKX,kBAAkB;IA2FhC;;;;;;OAMG;YACW,aAAa;YAwDb,OAAO;IA4CrB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;;OAOG;YACW,cAAc;IA2C5B,OAAO,CAAC,gBAAgB;YAkIV,WAAW;IA6DzB,OAAO,CAAC,KAAK;YAiBC,WAAW;IA8CzB,OAAO,CAAC,uBAAuB;IAM/B;;;OAGG;YACW,iBAAiB;IAkB/B,gHAAgH;IAChH,OAAO,CAAC,oBAAoB;IAqC5B;;;;OAIG;YACW,uBAAuB;YAoBvB,wBAAwB;CA0FvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}