@uniformdev/next-app-router 20.50.2-alpha.149 → 20.50.2-alpha.180

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/index.js CHANGED
@@ -5,6 +5,10 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __typeError = (msg) => {
9
+ throw TypeError(msg);
10
+ };
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
12
  var __commonJS = (cb, mod) => function __require() {
9
13
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
14
  };
@@ -29,12 +33,25 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
33
  mod
30
34
  ));
31
35
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
37
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
38
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
39
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
40
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
41
+ var __privateWrapper = (obj, member, setter, getter) => ({
42
+ set _(value) {
43
+ __privateSet(obj, member, value, setter);
44
+ },
45
+ get _() {
46
+ return __privateGet(obj, member, getter);
47
+ }
48
+ });
32
49
 
33
50
  // ../../node_modules/.pnpm/yocto-queue@0.1.0/node_modules/yocto-queue/index.js
34
51
  var require_yocto_queue = __commonJS({
35
52
  "../../node_modules/.pnpm/yocto-queue@0.1.0/node_modules/yocto-queue/index.js"(exports2, module2) {
36
53
  "use strict";
37
- var Node = class {
54
+ var Node2 = class {
38
55
  /// value;
39
56
  /// next;
40
57
  constructor(value) {
@@ -42,7 +59,7 @@ var require_yocto_queue = __commonJS({
42
59
  this.next = void 0;
43
60
  }
44
61
  };
45
- var Queue = class {
62
+ var Queue2 = class {
46
63
  // TODO: Use private class fields when targeting Node.js 12.
47
64
  // #_head;
48
65
  // #_tail;
@@ -51,7 +68,7 @@ var require_yocto_queue = __commonJS({
51
68
  this.clear();
52
69
  }
53
70
  enqueue(value) {
54
- const node = new Node(value);
71
+ const node = new Node2(value);
55
72
  if (this._head) {
56
73
  this._tail.next = node;
57
74
  this._tail = node;
@@ -86,7 +103,7 @@ var require_yocto_queue = __commonJS({
86
103
  }
87
104
  }
88
105
  };
89
- module2.exports = Queue;
106
+ module2.exports = Queue2;
90
107
  }
91
108
  });
92
109
 
@@ -94,12 +111,12 @@ var require_yocto_queue = __commonJS({
94
111
  var require_p_limit = __commonJS({
95
112
  "../../node_modules/.pnpm/p-limit@3.1.0/node_modules/p-limit/index.js"(exports2, module2) {
96
113
  "use strict";
97
- var Queue = require_yocto_queue();
98
- var pLimit2 = (concurrency) => {
114
+ var Queue2 = require_yocto_queue();
115
+ var pLimit3 = (concurrency) => {
99
116
  if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {
100
117
  throw new TypeError("Expected `concurrency` to be a number from 1 and up");
101
118
  }
102
- const queue = new Queue();
119
+ const queue = new Queue2();
103
120
  let activeCount = 0;
104
121
  const next = () => {
105
122
  activeCount--;
@@ -144,13 +161,244 @@ var require_p_limit = __commonJS({
144
161
  });
145
162
  return generator;
146
163
  };
147
- module2.exports = pLimit2;
164
+ module2.exports = pLimit3;
165
+ }
166
+ });
167
+
168
+ // ../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js
169
+ var require_retry_operation = __commonJS({
170
+ "../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js"(exports2, module2) {
171
+ "use strict";
172
+ function RetryOperation(timeouts, options) {
173
+ if (typeof options === "boolean") {
174
+ options = { forever: options };
175
+ }
176
+ this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));
177
+ this._timeouts = timeouts;
178
+ this._options = options || {};
179
+ this._maxRetryTime = options && options.maxRetryTime || Infinity;
180
+ this._fn = null;
181
+ this._errors = [];
182
+ this._attempts = 1;
183
+ this._operationTimeout = null;
184
+ this._operationTimeoutCb = null;
185
+ this._timeout = null;
186
+ this._operationStart = null;
187
+ this._timer = null;
188
+ if (this._options.forever) {
189
+ this._cachedTimeouts = this._timeouts.slice(0);
190
+ }
191
+ }
192
+ module2.exports = RetryOperation;
193
+ RetryOperation.prototype.reset = function() {
194
+ this._attempts = 1;
195
+ this._timeouts = this._originalTimeouts.slice(0);
196
+ };
197
+ RetryOperation.prototype.stop = function() {
198
+ if (this._timeout) {
199
+ clearTimeout(this._timeout);
200
+ }
201
+ if (this._timer) {
202
+ clearTimeout(this._timer);
203
+ }
204
+ this._timeouts = [];
205
+ this._cachedTimeouts = null;
206
+ };
207
+ RetryOperation.prototype.retry = function(err) {
208
+ if (this._timeout) {
209
+ clearTimeout(this._timeout);
210
+ }
211
+ if (!err) {
212
+ return false;
213
+ }
214
+ var currentTime = (/* @__PURE__ */ new Date()).getTime();
215
+ if (err && currentTime - this._operationStart >= this._maxRetryTime) {
216
+ this._errors.push(err);
217
+ this._errors.unshift(new Error("RetryOperation timeout occurred"));
218
+ return false;
219
+ }
220
+ this._errors.push(err);
221
+ var timeout = this._timeouts.shift();
222
+ if (timeout === void 0) {
223
+ if (this._cachedTimeouts) {
224
+ this._errors.splice(0, this._errors.length - 1);
225
+ timeout = this._cachedTimeouts.slice(-1);
226
+ } else {
227
+ return false;
228
+ }
229
+ }
230
+ var self = this;
231
+ this._timer = setTimeout(function() {
232
+ self._attempts++;
233
+ if (self._operationTimeoutCb) {
234
+ self._timeout = setTimeout(function() {
235
+ self._operationTimeoutCb(self._attempts);
236
+ }, self._operationTimeout);
237
+ if (self._options.unref) {
238
+ self._timeout.unref();
239
+ }
240
+ }
241
+ self._fn(self._attempts);
242
+ }, timeout);
243
+ if (this._options.unref) {
244
+ this._timer.unref();
245
+ }
246
+ return true;
247
+ };
248
+ RetryOperation.prototype.attempt = function(fn, timeoutOps) {
249
+ this._fn = fn;
250
+ if (timeoutOps) {
251
+ if (timeoutOps.timeout) {
252
+ this._operationTimeout = timeoutOps.timeout;
253
+ }
254
+ if (timeoutOps.cb) {
255
+ this._operationTimeoutCb = timeoutOps.cb;
256
+ }
257
+ }
258
+ var self = this;
259
+ if (this._operationTimeoutCb) {
260
+ this._timeout = setTimeout(function() {
261
+ self._operationTimeoutCb();
262
+ }, self._operationTimeout);
263
+ }
264
+ this._operationStart = (/* @__PURE__ */ new Date()).getTime();
265
+ this._fn(this._attempts);
266
+ };
267
+ RetryOperation.prototype.try = function(fn) {
268
+ console.log("Using RetryOperation.try() is deprecated");
269
+ this.attempt(fn);
270
+ };
271
+ RetryOperation.prototype.start = function(fn) {
272
+ console.log("Using RetryOperation.start() is deprecated");
273
+ this.attempt(fn);
274
+ };
275
+ RetryOperation.prototype.start = RetryOperation.prototype.try;
276
+ RetryOperation.prototype.errors = function() {
277
+ return this._errors;
278
+ };
279
+ RetryOperation.prototype.attempts = function() {
280
+ return this._attempts;
281
+ };
282
+ RetryOperation.prototype.mainError = function() {
283
+ if (this._errors.length === 0) {
284
+ return null;
285
+ }
286
+ var counts = {};
287
+ var mainError = null;
288
+ var mainErrorCount = 0;
289
+ for (var i = 0; i < this._errors.length; i++) {
290
+ var error = this._errors[i];
291
+ var message = error.message;
292
+ var count = (counts[message] || 0) + 1;
293
+ counts[message] = count;
294
+ if (count >= mainErrorCount) {
295
+ mainError = error;
296
+ mainErrorCount = count;
297
+ }
298
+ }
299
+ return mainError;
300
+ };
301
+ }
302
+ });
303
+
304
+ // ../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js
305
+ var require_retry = __commonJS({
306
+ "../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js"(exports2) {
307
+ "use strict";
308
+ var RetryOperation = require_retry_operation();
309
+ exports2.operation = function(options) {
310
+ var timeouts = exports2.timeouts(options);
311
+ return new RetryOperation(timeouts, {
312
+ forever: options && (options.forever || options.retries === Infinity),
313
+ unref: options && options.unref,
314
+ maxRetryTime: options && options.maxRetryTime
315
+ });
316
+ };
317
+ exports2.timeouts = function(options) {
318
+ if (options instanceof Array) {
319
+ return [].concat(options);
320
+ }
321
+ var opts = {
322
+ retries: 10,
323
+ factor: 2,
324
+ minTimeout: 1 * 1e3,
325
+ maxTimeout: Infinity,
326
+ randomize: false
327
+ };
328
+ for (var key in options) {
329
+ opts[key] = options[key];
330
+ }
331
+ if (opts.minTimeout > opts.maxTimeout) {
332
+ throw new Error("minTimeout is greater than maxTimeout");
333
+ }
334
+ var timeouts = [];
335
+ for (var i = 0; i < opts.retries; i++) {
336
+ timeouts.push(this.createTimeout(i, opts));
337
+ }
338
+ if (options && options.forever && !timeouts.length) {
339
+ timeouts.push(this.createTimeout(i, opts));
340
+ }
341
+ timeouts.sort(function(a, b) {
342
+ return a - b;
343
+ });
344
+ return timeouts;
345
+ };
346
+ exports2.createTimeout = function(attempt, opts) {
347
+ var random = opts.randomize ? Math.random() + 1 : 1;
348
+ var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));
349
+ timeout = Math.min(timeout, opts.maxTimeout);
350
+ return timeout;
351
+ };
352
+ exports2.wrap = function(obj, options, methods) {
353
+ if (options instanceof Array) {
354
+ methods = options;
355
+ options = null;
356
+ }
357
+ if (!methods) {
358
+ methods = [];
359
+ for (var key in obj) {
360
+ if (typeof obj[key] === "function") {
361
+ methods.push(key);
362
+ }
363
+ }
364
+ }
365
+ for (var i = 0; i < methods.length; i++) {
366
+ var method = methods[i];
367
+ var original = obj[method];
368
+ obj[method] = function retryWrapper(original2) {
369
+ var op = exports2.operation(options);
370
+ var args = Array.prototype.slice.call(arguments, 1);
371
+ var callback = args.pop();
372
+ args.push(function(err) {
373
+ if (op.retry(err)) {
374
+ return;
375
+ }
376
+ if (err) {
377
+ arguments[0] = op.mainError();
378
+ }
379
+ callback.apply(this, arguments);
380
+ });
381
+ op.attempt(function() {
382
+ original2.apply(obj, args);
383
+ });
384
+ }.bind(obj, original);
385
+ obj[method].options = options;
386
+ }
387
+ };
388
+ }
389
+ });
390
+
391
+ // ../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js
392
+ var require_retry2 = __commonJS({
393
+ "../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js"(exports2, module2) {
394
+ "use strict";
395
+ module2.exports = require_retry();
148
396
  }
149
397
  });
150
398
 
151
399
  // src/index.ts
152
- var src_exports = {};
153
- __export(src_exports, {
400
+ var index_exports = {};
401
+ __export(index_exports, {
154
402
  DefaultDataClient: () => DefaultDataClient,
155
403
  UniformComposition: () => UniformComposition,
156
404
  UniformPlayground: () => UniformPlayground,
@@ -169,7 +417,7 @@ __export(src_exports, {
169
417
  resolveRouteFromCode: () => resolveRouteFromCode,
170
418
  serverContext: () => serverContext
171
419
  });
172
- module.exports = __toCommonJS(src_exports);
420
+ module.exports = __toCommonJS(index_exports);
173
421
  var import_server_only5 = require("server-only");
174
422
 
175
423
  // src/clients/canvas.ts
@@ -178,14 +426,14 @@ var import_server_only = require("server-only");
178
426
  // ../context/dist/api/api.mjs
179
427
  var import_p_limit = __toESM(require_p_limit(), 1);
180
428
  var __defProp2 = Object.defineProperty;
181
- var __typeError = (msg) => {
429
+ var __typeError2 = (msg) => {
182
430
  throw TypeError(msg);
183
431
  };
184
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
185
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
186
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
187
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
188
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
432
+ var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
433
+ var __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== "symbol" ? key + "" : key, value);
434
+ var __accessCheck2 = (obj, member, msg) => member.has(obj) || __typeError2("Cannot " + msg);
435
+ var __privateGet2 = (obj, member, getter) => (__accessCheck2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
436
+ var __privateAdd2 = (obj, member, value) => member.has(obj) ? __typeError2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
189
437
  var defaultLimitPolicy = (0, import_p_limit.default)(6);
190
438
  var ApiClientError = class _ApiClientError extends Error {
191
439
  constructor(errorMessage, fetchMethod, fetchUri, statusCode, statusText, requestId) {
@@ -193,18 +441,18 @@ var ApiClientError = class _ApiClientError extends Error {
193
441
  `${errorMessage}
194
442
  ${statusCode}${statusText ? " " + statusText : ""} (${fetchMethod} ${fetchUri}${requestId ? ` Request ID: ${requestId}` : ""})`
195
443
  );
196
- this.errorMessage = errorMessage;
197
- this.fetchMethod = fetchMethod;
198
- this.fetchUri = fetchUri;
199
- this.statusCode = statusCode;
200
- this.statusText = statusText;
201
- this.requestId = requestId;
444
+ __publicField2(this, "errorMessage", errorMessage);
445
+ __publicField2(this, "fetchMethod", fetchMethod);
446
+ __publicField2(this, "fetchUri", fetchUri);
447
+ __publicField2(this, "statusCode", statusCode);
448
+ __publicField2(this, "statusText", statusText);
449
+ __publicField2(this, "requestId", requestId);
202
450
  Object.setPrototypeOf(this, _ApiClientError.prototype);
203
451
  }
204
452
  };
205
453
  var ApiClient = class _ApiClient {
206
454
  constructor(options) {
207
- __publicField(this, "options");
455
+ __publicField2(this, "options");
208
456
  var _a, _b, _c, _d, _e;
209
457
  if (!options.apiKey && !options.bearerToken) {
210
458
  throw new Error("You must provide an API key or a bearer token");
@@ -374,12 +622,12 @@ var _AggregateClient = class _AggregateClient2 extends ApiClient {
374
622
  /** Fetches all aggregates for a project */
375
623
  async get(options) {
376
624
  const { projectId } = this.options;
377
- const fetchUri = this.createUrl(__privateGet(_AggregateClient2, _url), { ...options, projectId });
625
+ const fetchUri = this.createUrl(__privateGet2(_AggregateClient2, _url), { ...options, projectId });
378
626
  return await this.apiClient(fetchUri);
379
627
  }
380
628
  /** Updates or creates (based on id) an Aggregate */
381
629
  async upsert(body) {
382
- const fetchUri = this.createUrl(__privateGet(_AggregateClient2, _url));
630
+ const fetchUri = this.createUrl(__privateGet2(_AggregateClient2, _url));
383
631
  await this.apiClient(fetchUri, {
384
632
  method: "PUT",
385
633
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -388,7 +636,7 @@ var _AggregateClient = class _AggregateClient2 extends ApiClient {
388
636
  }
389
637
  /** Deletes an Aggregate */
390
638
  async remove(body) {
391
- const fetchUri = this.createUrl(__privateGet(_AggregateClient2, _url));
639
+ const fetchUri = this.createUrl(__privateGet2(_AggregateClient2, _url));
392
640
  await this.apiClient(fetchUri, {
393
641
  method: "DELETE",
394
642
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -397,7 +645,7 @@ var _AggregateClient = class _AggregateClient2 extends ApiClient {
397
645
  }
398
646
  };
399
647
  _url = /* @__PURE__ */ new WeakMap();
400
- __privateAdd(_AggregateClient, _url, "/api/v2/aggregate");
648
+ __privateAdd2(_AggregateClient, _url, "/api/v2/aggregate");
401
649
  var _url2;
402
650
  var _DimensionClient = class _DimensionClient2 extends ApiClient {
403
651
  constructor(options) {
@@ -406,12 +654,12 @@ var _DimensionClient = class _DimensionClient2 extends ApiClient {
406
654
  /** Fetches the known score dimensions for a project */
407
655
  async get(options) {
408
656
  const { projectId } = this.options;
409
- const fetchUri = this.createUrl(__privateGet(_DimensionClient2, _url2), { ...options, projectId });
657
+ const fetchUri = this.createUrl(__privateGet2(_DimensionClient2, _url2), { ...options, projectId });
410
658
  return await this.apiClient(fetchUri);
411
659
  }
412
660
  };
413
661
  _url2 = /* @__PURE__ */ new WeakMap();
414
- __privateAdd(_DimensionClient, _url2, "/api/v2/dimension");
662
+ __privateAdd2(_DimensionClient, _url2, "/api/v2/dimension");
415
663
  var _url3;
416
664
  var _valueUrl;
417
665
  var _EnrichmentClient = class _EnrichmentClient2 extends ApiClient {
@@ -421,12 +669,12 @@ var _EnrichmentClient = class _EnrichmentClient2 extends ApiClient {
421
669
  /** Fetches all enrichments and values for a project, grouped by category */
422
670
  async get(options) {
423
671
  const { projectId } = this.options;
424
- const fetchUri = this.createUrl(__privateGet(_EnrichmentClient2, _url3), { ...options, projectId });
672
+ const fetchUri = this.createUrl(__privateGet2(_EnrichmentClient2, _url3), { ...options, projectId });
425
673
  return await this.apiClient(fetchUri);
426
674
  }
427
675
  /** Updates or creates (based on id) an enrichment category */
428
676
  async upsertCategory(body) {
429
- const fetchUri = this.createUrl(__privateGet(_EnrichmentClient2, _url3));
677
+ const fetchUri = this.createUrl(__privateGet2(_EnrichmentClient2, _url3));
430
678
  await this.apiClient(fetchUri, {
431
679
  method: "PUT",
432
680
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -435,7 +683,7 @@ var _EnrichmentClient = class _EnrichmentClient2 extends ApiClient {
435
683
  }
436
684
  /** Deletes an enrichment category */
437
685
  async removeCategory(body) {
438
- const fetchUri = this.createUrl(__privateGet(_EnrichmentClient2, _url3));
686
+ const fetchUri = this.createUrl(__privateGet2(_EnrichmentClient2, _url3));
439
687
  await this.apiClient(fetchUri, {
440
688
  method: "DELETE",
441
689
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -444,7 +692,7 @@ var _EnrichmentClient = class _EnrichmentClient2 extends ApiClient {
444
692
  }
445
693
  /** Updates or creates (based on id) an enrichment value within an enrichment category */
446
694
  async upsertValue(body) {
447
- const fetchUri = this.createUrl(__privateGet(_EnrichmentClient2, _valueUrl));
695
+ const fetchUri = this.createUrl(__privateGet2(_EnrichmentClient2, _valueUrl));
448
696
  await this.apiClient(fetchUri, {
449
697
  method: "PUT",
450
698
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -453,7 +701,7 @@ var _EnrichmentClient = class _EnrichmentClient2 extends ApiClient {
453
701
  }
454
702
  /** Deletes an enrichment value within an enrichment category. The category is left alone. */
455
703
  async removeValue(body) {
456
- const fetchUri = this.createUrl(__privateGet(_EnrichmentClient2, _valueUrl));
704
+ const fetchUri = this.createUrl(__privateGet2(_EnrichmentClient2, _valueUrl));
457
705
  await this.apiClient(fetchUri, {
458
706
  method: "DELETE",
459
707
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -463,8 +711,8 @@ var _EnrichmentClient = class _EnrichmentClient2 extends ApiClient {
463
711
  };
464
712
  _url3 = /* @__PURE__ */ new WeakMap();
465
713
  _valueUrl = /* @__PURE__ */ new WeakMap();
466
- __privateAdd(_EnrichmentClient, _url3, "/api/v1/enrichments");
467
- __privateAdd(_EnrichmentClient, _valueUrl, "/api/v1/enrichment-values");
714
+ __privateAdd2(_EnrichmentClient, _url3, "/api/v1/enrichments");
715
+ __privateAdd2(_EnrichmentClient, _valueUrl, "/api/v1/enrichment-values");
468
716
  var _url4;
469
717
  var _ManifestClient = class _ManifestClient2 extends ApiClient {
470
718
  constructor(options) {
@@ -473,7 +721,7 @@ var _ManifestClient = class _ManifestClient2 extends ApiClient {
473
721
  /** Fetches the Context manifest for a project */
474
722
  async get(options) {
475
723
  const { projectId } = this.options;
476
- const fetchUri = this.createUrl(__privateGet(_ManifestClient2, _url4), { ...options, projectId });
724
+ const fetchUri = this.createUrl(__privateGet2(_ManifestClient2, _url4), { ...options, projectId });
477
725
  return await this.apiClient(fetchUri);
478
726
  }
479
727
  /** Publishes the Context manifest for a project */
@@ -487,7 +735,7 @@ var _ManifestClient = class _ManifestClient2 extends ApiClient {
487
735
  }
488
736
  };
489
737
  _url4 = /* @__PURE__ */ new WeakMap();
490
- __privateAdd(_ManifestClient, _url4, "/api/v2/manifest");
738
+ __privateAdd2(_ManifestClient, _url4, "/api/v2/manifest");
491
739
  var ManifestClient = _ManifestClient;
492
740
  var _url5;
493
741
  var _QuirkClient = class _QuirkClient2 extends ApiClient {
@@ -497,480 +745,281 @@ var _QuirkClient = class _QuirkClient2 extends ApiClient {
497
745
  /** Fetches all Quirks for a project */
498
746
  async get(options) {
499
747
  const { projectId } = this.options;
500
- const fetchUri = this.createUrl(__privateGet(_QuirkClient2, _url5), { ...options, projectId });
748
+ const fetchUri = this.createUrl(__privateGet2(_QuirkClient2, _url5), { ...options, projectId });
501
749
  return await this.apiClient(fetchUri);
502
750
  }
503
751
  /** Updates or creates (based on id) a Quirk */
504
752
  async upsert(body) {
505
- const fetchUri = this.createUrl(__privateGet(_QuirkClient2, _url5));
753
+ const fetchUri = this.createUrl(__privateGet2(_QuirkClient2, _url5));
506
754
  await this.apiClient(fetchUri, {
507
755
  method: "PUT",
508
756
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
509
757
  expectNoContent: true
510
758
  });
511
759
  }
512
- /** Deletes a Quirk */
513
- async remove(body) {
514
- const fetchUri = this.createUrl(__privateGet(_QuirkClient2, _url5));
515
- await this.apiClient(fetchUri, {
516
- method: "DELETE",
517
- body: JSON.stringify({ ...body, projectId: this.options.projectId }),
518
- expectNoContent: true
519
- });
520
- }
521
- };
522
- _url5 = /* @__PURE__ */ new WeakMap();
523
- __privateAdd(_QuirkClient, _url5, "/api/v2/quirk");
524
- var _url6;
525
- var _SignalClient = class _SignalClient2 extends ApiClient {
526
- constructor(options) {
527
- super(options);
528
- }
529
- /** Fetches all Signals for a project */
530
- async get(options) {
531
- const { projectId } = this.options;
532
- const fetchUri = this.createUrl(__privateGet(_SignalClient2, _url6), { ...options, projectId });
533
- return await this.apiClient(fetchUri);
534
- }
535
- /** Updates or creates (based on id) a Signal */
536
- async upsert(body) {
537
- const fetchUri = this.createUrl(__privateGet(_SignalClient2, _url6));
538
- await this.apiClient(fetchUri, {
539
- method: "PUT",
540
- body: JSON.stringify({ ...body, projectId: this.options.projectId }),
541
- expectNoContent: true
542
- });
543
- }
544
- /** Deletes a Signal */
545
- async remove(body) {
546
- const fetchUri = this.createUrl(__privateGet(_SignalClient2, _url6));
547
- await this.apiClient(fetchUri, {
548
- method: "DELETE",
549
- body: JSON.stringify({ ...body, projectId: this.options.projectId }),
550
- expectNoContent: true
551
- });
552
- }
553
- };
554
- _url6 = /* @__PURE__ */ new WeakMap();
555
- __privateAdd(_SignalClient, _url6, "/api/v2/signal");
556
- var _url7;
557
- var _TestClient = class _TestClient2 extends ApiClient {
558
- constructor(options) {
559
- super(options);
560
- }
561
- /** Fetches all Tests for a project */
562
- async get(options) {
563
- const { projectId } = this.options;
564
- const fetchUri = this.createUrl(__privateGet(_TestClient2, _url7), { ...options, projectId });
565
- return await this.apiClient(fetchUri);
566
- }
567
- /** Updates or creates (based on id) a Test */
568
- async upsert(body) {
569
- const fetchUri = this.createUrl(__privateGet(_TestClient2, _url7));
570
- await this.apiClient(fetchUri, {
571
- method: "PUT",
572
- body: JSON.stringify({ ...body, projectId: this.options.projectId }),
573
- expectNoContent: true
574
- });
575
- }
576
- /** Deletes a Test */
577
- async remove(body) {
578
- const fetchUri = this.createUrl(__privateGet(_TestClient2, _url7));
579
- await this.apiClient(fetchUri, {
580
- method: "DELETE",
581
- body: JSON.stringify({ ...body, projectId: this.options.projectId }),
582
- expectNoContent: true
583
- });
584
- }
585
- };
586
- _url7 = /* @__PURE__ */ new WeakMap();
587
- __privateAdd(_TestClient, _url7, "/api/v2/test");
588
-
589
- // ../canvas/dist/index.mjs
590
- var __create2 = Object.create;
591
- var __defProp3 = Object.defineProperty;
592
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
593
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
594
- var __getProtoOf2 = Object.getPrototypeOf;
595
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
596
- var __typeError2 = (msg) => {
597
- throw TypeError(msg);
598
- };
599
- var __commonJS2 = (cb, mod) => function __require() {
600
- return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
601
- };
602
- var __copyProps2 = (to, from, except, desc) => {
603
- if (from && typeof from === "object" || typeof from === "function") {
604
- for (let key of __getOwnPropNames2(from))
605
- if (!__hasOwnProp2.call(to, key) && key !== except)
606
- __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
607
- }
608
- return to;
609
- };
610
- var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
611
- // If the importer is in node compatibility mode or this is not an ESM
612
- // file that has been converted to a CommonJS file using a Babel-
613
- // compatible transform (i.e. "__esModule" has not been set), then set
614
- // "default" to the CommonJS "module.exports" for node compatibility.
615
- isNodeMode || !mod || !mod.__esModule ? __defProp3(target, "default", { value: mod, enumerable: true }) : target,
616
- mod
617
- ));
618
- var __accessCheck2 = (obj, member, msg) => member.has(obj) || __typeError2("Cannot " + msg);
619
- var __privateGet2 = (obj, member, getter) => (__accessCheck2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
620
- var __privateAdd2 = (obj, member, value) => member.has(obj) ? __typeError2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
621
- var require_yocto_queue2 = __commonJS2({
622
- "../../node_modules/.pnpm/yocto-queue@0.1.0/node_modules/yocto-queue/index.js"(exports2, module2) {
623
- "use strict";
624
- var Node = class {
625
- /// value;
626
- /// next;
627
- constructor(value) {
628
- this.value = value;
629
- this.next = void 0;
630
- }
631
- };
632
- var Queue = class {
633
- // TODO: Use private class fields when targeting Node.js 12.
634
- // #_head;
635
- // #_tail;
636
- // #_size;
637
- constructor() {
638
- this.clear();
639
- }
640
- enqueue(value) {
641
- const node = new Node(value);
642
- if (this._head) {
643
- this._tail.next = node;
644
- this._tail = node;
645
- } else {
646
- this._head = node;
647
- this._tail = node;
648
- }
649
- this._size++;
650
- }
651
- dequeue() {
652
- const current = this._head;
653
- if (!current) {
654
- return;
655
- }
656
- this._head = this._head.next;
657
- this._size--;
658
- return current.value;
659
- }
660
- clear() {
661
- this._head = void 0;
662
- this._tail = void 0;
663
- this._size = 0;
664
- }
665
- get size() {
666
- return this._size;
667
- }
668
- *[Symbol.iterator]() {
669
- let current = this._head;
670
- while (current) {
671
- yield current.value;
672
- current = current.next;
673
- }
674
- }
675
- };
676
- module2.exports = Queue;
677
- }
678
- });
679
- var require_p_limit2 = __commonJS2({
680
- "../../node_modules/.pnpm/p-limit@3.1.0/node_modules/p-limit/index.js"(exports2, module2) {
681
- "use strict";
682
- var Queue = require_yocto_queue2();
683
- var pLimit2 = (concurrency) => {
684
- if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {
685
- throw new TypeError("Expected `concurrency` to be a number from 1 and up");
686
- }
687
- const queue = new Queue();
688
- let activeCount = 0;
689
- const next = () => {
690
- activeCount--;
691
- if (queue.size > 0) {
692
- queue.dequeue()();
693
- }
694
- };
695
- const run = async (fn, resolve, ...args) => {
696
- activeCount++;
697
- const result = (async () => fn(...args))();
698
- resolve(result);
699
- try {
700
- await result;
701
- } catch (e) {
702
- }
703
- next();
704
- };
705
- const enqueue = (fn, resolve, ...args) => {
706
- queue.enqueue(run.bind(null, fn, resolve, ...args));
707
- (async () => {
708
- await Promise.resolve();
709
- if (activeCount < concurrency && queue.size > 0) {
710
- queue.dequeue()();
711
- }
712
- })();
713
- };
714
- const generator = (fn, ...args) => new Promise((resolve) => {
715
- enqueue(fn, resolve, ...args);
716
- });
717
- Object.defineProperties(generator, {
718
- activeCount: {
719
- get: () => activeCount
720
- },
721
- pendingCount: {
722
- get: () => queue.size
723
- },
724
- clearQueue: {
725
- value: () => {
726
- queue.clear();
727
- }
728
- }
729
- });
730
- return generator;
731
- };
732
- module2.exports = pLimit2;
733
- }
734
- });
735
- var require_retry_operation = __commonJS2({
736
- "../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js"(exports2, module2) {
737
- "use strict";
738
- function RetryOperation(timeouts, options) {
739
- if (typeof options === "boolean") {
740
- options = { forever: options };
741
- }
742
- this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));
743
- this._timeouts = timeouts;
744
- this._options = options || {};
745
- this._maxRetryTime = options && options.maxRetryTime || Infinity;
746
- this._fn = null;
747
- this._errors = [];
748
- this._attempts = 1;
749
- this._operationTimeout = null;
750
- this._operationTimeoutCb = null;
751
- this._timeout = null;
752
- this._operationStart = null;
753
- this._timer = null;
754
- if (this._options.forever) {
755
- this._cachedTimeouts = this._timeouts.slice(0);
756
- }
757
- }
758
- module2.exports = RetryOperation;
759
- RetryOperation.prototype.reset = function() {
760
- this._attempts = 1;
761
- this._timeouts = this._originalTimeouts.slice(0);
762
- };
763
- RetryOperation.prototype.stop = function() {
764
- if (this._timeout) {
765
- clearTimeout(this._timeout);
766
- }
767
- if (this._timer) {
768
- clearTimeout(this._timer);
769
- }
770
- this._timeouts = [];
771
- this._cachedTimeouts = null;
772
- };
773
- RetryOperation.prototype.retry = function(err) {
774
- if (this._timeout) {
775
- clearTimeout(this._timeout);
776
- }
777
- if (!err) {
778
- return false;
779
- }
780
- var currentTime = (/* @__PURE__ */ new Date()).getTime();
781
- if (err && currentTime - this._operationStart >= this._maxRetryTime) {
782
- this._errors.push(err);
783
- this._errors.unshift(new Error("RetryOperation timeout occurred"));
784
- return false;
785
- }
786
- this._errors.push(err);
787
- var timeout = this._timeouts.shift();
788
- if (timeout === void 0) {
789
- if (this._cachedTimeouts) {
790
- this._errors.splice(0, this._errors.length - 1);
791
- timeout = this._cachedTimeouts.slice(-1);
792
- } else {
793
- return false;
794
- }
795
- }
796
- var self = this;
797
- this._timer = setTimeout(function() {
798
- self._attempts++;
799
- if (self._operationTimeoutCb) {
800
- self._timeout = setTimeout(function() {
801
- self._operationTimeoutCb(self._attempts);
802
- }, self._operationTimeout);
803
- if (self._options.unref) {
804
- self._timeout.unref();
805
- }
806
- }
807
- self._fn(self._attempts);
808
- }, timeout);
809
- if (this._options.unref) {
810
- this._timer.unref();
811
- }
812
- return true;
813
- };
814
- RetryOperation.prototype.attempt = function(fn, timeoutOps) {
815
- this._fn = fn;
816
- if (timeoutOps) {
817
- if (timeoutOps.timeout) {
818
- this._operationTimeout = timeoutOps.timeout;
819
- }
820
- if (timeoutOps.cb) {
821
- this._operationTimeoutCb = timeoutOps.cb;
822
- }
823
- }
824
- var self = this;
825
- if (this._operationTimeoutCb) {
826
- this._timeout = setTimeout(function() {
827
- self._operationTimeoutCb();
828
- }, self._operationTimeout);
829
- }
830
- this._operationStart = (/* @__PURE__ */ new Date()).getTime();
831
- this._fn(this._attempts);
832
- };
833
- RetryOperation.prototype.try = function(fn) {
834
- console.log("Using RetryOperation.try() is deprecated");
835
- this.attempt(fn);
836
- };
837
- RetryOperation.prototype.start = function(fn) {
838
- console.log("Using RetryOperation.start() is deprecated");
839
- this.attempt(fn);
840
- };
841
- RetryOperation.prototype.start = RetryOperation.prototype.try;
842
- RetryOperation.prototype.errors = function() {
843
- return this._errors;
844
- };
845
- RetryOperation.prototype.attempts = function() {
846
- return this._attempts;
847
- };
848
- RetryOperation.prototype.mainError = function() {
849
- if (this._errors.length === 0) {
850
- return null;
851
- }
852
- var counts = {};
853
- var mainError = null;
854
- var mainErrorCount = 0;
855
- for (var i = 0; i < this._errors.length; i++) {
856
- var error = this._errors[i];
857
- var message = error.message;
858
- var count = (counts[message] || 0) + 1;
859
- counts[message] = count;
860
- if (count >= mainErrorCount) {
861
- mainError = error;
862
- mainErrorCount = count;
863
- }
864
- }
865
- return mainError;
866
- };
760
+ /** Deletes a Quirk */
761
+ async remove(body) {
762
+ const fetchUri = this.createUrl(__privateGet2(_QuirkClient2, _url5));
763
+ await this.apiClient(fetchUri, {
764
+ method: "DELETE",
765
+ body: JSON.stringify({ ...body, projectId: this.options.projectId }),
766
+ expectNoContent: true
767
+ });
867
768
  }
868
- });
869
- var require_retry = __commonJS2({
870
- "../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js"(exports2) {
871
- "use strict";
872
- var RetryOperation = require_retry_operation();
873
- exports2.operation = function(options) {
874
- var timeouts = exports2.timeouts(options);
875
- return new RetryOperation(timeouts, {
876
- forever: options && (options.forever || options.retries === Infinity),
877
- unref: options && options.unref,
878
- maxRetryTime: options && options.maxRetryTime
879
- });
880
- };
881
- exports2.timeouts = function(options) {
882
- if (options instanceof Array) {
883
- return [].concat(options);
884
- }
885
- var opts = {
886
- retries: 10,
887
- factor: 2,
888
- minTimeout: 1 * 1e3,
889
- maxTimeout: Infinity,
890
- randomize: false
891
- };
892
- for (var key in options) {
893
- opts[key] = options[key];
894
- }
895
- if (opts.minTimeout > opts.maxTimeout) {
896
- throw new Error("minTimeout is greater than maxTimeout");
897
- }
898
- var timeouts = [];
899
- for (var i = 0; i < opts.retries; i++) {
900
- timeouts.push(this.createTimeout(i, opts));
901
- }
902
- if (options && options.forever && !timeouts.length) {
903
- timeouts.push(this.createTimeout(i, opts));
769
+ };
770
+ _url5 = /* @__PURE__ */ new WeakMap();
771
+ __privateAdd2(_QuirkClient, _url5, "/api/v2/quirk");
772
+ var _url6;
773
+ var _SignalClient = class _SignalClient2 extends ApiClient {
774
+ constructor(options) {
775
+ super(options);
776
+ }
777
+ /** Fetches all Signals for a project */
778
+ async get(options) {
779
+ const { projectId } = this.options;
780
+ const fetchUri = this.createUrl(__privateGet2(_SignalClient2, _url6), { ...options, projectId });
781
+ return await this.apiClient(fetchUri);
782
+ }
783
+ /** Updates or creates (based on id) a Signal */
784
+ async upsert(body) {
785
+ const fetchUri = this.createUrl(__privateGet2(_SignalClient2, _url6));
786
+ await this.apiClient(fetchUri, {
787
+ method: "PUT",
788
+ body: JSON.stringify({ ...body, projectId: this.options.projectId }),
789
+ expectNoContent: true
790
+ });
791
+ }
792
+ /** Deletes a Signal */
793
+ async remove(body) {
794
+ const fetchUri = this.createUrl(__privateGet2(_SignalClient2, _url6));
795
+ await this.apiClient(fetchUri, {
796
+ method: "DELETE",
797
+ body: JSON.stringify({ ...body, projectId: this.options.projectId }),
798
+ expectNoContent: true
799
+ });
800
+ }
801
+ };
802
+ _url6 = /* @__PURE__ */ new WeakMap();
803
+ __privateAdd2(_SignalClient, _url6, "/api/v2/signal");
804
+ var _url7;
805
+ var _TestClient = class _TestClient2 extends ApiClient {
806
+ constructor(options) {
807
+ super(options);
808
+ }
809
+ /** Fetches all Tests for a project */
810
+ async get(options) {
811
+ const { projectId } = this.options;
812
+ const fetchUri = this.createUrl(__privateGet2(_TestClient2, _url7), { ...options, projectId });
813
+ return await this.apiClient(fetchUri);
814
+ }
815
+ /** Updates or creates (based on id) a Test */
816
+ async upsert(body) {
817
+ const fetchUri = this.createUrl(__privateGet2(_TestClient2, _url7));
818
+ await this.apiClient(fetchUri, {
819
+ method: "PUT",
820
+ body: JSON.stringify({ ...body, projectId: this.options.projectId }),
821
+ expectNoContent: true
822
+ });
823
+ }
824
+ /** Deletes a Test */
825
+ async remove(body) {
826
+ const fetchUri = this.createUrl(__privateGet2(_TestClient2, _url7));
827
+ await this.apiClient(fetchUri, {
828
+ method: "DELETE",
829
+ body: JSON.stringify({ ...body, projectId: this.options.projectId }),
830
+ expectNoContent: true
831
+ });
832
+ }
833
+ };
834
+ _url7 = /* @__PURE__ */ new WeakMap();
835
+ __privateAdd2(_TestClient, _url7, "/api/v2/test");
836
+
837
+ // ../../node_modules/.pnpm/yocto-queue@1.2.2/node_modules/yocto-queue/index.js
838
+ var Node = class {
839
+ constructor(value) {
840
+ __publicField(this, "value");
841
+ __publicField(this, "next");
842
+ this.value = value;
843
+ }
844
+ };
845
+ var _head, _tail, _size;
846
+ var Queue = class {
847
+ constructor() {
848
+ __privateAdd(this, _head);
849
+ __privateAdd(this, _tail);
850
+ __privateAdd(this, _size);
851
+ this.clear();
852
+ }
853
+ enqueue(value) {
854
+ const node = new Node(value);
855
+ if (__privateGet(this, _head)) {
856
+ __privateGet(this, _tail).next = node;
857
+ __privateSet(this, _tail, node);
858
+ } else {
859
+ __privateSet(this, _head, node);
860
+ __privateSet(this, _tail, node);
861
+ }
862
+ __privateWrapper(this, _size)._++;
863
+ }
864
+ dequeue() {
865
+ const current = __privateGet(this, _head);
866
+ if (!current) {
867
+ return;
868
+ }
869
+ __privateSet(this, _head, __privateGet(this, _head).next);
870
+ __privateWrapper(this, _size)._--;
871
+ if (!__privateGet(this, _head)) {
872
+ __privateSet(this, _tail, void 0);
873
+ }
874
+ return current.value;
875
+ }
876
+ peek() {
877
+ if (!__privateGet(this, _head)) {
878
+ return;
879
+ }
880
+ return __privateGet(this, _head).value;
881
+ }
882
+ clear() {
883
+ __privateSet(this, _head, void 0);
884
+ __privateSet(this, _tail, void 0);
885
+ __privateSet(this, _size, 0);
886
+ }
887
+ get size() {
888
+ return __privateGet(this, _size);
889
+ }
890
+ *[Symbol.iterator]() {
891
+ let current = __privateGet(this, _head);
892
+ while (current) {
893
+ yield current.value;
894
+ current = current.next;
895
+ }
896
+ }
897
+ *drain() {
898
+ while (__privateGet(this, _head)) {
899
+ yield this.dequeue();
900
+ }
901
+ }
902
+ };
903
+ _head = new WeakMap();
904
+ _tail = new WeakMap();
905
+ _size = new WeakMap();
906
+
907
+ // ../../node_modules/.pnpm/p-limit@6.2.0/node_modules/p-limit/index.js
908
+ function pLimit2(concurrency) {
909
+ validateConcurrency(concurrency);
910
+ const queue = new Queue();
911
+ let activeCount = 0;
912
+ const resumeNext = () => {
913
+ if (activeCount < concurrency && queue.size > 0) {
914
+ queue.dequeue()();
915
+ activeCount++;
916
+ }
917
+ };
918
+ const next = () => {
919
+ activeCount--;
920
+ resumeNext();
921
+ };
922
+ const run = async (function_, resolve, arguments_) => {
923
+ const result = (async () => function_(...arguments_))();
924
+ resolve(result);
925
+ try {
926
+ await result;
927
+ } catch (e) {
928
+ }
929
+ next();
930
+ };
931
+ const enqueue = (function_, resolve, arguments_) => {
932
+ new Promise((internalResolve) => {
933
+ queue.enqueue(internalResolve);
934
+ }).then(
935
+ run.bind(void 0, function_, resolve, arguments_)
936
+ );
937
+ (async () => {
938
+ await Promise.resolve();
939
+ if (activeCount < concurrency) {
940
+ resumeNext();
904
941
  }
905
- timeouts.sort(function(a, b) {
906
- return a - b;
907
- });
908
- return timeouts;
909
- };
910
- exports2.createTimeout = function(attempt, opts) {
911
- var random = opts.randomize ? Math.random() + 1 : 1;
912
- var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));
913
- timeout = Math.min(timeout, opts.maxTimeout);
914
- return timeout;
915
- };
916
- exports2.wrap = function(obj, options, methods) {
917
- if (options instanceof Array) {
918
- methods = options;
919
- options = null;
942
+ })();
943
+ };
944
+ const generator = (function_, ...arguments_) => new Promise((resolve) => {
945
+ enqueue(function_, resolve, arguments_);
946
+ });
947
+ Object.defineProperties(generator, {
948
+ activeCount: {
949
+ get: () => activeCount
950
+ },
951
+ pendingCount: {
952
+ get: () => queue.size
953
+ },
954
+ clearQueue: {
955
+ value() {
956
+ queue.clear();
920
957
  }
921
- if (!methods) {
922
- methods = [];
923
- for (var key in obj) {
924
- if (typeof obj[key] === "function") {
925
- methods.push(key);
958
+ },
959
+ concurrency: {
960
+ get: () => concurrency,
961
+ set(newConcurrency) {
962
+ validateConcurrency(newConcurrency);
963
+ concurrency = newConcurrency;
964
+ queueMicrotask(() => {
965
+ while (activeCount < concurrency && queue.size > 0) {
966
+ resumeNext();
926
967
  }
927
- }
928
- }
929
- for (var i = 0; i < methods.length; i++) {
930
- var method = methods[i];
931
- var original = obj[method];
932
- obj[method] = function retryWrapper(original2) {
933
- var op = exports2.operation(options);
934
- var args = Array.prototype.slice.call(arguments, 1);
935
- var callback = args.pop();
936
- args.push(function(err) {
937
- if (op.retry(err)) {
938
- return;
939
- }
940
- if (err) {
941
- arguments[0] = op.mainError();
942
- }
943
- callback.apply(this, arguments);
944
- });
945
- op.attempt(function() {
946
- original2.apply(obj, args);
947
- });
948
- }.bind(obj, original);
949
- obj[method].options = options;
968
+ });
950
969
  }
951
- };
952
- }
953
- });
954
- var require_retry2 = __commonJS2({
955
- "../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js"(exports2, module2) {
956
- "use strict";
957
- module2.exports = require_retry();
970
+ }
971
+ });
972
+ return generator;
973
+ }
974
+ function validateConcurrency(concurrency) {
975
+ if (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {
976
+ throw new TypeError("Expected `concurrency` to be a number from 1 and up");
958
977
  }
959
- });
960
- var import_p_limit2 = __toESM2(require_p_limit2());
961
- var import_retry = __toESM2(require_retry2(), 1);
962
- var networkErrorMsgs = /* @__PURE__ */ new Set([
963
- "Failed to fetch",
978
+ }
979
+
980
+ // ../../node_modules/.pnpm/p-retry@6.2.1/node_modules/p-retry/index.js
981
+ var import_retry = __toESM(require_retry2(), 1);
982
+
983
+ // ../../node_modules/.pnpm/is-network-error@1.3.2/node_modules/is-network-error/index.js
984
+ var objectToString = Object.prototype.toString;
985
+ var isError = (value) => objectToString.call(value) === "[object Error]";
986
+ var errorMessages = /* @__PURE__ */ new Set([
987
+ "network error",
964
988
  // Chrome
965
989
  "NetworkError when attempting to fetch resource.",
966
990
  // Firefox
967
991
  "The Internet connection appears to be offline.",
968
- // Safari
992
+ // Safari 16
969
993
  "Network request failed",
970
994
  // `cross-fetch`
971
- "fetch failed"
995
+ "fetch failed",
972
996
  // Undici (Node.js)
997
+ "terminated",
998
+ // Undici (Node.js)
999
+ " A network error occurred.",
1000
+ // Bun (WebKit)
1001
+ "Network connection lost"
1002
+ // Cloudflare Workers (fetch)
973
1003
  ]);
1004
+ function isNetworkError(error) {
1005
+ const isValid = error && isError(error) && error.name === "TypeError" && typeof error.message === "string";
1006
+ if (!isValid) {
1007
+ return false;
1008
+ }
1009
+ const { message, stack } = error;
1010
+ if (message === "Load failed" || message.startsWith("Load failed (") && message.endsWith(")")) {
1011
+ return stack === void 0 || "__sentry_captured__" in error;
1012
+ }
1013
+ if (message.startsWith("error sending request for url")) {
1014
+ return true;
1015
+ }
1016
+ if (message === "Failed to fetch" || message.startsWith("Failed to fetch (") && message.endsWith(")")) {
1017
+ return true;
1018
+ }
1019
+ return errorMessages.has(message);
1020
+ }
1021
+
1022
+ // ../../node_modules/.pnpm/p-retry@6.2.1/node_modules/p-retry/index.js
974
1023
  var AbortError = class extends Error {
975
1024
  constructor(message) {
976
1025
  super();
@@ -991,63 +1040,71 @@ var decorateErrorWithCounts = (error, attemptNumber, options) => {
991
1040
  error.retriesLeft = retriesLeft;
992
1041
  return error;
993
1042
  };
994
- var isNetworkError = (errorMessage) => networkErrorMsgs.has(errorMessage);
995
- var getDOMException = (errorMessage) => globalThis.DOMException === void 0 ? new Error(errorMessage) : new DOMException(errorMessage);
996
1043
  async function pRetry(input, options) {
997
1044
  return new Promise((resolve, reject) => {
998
- options = {
999
- onFailedAttempt() {
1000
- },
1001
- retries: 10,
1002
- ...options
1045
+ var _a, _b, _c;
1046
+ options = { ...options };
1047
+ (_a = options.onFailedAttempt) != null ? _a : options.onFailedAttempt = () => {
1003
1048
  };
1049
+ (_b = options.shouldRetry) != null ? _b : options.shouldRetry = () => true;
1050
+ (_c = options.retries) != null ? _c : options.retries = 10;
1004
1051
  const operation = import_retry.default.operation(options);
1052
+ const abortHandler = () => {
1053
+ var _a2;
1054
+ operation.stop();
1055
+ reject((_a2 = options.signal) == null ? void 0 : _a2.reason);
1056
+ };
1057
+ if (options.signal && !options.signal.aborted) {
1058
+ options.signal.addEventListener("abort", abortHandler, { once: true });
1059
+ }
1060
+ const cleanUp = () => {
1061
+ var _a2;
1062
+ (_a2 = options.signal) == null ? void 0 : _a2.removeEventListener("abort", abortHandler);
1063
+ operation.stop();
1064
+ };
1005
1065
  operation.attempt(async (attemptNumber) => {
1006
1066
  try {
1007
- resolve(await input(attemptNumber));
1067
+ const result = await input(attemptNumber);
1068
+ cleanUp();
1069
+ resolve(result);
1008
1070
  } catch (error) {
1009
- if (!(error instanceof Error)) {
1010
- reject(new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`));
1011
- return;
1012
- }
1013
- if (error instanceof AbortError) {
1014
- operation.stop();
1015
- reject(error.originalError);
1016
- } else if (error instanceof TypeError && !isNetworkError(error.message)) {
1017
- operation.stop();
1018
- reject(error);
1019
- } else {
1071
+ try {
1072
+ if (!(error instanceof Error)) {
1073
+ throw new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`);
1074
+ }
1075
+ if (error instanceof AbortError) {
1076
+ throw error.originalError;
1077
+ }
1078
+ if (error instanceof TypeError && !isNetworkError(error)) {
1079
+ throw error;
1080
+ }
1020
1081
  decorateErrorWithCounts(error, attemptNumber, options);
1021
- try {
1022
- await options.onFailedAttempt(error);
1023
- } catch (error2) {
1024
- reject(error2);
1025
- return;
1082
+ if (!await options.shouldRetry(error)) {
1083
+ operation.stop();
1084
+ reject(error);
1026
1085
  }
1086
+ await options.onFailedAttempt(error);
1027
1087
  if (!operation.retry(error)) {
1028
- reject(operation.mainError());
1088
+ throw operation.mainError();
1029
1089
  }
1090
+ } catch (finalError) {
1091
+ decorateErrorWithCounts(finalError, attemptNumber, options);
1092
+ cleanUp();
1093
+ reject(finalError);
1030
1094
  }
1031
1095
  }
1032
1096
  });
1033
- if (options.signal && !options.signal.aborted) {
1034
- options.signal.addEventListener("abort", () => {
1035
- operation.stop();
1036
- const reason = options.signal.reason === void 0 ? getDOMException("The operation was aborted.") : options.signal.reason;
1037
- reject(reason instanceof Error ? reason : getDOMException(reason));
1038
- }, {
1039
- once: true
1040
- });
1041
- }
1042
1097
  });
1043
1098
  }
1099
+
1100
+ // ../../node_modules/.pnpm/p-throttle@6.2.0/node_modules/p-throttle/index.js
1044
1101
  var AbortError2 = class extends Error {
1045
1102
  constructor() {
1046
1103
  super("Throttled function aborted");
1047
1104
  this.name = "AbortError";
1048
1105
  }
1049
1106
  };
1050
- function pThrottle({ limit, interval, strict }) {
1107
+ function pThrottle({ limit, interval, strict, onDelay }) {
1051
1108
  if (!Number.isFinite(limit)) {
1052
1109
  throw new TypeError("Expected `limit` to be a finite number");
1053
1110
  }
@@ -1075,32 +1132,38 @@ function pThrottle({ limit, interval, strict }) {
1075
1132
  const strictTicks = [];
1076
1133
  function strictDelay() {
1077
1134
  const now = Date.now();
1078
- if (strictTicks.length < limit) {
1079
- strictTicks.push(now);
1080
- return 0;
1135
+ if (strictTicks.length > 0 && now - strictTicks.at(-1) > interval) {
1136
+ strictTicks.length = 0;
1081
1137
  }
1082
- const earliestTime = strictTicks.shift() + interval;
1083
- if (now >= earliestTime) {
1138
+ if (strictTicks.length < limit) {
1084
1139
  strictTicks.push(now);
1085
1140
  return 0;
1086
1141
  }
1087
- strictTicks.push(earliestTime);
1088
- return earliestTime - now;
1142
+ const nextExecutionTime = strictTicks[0] + interval;
1143
+ strictTicks.shift();
1144
+ strictTicks.push(nextExecutionTime);
1145
+ return Math.max(0, nextExecutionTime - now);
1089
1146
  }
1090
1147
  const getDelay = strict ? strictDelay : windowedDelay;
1091
1148
  return (function_) => {
1092
- const throttled = function(...args) {
1149
+ const throttled = function(...arguments_) {
1093
1150
  if (!throttled.isEnabled) {
1094
- return (async () => function_.apply(this, args))();
1151
+ return (async () => function_.apply(this, arguments_))();
1095
1152
  }
1096
- let timeout;
1153
+ let timeoutId;
1097
1154
  return new Promise((resolve, reject) => {
1098
1155
  const execute = () => {
1099
- resolve(function_.apply(this, args));
1100
- queue.delete(timeout);
1156
+ resolve(function_.apply(this, arguments_));
1157
+ queue.delete(timeoutId);
1101
1158
  };
1102
- timeout = setTimeout(execute, getDelay());
1103
- queue.set(timeout, reject);
1159
+ const delay = getDelay();
1160
+ if (delay > 0) {
1161
+ timeoutId = setTimeout(execute, delay);
1162
+ queue.set(timeoutId, reject);
1163
+ onDelay == null ? void 0 : onDelay(...arguments_);
1164
+ } else {
1165
+ execute();
1166
+ }
1104
1167
  });
1105
1168
  };
1106
1169
  throttled.abort = () => {
@@ -1112,16 +1175,29 @@ function pThrottle({ limit, interval, strict }) {
1112
1175
  strictTicks.splice(0, strictTicks.length);
1113
1176
  };
1114
1177
  throttled.isEnabled = true;
1178
+ Object.defineProperty(throttled, "queueSize", {
1179
+ get() {
1180
+ return queue.size;
1181
+ }
1182
+ });
1115
1183
  return throttled;
1116
1184
  };
1117
1185
  }
1186
+
1187
+ // ../canvas/dist/index.mjs
1188
+ var __typeError3 = (msg) => {
1189
+ throw TypeError(msg);
1190
+ };
1191
+ var __accessCheck3 = (obj, member, msg) => member.has(obj) || __typeError3("Cannot " + msg);
1192
+ var __privateGet3 = (obj, member, getter) => (__accessCheck3(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
1193
+ var __privateAdd3 = (obj, member, value) => member.has(obj) ? __typeError3("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1118
1194
  function createLimitPolicy({
1119
1195
  throttle = { interval: 1e3, limit: 10 },
1120
- retry: retry2 = { retries: 1, factor: 1.66 },
1196
+ retry: retry3 = { retries: 1, factor: 1.66 },
1121
1197
  limit = 10
1122
1198
  }) {
1123
1199
  const throttler = throttle ? pThrottle(throttle) : null;
1124
- const limiter = limit ? (0, import_p_limit2.default)(limit) : null;
1200
+ const limiter = limit ? pLimit2(limit) : null;
1125
1201
  return function limitPolicy(func) {
1126
1202
  let currentFunc = async () => await func();
1127
1203
  if (throttler) {
@@ -1132,13 +1208,13 @@ function createLimitPolicy({
1132
1208
  const limitFunc = currentFunc;
1133
1209
  currentFunc = () => limiter(limitFunc);
1134
1210
  }
1135
- if (retry2) {
1211
+ if (retry3) {
1136
1212
  const retryFunc = currentFunc;
1137
1213
  currentFunc = () => pRetry(retryFunc, {
1138
- ...retry2,
1214
+ ...retry3,
1139
1215
  onFailedAttempt: async (error) => {
1140
- if (retry2.onFailedAttempt) {
1141
- await retry2.onFailedAttempt(error);
1216
+ if (retry3.onFailedAttempt) {
1217
+ await retry3.onFailedAttempt(error);
1142
1218
  }
1143
1219
  if (error instanceof ApiClientError && typeof error.statusCode === "number" && error.statusCode >= 400 && error.statusCode < 500 && error.statusCode !== 429 && error.statusCode !== 408) {
1144
1220
  throw error;
@@ -1149,6 +1225,47 @@ function createLimitPolicy({
1149
1225
  return currentFunc();
1150
1226
  };
1151
1227
  }
1228
+ var SELECT_QUERY_PREFIX = "select.";
1229
+ function appendCsv(out, key, values) {
1230
+ if (values === void 0) {
1231
+ return;
1232
+ }
1233
+ out[key] = values.join(",");
1234
+ }
1235
+ function projectionToQuery(spec) {
1236
+ const out = {};
1237
+ if (!spec) {
1238
+ return out;
1239
+ }
1240
+ const { fields, fieldTypes, slots } = spec;
1241
+ const p = SELECT_QUERY_PREFIX;
1242
+ if (fields) {
1243
+ appendCsv(out, `${p}fields[only]`, fields.only);
1244
+ appendCsv(out, `${p}fields[except]`, fields.except);
1245
+ appendCsv(out, `${p}fields[locales]`, fields.locales);
1246
+ }
1247
+ if (fieldTypes) {
1248
+ appendCsv(out, `${p}fieldTypes[only]`, fieldTypes.only);
1249
+ appendCsv(out, `${p}fieldTypes[except]`, fieldTypes.except);
1250
+ }
1251
+ if (slots) {
1252
+ appendCsv(out, `${p}slots[only]`, slots.only);
1253
+ appendCsv(out, `${p}slots[except]`, slots.except);
1254
+ if (typeof slots.depth === "number") {
1255
+ out[`${p}slots[depth]`] = String(slots.depth);
1256
+ }
1257
+ if (slots.named) {
1258
+ const slotNames = Object.keys(slots.named).sort();
1259
+ for (const slotName of slotNames) {
1260
+ const named = slots.named[slotName];
1261
+ if (named && typeof named.depth === "number") {
1262
+ out[`${p}slots.${slotName}[depth]`] = String(named.depth);
1263
+ }
1264
+ }
1265
+ }
1266
+ }
1267
+ return out;
1268
+ }
1152
1269
  var CANVAS_URL = "/api/v1/canvas";
1153
1270
  var CanvasClient = class extends ApiClient {
1154
1271
  constructor(options) {
@@ -1163,17 +1280,24 @@ var CanvasClient = class extends ApiClient {
1163
1280
  /** Fetches lists of Canvas compositions, optionally by type */
1164
1281
  async getCompositionList(params = {}) {
1165
1282
  const { projectId } = this.options;
1166
- const { resolveData, filters, ...originParams } = params;
1283
+ const { resolveData, filters, select, ...originParams } = params;
1167
1284
  const rewrittenFilters = rewriteFiltersForApi(filters);
1285
+ const rewrittenSelect = projectionToQuery(select);
1168
1286
  if (!resolveData) {
1169
- const fetchUri = this.createUrl(CANVAS_URL, { ...originParams, projectId, ...rewrittenFilters });
1287
+ const fetchUri = this.createUrl(CANVAS_URL, {
1288
+ ...originParams,
1289
+ projectId,
1290
+ ...rewrittenFilters,
1291
+ ...rewrittenSelect
1292
+ });
1170
1293
  return this.apiClient(fetchUri);
1171
1294
  }
1172
1295
  const edgeParams = {
1173
1296
  ...originParams,
1174
1297
  projectId,
1175
1298
  diagnostics: typeof params.diagnostics === "boolean" ? params.diagnostics : params.diagnostics === "no-data" ? "no-data" : void 0,
1176
- ...rewrittenFilters
1299
+ ...rewrittenFilters,
1300
+ ...rewrittenSelect
1177
1301
  };
1178
1302
  const edgeUrl = this.createUrl("/api/v1/compositions", edgeParams, this.edgeApiHost);
1179
1303
  return this.apiClient(edgeUrl, this.edgeApiRequestInit);
@@ -1278,20 +1402,26 @@ var _ContentClient = class _ContentClient2 extends ApiClient {
1278
1402
  }
1279
1403
  getContentTypes(options) {
1280
1404
  const { projectId } = this.options;
1281
- const fetchUri = this.createUrl(__privateGet2(_ContentClient2, _contentTypesUrl), { ...options, projectId });
1405
+ const fetchUri = this.createUrl(__privateGet3(_ContentClient2, _contentTypesUrl), { ...options, projectId });
1282
1406
  return this.apiClient(fetchUri);
1283
1407
  }
1284
1408
  getEntries(options) {
1285
1409
  const { projectId } = this.options;
1286
- const { skipDataResolution, filters, ...params } = options;
1410
+ const { skipDataResolution, filters, select, ...params } = options;
1287
1411
  const rewrittenFilters = rewriteFiltersForApi(filters);
1412
+ const rewrittenSelect = projectionToQuery(select);
1288
1413
  if (skipDataResolution) {
1289
- const url = this.createUrl(__privateGet2(_ContentClient2, _entriesUrl), { ...params, ...rewrittenFilters, projectId });
1414
+ const url = this.createUrl(__privateGet3(_ContentClient2, _entriesUrl), {
1415
+ ...params,
1416
+ ...rewrittenFilters,
1417
+ ...rewrittenSelect,
1418
+ projectId
1419
+ });
1290
1420
  return this.apiClient(url);
1291
1421
  }
1292
1422
  const edgeUrl = this.createUrl(
1293
- __privateGet2(_ContentClient2, _entriesUrl),
1294
- { ...this.getEdgeOptions(params), ...rewrittenFilters },
1423
+ __privateGet3(_ContentClient2, _entriesUrl),
1424
+ { ...this.getEdgeOptions(params), ...rewrittenFilters, ...rewrittenSelect },
1295
1425
  this.edgeApiHost
1296
1426
  );
1297
1427
  return this.apiClient(
@@ -1308,7 +1438,7 @@ var _ContentClient = class _ContentClient2 extends ApiClient {
1308
1438
  return this.apiClient(historyUrl);
1309
1439
  }
1310
1440
  async upsertContentType(body, opts = {}) {
1311
- const fetchUri = this.createUrl(__privateGet2(_ContentClient2, _contentTypesUrl));
1441
+ const fetchUri = this.createUrl(__privateGet3(_ContentClient2, _contentTypesUrl));
1312
1442
  if (typeof body.contentType.slugSettings === "object" && body.contentType.slugSettings !== null && Object.keys(body.contentType.slugSettings).length === 0) {
1313
1443
  delete body.contentType.slugSettings;
1314
1444
  }
@@ -1320,7 +1450,7 @@ var _ContentClient = class _ContentClient2 extends ApiClient {
1320
1450
  });
1321
1451
  }
1322
1452
  async upsertEntry(body, options) {
1323
- const fetchUri = this.createUrl(__privateGet2(_ContentClient2, _entriesUrl));
1453
+ const fetchUri = this.createUrl(__privateGet3(_ContentClient2, _entriesUrl));
1324
1454
  const headers = {};
1325
1455
  if (options == null ? void 0 : options.ifUnmodifiedSince) {
1326
1456
  headers["x-if-unmodified-since"] = options.ifUnmodifiedSince;
@@ -1334,7 +1464,7 @@ var _ContentClient = class _ContentClient2 extends ApiClient {
1334
1464
  return { modified: response.headers.get("x-modified-at") };
1335
1465
  }
1336
1466
  async deleteContentType(body) {
1337
- const fetchUri = this.createUrl(__privateGet2(_ContentClient2, _contentTypesUrl));
1467
+ const fetchUri = this.createUrl(__privateGet3(_ContentClient2, _contentTypesUrl));
1338
1468
  await this.apiClient(fetchUri, {
1339
1469
  method: "DELETE",
1340
1470
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -1342,7 +1472,7 @@ var _ContentClient = class _ContentClient2 extends ApiClient {
1342
1472
  });
1343
1473
  }
1344
1474
  async deleteEntry(body) {
1345
- const fetchUri = this.createUrl(__privateGet2(_ContentClient2, _entriesUrl));
1475
+ const fetchUri = this.createUrl(__privateGet3(_ContentClient2, _entriesUrl));
1346
1476
  await this.apiClient(fetchUri, {
1347
1477
  method: "DELETE",
1348
1478
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -1361,8 +1491,8 @@ var _ContentClient = class _ContentClient2 extends ApiClient {
1361
1491
  };
1362
1492
  _contentTypesUrl = /* @__PURE__ */ new WeakMap();
1363
1493
  _entriesUrl = /* @__PURE__ */ new WeakMap();
1364
- __privateAdd2(_ContentClient, _contentTypesUrl, "/api/v1/content-types");
1365
- __privateAdd2(_ContentClient, _entriesUrl, "/api/v1/entries");
1494
+ __privateAdd3(_ContentClient, _contentTypesUrl, "/api/v1/content-types");
1495
+ __privateAdd3(_ContentClient, _entriesUrl, "/api/v1/entries");
1366
1496
  var _url8;
1367
1497
  var _DataTypeClient = class _DataTypeClient2 extends ApiClient {
1368
1498
  constructor(options) {
@@ -1371,12 +1501,12 @@ var _DataTypeClient = class _DataTypeClient2 extends ApiClient {
1371
1501
  /** Fetches all DataTypes for a project */
1372
1502
  async get(options) {
1373
1503
  const { projectId } = this.options;
1374
- const fetchUri = this.createUrl(__privateGet2(_DataTypeClient2, _url8), { ...options, projectId });
1504
+ const fetchUri = this.createUrl(__privateGet3(_DataTypeClient2, _url8), { ...options, projectId });
1375
1505
  return await this.apiClient(fetchUri);
1376
1506
  }
1377
1507
  /** Updates or creates (based on id) a DataType */
1378
1508
  async upsert(body) {
1379
- const fetchUri = this.createUrl(__privateGet2(_DataTypeClient2, _url8));
1509
+ const fetchUri = this.createUrl(__privateGet3(_DataTypeClient2, _url8));
1380
1510
  await this.apiClient(fetchUri, {
1381
1511
  method: "PUT",
1382
1512
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -1385,7 +1515,7 @@ var _DataTypeClient = class _DataTypeClient2 extends ApiClient {
1385
1515
  }
1386
1516
  /** Deletes a DataType */
1387
1517
  async remove(body) {
1388
- const fetchUri = this.createUrl(__privateGet2(_DataTypeClient2, _url8));
1518
+ const fetchUri = this.createUrl(__privateGet3(_DataTypeClient2, _url8));
1389
1519
  await this.apiClient(fetchUri, {
1390
1520
  method: "DELETE",
1391
1521
  body: JSON.stringify({ ...body, projectId: this.options.projectId }),
@@ -1394,7 +1524,7 @@ var _DataTypeClient = class _DataTypeClient2 extends ApiClient {
1394
1524
  }
1395
1525
  };
1396
1526
  _url8 = /* @__PURE__ */ new WeakMap();
1397
- __privateAdd2(_DataTypeClient, _url8, "/api/v1/data-types");
1527
+ __privateAdd3(_DataTypeClient, _url8, "/api/v1/data-types");
1398
1528
  function getComponentPath(ancestorsAndSelf) {
1399
1529
  const path = [];
1400
1530
  for (let i = ancestorsAndSelf.length - 1; i >= 0; i--) {
@@ -1847,7 +1977,7 @@ var _IntegrationPropertyEditorsClient = class _IntegrationPropertyEditorsClient2
1847
1977
  * Gets a list of property type and hook names for the current team, including public integrations' hooks.
1848
1978
  */
1849
1979
  get(options) {
1850
- const fetchUri = this.createUrl(__privateGet2(_IntegrationPropertyEditorsClient2, _baseUrl), {
1980
+ const fetchUri = this.createUrl(__privateGet3(_IntegrationPropertyEditorsClient2, _baseUrl), {
1851
1981
  ...options,
1852
1982
  teamId: this.teamId
1853
1983
  });
@@ -1857,7 +1987,7 @@ var _IntegrationPropertyEditorsClient = class _IntegrationPropertyEditorsClient2
1857
1987
  * Creates or updates a custom AI property editor on a Mesh app.
1858
1988
  */
1859
1989
  async deploy(body) {
1860
- const fetchUri = this.createUrl(__privateGet2(_IntegrationPropertyEditorsClient2, _baseUrl));
1990
+ const fetchUri = this.createUrl(__privateGet3(_IntegrationPropertyEditorsClient2, _baseUrl));
1861
1991
  await this.apiClient(fetchUri, {
1862
1992
  method: "PUT",
1863
1993
  body: JSON.stringify({ ...body, teamId: this.teamId }),
@@ -1868,7 +1998,7 @@ var _IntegrationPropertyEditorsClient = class _IntegrationPropertyEditorsClient2
1868
1998
  * Removes a custom AI property editor from a Mesh app.
1869
1999
  */
1870
2000
  async delete(body) {
1871
- const fetchUri = this.createUrl(__privateGet2(_IntegrationPropertyEditorsClient2, _baseUrl));
2001
+ const fetchUri = this.createUrl(__privateGet3(_IntegrationPropertyEditorsClient2, _baseUrl));
1872
2002
  await this.apiClient(fetchUri, {
1873
2003
  method: "DELETE",
1874
2004
  body: JSON.stringify({ ...body, teamId: this.teamId }),
@@ -1877,7 +2007,7 @@ var _IntegrationPropertyEditorsClient = class _IntegrationPropertyEditorsClient2
1877
2007
  }
1878
2008
  };
1879
2009
  _baseUrl = /* @__PURE__ */ new WeakMap();
1880
- __privateAdd2(_IntegrationPropertyEditorsClient, _baseUrl, "/api/v1/integration-property-editors");
2010
+ __privateAdd3(_IntegrationPropertyEditorsClient, _baseUrl, "/api/v1/integration-property-editors");
1881
2011
  var _url22;
1882
2012
  var _projectsUrl;
1883
2013
  var _ProjectClient = class _ProjectClient2 extends ApiClient {
@@ -1886,7 +2016,7 @@ var _ProjectClient = class _ProjectClient2 extends ApiClient {
1886
2016
  }
1887
2017
  /** Fetches single Project */
1888
2018
  async get(options) {
1889
- const fetchUri = this.createUrl(__privateGet2(_ProjectClient2, _url22), { ...options });
2019
+ const fetchUri = this.createUrl(__privateGet3(_ProjectClient2, _url22), { ...options });
1890
2020
  return await this.apiClient(fetchUri);
1891
2021
  }
1892
2022
  /**
@@ -1895,12 +2025,12 @@ var _ProjectClient = class _ProjectClient2 extends ApiClient {
1895
2025
  * When omitted, returns all accessible teams and their projects.
1896
2026
  */
1897
2027
  async getProjects(options) {
1898
- const fetchUri = this.createUrl(__privateGet2(_ProjectClient2, _projectsUrl), options ? { ...options } : {});
2028
+ const fetchUri = this.createUrl(__privateGet3(_ProjectClient2, _projectsUrl), options ? { ...options } : {});
1899
2029
  return await this.apiClient(fetchUri);
1900
2030
  }
1901
2031
  /** Updates or creates (based on id) a Project */
1902
2032
  async upsert(body) {
1903
- const fetchUri = this.createUrl(__privateGet2(_ProjectClient2, _url22));
2033
+ const fetchUri = this.createUrl(__privateGet3(_ProjectClient2, _url22));
1904
2034
  return await this.apiClient(fetchUri, {
1905
2035
  method: "PUT",
1906
2036
  body: JSON.stringify({ ...body })
@@ -1908,7 +2038,7 @@ var _ProjectClient = class _ProjectClient2 extends ApiClient {
1908
2038
  }
1909
2039
  /** Deletes a Project */
1910
2040
  async delete(body) {
1911
- const fetchUri = this.createUrl(__privateGet2(_ProjectClient2, _url22));
2041
+ const fetchUri = this.createUrl(__privateGet3(_ProjectClient2, _url22));
1912
2042
  await this.apiClient(fetchUri, {
1913
2043
  method: "DELETE",
1914
2044
  body: JSON.stringify({ ...body }),
@@ -1918,8 +2048,8 @@ var _ProjectClient = class _ProjectClient2 extends ApiClient {
1918
2048
  };
1919
2049
  _url22 = /* @__PURE__ */ new WeakMap();
1920
2050
  _projectsUrl = /* @__PURE__ */ new WeakMap();
1921
- __privateAdd2(_ProjectClient, _url22, "/api/v1/project");
1922
- __privateAdd2(_ProjectClient, _projectsUrl, "/api/v1/projects");
2051
+ __privateAdd3(_ProjectClient, _url22, "/api/v1/project");
2052
+ __privateAdd3(_ProjectClient, _projectsUrl, "/api/v1/projects");
1923
2053
  var ROUTE_URL = "/api/v1/route";
1924
2054
  var RouteClient = class extends ApiClient {
1925
2055
  constructor(options) {
@@ -1933,7 +2063,9 @@ var RouteClient = class extends ApiClient {
1933
2063
  /** Fetches lists of Canvas compositions, optionally by type */
1934
2064
  async getRoute(options) {
1935
2065
  const { projectId } = this.options;
1936
- const fetchUri = this.createUrl(ROUTE_URL, { ...options, projectId }, this.edgeApiHost);
2066
+ const { select, ...rest } = options != null ? options : {};
2067
+ const rewrittenSelect = projectionToQuery(select);
2068
+ const fetchUri = this.createUrl(ROUTE_URL, { ...rest, projectId, ...rewrittenSelect }, this.edgeApiHost);
1937
2069
  return await this.apiClient(
1938
2070
  fetchUri,
1939
2071
  this.options.disableSWR ? { headers: { "x-disable-swr": "true" } } : void 0
@@ -2177,7 +2309,7 @@ function createLimiter(concurrency) {
2177
2309
  });
2178
2310
  };
2179
2311
  }
2180
- async function retry(fn, options) {
2312
+ async function retry2(fn, options) {
2181
2313
  let lastError;
2182
2314
  let delay = 1e3;
2183
2315
  for (let attempt = 1; attempt <= options.retries + 1; attempt++) {
@@ -2217,7 +2349,7 @@ function createLimitPolicy2({
2217
2349
  }
2218
2350
  if (retryOptions) {
2219
2351
  const retryFunc = currentFunc;
2220
- currentFunc = () => retry(retryFunc, {
2352
+ currentFunc = () => retry2(retryFunc, {
2221
2353
  ...retryOptions,
2222
2354
  onFailedAttempt: async (error) => {
2223
2355
  if (retryOptions.onFailedAttempt) {
@@ -2351,14 +2483,14 @@ var getManifest = async (options) => {
2351
2483
  var import_server_only3 = require("server-only");
2352
2484
 
2353
2485
  // ../project-map/dist/index.mjs
2354
- var __typeError3 = (msg) => {
2486
+ var __typeError4 = (msg) => {
2355
2487
  throw TypeError(msg);
2356
2488
  };
2357
- var __accessCheck3 = (obj, member, msg) => member.has(obj) || __typeError3("Cannot " + msg);
2358
- var __privateGet3 = (obj, member, getter) => (__accessCheck3(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
2359
- var __privateAdd3 = (obj, member, value) => member.has(obj) ? __typeError3("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2360
- var __privateSet = (obj, member, value, setter) => (__accessCheck3(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
2361
- var __privateMethod = (obj, member, method) => (__accessCheck3(obj, member, "access private method"), method);
2489
+ var __accessCheck4 = (obj, member, msg) => member.has(obj) || __typeError4("Cannot " + msg);
2490
+ var __privateGet4 = (obj, member, getter) => (__accessCheck4(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
2491
+ var __privateAdd4 = (obj, member, value) => member.has(obj) ? __typeError4("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2492
+ var __privateSet2 = (obj, member, value, setter) => (__accessCheck4(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
2493
+ var __privateMethod = (obj, member, method) => (__accessCheck4(obj, member, "access private method"), method);
2362
2494
  var ProjectMapClient = class extends ApiClient {
2363
2495
  constructor(options) {
2364
2496
  super(options);
@@ -2505,12 +2637,12 @@ var isDynamicRouteSegment_fn;
2505
2637
  var _Route = class _Route2 {
2506
2638
  constructor(route) {
2507
2639
  this.route = route;
2508
- __privateAdd3(this, _routeInfo);
2640
+ __privateAdd4(this, _routeInfo);
2509
2641
  var _a;
2510
- __privateSet(this, _routeInfo, __privateMethod(_a = _Route2, _Route_static, parseRouteOrPath_fn).call(_a, this.route));
2642
+ __privateSet2(this, _routeInfo, __privateMethod(_a = _Route2, _Route_static, parseRouteOrPath_fn).call(_a, this.route));
2511
2643
  }
2512
2644
  get dynamicSegmentCount() {
2513
- return __privateGet3(this, _routeInfo).segments.reduce(
2645
+ return __privateGet4(this, _routeInfo).segments.reduce(
2514
2646
  (count, segment) => {
2515
2647
  var _a;
2516
2648
  return __privateMethod(_a = _Route2, _Route_static, isDynamicRouteSegment_fn).call(_a, segment) ? count + 1 : count;
@@ -2522,7 +2654,7 @@ var _Route = class _Route2 {
2522
2654
  matches(path) {
2523
2655
  var _a, _b;
2524
2656
  const { segments: pathSegments, queryParams: pathQuery } = __privateMethod(_a = _Route2, _Route_static, parseRouteOrPath_fn).call(_a, path);
2525
- const { segments: routeSegments } = __privateGet3(this, _routeInfo);
2657
+ const { segments: routeSegments } = __privateGet4(this, _routeInfo);
2526
2658
  if (pathSegments.length !== routeSegments.length) {
2527
2659
  return { match: false };
2528
2660
  }
@@ -2543,7 +2675,7 @@ var _Route = class _Route2 {
2543
2675
  return { match: false };
2544
2676
  }
2545
2677
  }
2546
- for (const [key, value] of __privateGet3(this, _routeInfo).queryParams) {
2678
+ for (const [key, value] of __privateGet4(this, _routeInfo).queryParams) {
2547
2679
  possibleMatch.queryParams[key] = pathQuery.has(key) ? pathQuery.get(key) : value;
2548
2680
  }
2549
2681
  return possibleMatch;
@@ -2553,7 +2685,7 @@ var _Route = class _Route2 {
2553
2685
  */
2554
2686
  expand(options) {
2555
2687
  const { dynamicInputValues = {}, allowedQueryParams = [], doNotEscapeVariables = false } = options != null ? options : {};
2556
- const path = __privateGet3(this, _routeInfo).segments.map((segment) => {
2688
+ const path = __privateGet4(this, _routeInfo).segments.map((segment) => {
2557
2689
  const dynamicSegmentName = _Route2.getDynamicRouteSegmentName(segment);
2558
2690
  if (!dynamicSegmentName) {
2559
2691
  return segment;
@@ -2604,7 +2736,7 @@ isDynamicRouteSegment_fn = function(segment) {
2604
2736
  }
2605
2737
  return segment.startsWith(_Route.dynamicSegmentPrefix);
2606
2738
  };
2607
- __privateAdd3(_Route, _Route_static);
2739
+ __privateAdd4(_Route, _Route_static);
2608
2740
  _Route.dynamicSegmentPrefix = ":";
2609
2741
  function encodeRouteComponent(value, doNotEscapeVariables) {
2610
2742
  if (!doNotEscapeVariables) {