@relyio/sdk 0.19.0 → 0.21.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/automations/index.cjs +1 -1
  3. package/dist/automations/index.d.cts +2 -1588
  4. package/dist/automations/index.d.ts +2 -1588
  5. package/dist/automations/index.js +1 -1
  6. package/dist/{chunk-ZO6QDYJG.cjs → chunk-5WGMIQBH.cjs} +2 -2
  7. package/dist/{chunk-W2A4OTCI.js → chunk-EQUZNVAR.js} +2 -2
  8. package/dist/{chunk-P23G5NXD.cjs → chunk-K66MBRI4.cjs} +68 -51
  9. package/dist/{chunk-356SF5Y2.js → chunk-L42C4G2S.js} +25 -8
  10. package/dist/{chunk-T7LGREB3.js → chunk-OUR7OUUZ.js} +3 -3
  11. package/dist/{chunk-NN45CSPZ.cjs → chunk-UO2QRYKV.cjs} +3 -3
  12. package/dist/client/index.cjs +5 -5
  13. package/dist/client/index.d.cts +4 -4
  14. package/dist/client/index.d.ts +4 -4
  15. package/dist/client/index.js +3 -3
  16. package/dist/{define-content-type-BZ6X8GvL.d.cts → define-content-type-C2HnCYYX.d.cts} +1 -1
  17. package/dist/{define-content-type-C12jh8cY.d.ts → define-content-type-CVLUusfx.d.ts} +1 -1
  18. package/dist/dev-handshake/index.cjs +8 -8
  19. package/dist/dev-handshake/index.d.cts +1 -1
  20. package/dist/dev-handshake/index.d.ts +1 -1
  21. package/dist/dev-handshake/index.js +1 -1
  22. package/dist/extensions/index.cjs +3 -3
  23. package/dist/extensions/index.d.cts +2 -4
  24. package/dist/extensions/index.d.ts +2 -4
  25. package/dist/extensions/index.js +1 -1
  26. package/dist/functions/index.cjs +1 -1
  27. package/dist/functions/index.d.cts +2 -4
  28. package/dist/functions/index.d.ts +2 -4
  29. package/dist/functions/index.js +1 -1
  30. package/dist/{index-BxNnlc5D.d.ts → index-BAdue7TR.d.ts} +54 -9
  31. package/dist/{index-D5jyIeQ5.d.cts → index-BNf3S9W9.d.cts} +54 -9
  32. package/dist/{index-C-MymZTe.d.ts → index-BY1xU93u.d.ts} +1 -1
  33. package/dist/{index-DN0l8RHw.d.cts → index-Cmup6HJY.d.cts} +1 -1
  34. package/dist/index-D0r6fnvl.d.ts +2304 -0
  35. package/dist/index-U5NbHg3N.d.cts +2304 -0
  36. package/dist/index.cjs +76 -76
  37. package/dist/index.d.cts +7 -8
  38. package/dist/index.d.ts +7 -8
  39. package/dist/index.js +4 -4
  40. package/dist/preview/index.cjs +3 -3
  41. package/dist/preview/index.js +1 -1
  42. package/dist/rich-text/index.d.cts +2 -2
  43. package/dist/rich-text/index.d.ts +2 -2
  44. package/dist/schema/index.cjs +1 -1
  45. package/dist/schema/index.d.cts +947 -4
  46. package/dist/schema/index.d.ts +947 -4
  47. package/dist/schema/index.js +1 -1
  48. package/dist/types/index.d.cts +1 -1
  49. package/dist/types/index.d.ts +1 -1
  50. package/package.json +5 -5
  51. package/dist/define-schema-BPlZl4a2.d.cts +0 -947
  52. package/dist/define-schema-CK7TtYot.d.ts +0 -947
  53. package/dist/register-BiMQKVp-.d.ts +0 -693
  54. package/dist/register-DeMsaurp.d.cts +0 -693
@@ -1,6 +1,6 @@
1
1
  export { and, anyEntry, automations, defineAutomation, entries, extensionTrigger, isAutomationFile, not, on, or, records, resolveAutomation, schedule, tpl } from '../chunk-W2GRVXDG.js';
2
2
  export { fields } from '../chunk-PZCDJFMA.js';
3
- import '../chunk-T7LGREB3.js';
3
+ import '../chunk-OUR7OUUZ.js';
4
4
  import '../chunk-DI6KFDBO.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -85,5 +85,5 @@ exports.DEV_ENV = DEV_ENV;
85
85
  exports.buildDevEnv = buildDevEnv;
86
86
  exports.parseDevContextFile = parseDevContextFile;
87
87
  exports.parseDevEnv = parseDevEnv;
88
- //# sourceMappingURL=chunk-ZO6QDYJG.cjs.map
89
- //# sourceMappingURL=chunk-ZO6QDYJG.cjs.map
88
+ //# sourceMappingURL=chunk-5WGMIQBH.cjs.map
89
+ //# sourceMappingURL=chunk-5WGMIQBH.cjs.map
@@ -77,5 +77,5 @@ function parseDevEnv(env, now) {
77
77
  __name(parseDevEnv, "parseDevEnv");
78
78
 
79
79
  export { DEV_CONTEXT_DIR, DEV_CONTEXT_FILE, DEV_CONTEXT_FILENAME, DEV_ENV, buildDevEnv, parseDevContextFile, parseDevEnv };
80
- //# sourceMappingURL=chunk-W2A4OTCI.js.map
81
- //# sourceMappingURL=chunk-W2A4OTCI.js.map
80
+ //# sourceMappingURL=chunk-EQUZNVAR.js.map
81
+ //# sourceMappingURL=chunk-EQUZNVAR.js.map
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkM7MWNV3Q_cjs = require('./chunk-M7MWNV3Q.cjs');
4
- var chunkZO6QDYJG_cjs = require('./chunk-ZO6QDYJG.cjs');
4
+ var chunk5WGMIQBH_cjs = require('./chunk-5WGMIQBH.cjs');
5
5
  var chunk7I3SC7SV_cjs = require('./chunk-7I3SC7SV.cjs');
6
- var chunkNN45CSPZ_cjs = require('./chunk-NN45CSPZ.cjs');
6
+ var chunkUO2QRYKV_cjs = require('./chunk-UO2QRYKV.cjs');
7
7
  var chunkL6DXCKVQ_cjs = require('./chunk-L6DXCKVQ.cjs');
8
8
 
9
9
  /* RelyIO SDK - Built with ❤️ by the RelyIO Team */
@@ -594,7 +594,7 @@ var _ErrorMapper = class _ErrorMapper {
594
594
  return new NetworkError(`HTTP ${status}: ${statusText}`.trim(), status, void 0, context);
595
595
  }
596
596
  const retryAfterMs = parseRetryAfterMs(
597
- headerValue(headers, chunkNN45CSPZ_cjs.HEADER_RETRY_AFTER.name),
597
+ headerValue(headers, chunkUO2QRYKV_cjs.HEADER_RETRY_AFTER.name),
598
598
  Date.now()
599
599
  );
600
600
  return this.fromContractCode(refusal, status, context, retryAfterMs);
@@ -824,7 +824,7 @@ function endUserTokenReasonOf(refusal) {
824
824
  }
825
825
  chunkL6DXCKVQ_cjs.__name(endUserTokenReasonOf, "endUserTokenReasonOf");
826
826
  function isEndUserTokenReason(value) {
827
- return value !== void 0 && chunkNN45CSPZ_cjs.END_USER_TOKEN_REFUSAL_REASONS.includes(value);
827
+ return value !== void 0 && chunkUO2QRYKV_cjs.END_USER_TOKEN_REFUSAL_REASONS.includes(value);
828
828
  }
829
829
  chunkL6DXCKVQ_cjs.__name(isEndUserTokenReason, "isEndUserTokenReason");
830
830
 
@@ -1002,7 +1002,7 @@ var IDEMPOTENT_METHODS = /* @__PURE__ */ new Set([
1002
1002
  ]);
1003
1003
  function isReplaySafe(request) {
1004
1004
  if (IDEMPOTENT_METHODS.has(request.method.toUpperCase())) return true;
1005
- return headerValue(request.headers, chunkNN45CSPZ_cjs.HEADER_IDEMPOTENCY_KEY.name) !== void 0;
1005
+ return headerValue(request.headers, chunkUO2QRYKV_cjs.HEADER_IDEMPOTENCY_KEY.name) !== void 0;
1006
1006
  }
1007
1007
  chunkL6DXCKVQ_cjs.__name(isReplaySafe, "isReplaySafe");
1008
1008
  var UNREACHABLE_CODES = /* @__PURE__ */ new Set(["ECONNREFUSED", "ENOTFOUND"]);
@@ -1552,7 +1552,7 @@ chunkL6DXCKVQ_cjs.__name(_ControlledHttpClient, "ControlledHttpClient");
1552
1552
  var ControlledHttpClient = _ControlledHttpClient;
1553
1553
  var API_KEY_HEADER = "X-API-Key";
1554
1554
  var DATASET_HEADER = "X-RelyIO-Dataset";
1555
- var END_USER_HEADER = chunkNN45CSPZ_cjs.HEADER_END_USER.name;
1555
+ var END_USER_HEADER = chunkUO2QRYKV_cjs.HEADER_END_USER.name;
1556
1556
  function derivedPreviewIn(headers) {
1557
1557
  const dataset = headerValue(headers, DATASET_HEADER);
1558
1558
  return dataset !== void 0 && isDerivedPreview(dataset) ? dataset : void 0;
@@ -1615,7 +1615,7 @@ chunkL6DXCKVQ_cjs.__name(credentialsModeFor, "credentialsModeFor");
1615
1615
  // src/http/write-options.ts
1616
1616
  function versionCheckOf(entry) {
1617
1617
  const { id, locale, version, sharedVersion } = entry._metadata;
1618
- return { id, locale, ifMatch: chunkNN45CSPZ_cjs.entityTag({ entryUid: id, locale, version, sharedVersion }) };
1618
+ return { id, locale, ifMatch: chunkUO2QRYKV_cjs.entityTag({ entryUid: id, locale, version, sharedVersion }) };
1619
1619
  }
1620
1620
  chunkL6DXCKVQ_cjs.__name(versionCheckOf, "versionCheckOf");
1621
1621
  function mintIdempotencyKey() {
@@ -1627,11 +1627,11 @@ chunkL6DXCKVQ_cjs.__name(mintIdempotencyKey, "mintIdempotencyKey");
1627
1627
  function writeHeaders(options) {
1628
1628
  const headers = {};
1629
1629
  if (options?.ifMatch !== void 0) {
1630
- headers[chunkNN45CSPZ_cjs.HEADER_IF_MATCH.name] = options.ifMatch;
1630
+ headers[chunkUO2QRYKV_cjs.HEADER_IF_MATCH.name] = options.ifMatch;
1631
1631
  }
1632
1632
  const idempotencyKey = options?.idempotencyKey ?? mintIdempotencyKey();
1633
1633
  if (idempotencyKey !== void 0) {
1634
- headers[chunkNN45CSPZ_cjs.HEADER_IDEMPOTENCY_KEY.name] = idempotencyKey;
1634
+ headers[chunkUO2QRYKV_cjs.HEADER_IDEMPOTENCY_KEY.name] = idempotencyKey;
1635
1635
  }
1636
1636
  return Object.keys(headers).length > 0 ? headers : void 0;
1637
1637
  }
@@ -1728,7 +1728,7 @@ function writeDocumentTerms(query, options, clientLocale) {
1728
1728
  query.include = options.include.join(",");
1729
1729
  }
1730
1730
  writeLocale(query, options.locale ?? clientLocale);
1731
- if (typeof options.fresh === "string") query[chunkNN45CSPZ_cjs.FRESH_PARAMETER] = options.fresh;
1731
+ if (typeof options.fresh === "string") query[chunkUO2QRYKV_cjs.FRESH_PARAMETER] = options.fresh;
1732
1732
  }
1733
1733
  chunkL6DXCKVQ_cjs.__name(writeDocumentTerms, "writeDocumentTerms");
1734
1734
  function writeLocale(query, locale) {
@@ -2018,6 +2018,18 @@ var _ContentClient = class _ContentClient extends EntryHandle {
2018
2018
  chunkL6DXCKVQ_cjs.__name(_ContentClient, "ContentClient");
2019
2019
  var ContentClient = _ContentClient;
2020
2020
 
2021
+ // src/errors/mime-matches.ts
2022
+ function mimeMatches(fileType, pattern) {
2023
+ const actual = (fileType.split(";")[0] ?? "").trim().toLowerCase();
2024
+ const allowed = (pattern.split(";")[0] ?? "").trim().toLowerCase();
2025
+ if (allowed === "*" || allowed === "*/*") return true;
2026
+ if (allowed === actual) return true;
2027
+ const [allowedType, allowedSubtype] = allowed.split("/");
2028
+ const [actualType] = actual.split("/");
2029
+ return allowedSubtype === "*" && allowedType === actualType;
2030
+ }
2031
+ chunkL6DXCKVQ_cjs.__name(mimeMatches, "mimeMatches");
2032
+
2021
2033
  // src/errors/file-errors.ts
2022
2034
  var _FileUploadError = class _FileUploadError extends SDKError {
2023
2035
  constructor(code, message, options = {}) {
@@ -2048,12 +2060,13 @@ var FileValidationError = _FileValidationError;
2048
2060
  function validateFile(file, constraints = {}) {
2049
2061
  const violations = [];
2050
2062
  const { allowedMimeTypes, maxSizeBytes } = constraints;
2051
- if (allowedMimeTypes && allowedMimeTypes.length > 0 && file.type != null && file.type !== "" && !allowedMimeTypes.includes(file.type)) {
2063
+ const { type } = file;
2064
+ if (allowedMimeTypes && allowedMimeTypes.length > 0 && type != null && type !== "" && !allowedMimeTypes.some((pattern) => mimeMatches(type, pattern))) {
2052
2065
  violations.push({
2053
2066
  field: "file",
2054
2067
  code: "UNSUPPORTED_MIME",
2055
- message: `Unsupported file type "${file.type}". Allowed: ${allowedMimeTypes.join(", ")}`,
2056
- value: file.type
2068
+ message: `Unsupported file type "${type}". Allowed: ${allowedMimeTypes.join(", ")}`,
2069
+ value: type
2057
2070
  });
2058
2071
  }
2059
2072
  if (typeof maxSizeBytes === "number" && maxSizeBytes > 0 && typeof file.size === "number" && file.size > maxSizeBytes) {
@@ -3317,7 +3330,7 @@ chunkL6DXCKVQ_cjs.__name(originOf, "originOf");
3317
3330
 
3318
3331
  // src/changes/live-edge.ts
3319
3332
  var LIVE_KEEPALIVE_INTERVAL_MS = 3e4;
3320
- var LIVE_SOCKET_OPEN_TIMEOUT_MS = chunkNN45CSPZ_cjs.VISITOR_POLL_INTERVAL_MS;
3333
+ var LIVE_SOCKET_OPEN_TIMEOUT_MS = chunkUO2QRYKV_cjs.VISITOR_POLL_INTERVAL_MS;
3321
3334
  var LIVE_POLLS_BEFORE_SOCKET = 4;
3322
3335
  async function* subscribeLiveEdge(client, options = {}) {
3323
3336
  const { signal } = options;
@@ -3387,12 +3400,12 @@ async function* followSocket(socket, reach, options) {
3387
3400
  return "unopened";
3388
3401
  }
3389
3402
  case "message": {
3390
- if (event.data === chunkNN45CSPZ_cjs.VISITOR_KEEPALIVE.response) continue;
3391
- const frame = typeof event.data === "string" ? chunkNN45CSPZ_cjs.parseVisitorFrame(event.data) : null;
3403
+ if (event.data === chunkUO2QRYKV_cjs.VISITOR_KEEPALIVE.response) continue;
3404
+ const frame = typeof event.data === "string" ? chunkUO2QRYKV_cjs.parseVisitorFrame(event.data) : null;
3392
3405
  if (frame === null)
3393
3406
  throw unreadable(`a frame the wire does not declare: ${sample(event.data)}`);
3394
3407
  switch (frame.type) {
3395
- case chunkNN45CSPZ_cjs.VISITOR_FRAMES.opened: {
3408
+ case chunkUO2QRYKV_cjs.VISITOR_FRAMES.opened: {
3396
3409
  caughtUp = true;
3397
3410
  inbox.caughtUp();
3398
3411
  reach.position = frame.cursor;
@@ -3400,7 +3413,7 @@ async function* followSocket(socket, reach, options) {
3400
3413
  options.reached?.(frame.cursor);
3401
3414
  continue;
3402
3415
  }
3403
- case chunkNN45CSPZ_cjs.VISITOR_FRAMES.changes: {
3416
+ case chunkUO2QRYKV_cjs.VISITOR_FRAMES.changes: {
3404
3417
  const prior = reach.position;
3405
3418
  if (prior === void 0) throw unreadable("changes before the socket had a position");
3406
3419
  for (const change of changesOf(frame.changes, frame.cursor, prior)) {
@@ -3411,7 +3424,7 @@ async function* followSocket(socket, reach, options) {
3411
3424
  if (frame.changes.length === 0) options.reached?.(frame.cursor);
3412
3425
  continue;
3413
3426
  }
3414
- case chunkNN45CSPZ_cjs.VISITOR_FRAMES.resync: {
3427
+ case chunkUO2QRYKV_cjs.VISITOR_FRAMES.resync: {
3415
3428
  await expire(frame.reason, frame.cursor, options);
3416
3429
  if (isAborted(signal)) return "aborted";
3417
3430
  reach.position = frame.cursor;
@@ -3483,7 +3496,7 @@ function socketInbox(socket, signal) {
3483
3496
  return;
3484
3497
  }
3485
3498
  heard = false;
3486
- if (socket.readyState === SOCKET_OPEN) socket.send(chunkNN45CSPZ_cjs.VISITOR_KEEPALIVE.request);
3499
+ if (socket.readyState === SOCKET_OPEN) socket.send(chunkUO2QRYKV_cjs.VISITOR_KEEPALIVE.request);
3487
3500
  }, LIVE_KEEPALIVE_INTERVAL_MS);
3488
3501
  },
3489
3502
  caughtUp() {
@@ -3519,19 +3532,19 @@ var AFTER_A_CLOSE = {
3519
3532
  "back-off": "Retrying after a back-off of at least a minute, without polling, which the same admission refuses."
3520
3533
  };
3521
3534
  function closeRetryOf(code) {
3522
- if (hasOwn(chunkNN45CSPZ_cjs.VISITOR_CLOSE_RETRY, code)) return chunkNN45CSPZ_cjs.VISITOR_CLOSE_RETRY[code];
3535
+ if (hasOwn(chunkUO2QRYKV_cjs.VISITOR_CLOSE_RETRY, code)) return chunkUO2QRYKV_cjs.VISITOR_CLOSE_RETRY[code];
3523
3536
  return code < 4e3 ? "retry" : "stop";
3524
3537
  }
3525
3538
  chunkL6DXCKVQ_cjs.__name(closeRetryOf, "closeRetryOf");
3526
3539
  var CLOSE_MEANING = {
3527
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.requestInvalid]: "the edge could not read the request \u2014 a malformed cursor or filter",
3528
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.keyRefused]: "the key is not a publishable key the edge accepts \u2014 unknown, revoked or expired",
3529
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.originRefused]: "this page\u2019s origin is not on the publishable key\u2019s allowed origins",
3530
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.datasetRefused]: "`dataset` names no dataset the key reaches",
3531
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.unavailable]: "the edge could not serve this connection just now \u2014 it could not reach what it needed",
3532
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.allowanceReached]: "the project holds as many live connections as its plan allows",
3533
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.addressLimitReached]: "this address holds as many live connections to the project as one address may",
3534
- [chunkNN45CSPZ_cjs.VISITOR_CLOSE_CODES.ceilingReached]: "the project is at its safety ceiling of live connections"
3540
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.requestInvalid]: "the edge could not read the request \u2014 a malformed cursor or filter",
3541
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.keyRefused]: "the key is not a publishable key the edge accepts \u2014 unknown, revoked or expired",
3542
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.originRefused]: "this page\u2019s origin is not on the publishable key\u2019s allowed origins",
3543
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.datasetRefused]: "`dataset` names no dataset the key reaches",
3544
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.unavailable]: "the edge could not serve this connection just now \u2014 it could not reach what it needed",
3545
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.allowanceReached]: "the project holds as many live connections as its plan allows",
3546
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.addressLimitReached]: "this address holds as many live connections to the project as one address may",
3547
+ [chunkUO2QRYKV_cjs.VISITOR_CLOSE_CODES.ceilingReached]: "the project is at its safety ceiling of live connections"
3535
3548
  };
3536
3549
  async function* followPolls(client, request, reach, options) {
3537
3550
  const { signal } = options;
@@ -3559,7 +3572,7 @@ async function* followPolls(client, request, reach, options) {
3559
3572
  if (starting) options.reached?.(answer.cursor);
3560
3573
  }
3561
3574
  starting = false;
3562
- await sleep(chunkNN45CSPZ_cjs.VISITOR_POLL_INTERVAL_MS, signal);
3575
+ await sleep(chunkUO2QRYKV_cjs.VISITOR_POLL_INTERVAL_MS, signal);
3563
3576
  }
3564
3577
  return isAborted(signal) ? "aborted" : "socket";
3565
3578
  }
@@ -3601,7 +3614,7 @@ async function pollOnce2(client, request, since, signal) {
3601
3614
  }
3602
3615
  const body = parseJson(text);
3603
3616
  if (!response.ok) throw refusedPoll(response, body, context);
3604
- const answer = chunkNN45CSPZ_cjs.readVisitorPollAnswer(isRecord(body) ? body["data"] : void 0);
3617
+ const answer = chunkUO2QRYKV_cjs.readVisitorPollAnswer(isRecord(body) ? body["data"] : void 0);
3605
3618
  if (answer === null)
3606
3619
  throw unreadable(`a poll answer the wire does not declare: ${sample(text)}`);
3607
3620
  return answer;
@@ -3621,13 +3634,13 @@ function refusedPoll(response, body, context) {
3621
3634
  { ...context, method: "GET" }
3622
3635
  );
3623
3636
  const refusal = readError(body);
3624
- if (refusal === void 0 || !hasOwn(chunkNN45CSPZ_cjs.VISITOR_POLL_RETRY, refusal.code)) return mapped;
3637
+ if (refusal === void 0 || !hasOwn(chunkUO2QRYKV_cjs.VISITOR_POLL_RETRY, refusal.code)) return mapped;
3625
3638
  const code = refusal.code;
3626
3639
  const retryAfterMs = parseRetryAfterMs(headerValue(headers, "Retry-After"), Date.now());
3627
3640
  return new LiveEdgeError(
3628
3641
  `The live edge refused a poll (${code}): ${refusal.messages[0] ?? mapped.message}`,
3629
3642
  { kind: "refused", code },
3630
- chunkNN45CSPZ_cjs.VISITOR_POLL_RETRY[code],
3643
+ chunkUO2QRYKV_cjs.VISITOR_POLL_RETRY[code],
3631
3644
  {
3632
3645
  statusCode: response.status,
3633
3646
  cause: mapped,
@@ -3655,17 +3668,17 @@ function edgeRequest(client, filter) {
3655
3668
  chunkL6DXCKVQ_cjs.__name(edgeRequest, "edgeRequest");
3656
3669
  function edgeUrl(request, since, transport, clientId) {
3657
3670
  const url = new URL(request.base.href);
3658
- url.pathname = `${url.pathname.replace(/\/+$/, "")}${chunkNN45CSPZ_cjs.VISITOR_LIVE_PATH}`;
3671
+ url.pathname = `${url.pathname.replace(/\/+$/, "")}${chunkUO2QRYKV_cjs.VISITOR_LIVE_PATH}`;
3659
3672
  if (transport === "socket") url.protocol = url.protocol === "http:" ? "ws:" : "wss:";
3660
3673
  const query = new URLSearchParams();
3661
- if (request.key !== void 0) query.set(chunkNN45CSPZ_cjs.VISITOR_QUERY.key, request.key);
3674
+ if (request.key !== void 0) query.set(chunkUO2QRYKV_cjs.VISITOR_QUERY.key, request.key);
3662
3675
  if (request.dataset !== void 0 && request.dataset !== "") {
3663
- query.set(chunkNN45CSPZ_cjs.VISITOR_QUERY.dataset, request.dataset);
3676
+ query.set(chunkUO2QRYKV_cjs.VISITOR_QUERY.dataset, request.dataset);
3664
3677
  }
3665
- if (since !== void 0) query.set(chunkNN45CSPZ_cjs.VISITOR_QUERY.since, since);
3666
- if (request.types !== void 0) query.set(chunkNN45CSPZ_cjs.VISITOR_QUERY.types, request.types.join(","));
3667
- if (request.ids !== void 0) query.set(chunkNN45CSPZ_cjs.VISITOR_QUERY.ids, request.ids.join(","));
3668
- if (transport === "poll" && clientId !== void 0) query.set(chunkNN45CSPZ_cjs.VISITOR_QUERY.client, clientId);
3678
+ if (since !== void 0) query.set(chunkUO2QRYKV_cjs.VISITOR_QUERY.since, since);
3679
+ if (request.types !== void 0) query.set(chunkUO2QRYKV_cjs.VISITOR_QUERY.types, request.types.join(","));
3680
+ if (request.ids !== void 0) query.set(chunkUO2QRYKV_cjs.VISITOR_QUERY.ids, request.ids.join(","));
3681
+ if (transport === "poll" && clientId !== void 0) query.set(chunkUO2QRYKV_cjs.VISITOR_QUERY.client, clientId);
3669
3682
  url.search = query.toString();
3670
3683
  return url.href;
3671
3684
  }
@@ -3728,7 +3741,7 @@ async function callFunction(http, name, input, options) {
3728
3741
  body: { input },
3729
3742
  headers: {
3730
3743
  ...readHeaders({ dataset: options.dataset }),
3731
- ...options.idempotencyKey === void 0 ? {} : { [chunkNN45CSPZ_cjs.HEADER_IDEMPOTENCY_KEY.name]: options.idempotencyKey }
3744
+ ...options.idempotencyKey === void 0 ? {} : { [chunkUO2QRYKV_cjs.HEADER_IDEMPOTENCY_KEY.name]: options.idempotencyKey }
3732
3745
  },
3733
3746
  timeout: options.timeout ?? FUNCTION_CALL_TIMEOUT_MS,
3734
3747
  ...signalOf(options)
@@ -3778,7 +3791,7 @@ function transportOf(options) {
3778
3791
  return {
3779
3792
  ...signalOf(options),
3780
3793
  ...headers === void 0 ? {} : { headers },
3781
- ...typeof options.fresh === "string" ? { query: { [chunkNN45CSPZ_cjs.FRESH_PARAMETER]: options.fresh } } : {}
3794
+ ...typeof options.fresh === "string" ? { query: { [chunkUO2QRYKV_cjs.FRESH_PARAMETER]: options.fresh } } : {}
3782
3795
  };
3783
3796
  }
3784
3797
  chunkL6DXCKVQ_cjs.__name(transportOf, "transportOf");
@@ -3959,7 +3972,7 @@ async function runAdhocQuery(http, query, clientLocale) {
3959
3972
  const terms = {};
3960
3973
  if (query.cursor !== void 0) terms.cursor = query.cursor;
3961
3974
  writeLocale(terms, query.locale ?? clientLocale);
3962
- if (typeof query.fresh === "string") terms[chunkNN45CSPZ_cjs.FRESH_PARAMETER] = query.fresh;
3975
+ if (typeof query.fresh === "string") terms[chunkUO2QRYKV_cjs.FRESH_PARAMETER] = query.fresh;
3963
3976
  const parameters = { ...query.params };
3964
3977
  const body = {
3965
3978
  query: {
@@ -3994,7 +4007,7 @@ async function runNamedQuery(http, name, options, clientLocale) {
3994
4007
  const locale = options.locale ?? clientLocale;
3995
4008
  const terms = {};
3996
4009
  if (locale !== void 0 && locale !== "") terms.locale = locale;
3997
- if (typeof options.fresh === "string") terms[chunkNN45CSPZ_cjs.FRESH_PARAMETER] = options.fresh;
4010
+ if (typeof options.fresh === "string") terms[chunkUO2QRYKV_cjs.FRESH_PARAMETER] = options.fresh;
3998
4011
  const headers = readHeaders(options);
3999
4012
  const response = await http.send(
4000
4013
  "/v1/queries/{name}",
@@ -4034,7 +4047,7 @@ function isProduction(proc) {
4034
4047
  }
4035
4048
  chunkL6DXCKVQ_cjs.__name(isProduction, "isProduction");
4036
4049
  function resolveFromEnv(proc, now) {
4037
- const verdict = chunkZO6QDYJG_cjs.parseDevEnv(proc?.env, now);
4050
+ const verdict = chunk5WGMIQBH_cjs.parseDevEnv(proc?.env, now);
4038
4051
  switch (verdict.state) {
4039
4052
  case "active":
4040
4053
  return {
@@ -4064,7 +4077,7 @@ function resolveFromFile(proc, now) {
4064
4077
  if (fs == null || path == null) return { state: "absent" };
4065
4078
  let dir = proc.cwd();
4066
4079
  for (; ; ) {
4067
- const candidate = path.join(dir, chunkZO6QDYJG_cjs.DEV_CONTEXT_DIR, chunkZO6QDYJG_cjs.DEV_CONTEXT_FILENAME);
4080
+ const candidate = path.join(dir, chunk5WGMIQBH_cjs.DEV_CONTEXT_DIR, chunk5WGMIQBH_cjs.DEV_CONTEXT_FILENAME);
4068
4081
  let raw = null;
4069
4082
  try {
4070
4083
  if (fs.existsSync(candidate)) raw = fs.readFileSync(candidate, "utf8");
@@ -4072,7 +4085,7 @@ function resolveFromFile(proc, now) {
4072
4085
  return { state: "absent" };
4073
4086
  }
4074
4087
  if (raw !== null) {
4075
- const verdict = chunkZO6QDYJG_cjs.parseDevContextFile(raw, now);
4088
+ const verdict = chunk5WGMIQBH_cjs.parseDevContextFile(raw, now);
4076
4089
  switch (verdict.state) {
4077
4090
  case "active":
4078
4091
  return {
@@ -4228,7 +4241,7 @@ function withPreview(configured) {
4228
4241
  if (configured.dataset !== void 0 || !isPreviewKey(configured.apiKey)) return configured;
4229
4242
  const preview = readPreviewAtRequest();
4230
4243
  if (preview.state !== "preview") return configured;
4231
- const dataset = chunkNN45CSPZ_cjs.previewDatasetSlug(preview.branch);
4244
+ const dataset = chunkUO2QRYKV_cjs.previewDatasetSlug(preview.branch);
4232
4245
  noteDerivedPreview(dataset);
4233
4246
  if (!previewNotified) {
4234
4247
  previewNotified = true;
@@ -4339,9 +4352,13 @@ var _TypedRelyIOClient = class _TypedRelyIOClient {
4339
4352
  * `FunctionRunFailedError` and one past five minutes `FunctionRunTimedOutError`, each naming the
4340
4353
  * run. Never retried: a Function may write.
4341
4354
  *
4355
+ * Once `relyio generate-types` has run, its `schema.ts` registers each Function's input and output
4356
+ * Fields (REL-4059): only the project's Functions are named here, and each call takes and answers
4357
+ * what its Fields declare, so a misnamed or mistyped input field is a type error.
4358
+ *
4342
4359
  * @example
4343
4360
  * ```typescript
4344
- * const { orderId } = (await relyio.functions.checkout({ cartId })) as { orderId: string }
4361
+ * const { orderId } = await relyio.functions.checkout({ cartId })
4345
4362
  * ```
4346
4363
  */
4347
4364
  // Read when called, never when made: `with()` and `updateConfig()` move `httpClient`
@@ -4933,5 +4950,5 @@ exports.serviceInstructedDelayMs = serviceInstructedDelayMs;
4933
4950
  exports.sleep = sleep;
4934
4951
  exports.validateFile = validateFile;
4935
4952
  exports.versionCheckOf = versionCheckOf;
4936
- //# sourceMappingURL=chunk-P23G5NXD.cjs.map
4937
- //# sourceMappingURL=chunk-P23G5NXD.cjs.map
4953
+ //# sourceMappingURL=chunk-K66MBRI4.cjs.map
4954
+ //# sourceMappingURL=chunk-K66MBRI4.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { isBrowser } from './chunk-NJQK5STK.js';
2
- import { parseDevEnv, DEV_CONTEXT_DIR, DEV_CONTEXT_FILENAME, parseDevContextFile } from './chunk-W2A4OTCI.js';
2
+ import { parseDevEnv, DEV_CONTEXT_DIR, DEV_CONTEXT_FILENAME, parseDevContextFile } from './chunk-EQUZNVAR.js';
3
3
  import { UNKNOWN_PREVIEW_RECHECK_MS, previewAtRequest } from './chunk-HDHBYYEY.js';
4
- import { HEADER_END_USER, VISITOR_CLOSE_CODES, HEADER_RETRY_AFTER, END_USER_TOKEN_REFUSAL_REASONS, HEADER_IDEMPOTENCY_KEY, entityTag, HEADER_IF_MATCH, FRESH_PARAMETER, VISITOR_KEEPALIVE, parseVisitorFrame, VISITOR_FRAMES, VISITOR_POLL_INTERVAL_MS, VISITOR_CLOSE_RETRY, readVisitorPollAnswer, VISITOR_POLL_RETRY, VISITOR_LIVE_PATH, VISITOR_QUERY, previewDatasetSlug } from './chunk-T7LGREB3.js';
4
+ import { HEADER_END_USER, VISITOR_CLOSE_CODES, HEADER_RETRY_AFTER, END_USER_TOKEN_REFUSAL_REASONS, HEADER_IDEMPOTENCY_KEY, entityTag, HEADER_IF_MATCH, FRESH_PARAMETER, VISITOR_KEEPALIVE, parseVisitorFrame, VISITOR_FRAMES, VISITOR_POLL_INTERVAL_MS, VISITOR_CLOSE_RETRY, readVisitorPollAnswer, VISITOR_POLL_RETRY, VISITOR_LIVE_PATH, VISITOR_QUERY, previewDatasetSlug } from './chunk-OUR7OUUZ.js';
5
5
  import { __name, __publicField } from './chunk-DI6KFDBO.js';
6
6
 
7
7
  /* RelyIO SDK - Built with ❤️ by the RelyIO Team */
@@ -2016,6 +2016,18 @@ var _ContentClient = class _ContentClient extends EntryHandle {
2016
2016
  __name(_ContentClient, "ContentClient");
2017
2017
  var ContentClient = _ContentClient;
2018
2018
 
2019
+ // src/errors/mime-matches.ts
2020
+ function mimeMatches(fileType, pattern) {
2021
+ const actual = (fileType.split(";")[0] ?? "").trim().toLowerCase();
2022
+ const allowed = (pattern.split(";")[0] ?? "").trim().toLowerCase();
2023
+ if (allowed === "*" || allowed === "*/*") return true;
2024
+ if (allowed === actual) return true;
2025
+ const [allowedType, allowedSubtype] = allowed.split("/");
2026
+ const [actualType] = actual.split("/");
2027
+ return allowedSubtype === "*" && allowedType === actualType;
2028
+ }
2029
+ __name(mimeMatches, "mimeMatches");
2030
+
2019
2031
  // src/errors/file-errors.ts
2020
2032
  var _FileUploadError = class _FileUploadError extends SDKError {
2021
2033
  constructor(code, message, options = {}) {
@@ -2046,12 +2058,13 @@ var FileValidationError = _FileValidationError;
2046
2058
  function validateFile(file, constraints = {}) {
2047
2059
  const violations = [];
2048
2060
  const { allowedMimeTypes, maxSizeBytes } = constraints;
2049
- if (allowedMimeTypes && allowedMimeTypes.length > 0 && file.type != null && file.type !== "" && !allowedMimeTypes.includes(file.type)) {
2061
+ const { type } = file;
2062
+ if (allowedMimeTypes && allowedMimeTypes.length > 0 && type != null && type !== "" && !allowedMimeTypes.some((pattern) => mimeMatches(type, pattern))) {
2050
2063
  violations.push({
2051
2064
  field: "file",
2052
2065
  code: "UNSUPPORTED_MIME",
2053
- message: `Unsupported file type "${file.type}". Allowed: ${allowedMimeTypes.join(", ")}`,
2054
- value: file.type
2066
+ message: `Unsupported file type "${type}". Allowed: ${allowedMimeTypes.join(", ")}`,
2067
+ value: type
2055
2068
  });
2056
2069
  }
2057
2070
  if (typeof maxSizeBytes === "number" && maxSizeBytes > 0 && typeof file.size === "number" && file.size > maxSizeBytes) {
@@ -4337,9 +4350,13 @@ var _TypedRelyIOClient = class _TypedRelyIOClient {
4337
4350
  * `FunctionRunFailedError` and one past five minutes `FunctionRunTimedOutError`, each naming the
4338
4351
  * run. Never retried: a Function may write.
4339
4352
  *
4353
+ * Once `relyio generate-types` has run, its `schema.ts` registers each Function's input and output
4354
+ * Fields (REL-4059): only the project's Functions are named here, and each call takes and answers
4355
+ * what its Fields declare, so a misnamed or mistyped input field is a type error.
4356
+ *
4340
4357
  * @example
4341
4358
  * ```typescript
4342
- * const { orderId } = (await relyio.functions.checkout({ cartId })) as { orderId: string }
4359
+ * const { orderId } = await relyio.functions.checkout({ cartId })
4343
4360
  * ```
4344
4361
  */
4345
4362
  // Read when called, never when made: `with()` and `updateConfig()` move `httpClient`
@@ -4870,5 +4887,5 @@ function randomClientId() {
4870
4887
  __name(randomClientId, "randomClientId");
4871
4888
 
4872
4889
  export { AssetClient, AssetFileBuilder, AssetUploadBuilder, AuthorizationError, BaseValidationError, ChangesExpiredError, ConnectionError, ContentClient, DefaultRetryPolicy, EndUserTokenInvalidError, ErrorMapper, FileUploadError, FileValidationError, FunctionContainersBusyError, FunctionRunFailedError, FunctionRunTimedOutError, HttpClient, InvalidApiKeyError, InvalidPayloadError, LIVE_KEEPALIVE_INTERVAL_MS, LIVE_SOCKET_OPEN_TIMEOUT_MS, LiveEdgeError, MethodNotAllowedError, MissingApiKeyError, NetworkError, PREVIEW_KEY_PREFIX, PUBLISHABLE_KEY_PREFIX, PayloadTooLargeError, PlanFeatureUnavailableError, PublishableKeyRefusedError, RateLimitError, ReadOnlyKeyError, RecordsClient, ResourceConflictError, ResourceExpiredError, ResourceNotFoundError, SDKError, ServerError, ServiceIndeterminateError, SettingsClient, SingletonClient, TimeoutError, TransactionRolledBackError, TypedRelyIOClient, UnknownContractError, UsageQuotaExceededError, ValidationError, createClient, isAborted, isAssetEntry, isMissingEntry, isPreviewKey, isPublishableKey, isReplaySafe, isResourceNotFound, matchRoute, refusedOperationOf, retryPolicyFor, serviceInstructedDelayMs, sleep, validateFile, versionCheckOf };
4873
- //# sourceMappingURL=chunk-356SF5Y2.js.map
4874
- //# sourceMappingURL=chunk-356SF5Y2.js.map
4890
+ //# sourceMappingURL=chunk-L42C4G2S.js.map
4891
+ //# sourceMappingURL=chunk-L42C4G2S.js.map
@@ -51,7 +51,7 @@ function refuseMismatchedAlternate(route, stream) {
51
51
  }
52
52
  __name(refuseMismatchedAlternate, "refuseMismatchedAlternate");
53
53
 
54
- // ../../platform/api-contract/dist/chunk-WT7DXIEW.js
54
+ // ../../platform/api-contract/dist/chunk-4KRF3DVJ.js
55
55
  var HEADER_END_USER = {
56
56
  name: "X-RelyIO-End-User",
57
57
  in: "request",
@@ -844,5 +844,5 @@ var EXTENSION_BACKFILL_REFUSALS = [
844
844
  new Set(EXTENSION_BACKFILL_REFUSALS);
845
845
 
846
846
  export { CONTRIBUTED_FIELD_KIND_OPTION, END_USER_TOKEN_REFUSAL_REASONS, EXTENSION_SURFACES, FRESH_PARAMETER, HEADER_END_USER, HEADER_IDEMPOTENCY_KEY, HEADER_IF_MATCH, HEADER_RETRY_AFTER, PREVIEW_DATASET_PREFIX, VISITOR_ADMISSION_RETRY_AFTER_SECONDS, VISITOR_CLOSE_CODES, VISITOR_CLOSE_RETRY, VISITOR_FRAMES, VISITOR_KEEPALIVE, VISITOR_LIVE_PATH, VISITOR_POLL_INTERVAL_MS, VISITOR_POLL_RETRY, VISITOR_QUERY, contributedFieldKindName, entityTag, parseVisitorFrame, previewDatasetSlug, readVisitorPollAnswer };
847
- //# sourceMappingURL=chunk-T7LGREB3.js.map
848
- //# sourceMappingURL=chunk-T7LGREB3.js.map
847
+ //# sourceMappingURL=chunk-OUR7OUUZ.js.map
848
+ //# sourceMappingURL=chunk-OUR7OUUZ.js.map
@@ -53,7 +53,7 @@ function refuseMismatchedAlternate(route, stream) {
53
53
  }
54
54
  chunkL6DXCKVQ_cjs.__name(refuseMismatchedAlternate, "refuseMismatchedAlternate");
55
55
 
56
- // ../../platform/api-contract/dist/chunk-WT7DXIEW.js
56
+ // ../../platform/api-contract/dist/chunk-4KRF3DVJ.js
57
57
  var HEADER_END_USER = {
58
58
  name: "X-RelyIO-End-User",
59
59
  in: "request",
@@ -868,5 +868,5 @@ exports.entityTag = entityTag;
868
868
  exports.parseVisitorFrame = parseVisitorFrame;
869
869
  exports.previewDatasetSlug = previewDatasetSlug;
870
870
  exports.readVisitorPollAnswer = readVisitorPollAnswer;
871
- //# sourceMappingURL=chunk-NN45CSPZ.cjs.map
872
- //# sourceMappingURL=chunk-NN45CSPZ.cjs.map
871
+ //# sourceMappingURL=chunk-UO2QRYKV.cjs.map
872
+ //# sourceMappingURL=chunk-UO2QRYKV.cjs.map
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var chunkP23G5NXD_cjs = require('../chunk-P23G5NXD.cjs');
3
+ var chunkK66MBRI4_cjs = require('../chunk-K66MBRI4.cjs');
4
4
  require('../chunk-M7MWNV3Q.cjs');
5
- require('../chunk-ZO6QDYJG.cjs');
5
+ require('../chunk-5WGMIQBH.cjs');
6
6
  require('../chunk-7I3SC7SV.cjs');
7
- require('../chunk-NN45CSPZ.cjs');
7
+ require('../chunk-UO2QRYKV.cjs');
8
8
  require('../chunk-L6DXCKVQ.cjs');
9
9
 
10
10
 
11
11
 
12
12
  Object.defineProperty(exports, "TypedRelyIOClient", {
13
13
  enumerable: true,
14
- get: function () { return chunkP23G5NXD_cjs.TypedRelyIOClient; }
14
+ get: function () { return chunkK66MBRI4_cjs.TypedRelyIOClient; }
15
15
  });
16
16
  Object.defineProperty(exports, "createClient", {
17
17
  enumerable: true,
18
- get: function () { return chunkP23G5NXD_cjs.createClient; }
18
+ get: function () { return chunkK66MBRI4_cjs.createClient; }
19
19
  });
20
20
  //# sourceMappingURL=index.cjs.map
21
21
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
- export { e as ClientDefaults, f as ClientSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-D5jyIeQ5.cjs';
2
- export { c as Register, R as RegisteredSchema } from '../register-DeMsaurp.cjs';
3
- import '../define-content-type-BZ6X8GvL.cjs';
1
+ export { e as ClientDefaults, f as ClientSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-BNf3S9W9.cjs';
2
+ export { R as Register, a as RegisteredSchema } from '../index-U5NbHg3N.cjs';
3
+ import '../define-content-type-C2HnCYYX.cjs';
4
4
  import '../rich-text.d-BWc-5gX1.cjs';
5
- import '../define-schema-BPlZl4a2.cjs';
5
+ import '../schema/index.cjs';
6
6
  import '../dev-handshake/index.cjs';
@@ -1,6 +1,6 @@
1
- export { e as ClientDefaults, f as ClientSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-BxNnlc5D.js';
2
- export { c as Register, R as RegisteredSchema } from '../register-BiMQKVp-.js';
3
- import '../define-content-type-C12jh8cY.js';
1
+ export { e as ClientDefaults, f as ClientSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-BAdue7TR.js';
2
+ export { R as Register, a as RegisteredSchema } from '../index-D0r6fnvl.js';
3
+ import '../define-content-type-CVLUusfx.js';
4
4
  import '../rich-text.d-BWc-5gX1.js';
5
- import '../define-schema-CK7TtYot.js';
5
+ import '../schema/index.js';
6
6
  import '../dev-handshake/index.js';
@@ -1,8 +1,8 @@
1
- export { TypedRelyIOClient, createClient } from '../chunk-356SF5Y2.js';
1
+ export { TypedRelyIOClient, createClient } from '../chunk-L42C4G2S.js';
2
2
  import '../chunk-NJQK5STK.js';
3
- import '../chunk-W2A4OTCI.js';
3
+ import '../chunk-EQUZNVAR.js';
4
4
  import '../chunk-HDHBYYEY.js';
5
- import '../chunk-T7LGREB3.js';
5
+ import '../chunk-OUR7OUUZ.js';
6
6
  import '../chunk-DI6KFDBO.js';
7
7
  //# sourceMappingURL=index.js.map
8
8
  //# sourceMappingURL=index.js.map
@@ -16240,4 +16240,4 @@ type RollupsOf<T> = T extends {
16240
16240
  readonly __rollups?: infer R;
16241
16241
  } ? unknown extends R ? unknown : RollupValues<NonNullable<R>> : unknown;
16242
16242
 
16243
- export { code as $, type AIConfig as A, type BaseFieldConfig as B, type CodeConfig as C, type DateConfig as D, type EmailConfig as E, type FieldAIConfig as F, type RichTextConfig as G, type RichTextLinks as H, type IntegerConfig as I, type JsonConfig as J, type KeyedEnumConfig as K, type ListConfig as L, type RuleCondition as M, type NeverUniqueFieldConfig as N, type ObjectConfig as O, type RuleConditions as P, type ShortTextConfig as Q, type ReadOnlyRule as R, type SequenceConfig as S, type SlugConfig as T, type TableConfig as U, type TagsConfig as V, type UrlConfig as W, type ValidationRule$1 as X, type VisibilityRule as Y, type WidgetOptions as Z, boolean as _, type AnyFieldDefinition as a, type SingletonContentTypeDefinition as a$, counter as a0, date as a1, dateTime as a2, decimal as a3, email as a4, enumField as a5, file as a6, integer as a7, json as a8, list as a9, type SettingsReading as aA, type SingletonReading as aB, type UntypedReading as aC, defineLocale as aD, isLocaleDefinition as aE, getLocaleCodes as aF, findDefaultLocale as aG, getActiveLocales as aH, buildFallbackChain as aI, type TextDirection as aJ, type LocaleOptions as aK, type LocaleDefinition as aL, defineContentType as aM, fieldset as aN, type Fieldset as aO, type DeclaredFieldset as aP, type AnyDeclaredFieldset as aQ, type KeyedFieldsetConfig as aR, type FieldMember as aS, type KeyedContentTypeConfig as aT, type ContentTypeEndUsers as aU, type ContentTypeDefinition as aV, type EntryMetadata as aW, type InferContentType as aX, type LocalePublicationFields as aY, defineSingleton as aZ, type KeyedSingletonConfig as a_, longText as aa, object as ab, owner as ac, reference as ad, richText as ae, sequence as af, shortText as ag, slug as ah, table as ai, tags as aj, url as ak, type FieldSchemaContext as al, type FieldValue as am, type FieldValues as an, type DeclaredFields as ao, type UnresolvedEntry as ap, type Keyed as aq, type BlockOf as ar, type ShapeValue as as, type AssetReading as at, type CheckedIncludes as au, type CheckInclude as av, type ContentReading as aw, type IncludablePaths as ax, type Reading as ay, type ReadWith as az, type AnyKeyedField as b, getNextWorkflowStage as b$, type SingletonMetadata as b0, type InferSingleton as b1, defineSettingsGroup as b2, type KeyedSettingsGroupConfig as b3, type SettingsGroupDefinition as b4, type SettingsGroupMetadata as b5, type InferSettingsGroup as b6, defineAssetType as b7, type KeyedAssetTypeConfig as b8, type AssetTypeDefinition as b9, type RollupWhereValue as bA, type StoredRollup as bB, type RollupsOf as bC, defineRole as bD, isRoleDefinition as bE, isBuiltInRole as bF, getBuiltInRoleActions as bG, BUILT_IN_ROLES as bH, ROLE_ACTIONS as bI, BUILT_IN_ROLE_ACTIONS as bJ, type BuiltInRole as bK, type RoleAction as bL, type ResourcePermission as bM, type FieldVisibility as bN, type RoleConfig as bO, type RoleDefinition as bP, type KeyedRoleConfig as bQ, type KeyedRoleDefinition as bR, type KeyedRoles as bS, type KeyedRolesAsList as bT, defineWorkflow as bU, defineWorkflowStage as bV, defineContentTypeWorkflow as bW, isWorkflowDefinition as bX, isWorkflowStageDefinition as bY, getWorkflowStageIds as bZ, findWorkflowStage as b_, type InferAssetType as ba, type InferAssetEntry as bb, type AssetServedBlocks as bc, type ImageKindConfig as bd, type VideoKindConfig as be, type FileKindConfig as bf, type ImageTransform as bg, type ImageFitMode as bh, type ImageOutputFormat as bi, type ImageUploadConfig as bj, type ImageSourceConfig as bk, type ImageExifConfig as bl, type VariantDefinition as bm, type VideoUploadConfig as bn, type VideoPosterConfig as bo, type VideoCaptionsConfig as bp, type VideoDownloadConfig as bq, type VideoWatermarkConfig as br, type FileUploadConfig as bs, type FileScanConfig as bt, rollup as bu, type KeyedRollups as bv, type RollupDefinition as bw, type RollupKind as bx, type RollupOptions as by, type RollupValues as bz, type AssetAIConfig as c, type paths as c$, getFirstWorkflowStage as c0, isFinalWorkflowStage as c1, type WorkflowEscalation as c2, type WorkflowAutoAssign as c3, type WorkflowStageConfig as c4, type WorkflowStageDefinition as c5, type WorkflowDefinition as c6, type ContentTypeWorkflowConfig as c7, type KeyedWorkflowConfig as c8, type KeyedWorkflowStageConfig as c9, conditionRoot as cA, not as cB, or as cC, CONDITION_OPERATORS as cD, type ConditionArgument as cE, type ConditionOperator as cF, type ConditionPath as cG, type ConditionScalar as cH, type ConditionTest as cI, type ConditionTests as cJ, type ConditionTree as cK, type OpenConditionChildren as cL, type ExtensionSurfaces as cM, type ExtensionSettingField as cN, type ExtensionSurface as cO, type ActionField as cP, type ExtensionValueField as cQ, type components as cR, type DisplayFieldOf as cS, type CheckedLocales as cT, type CheckedRoles as cU, type CheckedWorkflow as cV, type CheckedSection as cW, type KeysDeclared as cX, type ContributedRecordType as cY, type LocaleCodesOf as cZ, type StagesDeclared as c_, type KeyedWorkflowStageDefinition as ca, type KeyedWorkflowStages as cb, defineView as cc, type ViewScopeConfig as cd, type ContentTypeScopeConfig as ce, type ContentTypesScopeConfig as cf, type EntryTypeScopeConfig as cg, type AllScopeConfig as ch, type ViewFilterOperator as ci, type ViewFilterValue as cj, type ViewFilterRelativeDate as ck, type ViewFilterCondition as cl, type ViewFilter as cm, type ViewConfig as cn, type ViewDefinition as co, type KeyedViewConfig as cp, type KeyedViewDefinition as cq, type KeyedViews as cr, type KeyedViewsAsList as cs, type InferJsonSchema as ct, type JsonFieldValue as cu, type JsonSchema as cv, type JsonValue as cw, type FileUpload as cx, type RecordFile as cy, and as cz, type BooleanConfig as d, type RetryConfig as d0, type MergedRelyIOConfig as d1, type ApiResponse as d2, SDKError as d3, type RelyIOConfig as d4, type RelyIOConfigUpdate as d5, type LiveWebSocket as d6, type LiveWebSocketConstructor as d7, type AssetFileBlock as d8, type AssetUrls as d9, type PerformanceMetrics as dA, type CacheConfig as dB, type DebugConfig as dC, type RequestConfig as dD, type CacheStrategy as dE, type LogLevel as dF, type Environment as dG, type ValidationViolation as dH, BaseValidationError as dI, ValidationError as dJ, InvalidPayloadError as dK, type ReadWhere as dL, type CheckedInclude as dM, type FieldDefinition as dN, type BaseContent as da, type BaseSingleton as db, type BaseSettingsGroup as dc, type WhereScalar as dd, type WhereFieldCondition as de, type WhereClause as df, type WhereOperator as dg, type DateOnlyOperator as dh, type CreateInput as di, type CreatedContent as dj, type RevisedContent as dk, type WrittenSingleton as dl, type WrittenSettingsGroup as dm, type RestoredContent as dn, type ContentVersion as dp, type ContentVersionRow as dq, type UpdateInput as dr, type SingletonContent as ds, type CustomQuery as dt, type ContentTypeSchema as du, type ValidationRule as dv, type FieldOptions as dw, type RealtimeEventType as dx, type RealtimeEvent as dy, type SubscriptionOptions as dz, type CounterConfig as e, type DateTimeConfig as f, type DecimalConfig as g, type EnumConfig as h, type FieldDefinition$1 as i, type FieldRule as j, type FieldType as k, type FieldUIConfig as l, type FileConfig as m, type KeyedField as n, type KeyedFieldOptions as o, type KeyedFields as p, type KeyedFieldsOf as q, type KeyedMembers as r, type KeyedMembersOf as s, type LocalizationConfig as t, type Localized as u, type LocalizedDetails as v, type LongTextConfig as w, type OwnerConfig as x, type ReferenceConfig as y, type RequirementRule as z };
16243
+ export { boolean as $, type AIConfig as A, type BaseFieldConfig as B, type ConditionTree as C, type DateConfig as D, type EmailConfig as E, type FieldAIConfig as F, type RequirementRule as G, type RichTextConfig as H, type IntegerConfig as I, type JsonConfig as J, type KeyedEnumConfig as K, type ListConfig as L, type RichTextLinks as M, type NeverUniqueFieldConfig as N, type ObjectConfig as O, type RuleCondition as P, type RuleConditions as Q, type ReadOnlyRule as R, type SequenceConfig as S, type ShortTextConfig as T, type SlugConfig as U, type TableConfig as V, type TagsConfig as W, type UrlConfig as X, type ValidationRule$1 as Y, type VisibilityRule as Z, type WidgetOptions as _, type AnyFieldDefinition as a, type SettingsReading as a$, code as a0, counter as a1, date as a2, dateTime as a3, decimal as a4, email as a5, enumField as a6, file as a7, integer as a8, json as a9, type AssetTypeDefinition as aA, type InferContentType as aB, type KeyedRoles as aC, type KeyedViews as aD, type CheckedLocales as aE, type CheckedRoles as aF, type CheckedWorkflow as aG, type CheckedSection as aH, type KeysDeclared as aI, type ContributedRecordType as aJ, type LocaleCodesOf as aK, type StagesDeclared as aL, type KeyedRolesAsList as aM, type KeyedViewsAsList as aN, type FieldSchemaContext as aO, type FieldValue as aP, type UnresolvedEntry as aQ, type Keyed as aR, type BlockOf as aS, type ShapeValue as aT, type AssetReading as aU, type CheckedIncludes as aV, type CheckInclude as aW, type ContentReading as aX, type IncludablePaths as aY, type Reading as aZ, type ReadWith as a_, list as aa, longText as ab, object as ac, owner as ad, reference as ae, richText as af, sequence as ag, shortText as ah, slug as ai, table as aj, tags as ak, url as al, type FieldMember as am, type FieldValues as an, type DeclaredFields as ao, type components as ap, type RecordFile as aq, type FileUpload as ar, type DisplayFieldOf as as, type ContentTypeDefinition as at, type SingletonContentTypeDefinition as au, type SettingsGroupDefinition as av, type LocaleDefinition as aw, type RoleDefinition as ax, type WorkflowDefinition as ay, type ViewDefinition as az, type AnyKeyedField as b, BUILT_IN_ROLES as b$, type SingletonReading as b0, type UntypedReading as b1, defineLocale as b2, isLocaleDefinition as b3, getLocaleCodes as b4, findDefaultLocale as b5, getActiveLocales as b6, buildFallbackChain as b7, type TextDirection as b8, type LocaleOptions as b9, type ImageTransform as bA, type ImageFitMode as bB, type ImageOutputFormat as bC, type ImageUploadConfig as bD, type ImageSourceConfig as bE, type ImageExifConfig as bF, type VariantDefinition as bG, type VideoUploadConfig as bH, type VideoPosterConfig as bI, type VideoCaptionsConfig as bJ, type VideoDownloadConfig as bK, type VideoWatermarkConfig as bL, type FileUploadConfig as bM, type FileScanConfig as bN, rollup as bO, type KeyedRollups as bP, type RollupDefinition as bQ, type RollupKind as bR, type RollupOptions as bS, type RollupValues as bT, type RollupWhereValue as bU, type StoredRollup as bV, type RollupsOf as bW, defineRole as bX, isRoleDefinition as bY, isBuiltInRole as bZ, getBuiltInRoleActions as b_, defineContentType as ba, fieldset as bb, type Fieldset as bc, type DeclaredFieldset as bd, type AnyDeclaredFieldset as be, type KeyedFieldsetConfig as bf, type KeyedContentTypeConfig as bg, type ContentTypeEndUsers as bh, type EntryMetadata as bi, type LocalePublicationFields as bj, defineSingleton as bk, type KeyedSingletonConfig as bl, type SingletonMetadata as bm, type InferSingleton as bn, defineSettingsGroup as bo, type KeyedSettingsGroupConfig as bp, type SettingsGroupMetadata as bq, type InferSettingsGroup as br, defineAssetType as bs, type KeyedAssetTypeConfig as bt, type InferAssetType as bu, type InferAssetEntry as bv, type AssetServedBlocks as bw, type ImageKindConfig as bx, type VideoKindConfig as by, type FileKindConfig as bz, type AssetAIConfig as c, type ExtensionSettingField as c$, ROLE_ACTIONS as c0, BUILT_IN_ROLE_ACTIONS as c1, type BuiltInRole as c2, type RoleAction as c3, type ResourcePermission as c4, type FieldVisibility as c5, type RoleConfig as c6, type KeyedRoleConfig as c7, type KeyedRoleDefinition as c8, defineWorkflow as c9, type ViewFilterRelativeDate as cA, type ViewFilterCondition as cB, type ViewFilter as cC, type ViewConfig as cD, type KeyedViewConfig as cE, type KeyedViewDefinition as cF, type InferJsonSchema as cG, type JsonFieldValue as cH, type JsonSchema as cI, type JsonValue as cJ, and as cK, conditionRoot as cL, not as cM, or as cN, CONDITION_OPERATORS as cO, type ConditionArgument as cP, type ConditionOperator as cQ, type ConditionPath as cR, type ConditionScalar as cS, type ConditionTest as cT, type ConditionTests as cU, type OpenConditionChildren as cV, type paths as cW, type RetryConfig as cX, type MergedRelyIOConfig as cY, type ApiResponse as cZ, type ExtensionSurfaces as c_, defineWorkflowStage as ca, defineContentTypeWorkflow as cb, isWorkflowDefinition as cc, isWorkflowStageDefinition as cd, getWorkflowStageIds as ce, findWorkflowStage as cf, getNextWorkflowStage as cg, getFirstWorkflowStage as ch, isFinalWorkflowStage as ci, type WorkflowEscalation as cj, type WorkflowAutoAssign as ck, type WorkflowStageConfig as cl, type WorkflowStageDefinition as cm, type ContentTypeWorkflowConfig as cn, type KeyedWorkflowConfig as co, type KeyedWorkflowStageConfig as cp, type KeyedWorkflowStageDefinition as cq, type KeyedWorkflowStages as cr, defineView as cs, type ViewScopeConfig as ct, type ContentTypeScopeConfig as cu, type ContentTypesScopeConfig as cv, type EntryTypeScopeConfig as cw, type AllScopeConfig as cx, type ViewFilterOperator as cy, type ViewFilterValue as cz, type BooleanConfig as d, type ExtensionSurface as d0, type ActionField as d1, type ExtensionValueField as d2, SDKError as d3, type RelyIOConfig as d4, type RelyIOConfigUpdate as d5, type LiveWebSocket as d6, type LiveWebSocketConstructor as d7, type AssetFileBlock as d8, type AssetUrls as d9, type PerformanceMetrics as dA, type CacheConfig as dB, type DebugConfig as dC, type RequestConfig as dD, type CacheStrategy as dE, type LogLevel as dF, type Environment as dG, type ValidationViolation as dH, BaseValidationError as dI, ValidationError as dJ, InvalidPayloadError as dK, type ReadWhere as dL, type CheckedInclude as dM, type FieldDefinition as dN, type BaseContent as da, type BaseSingleton as db, type BaseSettingsGroup as dc, type WhereScalar as dd, type WhereFieldCondition as de, type WhereClause as df, type WhereOperator as dg, type DateOnlyOperator as dh, type CreateInput as di, type CreatedContent as dj, type RevisedContent as dk, type WrittenSingleton as dl, type WrittenSettingsGroup as dm, type RestoredContent as dn, type ContentVersion as dp, type ContentVersionRow as dq, type UpdateInput as dr, type SingletonContent as ds, type CustomQuery as dt, type ContentTypeSchema as du, type ValidationRule as dv, type FieldOptions as dw, type RealtimeEventType as dx, type RealtimeEvent as dy, type SubscriptionOptions as dz, type CodeConfig as e, type CounterConfig as f, type DateTimeConfig as g, type DecimalConfig as h, type EnumConfig as i, type FieldDefinition$1 as j, type FieldRule as k, type FieldType as l, type FieldUIConfig as m, type FileConfig as n, type KeyedField as o, type KeyedFieldOptions as p, type KeyedFields as q, type KeyedFieldsOf as r, type KeyedMembers as s, type KeyedMembersOf as t, type LocalizationConfig as u, type Localized as v, type LocalizedDetails as w, type LongTextConfig as x, type OwnerConfig as y, type ReferenceConfig as z };