@unbrowse/sdk 11.2.0 → 11.6.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/dist/client.js CHANGED
@@ -1,4 +1,4 @@
1
- import { InsufficientCreditsError, UnbrowseApiError } from "./errors.js";
1
+ import { PaymentRequiredError, UnbrowseApiError } from "./errors.js";
2
2
  import { probeUnbrowseRuntime, spawnUnbrowseRuntime, } from "./runtime.js";
3
3
  function readEnv(name) {
4
4
  const globalProcess = typeof globalThis === "object" && "process" in globalThis
@@ -9,28 +9,36 @@ function readEnv(name) {
9
9
  const value = globalProcess.env[name];
10
10
  return typeof value === "string" && value.length > 0 ? value : undefined;
11
11
  }
12
- function normalizeBaseUrl(baseUrl) {
13
- return (baseUrl ?? readEnv("UNBROWSE_URL") ?? "http://localhost:6969").replace(/\/+$/, "");
12
+ export function telemetryEnvDisabled(value) {
13
+ return ["0", "false", "off"].includes(value?.toLowerCase() ?? "");
14
14
  }
15
- function isResolveResponse(value) {
16
- return "trace" in value;
15
+ function normalizeBaseUrl(baseUrl) {
16
+ return (baseUrl ?? readEnv("UNBROWSE_API_URL") ?? readEnv("UNBROWSE_URL") ?? "https://beta-api.unbrowse.ai").replace(/\/+$/, "");
17
17
  }
18
- function resolveSkillId(value) {
19
- if (typeof value === "string")
20
- return value;
21
- if ("skillId" in value && typeof value.skillId === "string") {
22
- return value.skillId;
23
- }
24
- if (!isResolveResponse(value)) {
25
- throw new Error("Could not determine skill_id from execute input");
26
- }
27
- const fromSkill = value.skill?.skill_id;
28
- if (typeof fromSkill === "string" && fromSkill.length > 0)
29
- return fromSkill;
30
- const fromTrace = value.trace?.skill_id;
31
- if (typeof fromTrace === "string" && fromTrace.length > 0)
32
- return fromTrace;
33
- throw new Error("Could not determine skill_id from execute input");
18
+ const SAFE_SDK_USAGE_ACTIONS = new Set([
19
+ "account", "agents", "annotate", "dashboard", "execute", "feedback", "health", "login", "publish", "resolve",
20
+ "search", "skill", "skills", "stats", "unlock",
21
+ ]);
22
+ /** Collapse an SDK route to a fixed category without retaining path parameters. */
23
+ export function sdkUsageOperationForPath(path, method = "GET") {
24
+ const pathname = path.split("?", 1)[0] ?? "";
25
+ const segments = pathname.split("/").filter(Boolean).map((part) => part.toLowerCase());
26
+ if (segments[0] === "v1")
27
+ segments.shift();
28
+ if (segments[0] === "auth" && segments[1] === "steal")
29
+ return "sdk:steal_auth";
30
+ if (segments[0] === "transactions" || segments[0] === "attribution")
31
+ return "sdk:earnings";
32
+ if (segments[0] === "account")
33
+ return "sdk:account";
34
+ if (segments[0] === "skills" && segments.length === 1 && method.toUpperCase() === "POST")
35
+ return "sdk:publish";
36
+ if (segments[0] === "skills" && segments.length >= 3 && segments.at(-1) === "execute")
37
+ return "sdk:execute";
38
+ if (segments[0] === "skills" && segments.length >= 2)
39
+ return "sdk:skill";
40
+ const action = [...segments].reverse().find((segment) => SAFE_SDK_USAGE_ACTIONS.has(segment)) ?? "request";
41
+ return `sdk:${action}`;
34
42
  }
35
43
  async function parseResponseBody(response) {
36
44
  const text = await response.text();
@@ -72,6 +80,8 @@ export class Unbrowse {
72
80
  defaultHeaders;
73
81
  fetchImpl;
74
82
  timeoutMs;
83
+ telemetryEnabled;
84
+ telemetryEndpoint;
75
85
  _runtimeHandle = null;
76
86
  constructor(options = {}) {
77
87
  this.baseUrl = normalizeBaseUrl(options.baseUrl);
@@ -80,6 +90,8 @@ export class Unbrowse {
80
90
  this.defaultHeaders = options.headers;
81
91
  this.fetchImpl = options.fetch ?? fetch;
82
92
  this.timeoutMs = options.timeoutMs;
93
+ this.telemetryEnabled = options.telemetry !== false && !telemetryEnvDisabled(readEnv("UNBROWSE_TELEMETRY"));
94
+ this.telemetryEndpoint = options.telemetryEndpoint ?? "https://beta-api.unbrowse.ai/v1/telemetry/usage";
83
95
  }
84
96
  /**
85
97
  * Build a `params` object from an `AvailableEndpoint.input_params` spec, using
@@ -138,14 +150,31 @@ export class Unbrowse {
138
150
  await h.kill();
139
151
  }
140
152
  }
153
+ reportUsage(method, path) {
154
+ if (!this.telemetryEnabled || path === "/v1/telemetry/usage")
155
+ return;
156
+ const operation = sdkUsageOperationForPath(path, method);
157
+ const verb = operation.split(":")[1] ?? "request";
158
+ const executionScope = /^https:\/\//.test(this.baseUrl) ? "cloud" : "local";
159
+ const controller = new AbortController();
160
+ const timer = setTimeout(() => controller.abort(), 1500);
161
+ void fetch(this.telemetryEndpoint, {
162
+ method: "POST", headers: { "content-type": "application/json" }, signal: controller.signal,
163
+ body: JSON.stringify({ verb, operation, surface: "sdk", execution_scope: executionScope,
164
+ telemetry_schema_version: 2, created_at: new Date().toISOString() }),
165
+ }).catch(() => { }).finally(() => clearTimeout(timer));
166
+ }
141
167
  async request(method, path, body, options = {}) {
142
168
  const url = `${this.baseUrl}${path}`;
169
+ this.reportUsage(method, path);
143
170
  const headers = new Headers(this.defaultHeaders);
144
171
  headers.set("Accept", "application/json");
145
172
  if (body !== undefined)
146
173
  headers.set("Content-Type", "application/json");
147
- if (this.apiKey)
174
+ if (this.apiKey) {
148
175
  headers.set("Authorization", `Bearer ${this.apiKey}`);
176
+ headers.set("X-Unbrowse-Api-Key", this.apiKey);
177
+ }
149
178
  if (this.clientId)
150
179
  headers.set("x-unbrowse-client-id", this.clientId);
151
180
  if (options.headers) {
@@ -154,20 +183,64 @@ export class Unbrowse {
154
183
  }
155
184
  const { signal, cleanup } = buildAbortSignal(options.timeoutMs ?? this.timeoutMs, options.signal);
156
185
  try {
157
- const response = await this.fetchImpl(url, {
158
- method,
159
- headers,
160
- body: body === undefined ? undefined : JSON.stringify(body),
161
- signal,
162
- });
186
+ // `timeout: false`: Bun aborts fetch after 300s by default; buildAbortSignal is the only limit.
187
+ const init = { method, redirect: "error", headers, body: body === undefined ? undefined : JSON.stringify(body), signal, timeout: false };
188
+ let response;
189
+ try {
190
+ response = await this.fetchImpl(url, init);
191
+ }
192
+ catch (error) {
193
+ // A connection-level failure before any response (DNS, reset, dropped socket) is retried
194
+ // once when the operation is safe to repeat: reads, or writes carrying an Idempotency-Key
195
+ // the gateway dedupes on. Aborts/timeouts and HTTP errors are never retried here.
196
+ const repeatable = method === "GET" || headers.has("Idempotency-Key");
197
+ if (signal?.aborted || !repeatable || !(error instanceof TypeError))
198
+ throw error;
199
+ await new Promise(resolve => setTimeout(resolve, 1500));
200
+ if (signal?.aborted)
201
+ throw error;
202
+ response = await this.fetchImpl(url, init);
203
+ }
163
204
  const data = await parseResponseBody(response);
164
205
  if (!response.ok) {
206
+ // 402 surfaces as PaymentRequiredError so callers can hand the
207
+ // typed error to `payAndRetry(error, wallet, retry)`. Accepts the
208
+ // standard x402 shape (`{ accepts: [...] }`) and the Unbrowse
209
+ // backend shape that nests it under `data.accepts`.
165
210
  if (response.status === 402) {
166
211
  const payload = (typeof data === "object" && data !== null) ? data : {};
167
- const message = typeof payload["message"] === "string"
168
- ? payload["message"]
169
- : "Insufficient Unbrowse credits for this request.";
170
- throw new InsufficientCreditsError(message, url, data);
212
+ const acceptsRaw = (() => {
213
+ const top = payload["accepts"];
214
+ if (Array.isArray(top))
215
+ return top;
216
+ const nested = payload["data"]?.["accepts"];
217
+ return Array.isArray(nested) ? nested : [];
218
+ })();
219
+ const accepts = acceptsRaw;
220
+ const skillIdFromBody = typeof payload["skillId"] === "string"
221
+ ? payload["skillId"]
222
+ : (typeof payload["skill_id"] === "string" ? payload["skill_id"] : undefined);
223
+ const skillIdFromPath = (() => {
224
+ const m = path.match(/\/v1\/skills\/([^/?#]+)/);
225
+ return m ? decodeURIComponent(m[1]) : undefined;
226
+ })();
227
+ const message = typeof payload["error"] === "string"
228
+ ? payload["error"]
229
+ : `${method} ${path} failed with 402`;
230
+ const savedBody = JSON.stringify(body);
231
+ const savedHeaders = new Headers(headers);
232
+ throw new PaymentRequiredError(message, accepts, url, skillIdFromBody ?? skillIdFromPath, {
233
+ data, headers: response.headers, idempotencyKey: headers.get("Idempotency-Key") ?? undefined,
234
+ retryWithPayment: payment => {
235
+ const retryHeaders = new Headers(savedHeaders);
236
+ for (const [key, value] of Object.entries(payment)) {
237
+ if (!["payment-signature", "authorization"].includes(key.toLowerCase()) || (key.toLowerCase() === "authorization" && !value.startsWith("Payment ")))
238
+ throw new Error("Invalid payment retry header");
239
+ retryHeaders.set(key, value);
240
+ }
241
+ return this.request(method, path, savedBody === undefined ? undefined : JSON.parse(savedBody), { ...options, headers: retryHeaders });
242
+ },
243
+ });
171
244
  }
172
245
  const message = typeof data === "object" && data && "error" in data && typeof data.error === "string"
173
246
  ? String(data.error)
@@ -185,51 +258,60 @@ export class Unbrowse {
185
258
  cleanup();
186
259
  }
187
260
  }
261
+ async run(input, options = {}) {
262
+ const headers = new Headers(options.headers);
263
+ if (input.request && !["GET", "HEAD"].includes(input.request.method) && !headers.has("Idempotency-Key"))
264
+ throw new Error("Writes require an explicit Idempotency-Key header");
265
+ if (!headers.has("Idempotency-Key"))
266
+ headers.set("Idempotency-Key", crypto.randomUUID());
267
+ return this.request("POST", "/v1/run", input, { ...options, headers, timeoutMs: options.timeoutMs ?? 480000 });
268
+ }
269
+ registry(options = {}) {
270
+ return this.request("GET", "/v1/registry", undefined, options);
271
+ }
272
+ selectPrimitive(goal, options = {}) {
273
+ return this.request("POST", "/v1/registry/select", { goal }, options);
274
+ }
275
+ callPrimitive(input, options = {}) {
276
+ const headers = new Headers(options.headers);
277
+ if (!headers.has("Idempotency-Key"))
278
+ headers.set("Idempotency-Key", crypto.randomUUID());
279
+ return this.request("POST", "/v1/registry/call", input, { ...options, headers });
280
+ }
281
+ runWorkflow(input, options = {}) {
282
+ const headers = new Headers(options.headers);
283
+ if (!headers.has("Idempotency-Key"))
284
+ headers.set("Idempotency-Key", crypto.randomUUID());
285
+ return this.request("POST", "/v1/workflows/run", input, { ...options, headers, timeoutMs: options.timeoutMs ?? 480000 });
286
+ }
287
+ async storeCredential(id, credential, options) {
288
+ return this.request("PUT", `/v1/credentials/${encodeURIComponent(id)}`, credential, options);
289
+ }
290
+ async deleteCredential(id, options) {
291
+ return this.request("DELETE", `/v1/credentials/${encodeURIComponent(id)}`, undefined, options);
292
+ }
188
293
  async resolve(input, options) {
189
- const body = {
190
- intent: input.intent,
191
- params: { ...(input.params ?? {}) },
192
- context: { ...(input.context ?? {}) },
193
- };
194
- if (input.url) {
195
- const params = body.params;
196
- const context = body.context;
197
- if (typeof params.url !== "string")
198
- params.url = input.url;
199
- if (typeof context.url !== "string")
200
- context.url = input.url;
201
- }
202
- if (input.projection)
203
- body.projection = input.projection;
204
- if (input.confirmUnsafe !== undefined)
205
- body.confirm_unsafe = input.confirmUnsafe;
206
- if (input.confirmThirdPartyTerms !== undefined)
207
- body.confirm_third_party_terms = input.confirmThirdPartyTerms;
208
- if (input.dryRun !== undefined)
209
- body.dry_run = input.dryRun;
210
- if (input.forceCapture !== undefined)
211
- body.force_capture = input.forceCapture;
212
- return this.request("POST", "/v1/intent/resolve", body, options);
294
+ const url = input.url ?? input.context?.url;
295
+ if (!url)
296
+ throw new Error('resolve requires a target URL; use search for discovery');
297
+ if (input.dryRun || input.forceCapture || input.projection)
298
+ throw new Error('Use run with explicit server parameters; legacy projection/dryRun/forceCapture are unsupported');
299
+ const started = new Date().toISOString();
300
+ const result = await this.run({ url, intent: input.intent, refresh: input.refresh, credentials: input.credentials, browser: input.browser, params: input.params }, options);
301
+ return { result: result.data, source: result.source, trace: { trace_id: crypto.randomUUID(), skill_id: result.route_id, endpoint_id: result.route_id, started_at: started, completed_at: new Date().toISOString(), success: true, status_code: result.status } };
213
302
  }
214
303
  async execute(skill, input = {}, options) {
215
- const skillId = resolveSkillId(skill);
216
- const bodyInput = typeof skill === "object" && "skillId" in skill ? skill : input;
217
- const body = {};
218
- if (bodyInput.params)
219
- body.params = bodyInput.params;
220
- if (bodyInput.projection)
221
- body.projection = bodyInput.projection;
222
- if (bodyInput.confirmUnsafe !== undefined)
223
- body.confirm_unsafe = bodyInput.confirmUnsafe;
224
- if (bodyInput.confirmThirdPartyTerms !== undefined)
225
- body.confirm_third_party_terms = bodyInput.confirmThirdPartyTerms;
226
- if (bodyInput.dryRun !== undefined)
227
- body.dry_run = bodyInput.dryRun;
228
- if (bodyInput.intent)
229
- body.intent = bodyInput.intent;
230
- if (bodyInput.contextUrl)
231
- body.context_url = bodyInput.contextUrl;
232
- return this.request("POST", `/v1/skills/${encodeURIComponent(skillId)}/execute`, body, options);
304
+ const bodyInput = typeof skill === "object" && !("trace" in skill) ? skill : input;
305
+ if (!bodyInput.url)
306
+ throw new Error("execute requires an explicit url; endpoint identifiers are no longer executable client-side");
307
+ if (bodyInput.dryRun || bodyInput.projection)
308
+ throw new Error("Legacy dryRun/projection execution is unsupported; use run");
309
+ const method = bodyInput.method ?? "GET";
310
+ if (!["GET", "HEAD"].includes(method) && !new Headers(options?.headers).has("Idempotency-Key"))
311
+ throw new Error("Writes require an explicit Idempotency-Key header");
312
+ const started = new Date().toISOString();
313
+ const result = await this.run({ url: bodyInput.url, credentials: bodyInput.credentials, browser: bodyInput.browser, intent: bodyInput.intent ?? "Execute explicitly authorized request", params: bodyInput.params, request: { method, body: bodyInput.body } }, options);
314
+ return { result: result.data, source: result.source, trace: { trace_id: crypto.randomUUID(), skill_id: result.route_id, endpoint_id: result.route_id, started_at: started, completed_at: new Date().toISOString(), success: true, status_code: result.status } };
233
315
  }
234
316
  async getSkill(skillId, options) {
235
317
  return this.request("GET", `/v1/skills/${encodeURIComponent(skillId)}`, undefined, options);
@@ -275,7 +357,7 @@ export class Unbrowse {
275
357
  *
276
358
  * Optional `domain` scopes the search to one host's endpoints; omit for
277
359
  * cross-marketplace search. Authenticated agents are charged the
278
- * standard credit cost; anonymous
360
+ * standard search fee per the existing x402 economics; anonymous
279
361
  * callers get free rate-limited public discovery.
280
362
  *
281
363
  * @example
@@ -306,34 +388,7 @@ export class Unbrowse {
306
388
  return this.request("GET", "/v1/stats", undefined, options);
307
389
  }
308
390
  async health(options) {
309
- return this.readiness(options);
310
- }
311
- /** Process liveness only. Use this for uptime checks. */
312
- async liveness(options) {
313
- return this.request("GET", "/live", undefined, options);
314
- }
315
- /**
316
- * Dependency-aware readiness. A 503 degraded response is returned as typed
317
- * data instead of thrown, so callers can inspect the active fallback.
318
- */
319
- async readiness(options) {
320
- try {
321
- return await this.request("GET", "/health", undefined, options);
322
- }
323
- catch (error) {
324
- if (error instanceof UnbrowseApiError && error.status === 503 && error.data && typeof error.data === "object") {
325
- return error.data;
326
- }
327
- throw error;
328
- }
329
- }
330
- /** Public marketplace and performance counters. */
331
- async statsSummary(options) {
332
- return this.request("GET", "/v1/stats/summary", undefined, options);
333
- }
334
- /** Cached marketplace flywheel pulse. */
335
- async flywheel(options) {
336
- return this.request("GET", "/v1/analytics/flywheel", undefined, options);
391
+ return this.request("GET", "/health", undefined, options);
337
392
  }
338
393
  /**
339
394
  * Earnings/spending dashboard for the authenticated agent.
@@ -342,9 +397,11 @@ export class Unbrowse {
342
397
  async dashboard(options) {
343
398
  return this.request("GET", "/v1/dashboard/me", undefined, options);
344
399
  }
345
- /** Current account credit balance and usage ledger. */
346
- async credits(options) {
347
- return this.request("GET", "/v1/account/credits", undefined, options);
400
+ /**
401
+ * Public dashboard for any wallet address. Backend: `GET /v1/dashboard/wallet/:walletAddress`.
402
+ */
403
+ async dashboardByWallet(walletAddress, options) {
404
+ return this.request("GET", `/v1/dashboard/wallet/${encodeURIComponent(walletAddress)}`, undefined, options);
348
405
  }
349
406
  /**
350
407
  * Per-transaction earnings ledger for a creator agent.
@@ -353,6 +410,54 @@ export class Unbrowse {
353
410
  async creatorTransactions(agentId, options) {
354
411
  return this.request("GET", `/v1/transactions/creator/${encodeURIComponent(agentId)}`, undefined, options);
355
412
  }
413
+ /**
414
+ * Fund a Flex escrow on the caller's behalf. Thin wrapper around
415
+ * `fundEscrow` in `./flex.ts` — requires the caller to pass
416
+ * `signer` + `rpc` for v6.16-preview.0 (until SDK ships its own
417
+ * @solana/kit pipeline). For pure tx construction without sending,
418
+ * import `buildEscrowCreationTx` from the package root.
419
+ */
420
+ async fundEscrow(params) {
421
+ const { fundEscrow } = await import("./flex.js");
422
+ return fundEscrow({
423
+ amountUsdc: params.amountUsdc,
424
+ walletAddress: params.walletAddress ?? "",
425
+ facilitatorAddress: params.facilitatorAddress ?? "",
426
+ mint: params.mint,
427
+ refundTimeoutSlots: params.refundTimeoutSlots,
428
+ deadmanTimeoutSlots: params.deadmanTimeoutSlots,
429
+ signer: params.signer,
430
+ rpc: params.rpc,
431
+ });
432
+ }
433
+ /**
434
+ * Register a session key against the caller's existing Flex escrow.
435
+ * Thin wrapper around `registerSessionKey` in `./flex.ts`.
436
+ */
437
+ async registerSessionKey(params) {
438
+ const { registerSessionKey } = await import("./flex.js");
439
+ return registerSessionKey({
440
+ walletAddress: params.walletAddress ?? "",
441
+ escrowAddress: params.escrowAddress ?? "",
442
+ sessionKeyAddress: params.sessionKeyAddress,
443
+ expiresAtSlot: params.expiresAtSlot,
444
+ revocationGracePeriodSlots: params.revocationGracePeriodSlots,
445
+ signer: params.signer,
446
+ rpc: params.rpc,
447
+ });
448
+ }
449
+ /**
450
+ * Execute a skill against a Flex-metered route. preview.0/preview.1 stub:
451
+ * the backend metered-execute route (`POST /v1/skills/:id/execute` with
452
+ * Flex-shaped 402 + usage_units settlement) ships in v6.16.0-preview.2.
453
+ * Callers must use `Unbrowse#execute` against fixed-price skills until
454
+ * then. The method signature stays for forward compat; the body refuses
455
+ * with a precise version-targeted error.
456
+ */
457
+ async executeMetered(_skillOrId, _input, _opts, _options) {
458
+ throw new Error("Unbrowse#executeMetered requires the backend metered-execute route which ships in v6.16.0-preview.2. " +
459
+ "For preview.0/preview.1, use Unbrowse#execute against fixed-price skills.");
460
+ }
356
461
  /**
357
462
  * Indexer earnings via delta-based attribution.
358
463
  * Backend: `GET /v1/attribution/indexer/:indexerId`.
@@ -381,5 +486,18 @@ export class Unbrowse {
381
486
  const { skillId, endpointId, ...body } = input;
382
487
  return this.request("POST", `/v1/skills/${encodeURIComponent(skillId)}/endpoints/${encodeURIComponent(endpointId)}/annotate`, body, options);
383
488
  }
489
+ /**
490
+ * Persist the agent's chosen x402 payment rail on the backend.
491
+ * Backend: `POST /v1/account/payment-provider` (shipped in #691).
492
+ *
493
+ * SDK gap-fill: surface the Wave 2 backend route as a typed SDK
494
+ * method so SDK callers can sync provider choice without rolling
495
+ * a raw fetch. Allowed values are the same six the route whitelists:
496
+ * pay_sh / lobster_cash / external_solana / privy_embedded /
497
+ * privy_embedded_solana / skip.
498
+ */
499
+ async paymentProvider(provider, options) {
500
+ return this.request("POST", "/v1/account/payment-provider", { provider }, options);
501
+ }
384
502
  }
385
503
  //# sourceMappingURL=client.js.map
@@ -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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"}