@worldlabsai/client 0.4.0 → 0.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/README.md CHANGED
@@ -15,7 +15,7 @@ Methods marked `@beta` require beta access for your World Labs account.
15
15
  Use a World Labs Developer API key to authenticate API requests.
16
16
 
17
17
  Before choosing model inputs or combining tasks, read
18
- [How To Use Atlas](https://marble5.worldlabs.ai/docs/how-to-use-atlas).
18
+ [How To Use Atlas](https://docs.atlas-beta.worldlabs.ai/how-to-use-atlas).
19
19
 
20
20
  ## Usage
21
21
 
@@ -105,6 +105,10 @@ API middleware and API-key authentication.
105
105
  | `baseUrl` | API base URL. Defaults to `https://api.atlas-beta.worldlabs.ai`. |
106
106
  | `fetch` | Custom Fetch implementation for API requests and uploads. Defaults to `globalThis.fetch`. |
107
107
  | `middleware` | Wrap API requests for logging or retries. The first supplied middleware runs outermost, after API-key authentication. |
108
+ | `userAgent` | Product tokens that name your app, such as `my-app/1.2.0`. They are sent before the client's own in `User-Agent`. |
109
+
110
+ In Node.js, API requests send `User-Agent: worldlabsai-client/<version> node/<version>`,
111
+ after any `userAgent` tokens. In browsers the browser's own `User-Agent` is kept.
108
112
 
109
113
  An empty key or a rejected key provider stops the request before it is sent.
110
114
  Retry middleware must clone a request before sending it so its body can be
package/dist/client.d.ts CHANGED
@@ -13,6 +13,8 @@ export interface ClientOptions {
13
13
  fetch?: Fetch;
14
14
  /** Wraps API requests after API-key auth, outermost first. Signed uploads bypass middleware. */
15
15
  middleware?: Middleware[];
16
+ /** Product tokens, such as `my-app/1.2.0`, sent before this client's own in `User-Agent`. */
17
+ userAgent?: string;
16
18
  }
17
19
  /** Client returned by {@link createClient}; reuse it across requests. */
18
20
  export interface WorldLabsClient {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAc,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AAElF,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,wCAAwC,CAAC;AAEtE,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gGAAgG;IAChG,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACxC,8CAA8C;IAC9C,UAAU,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAChD,oDAAoD;IACpD,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;CACvC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,aAAa,KAAG,eAkBrD,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAc,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AAGlF,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,wCAAwC,CAAC;AAEtE,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gGAAgG;IAChG,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACxC,8CAA8C;IAC9C,UAAU,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAChD,oDAAoD;IACpD,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;CACvC;AAgBD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,aAAa,KAAG,eAkBrD,CAAC"}
package/dist/client.js CHANGED
@@ -1,7 +1,22 @@
1
- import { apiKeyAuth, createAssets, createOperations, createTransport } from "./core/index.js";
1
+ import { apiKeyAuth, createAssets, createOperations, createTransport, withHeader, } from "./core/index.js";
2
2
  import { assetsPath, createTasks, operationPath } from "./generated/tasks.gen.js";
3
+ import { VERSION } from "./version.js";
3
4
  /** Developer API origin used when `ClientOptions.baseUrl` is omitted. */
4
5
  export const DEFAULT_BASE_URL = "https://api.atlas-beta.worldlabs.ai";
6
+ /**
7
+ * Name the caller, this package, and Node in `User-Agent`. Browsers keep their
8
+ * own: Chrome drops a value set by the page and Firefox would preflight it.
9
+ */
10
+ const userAgentMiddleware = (callerTokens) => {
11
+ const node = globalThis.process?.versions
12
+ ?.node;
13
+ if (node === undefined)
14
+ return [];
15
+ const value = [callerTokens, `worldlabsai-client/${VERSION}`, `node/${node}`]
16
+ .filter(Boolean)
17
+ .join(" ");
18
+ return [async (request, next) => await next(withHeader(request, "User-Agent", value))];
19
+ };
5
20
  /**
6
21
  * Create a client for the World Labs Developer API.
7
22
  *
@@ -20,7 +35,7 @@ export const createClient = (options) => {
20
35
  const transport = createTransport({
21
36
  baseUrl: options.baseUrl ?? DEFAULT_BASE_URL,
22
37
  ...(options.fetch ? { fetch: options.fetch } : {}),
23
- middleware,
38
+ middleware: [...userAgentMiddleware(options.userAgent), ...middleware],
24
39
  });
25
40
  return {
26
41
  assets: createAssets(transport, assetsPath),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAElF,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,qCAAqC,CAAC;AAwBtE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAsB,EAAmB,EAAE;IACtE,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;KAC9B,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;QAC5C,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,UAAU;KACX,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC;QAC3C,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;QACtD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC;KAC9B,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,qCAAqC,CAAC;AA0BtE;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,YAAgC,EAAgB,EAAE;IAC7E,MAAM,IAAI,GAAI,UAA6D,CAAC,OAAO,EAAE,QAAQ;QAC3F,EAAE,IAAI,CAAC;IACT,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,sBAAsB,OAAO,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC;SAC1E,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAsB,EAAmB,EAAE;IACtE,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;KAC9B,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;QAC5C,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,UAAU,EAAE,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC;KACvE,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC;QAC3C,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;QACtD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC;KAC9B,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/core/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,qBAAqB,EAKrB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAChE,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACpE,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,MAAkB,CAAC;AAE1D,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAA0C,CAAC;AAWnF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,EAAE,YAAY,MAAM;IAuBjE;;;;OAIG;yBAhBC,MAAM,SACJ,qBAAqB,YAClB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAoG+uJ,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IAnFl1M,2FAA2F;oBACrE,WAAW,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAkFux/C,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;kBAAq9C,iEAAsB;;IA/Ex4lD;;;OAGG;wBACuB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;IAOtE;;;OAGG;iBACgB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAI/D;;;OAGG;cACa,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAwDutJ,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IArDl1M,gGAAgG;wDACvC,iBAAiB;iBAoDm8jE,iEAAsB;iBAAsS,iEAAsB;;;IA9C/1kE;;;;;;;;OAQG;mBACkB,IAAI,GAAG,YAAY,qCAAqC,aAAa;;;;gBAqCyrJ,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;CADr1M,CAAC"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/core/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,qBAAqB,EAKrB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAChE,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACpE,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,MAAkB,CAAC;AAE1D,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAA0C,CAAC;AAWnF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,EAAE,YAAY,MAAM;IAuBjE;;;;OAIG;yBAhBC,MAAM,SACJ,qBAAqB,YAClB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAoG2tK,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IAnF9zN,2FAA2F;oBACrE,WAAW,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAkF2ykD,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;kBAAq9C,iEAAsB;;IA/E55qD;;;OAGG;wBACuB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;IAOtE;;;OAGG;iBACgB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAI/D;;;OAGG;cACa,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAwDmsK,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IArD9zN,gGAAgG;wDACvC,iBAAiB;iBAoD86pE,iEAAsB;iBAAsS,iEAAsB;;;IA9C10qE;;;;;;;;OAQG;mBACkB,IAAI,GAAG,YAAY,qCAAqC,aAAa;;;;gBAqCqqK,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;CADj0N,CAAC"}