@relyio/sdk 0.18.0 → 0.20.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 (58) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/automations/index.cjs +18 -17
  3. package/dist/automations/index.d.cts +2 -1307
  4. package/dist/automations/index.d.ts +2 -1307
  5. package/dist/automations/index.js +3 -2
  6. package/dist/{chunk-ZAMAR3X2.cjs → chunk-5F3YYPLZ.cjs} +11249 -10771
  7. package/dist/{chunk-ZO6QDYJG.cjs → chunk-5WGMIQBH.cjs} +2 -2
  8. package/dist/{chunk-LSI26ZN2.cjs → chunk-DBYMG6MQ.cjs} +5 -5
  9. package/dist/{chunk-W2A4OTCI.js → chunk-EQUZNVAR.js} +2 -2
  10. package/dist/{chunk-IFKF72VJ.cjs → chunk-K66MBRI4.cjs} +147 -71
  11. package/dist/{chunk-ZHTJ7GXH.js → chunk-L42C4G2S.js} +106 -31
  12. package/dist/{chunk-EDE2H37D.js → chunk-OUR7OUUZ.js} +174 -12
  13. package/dist/{chunk-W7JFHSFM.js → chunk-PZCDJFMA.js} +11249 -10772
  14. package/dist/{chunk-SHSK7UUY.cjs → chunk-UO2QRYKV.cjs} +177 -11
  15. package/dist/{chunk-R6E4HE7R.js → chunk-W2GRVXDG.js} +3 -3
  16. package/dist/client/index.cjs +5 -5
  17. package/dist/client/index.d.cts +4 -4
  18. package/dist/client/index.d.ts +4 -4
  19. package/dist/client/index.js +3 -3
  20. package/dist/{define-content-type-NEQDrvdq.d.cts → define-content-type-C2HnCYYX.d.cts} +1324 -156
  21. package/dist/{define-content-type-fb-WCD5e.d.ts → define-content-type-CVLUusfx.d.ts} +1324 -156
  22. package/dist/dev-handshake/index.cjs +8 -8
  23. package/dist/dev-handshake/index.d.cts +1 -1
  24. package/dist/dev-handshake/index.d.ts +1 -1
  25. package/dist/dev-handshake/index.js +1 -1
  26. package/dist/extensions/index.cjs +26 -6
  27. package/dist/extensions/index.d.cts +3 -791
  28. package/dist/extensions/index.d.ts +3 -791
  29. package/dist/extensions/index.js +24 -4
  30. package/dist/functions/index.cjs +7 -4
  31. package/dist/functions/index.d.cts +2 -4
  32. package/dist/functions/index.d.ts +2 -4
  33. package/dist/functions/index.js +5 -2
  34. package/dist/{index-DwHcL6x5.d.cts → index-BLVNMYUU.d.cts} +142 -79
  35. package/dist/{index-C4LqrNd1.d.ts → index-BY1xU93u.d.ts} +1 -1
  36. package/dist/{index-Dnmt_UOo.d.cts → index-Cmup6HJY.d.cts} +1 -1
  37. package/dist/index-D1fiaQlK.d.ts +2284 -0
  38. package/dist/index-DImzg3ew.d.cts +2284 -0
  39. package/dist/{index-M3luH06A.d.ts → index-IjSyBr8f.d.ts} +142 -79
  40. package/dist/index.cjs +89 -85
  41. package/dist/index.d.cts +64 -15
  42. package/dist/index.d.ts +64 -15
  43. package/dist/index.js +5 -5
  44. package/dist/preview/index.cjs +3 -3
  45. package/dist/preview/index.js +1 -1
  46. package/dist/rich-text/index.d.cts +2 -2
  47. package/dist/rich-text/index.d.ts +2 -2
  48. package/dist/schema/index.cjs +41 -40
  49. package/dist/schema/index.d.cts +948 -118
  50. package/dist/schema/index.d.ts +948 -118
  51. package/dist/schema/index.js +2 -1
  52. package/dist/types/index.d.cts +1 -1
  53. package/dist/types/index.d.ts +1 -1
  54. package/package.json +5 -5
  55. package/dist/define-schema-DZhtvLiK.d.cts +0 -846
  56. package/dist/define-schema-Dlwh6l_J.d.ts +0 -846
  57. package/dist/register-B53i97A9.d.ts +0 -677
  58. package/dist/register-BYCs0FpF.d.cts +0 -677
@@ -1711,6 +1711,7 @@ interface components {
1711
1711
  * @description - `ACCESS_DENIED`: The credential is valid, but its subject may not do this here. Fix: Use a key or a Role that grants this action on this resource, or ask an Owner to grant it; `details.rule` names the rule that refused.
1712
1712
  * - `AI_UNAVAILABLE_IN_REGION`: The Project's data region promises residency, and no AI processes inside that region yet. Fix: Run AI work on a Project in another region; no Plan, credential or retry changes this one.
1713
1713
  * - `CONTENT_INVALID`: The content does not satisfy the schema of the type it was written to. Fix: Correct each field `details.issues` names so it matches the schema, then write it again.
1714
+ * - `END_USER_TOKEN_INVALID`: The key was accepted, but the End user's token in `X-RelyIO-End-User` was not: it is not the Environment's identity source's, that Environment has none, or the call needs one and carried none. Fix: Read `details.reason`, then send a current token from the identity source this Environment connects — or connect one — or, where none is needed, send the request without the header.
1714
1715
  * - `FUNCTION_CONTAINERS_BUSY`: The project is running as many Function runs in Containers at once as its plan includes, so this one was not started. Fix: Call again after the seconds the `Retry-After` header names, or start the run from a schedule or an Automation step, which waits for a free Container.
1715
1716
  * - `FUNCTION_RUN_FAILED`: The Function ran and ended without an answer: its code threw, or it was ended at a limit; `details.runId` names the run. Fix: Read the run's record and console output by `details.runId`, fix the Function, and call it again.
1716
1717
  * - `FUNCTION_RUN_TIMED_OUT`: The Function ran longer than a caller waits, five minutes; it goes on to its own limit, and `details.runId` names the run. Fix: Read the run's record by `details.runId` for how it ended, and move work that long to a schedule or an Automation step.
@@ -1725,7 +1726,7 @@ interface components {
1725
1726
  * - `PLAN_DOWNGRADE_BLOCKED`: The Organization keeps more than the target Plan allows, so it cannot move to it. Fix: Reduce each Stock Limit `details.stockLimits` lists to within the target Plan, then retry the change.
1726
1727
  * - `PLAN_FEATURE_UNAVAILABLE`: The Organization's Plan does not include the feature this request uses. Fix: Move the Organization to a Plan that includes `details.feature`, or leave the feature out of the request.
1727
1728
  * - `PROJECT_IN_ANOTHER_CELL`: The request reached a region that does not hold the Project it names. Fix: Send the same request to the region `details.region` names; retrying it here will not succeed.
1728
- * - `PUBLISHABLE_KEY_REFUSED`: A publishable key reaches no Record and runs no Function: a browser reads none of an app's data. Fix: Call Records and Functions from your server with a secret key; a publishable key reads only published content.
1729
+ * - `PUBLISHABLE_KEY_REFUSED`: A publishable key writes a Record only for a signed-in End user, runs only a Function that declares `endUsers`, and uploads no Record's File: a browser with no End user's token writes nothing. Fix: Send the End user's token in `X-RelyIO-End-User` to write a Record as its type's Policy allows; declare `endUsers` on a Function a browser calls; run any other Function and upload Files from your server with a secret key.
1729
1730
  * - `RATE_LIMIT_EXCEEDED`: Too many requests arrived within the current rate-limit window. Fix: Wait the seconds the `Retry-After` header names before retrying, and spread requests out.
1730
1731
  * - `READ_ONLY_KEY`: The key may read but not write. Fix: Send the write with a key that may write, and keep the read-only key for reads.
1731
1732
  * - `REQUEST_INVALID`: The request is malformed: a path parameter, query parameter, header or body field the route cannot accept. Fix: Correct each field `details.issues` names, by its path and message, and send the request again.
@@ -1740,7 +1741,7 @@ interface components {
1740
1741
  * - `USER_NOT_PROVISIONED`: The session is valid, but the User's account is still being set up after sign-up. Fix: Keep the session and retry after the seconds the `Retry-After` header names.
1741
1742
  * @enum {string}
1742
1743
  */
1743
- code: 'ACCESS_DENIED' | 'AI_UNAVAILABLE_IN_REGION' | 'CONTENT_INVALID' | 'FUNCTION_CONTAINERS_BUSY' | 'FUNCTION_RUN_FAILED' | 'FUNCTION_RUN_TIMED_OUT' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_BEING_DELETED' | 'ORGANIZATION_DELETE_BLOCKED' | 'ORGANIZATION_IN_ANOTHER_CELL' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'PROJECT_IN_ANOTHER_CELL' | 'PUBLISHABLE_KEY_REFUSED' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
1744
+ code: 'ACCESS_DENIED' | 'AI_UNAVAILABLE_IN_REGION' | 'CONTENT_INVALID' | 'END_USER_TOKEN_INVALID' | 'FUNCTION_CONTAINERS_BUSY' | 'FUNCTION_RUN_FAILED' | 'FUNCTION_RUN_TIMED_OUT' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_BEING_DELETED' | 'ORGANIZATION_DELETE_BLOCKED' | 'ORGANIZATION_IN_ANOTHER_CELL' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'PROJECT_IN_ANOTHER_CELL' | 'PUBLISHABLE_KEY_REFUSED' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
1744
1745
  messages: string[];
1745
1746
  details?: {
1746
1747
  [key: string]: unknown;
@@ -2154,8 +2155,8 @@ interface components {
2154
2155
  facts: {
2155
2156
  /** @description The unique set whose values are held: one field declared `unique: true`, or a set the Record type declares in `unique`, in declared order. */
2156
2157
  fields: string[];
2157
- /** @description The Record holding them, `rec_…`. */
2158
- recordId: string;
2158
+ /** @description The Record holding them, `rec_…`. Absent for an End user’s write: the holder may be a Record their read Policy hides from them. */
2159
+ recordId?: string;
2159
2160
  /** @description In a batch (`POST /v1/records/batch`), the index from 0 of the operation refused. Absent outside one. */
2160
2161
  operation?: number;
2161
2162
  };
@@ -2178,7 +2179,7 @@ interface components {
2178
2179
  /**
2179
2180
  * @description - `ACCESS_DENIED`: The credential is valid, but its subject may not do this here. Fix: Use a key or a Role that grants this action on this resource, or ask an Owner to grant it; `details.rule` names the rule that refused.
2180
2181
  * - `PLAN_FEATURE_UNAVAILABLE`: The Organization's Plan does not include the feature this request uses. Fix: Move the Organization to a Plan that includes `details.feature`, or leave the feature out of the request.
2181
- * - `PUBLISHABLE_KEY_REFUSED`: A publishable key reaches no Record and runs no Function: a browser reads none of an app's data. Fix: Call Records and Functions from your server with a secret key; a publishable key reads only published content.
2182
+ * - `PUBLISHABLE_KEY_REFUSED`: A publishable key writes a Record only for a signed-in End user, runs only a Function that declares `endUsers`, and uploads no Record's File: a browser with no End user's token writes nothing. Fix: Send the End user's token in `X-RelyIO-End-User` to write a Record as its type's Policy allows; declare `endUsers` on a Function a browser calls; run any other Function and upload Files from your server with a secret key.
2182
2183
  * - `READ_ONLY_KEY`: The key may read but not write. Fix: Send the write with a key that may write, and keep the read-only key for reads.
2183
2184
  * - `USAGE_QUOTA_EXCEEDED`: The Organization has used all of this period's allowance for `details.meter`. Fix: Wait for the next billing period, or raise the allowance by moving to a larger Plan.
2184
2185
  * @enum {string}
@@ -2190,22 +2191,6 @@ interface components {
2190
2191
  };
2191
2192
  };
2192
2193
  };
2193
- RefusalAccessDeniedOrPlanFeatureUnavailableOrPublishableKeyRefusedOrUsageQuotaExceeded: {
2194
- error: {
2195
- /**
2196
- * @description - `ACCESS_DENIED`: The credential is valid, but its subject may not do this here. Fix: Use a key or a Role that grants this action on this resource, or ask an Owner to grant it; `details.rule` names the rule that refused.
2197
- * - `PLAN_FEATURE_UNAVAILABLE`: The Organization's Plan does not include the feature this request uses. Fix: Move the Organization to a Plan that includes `details.feature`, or leave the feature out of the request.
2198
- * - `PUBLISHABLE_KEY_REFUSED`: A publishable key reaches no Record and runs no Function: a browser reads none of an app's data. Fix: Call Records and Functions from your server with a secret key; a publishable key reads only published content.
2199
- * - `USAGE_QUOTA_EXCEEDED`: The Organization has used all of this period's allowance for `details.meter`. Fix: Wait for the next billing period, or raise the allowance by moving to a larger Plan.
2200
- * @enum {string}
2201
- */
2202
- code: 'ACCESS_DENIED' | 'PLAN_FEATURE_UNAVAILABLE' | 'PUBLISHABLE_KEY_REFUSED' | 'USAGE_QUOTA_EXCEEDED';
2203
- messages: string[];
2204
- details?: {
2205
- [key: string]: unknown;
2206
- };
2207
- };
2208
- };
2209
2194
  RefusalAccessDeniedOrPlanFeatureUnavailableOrReadOnlyKeyOrUsageQuotaExceeded: {
2210
2195
  error: {
2211
2196
  /**
@@ -2265,6 +2250,34 @@ interface components {
2265
2250
  };
2266
2251
  };
2267
2252
  };
2253
+ RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey: {
2254
+ error: {
2255
+ /**
2256
+ * @description - `END_USER_TOKEN_INVALID`: The key was accepted, but the End user's token in `X-RelyIO-End-User` was not: it is not the Environment's identity source's, that Environment has none, or the call needs one and carried none. Fix: Read `details.reason`, then send a current token from the identity source this Environment connects — or connect one — or, where none is needed, send the request without the header.
2257
+ * @enum {string}
2258
+ */
2259
+ code: 'END_USER_TOKEN_INVALID';
2260
+ messages: string[];
2261
+ details: {
2262
+ /**
2263
+ * @description `missing`: the call needs an End user's token and carried none. `no-identity-source`: the Environment has no identity Extension connected. The rest are the token itself: not a token, an algorithm other than RS256 or ES256, another issuer, a key the issuer does not publish, a signature that does not verify, another audience, past its expiry, before its start, or naming no subject.
2264
+ * @enum {string}
2265
+ */
2266
+ reason: 'bad-signature' | 'expired' | 'malformed' | 'missing' | 'missing-subject' | 'no-identity-source' | 'not-yet-valid' | 'unknown-key' | 'unsupported-algorithm' | 'wrong-audience' | 'wrong-issuer';
2267
+ };
2268
+ } | {
2269
+ /**
2270
+ * @description - `INVALID_API_KEY`: The credential was read but is not accepted: it is malformed, expired, revoked, unknown, or a kind this route does not take. Fix: Read `details.reason`, then send a current credential of the kind the route takes, creating a new key if this one was revoked or expired.
2271
+ * - `MISSING_API_KEY`: The request carried no credential, or one that did not authenticate. Fix: Send a credential with the request: an API key in the `X-API-Key` header, or the bearer token the route takes.
2272
+ * @enum {string}
2273
+ */
2274
+ code: 'INVALID_API_KEY' | 'MISSING_API_KEY';
2275
+ messages: string[];
2276
+ details?: {
2277
+ [key: string]: unknown;
2278
+ };
2279
+ };
2280
+ };
2268
2281
  RefusalFunctionContainersBusy: {
2269
2282
  error: {
2270
2283
  /**
@@ -2332,20 +2345,6 @@ interface components {
2332
2345
  };
2333
2346
  };
2334
2347
  };
2335
- RefusalInvalidApiKeyOrMissingApiKey: {
2336
- error: {
2337
- /**
2338
- * @description - `INVALID_API_KEY`: The credential was read but is not accepted: it is malformed, expired, revoked, unknown, or a kind this route does not take. Fix: Read `details.reason`, then send a current credential of the kind the route takes, creating a new key if this one was revoked or expired.
2339
- * - `MISSING_API_KEY`: The request carried no credential, or one that did not authenticate. Fix: Send a credential with the request: an API key in the `X-API-Key` header, or the bearer token the route takes.
2340
- * @enum {string}
2341
- */
2342
- code: 'INVALID_API_KEY' | 'MISSING_API_KEY';
2343
- messages: string[];
2344
- details?: {
2345
- [key: string]: unknown;
2346
- };
2347
- };
2348
- };
2349
2348
  RefusalProjectInAnotherCell: {
2350
2349
  error: {
2351
2350
  /**
@@ -3060,6 +3059,7 @@ interface components {
3060
3059
  * @description - `ACCESS_DENIED`: The credential is valid, but its subject may not do this here. Fix: Use a key or a Role that grants this action on this resource, or ask an Owner to grant it; `details.rule` names the rule that refused.
3061
3060
  * - `AI_UNAVAILABLE_IN_REGION`: The Project's data region promises residency, and no AI processes inside that region yet. Fix: Run AI work on a Project in another region; no Plan, credential or retry changes this one.
3062
3061
  * - `CONTENT_INVALID`: The content does not satisfy the schema of the type it was written to. Fix: Correct each field `details.issues` names so it matches the schema, then write it again.
3062
+ * - `END_USER_TOKEN_INVALID`: The key was accepted, but the End user's token in `X-RelyIO-End-User` was not: it is not the Environment's identity source's, that Environment has none, or the call needs one and carried none. Fix: Read `details.reason`, then send a current token from the identity source this Environment connects — or connect one — or, where none is needed, send the request without the header.
3063
3063
  * - `FUNCTION_CONTAINERS_BUSY`: The project is running as many Function runs in Containers at once as its plan includes, so this one was not started. Fix: Call again after the seconds the `Retry-After` header names, or start the run from a schedule or an Automation step, which waits for a free Container.
3064
3064
  * - `FUNCTION_RUN_FAILED`: The Function ran and ended without an answer: its code threw, or it was ended at a limit; `details.runId` names the run. Fix: Read the run's record and console output by `details.runId`, fix the Function, and call it again.
3065
3065
  * - `FUNCTION_RUN_TIMED_OUT`: The Function ran longer than a caller waits, five minutes; it goes on to its own limit, and `details.runId` names the run. Fix: Read the run's record by `details.runId` for how it ended, and move work that long to a schedule or an Automation step.
@@ -3074,7 +3074,7 @@ interface components {
3074
3074
  * - `PLAN_DOWNGRADE_BLOCKED`: The Organization keeps more than the target Plan allows, so it cannot move to it. Fix: Reduce each Stock Limit `details.stockLimits` lists to within the target Plan, then retry the change.
3075
3075
  * - `PLAN_FEATURE_UNAVAILABLE`: The Organization's Plan does not include the feature this request uses. Fix: Move the Organization to a Plan that includes `details.feature`, or leave the feature out of the request.
3076
3076
  * - `PROJECT_IN_ANOTHER_CELL`: The request reached a region that does not hold the Project it names. Fix: Send the same request to the region `details.region` names; retrying it here will not succeed.
3077
- * - `PUBLISHABLE_KEY_REFUSED`: A publishable key reaches no Record and runs no Function: a browser reads none of an app's data. Fix: Call Records and Functions from your server with a secret key; a publishable key reads only published content.
3077
+ * - `PUBLISHABLE_KEY_REFUSED`: A publishable key writes a Record only for a signed-in End user, runs only a Function that declares `endUsers`, and uploads no Record's File: a browser with no End user's token writes nothing. Fix: Send the End user's token in `X-RelyIO-End-User` to write a Record as its type's Policy allows; declare `endUsers` on a Function a browser calls; run any other Function and upload Files from your server with a secret key.
3078
3078
  * - `RATE_LIMIT_EXCEEDED`: Too many requests arrived within the current rate-limit window. Fix: Wait the seconds the `Retry-After` header names before retrying, and spread requests out.
3079
3079
  * - `READ_ONLY_KEY`: The key may read but not write. Fix: Send the write with a key that may write, and keep the read-only key for reads.
3080
3080
  * - `REQUEST_INVALID`: The request is malformed: a path parameter, query parameter, header or body field the route cannot accept. Fix: Correct each field `details.issues` names, by its path and message, and send the request again.
@@ -3089,7 +3089,7 @@ interface components {
3089
3089
  * - `USER_NOT_PROVISIONED`: The session is valid, but the User's account is still being set up after sign-up. Fix: Keep the session and retry after the seconds the `Retry-After` header names.
3090
3090
  * @enum {string}
3091
3091
  */
3092
- code: 'ACCESS_DENIED' | 'AI_UNAVAILABLE_IN_REGION' | 'CONTENT_INVALID' | 'FUNCTION_CONTAINERS_BUSY' | 'FUNCTION_RUN_FAILED' | 'FUNCTION_RUN_TIMED_OUT' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_BEING_DELETED' | 'ORGANIZATION_DELETE_BLOCKED' | 'ORGANIZATION_IN_ANOTHER_CELL' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'PROJECT_IN_ANOTHER_CELL' | 'PUBLISHABLE_KEY_REFUSED' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
3092
+ code: 'ACCESS_DENIED' | 'AI_UNAVAILABLE_IN_REGION' | 'CONTENT_INVALID' | 'END_USER_TOKEN_INVALID' | 'FUNCTION_CONTAINERS_BUSY' | 'FUNCTION_RUN_FAILED' | 'FUNCTION_RUN_TIMED_OUT' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_BEING_DELETED' | 'ORGANIZATION_DELETE_BLOCKED' | 'ORGANIZATION_IN_ANOTHER_CELL' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'PROJECT_IN_ANOTHER_CELL' | 'PUBLISHABLE_KEY_REFUSED' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
3093
3093
  messages: string[];
3094
3094
  details?: {
3095
3095
  [key: string]: unknown;
@@ -4700,13 +4700,13 @@ interface operations {
4700
4700
  'application/json': components['schemas']['RefusalRequestInvalid'];
4701
4701
  };
4702
4702
  };
4703
- /** @description INVALID_API_KEY, MISSING_API_KEY */
4703
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
4704
4704
  401: {
4705
4705
  headers: {
4706
4706
  [name: string]: unknown;
4707
4707
  };
4708
4708
  content: {
4709
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
4709
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
4710
4710
  };
4711
4711
  };
4712
4712
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -4798,13 +4798,13 @@ interface operations {
4798
4798
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
4799
4799
  };
4800
4800
  };
4801
- /** @description INVALID_API_KEY, MISSING_API_KEY */
4801
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
4802
4802
  401: {
4803
4803
  headers: {
4804
4804
  [name: string]: unknown;
4805
4805
  };
4806
4806
  content: {
4807
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
4807
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
4808
4808
  };
4809
4809
  };
4810
4810
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -4931,13 +4931,13 @@ interface operations {
4931
4931
  'application/json': components['schemas']['RefusalRequestInvalid'];
4932
4932
  };
4933
4933
  };
4934
- /** @description INVALID_API_KEY, MISSING_API_KEY */
4934
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
4935
4935
  401: {
4936
4936
  headers: {
4937
4937
  [name: string]: unknown;
4938
4938
  };
4939
4939
  content: {
4940
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
4940
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
4941
4941
  };
4942
4942
  };
4943
4943
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -5027,13 +5027,13 @@ interface operations {
5027
5027
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
5028
5028
  };
5029
5029
  };
5030
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5030
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5031
5031
  401: {
5032
5032
  headers: {
5033
5033
  [name: string]: unknown;
5034
5034
  };
5035
5035
  content: {
5036
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5036
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5037
5037
  };
5038
5038
  };
5039
5039
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -5145,13 +5145,13 @@ interface operations {
5145
5145
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
5146
5146
  };
5147
5147
  };
5148
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5148
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5149
5149
  401: {
5150
5150
  headers: {
5151
5151
  [name: string]: unknown;
5152
5152
  };
5153
5153
  content: {
5154
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5154
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5155
5155
  };
5156
5156
  };
5157
5157
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -5284,13 +5284,13 @@ interface operations {
5284
5284
  'application/json': components['schemas']['RefusalRequestInvalid'];
5285
5285
  };
5286
5286
  };
5287
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5287
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5288
5288
  401: {
5289
5289
  headers: {
5290
5290
  [name: string]: unknown;
5291
5291
  };
5292
5292
  content: {
5293
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5293
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5294
5294
  };
5295
5295
  };
5296
5296
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -5384,13 +5384,13 @@ interface operations {
5384
5384
  'application/json': components['schemas']['RefusalRequestInvalid'];
5385
5385
  };
5386
5386
  };
5387
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5387
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5388
5388
  401: {
5389
5389
  headers: {
5390
5390
  [name: string]: unknown;
5391
5391
  };
5392
5392
  content: {
5393
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5393
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5394
5394
  };
5395
5395
  };
5396
5396
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -5480,13 +5480,13 @@ interface operations {
5480
5480
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
5481
5481
  };
5482
5482
  };
5483
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5483
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5484
5484
  401: {
5485
5485
  headers: {
5486
5486
  [name: string]: unknown;
5487
5487
  };
5488
5488
  content: {
5489
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5489
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5490
5490
  };
5491
5491
  };
5492
5492
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -5596,13 +5596,13 @@ interface operations {
5596
5596
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
5597
5597
  };
5598
5598
  };
5599
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5599
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5600
5600
  401: {
5601
5601
  headers: {
5602
5602
  [name: string]: unknown;
5603
5603
  };
5604
5604
  content: {
5605
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5605
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5606
5606
  };
5607
5607
  };
5608
5608
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -5712,13 +5712,13 @@ interface operations {
5712
5712
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
5713
5713
  };
5714
5714
  };
5715
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5715
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5716
5716
  401: {
5717
5717
  headers: {
5718
5718
  [name: string]: unknown;
5719
5719
  };
5720
5720
  content: {
5721
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5721
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5722
5722
  };
5723
5723
  };
5724
5724
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -5828,13 +5828,13 @@ interface operations {
5828
5828
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
5829
5829
  };
5830
5830
  };
5831
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5831
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5832
5832
  401: {
5833
5833
  headers: {
5834
5834
  [name: string]: unknown;
5835
5835
  };
5836
5836
  content: {
5837
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5837
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5838
5838
  };
5839
5839
  };
5840
5840
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -5944,13 +5944,13 @@ interface operations {
5944
5944
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
5945
5945
  };
5946
5946
  };
5947
- /** @description INVALID_API_KEY, MISSING_API_KEY */
5947
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
5948
5948
  401: {
5949
5949
  headers: {
5950
5950
  [name: string]: unknown;
5951
5951
  };
5952
5952
  content: {
5953
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
5953
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
5954
5954
  };
5955
5955
  };
5956
5956
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -6060,13 +6060,13 @@ interface operations {
6060
6060
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
6061
6061
  };
6062
6062
  };
6063
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6063
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6064
6064
  401: {
6065
6065
  headers: {
6066
6066
  [name: string]: unknown;
6067
6067
  };
6068
6068
  content: {
6069
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6069
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6070
6070
  };
6071
6071
  };
6072
6072
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -6176,13 +6176,13 @@ interface operations {
6176
6176
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
6177
6177
  };
6178
6178
  };
6179
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6179
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6180
6180
  401: {
6181
6181
  headers: {
6182
6182
  [name: string]: unknown;
6183
6183
  };
6184
6184
  content: {
6185
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6185
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6186
6186
  };
6187
6187
  };
6188
6188
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -6292,13 +6292,13 @@ interface operations {
6292
6292
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
6293
6293
  };
6294
6294
  };
6295
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6295
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6296
6296
  401: {
6297
6297
  headers: {
6298
6298
  [name: string]: unknown;
6299
6299
  };
6300
6300
  content: {
6301
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6301
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6302
6302
  };
6303
6303
  };
6304
6304
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -6408,13 +6408,13 @@ interface operations {
6408
6408
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
6409
6409
  };
6410
6410
  };
6411
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6411
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6412
6412
  401: {
6413
6413
  headers: {
6414
6414
  [name: string]: unknown;
6415
6415
  };
6416
6416
  content: {
6417
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6417
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6418
6418
  };
6419
6419
  };
6420
6420
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -6531,13 +6531,13 @@ interface operations {
6531
6531
  'application/json': components['schemas']['RefusalRequestInvalid'];
6532
6532
  };
6533
6533
  };
6534
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6534
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6535
6535
  401: {
6536
6536
  headers: {
6537
6537
  [name: string]: unknown;
6538
6538
  };
6539
6539
  content: {
6540
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6540
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6541
6541
  };
6542
6542
  };
6543
6543
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -6632,13 +6632,13 @@ interface operations {
6632
6632
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
6633
6633
  };
6634
6634
  };
6635
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6635
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6636
6636
  401: {
6637
6637
  headers: {
6638
6638
  [name: string]: unknown;
6639
6639
  };
6640
6640
  content: {
6641
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6641
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6642
6642
  };
6643
6643
  };
6644
6644
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -6752,13 +6752,13 @@ interface operations {
6752
6752
  'application/json': components['schemas']['RefusalRequestInvalid'];
6753
6753
  };
6754
6754
  };
6755
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6755
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6756
6756
  401: {
6757
6757
  headers: {
6758
6758
  [name: string]: unknown;
6759
6759
  };
6760
6760
  content: {
6761
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6761
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6762
6762
  };
6763
6763
  };
6764
6764
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -6853,13 +6853,13 @@ interface operations {
6853
6853
  'application/json': components['schemas']['RefusalRequestInvalid'];
6854
6854
  };
6855
6855
  };
6856
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6856
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6857
6857
  401: {
6858
6858
  headers: {
6859
6859
  [name: string]: unknown;
6860
6860
  };
6861
6861
  content: {
6862
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6862
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6863
6863
  };
6864
6864
  };
6865
6865
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -6954,13 +6954,13 @@ interface operations {
6954
6954
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
6955
6955
  };
6956
6956
  };
6957
- /** @description INVALID_API_KEY, MISSING_API_KEY */
6957
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
6958
6958
  401: {
6959
6959
  headers: {
6960
6960
  [name: string]: unknown;
6961
6961
  };
6962
6962
  content: {
6963
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
6963
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
6964
6964
  };
6965
6965
  };
6966
6966
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -7066,13 +7066,13 @@ interface operations {
7066
7066
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
7067
7067
  };
7068
7068
  };
7069
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7069
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7070
7070
  401: {
7071
7071
  headers: {
7072
7072
  [name: string]: unknown;
7073
7073
  };
7074
7074
  content: {
7075
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7075
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7076
7076
  };
7077
7077
  };
7078
7078
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -7201,13 +7201,13 @@ interface operations {
7201
7201
  };
7202
7202
  };
7203
7203
  };
7204
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7204
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7205
7205
  401: {
7206
7206
  headers: {
7207
7207
  [name: string]: unknown;
7208
7208
  };
7209
7209
  content: {
7210
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7210
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7211
7211
  'text/event-stream': {
7212
7212
  /** @enum {string} */
7213
7213
  type: 'change' | 'complete' | 'error' | 'heartbeat';
@@ -7359,13 +7359,13 @@ interface operations {
7359
7359
  'application/json': components['schemas']['RefusalRequestInvalid'];
7360
7360
  };
7361
7361
  };
7362
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7362
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7363
7363
  401: {
7364
7364
  headers: {
7365
7365
  [name: string]: unknown;
7366
7366
  };
7367
7367
  content: {
7368
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7368
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7369
7369
  };
7370
7370
  };
7371
7371
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -7465,13 +7465,13 @@ interface operations {
7465
7465
  'application/json': components['schemas']['RefusalRequestInvalid'];
7466
7466
  };
7467
7467
  };
7468
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7468
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7469
7469
  401: {
7470
7470
  headers: {
7471
7471
  [name: string]: unknown;
7472
7472
  };
7473
7473
  content: {
7474
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7474
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7475
7475
  };
7476
7476
  };
7477
7477
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -7562,13 +7562,13 @@ interface operations {
7562
7562
  'application/json': components['schemas']['RefusalRequestInvalid'];
7563
7563
  };
7564
7564
  };
7565
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7565
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7566
7566
  401: {
7567
7567
  headers: {
7568
7568
  [name: string]: unknown;
7569
7569
  };
7570
7570
  content: {
7571
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7571
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7572
7572
  };
7573
7573
  };
7574
7574
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -7662,13 +7662,13 @@ interface operations {
7662
7662
  'application/json': components['schemas']['RefusalRequestInvalid'];
7663
7663
  };
7664
7664
  };
7665
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7665
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7666
7666
  401: {
7667
7667
  headers: {
7668
7668
  [name: string]: unknown;
7669
7669
  };
7670
7670
  content: {
7671
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7671
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7672
7672
  };
7673
7673
  };
7674
7674
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -7759,13 +7759,13 @@ interface operations {
7759
7759
  'application/json': components['schemas']['RefusalRequestInvalid'];
7760
7760
  };
7761
7761
  };
7762
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7762
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7763
7763
  401: {
7764
7764
  headers: {
7765
7765
  [name: string]: unknown;
7766
7766
  };
7767
7767
  content: {
7768
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7768
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7769
7769
  };
7770
7770
  };
7771
7771
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -7858,13 +7858,13 @@ interface operations {
7858
7858
  'application/json': components['schemas']['RefusalRequestInvalid'];
7859
7859
  };
7860
7860
  };
7861
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7861
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7862
7862
  401: {
7863
7863
  headers: {
7864
7864
  [name: string]: unknown;
7865
7865
  };
7866
7866
  content: {
7867
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7867
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7868
7868
  };
7869
7869
  };
7870
7870
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -7957,13 +7957,13 @@ interface operations {
7957
7957
  'application/json': components['schemas']['RefusalRequestInvalid'];
7958
7958
  };
7959
7959
  };
7960
- /** @description INVALID_API_KEY, MISSING_API_KEY */
7960
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
7961
7961
  401: {
7962
7962
  headers: {
7963
7963
  [name: string]: unknown;
7964
7964
  };
7965
7965
  content: {
7966
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
7966
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
7967
7967
  };
7968
7968
  };
7969
7969
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -8052,13 +8052,13 @@ interface operations {
8052
8052
  'application/json': components['schemas']['RefusalRequestInvalid'];
8053
8053
  };
8054
8054
  };
8055
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8055
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8056
8056
  401: {
8057
8057
  headers: {
8058
8058
  [name: string]: unknown;
8059
8059
  };
8060
8060
  content: {
8061
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8061
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8062
8062
  };
8063
8063
  };
8064
8064
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -8158,13 +8158,13 @@ interface operations {
8158
8158
  'application/json': components['schemas']['RefusalRequestInvalid'];
8159
8159
  };
8160
8160
  };
8161
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8161
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8162
8162
  401: {
8163
8163
  headers: {
8164
8164
  [name: string]: unknown;
8165
8165
  };
8166
8166
  content: {
8167
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8167
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8168
8168
  };
8169
8169
  };
8170
8170
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -8271,13 +8271,13 @@ interface operations {
8271
8271
  'application/json': components['schemas']['RefusalRequestInvalid'];
8272
8272
  };
8273
8273
  };
8274
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8274
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8275
8275
  401: {
8276
8276
  headers: {
8277
8277
  [name: string]: unknown;
8278
8278
  };
8279
8279
  content: {
8280
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8280
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8281
8281
  };
8282
8282
  };
8283
8283
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -8389,13 +8389,13 @@ interface operations {
8389
8389
  'application/json': components['schemas']['RefusalRequestInvalid'];
8390
8390
  };
8391
8391
  };
8392
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8392
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8393
8393
  401: {
8394
8394
  headers: {
8395
8395
  [name: string]: unknown;
8396
8396
  };
8397
8397
  content: {
8398
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8398
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8399
8399
  };
8400
8400
  };
8401
8401
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -8517,22 +8517,22 @@ interface operations {
8517
8517
  'application/json': components['schemas']['RefusalRequestInvalid'];
8518
8518
  };
8519
8519
  };
8520
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8520
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8521
8521
  401: {
8522
8522
  headers: {
8523
8523
  [name: string]: unknown;
8524
8524
  };
8525
8525
  content: {
8526
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8526
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8527
8527
  };
8528
8528
  };
8529
- /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, USAGE_QUOTA_EXCEEDED */
8529
+ /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
8530
8530
  403: {
8531
8531
  headers: {
8532
8532
  [name: string]: unknown;
8533
8533
  };
8534
8534
  content: {
8535
- 'application/json': components['schemas']['RefusalAccessDeniedOrPlanFeatureUnavailableOrPublishableKeyRefusedOrUsageQuotaExceeded'];
8535
+ 'application/json': components['schemas']['RefusalAccessDeniedOrPlanFeatureUnavailableOrUsageQuotaExceeded'];
8536
8536
  };
8537
8537
  };
8538
8538
  /** @description RESOURCE_NOT_FOUND */
@@ -8613,13 +8613,13 @@ interface operations {
8613
8613
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
8614
8614
  };
8615
8615
  };
8616
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8616
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8617
8617
  401: {
8618
8618
  headers: {
8619
8619
  [name: string]: unknown;
8620
8620
  };
8621
8621
  content: {
8622
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8622
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8623
8623
  };
8624
8624
  };
8625
8625
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -8726,22 +8726,22 @@ interface operations {
8726
8726
  'application/json': components['schemas']['RefusalRequestInvalid'];
8727
8727
  };
8728
8728
  };
8729
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8729
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8730
8730
  401: {
8731
8731
  headers: {
8732
8732
  [name: string]: unknown;
8733
8733
  };
8734
8734
  content: {
8735
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8735
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8736
8736
  };
8737
8737
  };
8738
- /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, USAGE_QUOTA_EXCEEDED */
8738
+ /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
8739
8739
  403: {
8740
8740
  headers: {
8741
8741
  [name: string]: unknown;
8742
8742
  };
8743
8743
  content: {
8744
- 'application/json': components['schemas']['RefusalAccessDeniedOrPlanFeatureUnavailableOrPublishableKeyRefusedOrUsageQuotaExceeded'];
8744
+ 'application/json': components['schemas']['RefusalAccessDeniedOrPlanFeatureUnavailableOrUsageQuotaExceeded'];
8745
8745
  };
8746
8746
  };
8747
8747
  /** @description RESOURCE_NOT_FOUND */
@@ -8819,13 +8819,13 @@ interface operations {
8819
8819
  'application/json': components['schemas']['RefusalRequestInvalid'];
8820
8820
  };
8821
8821
  };
8822
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8822
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8823
8823
  401: {
8824
8824
  headers: {
8825
8825
  [name: string]: unknown;
8826
8826
  };
8827
8827
  content: {
8828
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8828
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8829
8829
  };
8830
8830
  };
8831
8831
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -8927,13 +8927,13 @@ interface operations {
8927
8927
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
8928
8928
  };
8929
8929
  };
8930
- /** @description INVALID_API_KEY, MISSING_API_KEY */
8930
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
8931
8931
  401: {
8932
8932
  headers: {
8933
8933
  [name: string]: unknown;
8934
8934
  };
8935
8935
  content: {
8936
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
8936
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
8937
8937
  };
8938
8938
  };
8939
8939
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -9032,13 +9032,13 @@ interface operations {
9032
9032
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
9033
9033
  };
9034
9034
  };
9035
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9035
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9036
9036
  401: {
9037
9037
  headers: {
9038
9038
  [name: string]: unknown;
9039
9039
  };
9040
9040
  content: {
9041
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9041
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9042
9042
  };
9043
9043
  };
9044
9044
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -9128,13 +9128,13 @@ interface operations {
9128
9128
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
9129
9129
  };
9130
9130
  };
9131
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9131
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9132
9132
  401: {
9133
9133
  headers: {
9134
9134
  [name: string]: unknown;
9135
9135
  };
9136
9136
  content: {
9137
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9137
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9138
9138
  };
9139
9139
  };
9140
9140
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, PUBLISHABLE_KEY_REFUSED, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -9240,13 +9240,13 @@ interface operations {
9240
9240
  'application/json': components['schemas']['RefusalRequestInvalid'];
9241
9241
  };
9242
9242
  };
9243
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9243
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9244
9244
  401: {
9245
9245
  headers: {
9246
9246
  [name: string]: unknown;
9247
9247
  };
9248
9248
  content: {
9249
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9249
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9250
9250
  };
9251
9251
  };
9252
9252
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -9343,13 +9343,13 @@ interface operations {
9343
9343
  'application/json': components['schemas']['RefusalRequestInvalid'];
9344
9344
  };
9345
9345
  };
9346
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9346
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9347
9347
  401: {
9348
9348
  headers: {
9349
9349
  [name: string]: unknown;
9350
9350
  };
9351
9351
  content: {
9352
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9352
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9353
9353
  };
9354
9354
  };
9355
9355
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -9446,13 +9446,13 @@ interface operations {
9446
9446
  'application/json': components['schemas']['RefusalRequestInvalid'];
9447
9447
  };
9448
9448
  };
9449
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9449
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9450
9450
  401: {
9451
9451
  headers: {
9452
9452
  [name: string]: unknown;
9453
9453
  };
9454
9454
  content: {
9455
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9455
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9456
9456
  };
9457
9457
  };
9458
9458
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -9551,13 +9551,13 @@ interface operations {
9551
9551
  'application/json': components['schemas']['RefusalRequestInvalid'];
9552
9552
  };
9553
9553
  };
9554
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9554
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9555
9555
  401: {
9556
9556
  headers: {
9557
9557
  [name: string]: unknown;
9558
9558
  };
9559
9559
  content: {
9560
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9560
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9561
9561
  };
9562
9562
  };
9563
9563
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -9659,13 +9659,13 @@ interface operations {
9659
9659
  'application/json': components['schemas']['RefusalRequestInvalid'];
9660
9660
  };
9661
9661
  };
9662
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9662
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9663
9663
  401: {
9664
9664
  headers: {
9665
9665
  [name: string]: unknown;
9666
9666
  };
9667
9667
  content: {
9668
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9668
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9669
9669
  };
9670
9670
  };
9671
9671
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -9758,13 +9758,13 @@ interface operations {
9758
9758
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
9759
9759
  };
9760
9760
  };
9761
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9761
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9762
9762
  401: {
9763
9763
  headers: {
9764
9764
  [name: string]: unknown;
9765
9765
  };
9766
9766
  content: {
9767
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9767
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9768
9768
  };
9769
9769
  };
9770
9770
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -9873,13 +9873,13 @@ interface operations {
9873
9873
  'application/json': components['schemas']['RefusalRequestInvalid'];
9874
9874
  };
9875
9875
  };
9876
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9876
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9877
9877
  401: {
9878
9878
  headers: {
9879
9879
  [name: string]: unknown;
9880
9880
  };
9881
9881
  content: {
9882
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9882
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9883
9883
  };
9884
9884
  };
9885
9885
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -9977,13 +9977,13 @@ interface operations {
9977
9977
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
9978
9978
  };
9979
9979
  };
9980
- /** @description INVALID_API_KEY, MISSING_API_KEY */
9980
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
9981
9981
  401: {
9982
9982
  headers: {
9983
9983
  [name: string]: unknown;
9984
9984
  };
9985
9985
  content: {
9986
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
9986
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
9987
9987
  };
9988
9988
  };
9989
9989
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -10096,13 +10096,13 @@ interface operations {
10096
10096
  'application/json': components['schemas']['RefusalRequestInvalid'];
10097
10097
  };
10098
10098
  };
10099
- /** @description INVALID_API_KEY, MISSING_API_KEY */
10099
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
10100
10100
  401: {
10101
10101
  headers: {
10102
10102
  [name: string]: unknown;
10103
10103
  };
10104
10104
  content: {
10105
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
10105
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
10106
10106
  };
10107
10107
  };
10108
10108
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -10196,13 +10196,13 @@ interface operations {
10196
10196
  'application/json': components['schemas']['RefusalRequestInvalid'];
10197
10197
  };
10198
10198
  };
10199
- /** @description INVALID_API_KEY, MISSING_API_KEY */
10199
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
10200
10200
  401: {
10201
10201
  headers: {
10202
10202
  [name: string]: unknown;
10203
10203
  };
10204
10204
  content: {
10205
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
10205
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
10206
10206
  };
10207
10207
  };
10208
10208
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -10304,13 +10304,13 @@ interface operations {
10304
10304
  'application/json': components['schemas']['RefusalRequestInvalid'];
10305
10305
  };
10306
10306
  };
10307
- /** @description INVALID_API_KEY, MISSING_API_KEY */
10307
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
10308
10308
  401: {
10309
10309
  headers: {
10310
10310
  [name: string]: unknown;
10311
10311
  };
10312
10312
  content: {
10313
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
10313
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
10314
10314
  };
10315
10315
  };
10316
10316
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -10403,13 +10403,13 @@ interface operations {
10403
10403
  'application/json': components['schemas']['RefusalContentInvalidOrRequestInvalid'];
10404
10404
  };
10405
10405
  };
10406
- /** @description INVALID_API_KEY, MISSING_API_KEY */
10406
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
10407
10407
  401: {
10408
10408
  headers: {
10409
10409
  [name: string]: unknown;
10410
10410
  };
10411
10411
  content: {
10412
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
10412
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
10413
10413
  };
10414
10414
  };
10415
10415
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, READ_ONLY_KEY, USAGE_QUOTA_EXCEEDED */
@@ -10518,13 +10518,13 @@ interface operations {
10518
10518
  'application/json': components['schemas']['RefusalRequestInvalid'];
10519
10519
  };
10520
10520
  };
10521
- /** @description INVALID_API_KEY, MISSING_API_KEY */
10521
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
10522
10522
  401: {
10523
10523
  headers: {
10524
10524
  [name: string]: unknown;
10525
10525
  };
10526
10526
  content: {
10527
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
10527
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
10528
10528
  };
10529
10529
  };
10530
10530
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -10619,13 +10619,13 @@ interface operations {
10619
10619
  'application/json': components['schemas']['RefusalRequestInvalid'];
10620
10620
  };
10621
10621
  };
10622
- /** @description INVALID_API_KEY, MISSING_API_KEY */
10622
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
10623
10623
  401: {
10624
10624
  headers: {
10625
10625
  [name: string]: unknown;
10626
10626
  };
10627
10627
  content: {
10628
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
10628
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
10629
10629
  };
10630
10630
  };
10631
10631
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -10719,13 +10719,13 @@ interface operations {
10719
10719
  'application/json': components['schemas']['RefusalRequestInvalid'];
10720
10720
  };
10721
10721
  };
10722
- /** @description INVALID_API_KEY, MISSING_API_KEY */
10722
+ /** @description END_USER_TOKEN_INVALID, INVALID_API_KEY, MISSING_API_KEY */
10723
10723
  401: {
10724
10724
  headers: {
10725
10725
  [name: string]: unknown;
10726
10726
  };
10727
10727
  content: {
10728
- 'application/json': components['schemas']['RefusalInvalidApiKeyOrMissingApiKey'];
10728
+ 'application/json': components['schemas']['RefusalEndUserTokenInvalidOrInvalidApiKeyOrMissingApiKey'];
10729
10729
  };
10730
10730
  };
10731
10731
  /** @description ACCESS_DENIED, PLAN_FEATURE_UNAVAILABLE, USAGE_QUOTA_EXCEEDED */
@@ -10871,6 +10871,31 @@ interface RelyIOConfig {
10871
10871
  * })
10872
10872
  */
10873
10873
  fetch?: typeof globalThis.fetch;
10874
+ /**
10875
+ * The signed-in End user's token, asked for on every request (spec 4). Hand the client your
10876
+ * identity provider's token function once — Clerk's `getToken`, or your own — and each request
10877
+ * the client sends calls it then and sends what it answers as `X-RelyIO-End-User`, beside the key.
10878
+ * The Content API verifies the token against the Environment's identity source and answers as that
10879
+ * End user; a token it cannot verify is refused `END_USER_TOKEN_INVALID` (401).
10880
+ *
10881
+ * - `null` — or an empty or blank string — is a visitor who is not signed in: no header is sent,
10882
+ * and the request is the key's alone. An End-user header given in `headers` is not sent either.
10883
+ * - It is asked once per call, before the first attempt: every retry of that call sends the token
10884
+ * the first attempt sent.
10885
+ * - A function that throws sends nothing: the call rejects with its error, never as the key alone.
10886
+ *
10887
+ * It works with a publishable key in a browser and with a secret key on a server, where it is the
10888
+ * request's own token function (Clerk's `auth().getToken`). A response to a request that carries a
10889
+ * token is that person's: the API marks it `private, no-store`, and no shared cache keeps it.
10890
+ * `liveChanges()` sends no token: the live edge follows published changes for every visitor alike.
10891
+ *
10892
+ * @example
10893
+ * const relyio = createClient({
10894
+ * apiKey: 'rly_pub_…',
10895
+ * getToken: () => window.Clerk?.session?.getToken() ?? Promise.resolve(null),
10896
+ * })
10897
+ */
10898
+ getToken?: () => Promise<string | null>;
10874
10899
  /**
10875
10900
  * RelyIO's live edge, which `liveChanges()` — and `<RelyIOProvider live>` from `@relyio/react`
10876
10901
  * with a publishable key — follows a dataset's published changes at. An `https:` or `wss:` URL
@@ -11083,8 +11108,9 @@ type WithDefaults<T, NoDefault extends keyof T = never> = Required<Omit<T, NoDef
11083
11108
  * `fetch` and `webSocket` among them: absent means the runtime's own, and that is read per request
11084
11109
  * or per connection rather than captured here. `liveUrl` too: absent is derived from `baseUrl` when
11085
11110
  * the live transport opens, where RelyIO's own API names its edge, and is otherwise no address.
11111
+ * `getToken` too: absent is a client that sends no End user's token.
11086
11112
  */
11087
- type UndefaultedOption = 'apiKey' | 'dataset' | 'locale' | 'dev' | 'fetch' | 'liveUrl' | 'webSocket';
11113
+ type UndefaultedOption = 'apiKey' | 'dataset' | 'locale' | 'dev' | 'fetch' | 'getToken' | 'liveUrl' | 'webSocket';
11088
11114
  /** The options that are themselves bags of options, each merged field by field. */
11089
11115
  type OptionBag = 'browser' | 'cache' | 'debug';
11090
11116
  /**
@@ -11111,6 +11137,121 @@ type ConfigDefaults = WithDefaults<Omit<RelyIOConfig, UndefaultedOption | Option
11111
11137
  /** The configuration a client runs on: each option the caller gave, and its default where not. */
11112
11138
  type MergedRelyIOConfig = ConfigDefaults & Pick<RelyIOConfig, UndefaultedOption>;
11113
11139
 
11140
+ /**
11141
+ * A condition tree — the list grammar's operators combined with `and`, `or` and `not` over named
11142
+ * roots — and the one check every evaluator runs before it answers one (REL-3879).
11143
+ *
11144
+ * One language for three askers: an End user's Policy (spec 4, ADR 0027), over `owner`, `claims.*`
11145
+ * and the item's fields (`record.*` / `entry.*`); an Automation's If step and its trigger's `where`
11146
+ * (spec 3), over the event and earlier steps' outputs. A tree is plain data (ADR 0021): the builder
11147
+ * below returns the very object a deployed Automation or Policy stores, so the plan can diff it and
11148
+ * no customer code runs to decide it.
11149
+ *
11150
+ * A test names a **root** and a path under it. A root is either the item a read is about, which the
11151
+ * database half compiles against stored documents, or a value its caller **supplies** — a token's
11152
+ * Claims, an event, a step's output. Which roots exist is the caller's to say; a tree naming one it
11153
+ * does not supply is refused by name ({@link ConditionRefusedError}), never answered as false,
11154
+ * because a misspelt root that quietly fails every test reads exactly like a rule that holds of
11155
+ * nobody.
11156
+ *
11157
+ * What an operator *means* is not here, as for the list module's own conditions: the in-memory
11158
+ * evaluator (`evaluateConditionTree`) and the database half read `@relyio/queries`' catalog rows,
11159
+ * whose two faces `catalog-parity.mongo.test.ts` holds to one answer. An absent value is absent and
11160
+ * is never defaulted, so a test answers it as Mongo answers a missing field: `eq`, `in`, `gt`,
11161
+ * `exists` are false; `ne`, `nin`, `isEmpty`, `notContains` are true.
11162
+ */
11163
+ /**
11164
+ * The operators a condition tree may test with: the list grammar's, less the ones that need a fact
11165
+ * a value bag does not carry — a clock (`inTheLast`, `inTheNext`) or the form a path stores its date
11166
+ * in (`isBefore`, `isAfter`, `isOn`, `isBetween`) — and the case-sensitivity spellings of the REST
11167
+ * dialect. A date is compared as the text or number it is.
11168
+ */
11169
+ declare const CONDITION_OPERATORS: readonly ["eq", "ne", "gt", "gte", "lt", "lte", "in", "nin", "exists", "isNull", "isEmpty", "hasValue", "contains", "notContains", "between"];
11170
+ type ConditionOperator = (typeof CONDITION_OPERATORS)[number];
11171
+ /** One value a test compares with. */
11172
+ type ConditionScalar = string | number | boolean;
11173
+ /** What a test is answered with, by the argument its operator takes. */
11174
+ type ConditionArgument = ConditionScalar | readonly ConditionScalar[] | {
11175
+ readonly from: string | number;
11176
+ readonly to: string | number;
11177
+ };
11178
+ /** One test: a path under a root, an operator, and the operator's argument. */
11179
+ type ConditionTest = {
11180
+ readonly root: string;
11181
+ readonly path: readonly string[];
11182
+ readonly operator: ConditionOperator;
11183
+ readonly value?: ConditionArgument;
11184
+ };
11185
+ /** Tests combined. An empty `and` holds; an empty `or` does not. */
11186
+ type ConditionTree = ConditionTest | {
11187
+ readonly and: readonly ConditionTree[];
11188
+ } | {
11189
+ readonly or: readonly ConditionTree[];
11190
+ } | {
11191
+ readonly not: ConditionTree;
11192
+ };
11193
+ /** Every test holds. */
11194
+ declare function and(...conditions: readonly ConditionTree[]): ConditionTree;
11195
+ /** Some test holds. */
11196
+ declare function or(...conditions: readonly ConditionTree[]): ConditionTree;
11197
+ /** The test does not hold. */
11198
+ declare function not(condition: ConditionTree): ConditionTree;
11199
+ /** A list is compared by its members, as Mongo compares an array field. */
11200
+ type MemberOf<T> = T extends ReadonlyArray<infer Member> ? Member : T;
11201
+ /** The values a path holding `T` is compared with: any scalar where its shape is not known. */
11202
+ type ComparedWith<T> = unknown extends T ? ConditionScalar : MemberOf<NonNullable<T>> extends infer Member ? Member extends ConditionScalar ? Member : never : never;
11203
+ /** What a path offers: one method per condition operator. */
11204
+ interface ConditionTests<T = unknown> {
11205
+ eq(value: ComparedWith<T>): ConditionTest;
11206
+ ne(value: ComparedWith<T>): ConditionTest;
11207
+ gt(value: ComparedWith<T> & (string | number)): ConditionTest;
11208
+ gte(value: ComparedWith<T> & (string | number)): ConditionTest;
11209
+ lt(value: ComparedWith<T> & (string | number)): ConditionTest;
11210
+ lte(value: ComparedWith<T> & (string | number)): ConditionTest;
11211
+ in(values: ReadonlyArray<ComparedWith<T>>): ConditionTest;
11212
+ nin(values: ReadonlyArray<ComparedWith<T>>): ConditionTest;
11213
+ /** Present (the default) or absent. */
11214
+ exists(present?: boolean): ConditionTest;
11215
+ /** Absent or `null` (the default), or neither. */
11216
+ isNull(nullish?: boolean): ConditionTest;
11217
+ /** Absent, `null`, the empty string or the empty list. */
11218
+ isEmpty(): ConditionTest;
11219
+ /** None of {@link isEmpty}'s four. */
11220
+ hasValue(): ConditionTest;
11221
+ /** Holds the text, any case. */
11222
+ contains(text: string): ConditionTest;
11223
+ notContains(text: string): ConditionTest;
11224
+ /** Both ends inclusive. */
11225
+ between(range: {
11226
+ readonly from: ComparedWith<T> & (string | number);
11227
+ readonly to: ComparedWith<T> & (string | number);
11228
+ }): ConditionTest;
11229
+ }
11230
+ /**
11231
+ * The paths under a path whose shape is not known: any name. An interface, so it may name itself.
11232
+ * It is an index signature, so a project with `noUncheckedIndexedAccess` reads each step as possibly
11233
+ * undefined — a customer's roots are typed (codegen's Claims and fields, a step's output fields).
11234
+ */
11235
+ interface OpenConditionChildren {
11236
+ readonly [key: string]: ConditionPath;
11237
+ }
11238
+ type ChildrenOf<T> = unknown extends T ? OpenConditionChildren : NonNullable<T> extends readonly unknown[] ? unknown : NonNullable<T> extends object ? {
11239
+ readonly [K in keyof NonNullable<T> & string]-?: ConditionPath<NonNullable<T>[K]>;
11240
+ } : unknown;
11241
+ /**
11242
+ * A path under a root: its tests, and the paths under it. Typed from `T` where the caller knows the
11243
+ * shape — codegen's Claims, a step's output fields — and open where it does not.
11244
+ *
11245
+ * A field named like a test (`eq`, `in`) is reached with {@link conditionRoot}'s path argument.
11246
+ */
11247
+ type ConditionPath<T = unknown> = ConditionTests<T> & ChildrenOf<T>;
11248
+ /**
11249
+ * A root to write tests against: `conditionRoot('claims').plan.eq('paid')` is
11250
+ * `{ root: 'claims', path: ['plan'], operator: 'eq', value: 'paid' }`. `path` starts it deeper,
11251
+ * which is also how a segment named like a test is reached.
11252
+ */
11253
+ declare function conditionRoot<T = unknown>(root: string, path?: readonly string[]): ConditionPath<T>;
11254
+
11114
11255
  /**
11115
11256
  * Each field kind, declared once, with every facet the other packages decide by it — P0's field
11116
11257
  * contract (REL-1783 declared it, REL-1788 made it the only list; `docs/design/structured-fields/README.md`,
@@ -11158,7 +11299,7 @@ type MergedRelyIOConfig = ConfigDefaults & Pick<RelyIOConfig, UndefaultedOption>
11158
11299
  * Every field kind, in the order the schema language has always listed them. The one definition of
11159
11300
  * the union in `@relyio/schema`: `FIELD_TYPES` in `types/base/constants.ts` is this tuple.
11160
11301
  */
11161
- declare const FIELD_KINDS: readonly ['shortText', 'longText', 'richText', 'table', 'code', 'email', 'url', 'slug', 'integer', 'decimal', 'counter', 'sequence', 'boolean', 'enum', 'date', 'dateTime', 'reference', 'tags', 'list', 'object', 'json', 'file'];
11302
+ declare const FIELD_KINDS: readonly ['shortText', 'longText', 'richText', 'table', 'code', 'email', 'url', 'slug', 'integer', 'decimal', 'counter', 'sequence', 'owner', 'boolean', 'enum', 'date', 'dateTime', 'reference', 'tags', 'list', 'object', 'json', 'file'];
11162
11303
  /** A field kind: what a field's `type` names. The declaration is keyed by it and by nothing else. */
11163
11304
  type FieldKind = (typeof FIELD_KINDS)[number];
11164
11305
  /**
@@ -11480,6 +11621,8 @@ interface FieldDefinition$1<TId extends string = string, TType extends string =
11480
11621
  fallback?: unknown;
11481
11622
  /** Whether this field is deprecated */
11482
11623
  deprecated?: boolean;
11624
+ /** A Private field: never served to a publishable key or an End user (spec 4) */
11625
+ private?: boolean;
11483
11626
  }
11484
11627
  /**
11485
11628
  * Any field definition - used in arrays where we need to preserve specific field types
@@ -11623,6 +11766,15 @@ interface SequenceConfig {
11623
11766
  /** Text before the number, up to 32 characters without whitespace. */
11624
11767
  prefix?: string;
11625
11768
  }
11769
+ /**
11770
+ * An Owner field's config (spec 4, REL-3883): whether every Record names its owner, and whether an
11771
+ * End user owns at most one Record of the type. No `defaultValue`: an owner is the asking End user,
11772
+ * or the one your server or a Function names.
11773
+ */
11774
+ interface OwnerConfig {
11775
+ required?: boolean;
11776
+ unique?: boolean;
11777
+ }
11626
11778
  interface DecimalConfig extends BaseFieldConfig {
11627
11779
  min?: number;
11628
11780
  max?: number;
@@ -11902,6 +12054,12 @@ interface KeyedFieldOptions<TLocalized extends Localized = Localized> {
11902
12054
  fallback?: unknown;
11903
12055
  /** Whether this Field is deprecated */
11904
12056
  deprecated?: boolean;
12057
+ /**
12058
+ * A Private Field: served to your server with a secret key and to your Functions, never to a
12059
+ * publishable key or an End user — who cannot filter, sort, facet, search or include by it either.
12060
+ * A quiz's correct answer. On a content type's or a Record type's own Fields only.
12061
+ */
12062
+ private?: boolean;
11905
12063
  }
11906
12064
  /** The key a keyed Field's type keeps its config under. Types only. */
11907
12065
  declare const configAs: unique symbol;
@@ -12083,6 +12241,13 @@ declare function counter<TRequired extends boolean = false>(options?: KeyedOptio
12083
12241
  * @example fields.sequence({ prefix: 'ORD-' })
12084
12242
  */
12085
12243
  declare function sequence(options?: KeyedOptions<SequenceConfig, Localized<never>>): KeyedField<'sequence', SequenceConfig, never, never>;
12244
+ /**
12245
+ * Owner field (spec 4, REL-3883): the End user a Record belongs to, stored as their subject — the id
12246
+ * their identity source's token names them by. A Record type whose `endUsers.read` is `'owner'` lets
12247
+ * each End user read only the Records they own. At most one per Record type, at its top level.
12248
+ * @example fields.owner()
12249
+ */
12250
+ declare function owner<TRequired extends boolean = false>(options?: KeyedOptions<OwnerConfig & RequiredAs<TRequired>, Localized<never>>): KeyedField<'owner', OwnerConfig & RequiredAs<TRequired>, never, never>;
12086
12251
  /**
12087
12252
  * Decimal field with precision
12088
12253
  * @example fields.decimal({ decimalPlaces: 2, min: 0 })
@@ -12175,6 +12340,964 @@ declare function json<TSchema extends JsonSchema = never, TRequired extends bool
12175
12340
  */
12176
12341
  declare function file<TRequired extends boolean = false>(options: KeyedOptions<FileConfig & RequiredAs<TRequired>, Localized<never>>): KeyedField<'file', FileConfig & RequiredAs<TRequired>, never, never>;
12177
12342
 
12343
+ /**
12344
+ * ## What a Project's code may name of each Extension (spec 3, REL-3846; ADR 0019)
12345
+ *
12346
+ * `relyio/extensions.ts` names the Extensions a Project uses and their settings, and an Automation
12347
+ * names an Extension's Trigger in its `on` and its Actions in `step.action` — each through a typed
12348
+ * handle `@relyio/sdk/extensions` gives. That handle is typed by what is declared here: each
12349
+ * Extension's **settings** (set once per Project, never a secret), its **Actions** (input, output and
12350
+ * the sample result Preview hands on) and its **Triggers** (the payload the receiver keeps).
12351
+ *
12352
+ * Declared once, and here, because the SDK may import `@relyio/api-contract` and may not import
12353
+ * `@relyio/events`, whose Extension catalog owns every Extension (the customer fence,
12354
+ * `CUSTOMER_LAYER_CHOKEPOINT`). The catalog reads these same values — its settings point and its
12355
+ * Triggers' payload fields are these arrays — and `@relyio/events`' `extension-surfaces.test.ts`
12356
+ * holds every name here to a declared one of the catalog.
12357
+ *
12358
+ * One entry per Extension a Project may declare: GitHub's Connection is the Project's binding, made
12359
+ * by installing the App and never declared in `relyio/extensions.ts`, so it has none. An Extension's
12360
+ * Actions an Automation may name are its step Actions; a built-in-only one (a deploy hook) is never
12361
+ * one of them.
12362
+ */
12363
+ /**
12364
+ * One setting an Extension declares: text — starting with `prefix` when it must (Slack's channel,
12365
+ * `#`), at most `maxLength` characters — or one of `options`. Never sensitive: a credential is a
12366
+ * Connection's field, held per Environment and sealed.
12367
+ */
12368
+ type ExtensionSettingField = (ExtensionSettingFieldBase & {
12369
+ readonly type: 'text';
12370
+ readonly prefix?: string;
12371
+ readonly maxLength: number;
12372
+ }) | (ExtensionSettingFieldBase & {
12373
+ readonly type: 'select';
12374
+ readonly options: readonly string[];
12375
+ });
12376
+ interface ExtensionSettingFieldBase {
12377
+ readonly key: string;
12378
+ readonly label: string;
12379
+ readonly required: boolean;
12380
+ readonly helpText?: string;
12381
+ }
12382
+ /**
12383
+ * One value an Action takes or answers, or a Trigger's payload holds: a dot-separated path, its
12384
+ * JSON type, and whether it is always there. The shape of the catalog's `TriggerPayloadField`.
12385
+ */
12386
+ interface ExtensionValueField {
12387
+ readonly path: string;
12388
+ readonly type: 'string' | 'number' | 'boolean' | 'object' | 'array';
12389
+ readonly required: boolean;
12390
+ /**
12391
+ * For an `object` whose keys are the third party's customer's own — Stripe's `metadata` — what
12392
+ * every value is: `string`, so `metadata.orderId` reads as text though no key of it is declared.
12393
+ * Absent, an object's undeclared keys are untyped. The receiver refuses an object whose values
12394
+ * are not all of it.
12395
+ */
12396
+ readonly values?: 'string';
12397
+ }
12398
+ /**
12399
+ * What an action field's value is: `text` a string, `url` an absolute `http(s)` URL, `number` a
12400
+ * finite number, `boolean`, `json` any JSON value, `headers` an object of string values, `files` a
12401
+ * list of Files a Record holds (spec 1's File, REL-3824), each as a run's event carries it —
12402
+ * `{ id, name, size, type }`, never its object key.
12403
+ *
12404
+ * A `files` field is an input field only. The events worker's send point reads each File itself,
12405
+ * from the run's Dataset, before the Extension's handler sees the step (REL-3854): a Recorded send
12406
+ * is handed each File's name, size and type, a send its bytes too, so no customer code and no tasks
12407
+ * worker handles a byte.
12408
+ */
12409
+ declare const ACTION_FIELD_TYPES: readonly ['text', 'url', 'number', 'boolean', 'json', 'headers', 'files'];
12410
+ type ActionFieldType = (typeof ACTION_FIELD_TYPES)[number];
12411
+ /** One field an action step takes or answers. */
12412
+ interface ActionField {
12413
+ readonly key: string;
12414
+ readonly type: ActionFieldType;
12415
+ readonly required: boolean;
12416
+ readonly description: string;
12417
+ /**
12418
+ * The Extension's setting (its Settings point, `relyio/extensions.ts`) an input field takes when
12419
+ * the step gives none — Resend's `from` (REL-3854). Such a field is optional on the step and still
12420
+ * needed by the send: with neither the step's value nor the setting, the send point refuses it by
12421
+ * name. An input field only, naming a setting the Extension declares (`extensionCatalogProblems`).
12422
+ */
12423
+ readonly setting?: string;
12424
+ /**
12425
+ * On a `files` field, and required there: the most bytes its Files may hold together, which the
12426
+ * send point refuses past before it reads any of them — the third party's own limit (Resend's 40 MB
12427
+ * an email once encoded). Never on another type (`extensionCatalogProblems`).
12428
+ */
12429
+ readonly maxBytes?: number;
12430
+ }
12431
+ /**
12432
+ * An action as an Automation step calls it, through the events worker's one send point
12433
+ * (`POST /internal/actions`, ADR 0026; REL-3849) — the catalog's `ActionDefinition.step`:
12434
+ *
12435
+ * - `input` — the fields the step hands it, checked before anything is sent;
12436
+ * - `output` — the fields its result carries, which the steps after it read under
12437
+ * `<step>.output`; a result that breaks them fails the step;
12438
+ * - `sample` — the result a **Recorded** send hands on (spec 0's Preview rule): a Preview branch
12439
+ * with no Preview Connection of the Extension sends nothing, and the steps after it still run on
12440
+ * this. It satisfies `output` (`extensionCatalogProblems`). Declared by the Extension, never
12441
+ * overridden by a step;
12442
+ * - `idempotencyHeader` — the request header the third party dedupes on, which carries
12443
+ * `<runId>:<step>`; `null` when it has none, and then a send whose outcome is unknown is never
12444
+ * sent again.
12445
+ */
12446
+ interface ActionStep {
12447
+ readonly input: readonly ActionField[];
12448
+ readonly output: readonly ActionField[];
12449
+ readonly sample: Readonly<Record<string, unknown>>;
12450
+ readonly idempotencyHeader: string | null;
12451
+ }
12452
+ /**
12453
+ * An Action an Automation step may name, under the name its handle gives it (`postMessage`): its
12454
+ * slug in the Extension catalog, which the step stores, and its `step` — the very value the
12455
+ * catalog's `ActionDefinition.step` is, so the handle's input and output are the send point's.
12456
+ */
12457
+ interface ExtensionActionSurface {
12458
+ readonly action: string;
12459
+ readonly step: ActionStep;
12460
+ }
12461
+ /** A Trigger an Automation may start on, under the name its handle gives it (`deploymentSucceeded`). */
12462
+ interface ExtensionTriggerSurface {
12463
+ /** The Trigger's slug in the Extension catalog, which the trigger stores (`trigger`). */
12464
+ readonly trigger: string;
12465
+ /** What the run reads under `event.payload`: the Trigger's payload fields. */
12466
+ readonly payload: readonly ExtensionValueField[];
12467
+ }
12468
+ /**
12469
+ * A contributed field kind's base kind (spec 4, REL-3894; ADR 0019's Field kinds point): a reference
12470
+ * to one of its Extension's Managed Record types. The schema, reads, writes and Policies treat the
12471
+ * field exactly as this reference — nothing new is stored, read or enforced.
12472
+ */
12473
+ interface ContributedFieldKindBase {
12474
+ readonly type: 'reference';
12475
+ /** The Managed Record type it references, one its Extension contributes (`clerkUser`). */
12476
+ readonly to: string;
12477
+ }
12478
+ /**
12479
+ * What a contributed field kind's picker reads of the Records it offers: fields of its base kind's
12480
+ * Record type. The Studio's picker searches `search` and shows each Record by `title`, `description`
12481
+ * and `image`, so a person picks a user by name or email rather than pasting an id.
12482
+ */
12483
+ interface ContributedFieldKindPicker {
12484
+ /** The fields a Search matches: a Record is offered when any of them contains the text. */
12485
+ readonly search: readonly string[];
12486
+ /** The fields a row's title is, joined by a space, in order; an empty one is left out. */
12487
+ readonly title: readonly string[];
12488
+ /** The field shown under the title, or `null` for none. */
12489
+ readonly description: string | null;
12490
+ /** The field holding the address of the image shown beside the row, or `null` for none. */
12491
+ readonly image: string | null;
12492
+ }
12493
+ /**
12494
+ * A field kind an Extension contributes (spec 4, REL-3894): a base kind plus picker metadata. A
12495
+ * Project's code declares it through the Extension's handle (`clerk.userRef()`), which writes a
12496
+ * field of the base kind marked with the kind's name ({@link CONTRIBUTED_FIELD_KIND_OPTION}).
12497
+ */
12498
+ interface ExtensionFieldKindSurface {
12499
+ readonly base: ContributedFieldKindBase;
12500
+ readonly picker: ContributedFieldKindPicker;
12501
+ }
12502
+ /** What a Project's code may name of one Extension. */
12503
+ interface ExtensionSurface {
12504
+ readonly settings: readonly ExtensionSettingField[];
12505
+ readonly actions: Readonly<Record<string, ExtensionActionSurface>>;
12506
+ readonly triggers: Readonly<Record<string, ExtensionTriggerSurface>>;
12507
+ /** Its contributed field kinds, by the name its handle gives them (`userRef`). */
12508
+ readonly fieldKinds: Readonly<Record<string, ExtensionFieldKindSurface>>;
12509
+ /**
12510
+ * The Managed Record types it contributes (spec 4, REL-3888), by the name its handle gives them:
12511
+ * `clerk.user` is `'clerkUser'`, so code names the type through the handle (REL-3863).
12512
+ */
12513
+ readonly recordTypes: Readonly<Record<string, string>>;
12514
+ }
12515
+ /**
12516
+ * Every Extension a Project may declare in `relyio/extensions.ts`, by slug. An Extension's step
12517
+ * Action is declared here and its catalog entry's `step` is this value (the webhook's `post`), and so
12518
+ * is each Trigger's payload: one declaration types the SDK's handle and is what the catalog delivers.
12519
+ * Resend's `send` (REL-3854) and Slack's `postMessage` (REL-3855) join the same way Stripe's
12520
+ * Triggers (REL-3853) did; `@relyio/events`' `extension-surfaces.test.ts` fails on a step Action declared in the
12521
+ * catalog and not here.
12522
+ */
12523
+ declare const EXTENSION_SURFACES: {
12524
+ readonly webhook: {
12525
+ readonly settings: readonly [];
12526
+ readonly actions: {
12527
+ readonly post: {
12528
+ readonly action: 'post';
12529
+ readonly step: {
12530
+ readonly input: readonly [{
12531
+ readonly key: 'url';
12532
+ readonly type: 'url';
12533
+ readonly required: true;
12534
+ readonly description: 'Where to POST: an http(s) URL.';
12535
+ }, {
12536
+ readonly key: 'headers';
12537
+ readonly type: 'headers';
12538
+ readonly required: false;
12539
+ readonly description: 'Request headers, sent after the Connection’s custom headers. The headers RelyIO signs with are its own.';
12540
+ }, {
12541
+ readonly key: 'body';
12542
+ readonly type: 'json';
12543
+ readonly required: false;
12544
+ readonly description: 'The JSON body. Absent, the body is `null`.';
12545
+ }];
12546
+ readonly output: readonly [{
12547
+ readonly key: 'status';
12548
+ readonly type: 'number';
12549
+ readonly required: true;
12550
+ readonly description: 'The HTTP status the receiver answered.';
12551
+ }, {
12552
+ readonly key: 'body';
12553
+ readonly type: 'text';
12554
+ readonly required: false;
12555
+ readonly description: 'The first kilobyte of the receiver’s answer, as text.';
12556
+ }];
12557
+ readonly sample: {
12558
+ readonly status: 200;
12559
+ readonly body: '';
12560
+ };
12561
+ readonly idempotencyHeader: "x-relyio-event-id";
12562
+ };
12563
+ };
12564
+ };
12565
+ readonly triggers: {};
12566
+ readonly fieldKinds: {};
12567
+ readonly recordTypes: {};
12568
+ };
12569
+ readonly vercel: {
12570
+ readonly settings: readonly [];
12571
+ readonly actions: {};
12572
+ readonly triggers: {
12573
+ readonly deploymentSucceeded: {
12574
+ readonly trigger: "deployment.succeeded";
12575
+ readonly payload: readonly [{
12576
+ readonly path: 'payload.deployment.id';
12577
+ readonly type: 'string';
12578
+ readonly required: true;
12579
+ }, {
12580
+ readonly path: 'payload.deployment.url';
12581
+ readonly type: 'string';
12582
+ readonly required: false;
12583
+ }, {
12584
+ readonly path: 'payload.deployment.meta.githubCommitSha';
12585
+ readonly type: 'string';
12586
+ readonly required: false;
12587
+ }, {
12588
+ readonly path: 'payload.deployment.meta.githubCommitRef';
12589
+ readonly type: 'string';
12590
+ readonly required: false;
12591
+ }, {
12592
+ readonly path: 'payload.project.id';
12593
+ readonly type: 'string';
12594
+ readonly required: true;
12595
+ }, {
12596
+ readonly path: 'payload.target';
12597
+ readonly type: 'string';
12598
+ readonly required: false;
12599
+ }];
12600
+ };
12601
+ };
12602
+ readonly fieldKinds: {};
12603
+ readonly recordTypes: {};
12604
+ };
12605
+ readonly netlify: {
12606
+ readonly settings: readonly [];
12607
+ readonly actions: {};
12608
+ readonly triggers: {
12609
+ readonly deploymentSucceeded: {
12610
+ readonly trigger: "deployment.succeeded";
12611
+ readonly payload: readonly [{
12612
+ readonly path: 'id';
12613
+ readonly type: 'string';
12614
+ readonly required: true;
12615
+ }, {
12616
+ readonly path: 'site_id';
12617
+ readonly type: 'string';
12618
+ readonly required: true;
12619
+ }, {
12620
+ readonly path: 'state';
12621
+ readonly type: 'string';
12622
+ readonly required: true;
12623
+ }, {
12624
+ readonly path: 'context';
12625
+ readonly type: 'string';
12626
+ readonly required: false;
12627
+ }, {
12628
+ readonly path: 'branch';
12629
+ readonly type: 'string';
12630
+ readonly required: false;
12631
+ }, {
12632
+ readonly path: 'commit_ref';
12633
+ readonly type: 'string';
12634
+ readonly required: false;
12635
+ }, {
12636
+ readonly path: 'deploy_ssl_url';
12637
+ readonly type: 'string';
12638
+ readonly required: false;
12639
+ }];
12640
+ };
12641
+ };
12642
+ readonly fieldKinds: {};
12643
+ readonly recordTypes: {};
12644
+ };
12645
+ readonly stripe: {
12646
+ readonly settings: readonly [];
12647
+ readonly actions: {};
12648
+ readonly triggers: {
12649
+ readonly paymentIntentSucceeded: {
12650
+ readonly trigger: 'payment_intent.succeeded';
12651
+ readonly payload: readonly [{
12652
+ readonly path: 'id';
12653
+ readonly type: 'string';
12654
+ readonly required: true;
12655
+ }, {
12656
+ readonly path: 'type';
12657
+ readonly type: 'string';
12658
+ readonly required: true;
12659
+ }, {
12660
+ readonly path: 'created';
12661
+ readonly type: 'number';
12662
+ readonly required: true;
12663
+ }, {
12664
+ readonly path: 'livemode';
12665
+ readonly type: 'boolean';
12666
+ readonly required: true;
12667
+ }, {
12668
+ readonly path: 'data.object.id';
12669
+ readonly type: 'string';
12670
+ readonly required: true;
12671
+ }, {
12672
+ readonly path: 'data.object.object';
12673
+ readonly type: 'string';
12674
+ readonly required: true;
12675
+ }, {
12676
+ readonly path: 'data.object.metadata';
12677
+ readonly type: 'object';
12678
+ readonly required: false;
12679
+ readonly values: 'string';
12680
+ }, {
12681
+ readonly path: 'data.object.amount';
12682
+ readonly type: 'number';
12683
+ readonly required: true;
12684
+ }, {
12685
+ readonly path: 'data.object.amount_received';
12686
+ readonly type: 'number';
12687
+ readonly required: true;
12688
+ }, {
12689
+ readonly path: 'data.object.currency';
12690
+ readonly type: 'string';
12691
+ readonly required: true;
12692
+ }, {
12693
+ readonly path: 'data.object.status';
12694
+ readonly type: 'string';
12695
+ readonly required: true;
12696
+ }, {
12697
+ readonly path: 'data.object.customer';
12698
+ readonly type: 'string';
12699
+ readonly required: false;
12700
+ }, {
12701
+ readonly path: 'data.object.latest_charge';
12702
+ readonly type: 'string';
12703
+ readonly required: false;
12704
+ }, {
12705
+ readonly path: 'data.object.receipt_email';
12706
+ readonly type: 'string';
12707
+ readonly required: false;
12708
+ }];
12709
+ };
12710
+ readonly paymentIntentPaymentFailed: {
12711
+ readonly trigger: 'payment_intent.payment_failed';
12712
+ readonly payload: readonly [{
12713
+ readonly path: 'id';
12714
+ readonly type: 'string';
12715
+ readonly required: true;
12716
+ }, {
12717
+ readonly path: 'type';
12718
+ readonly type: 'string';
12719
+ readonly required: true;
12720
+ }, {
12721
+ readonly path: 'created';
12722
+ readonly type: 'number';
12723
+ readonly required: true;
12724
+ }, {
12725
+ readonly path: 'livemode';
12726
+ readonly type: 'boolean';
12727
+ readonly required: true;
12728
+ }, {
12729
+ readonly path: 'data.object.id';
12730
+ readonly type: 'string';
12731
+ readonly required: true;
12732
+ }, {
12733
+ readonly path: 'data.object.object';
12734
+ readonly type: 'string';
12735
+ readonly required: true;
12736
+ }, {
12737
+ readonly path: 'data.object.metadata';
12738
+ readonly type: 'object';
12739
+ readonly required: false;
12740
+ readonly values: 'string';
12741
+ }, {
12742
+ readonly path: 'data.object.amount';
12743
+ readonly type: 'number';
12744
+ readonly required: true;
12745
+ }, {
12746
+ readonly path: 'data.object.currency';
12747
+ readonly type: 'string';
12748
+ readonly required: true;
12749
+ }, {
12750
+ readonly path: 'data.object.status';
12751
+ readonly type: 'string';
12752
+ readonly required: true;
12753
+ }, {
12754
+ readonly path: 'data.object.customer';
12755
+ readonly type: 'string';
12756
+ readonly required: false;
12757
+ }, {
12758
+ readonly path: 'data.object.last_payment_error.code';
12759
+ readonly type: 'string';
12760
+ readonly required: false;
12761
+ }, {
12762
+ readonly path: 'data.object.last_payment_error.message';
12763
+ readonly type: 'string';
12764
+ readonly required: false;
12765
+ }];
12766
+ };
12767
+ readonly checkoutSessionCompleted: {
12768
+ readonly trigger: 'checkout.session.completed';
12769
+ readonly payload: readonly [{
12770
+ readonly path: 'id';
12771
+ readonly type: 'string';
12772
+ readonly required: true;
12773
+ }, {
12774
+ readonly path: 'type';
12775
+ readonly type: 'string';
12776
+ readonly required: true;
12777
+ }, {
12778
+ readonly path: 'created';
12779
+ readonly type: 'number';
12780
+ readonly required: true;
12781
+ }, {
12782
+ readonly path: 'livemode';
12783
+ readonly type: 'boolean';
12784
+ readonly required: true;
12785
+ }, {
12786
+ readonly path: 'data.object.id';
12787
+ readonly type: 'string';
12788
+ readonly required: true;
12789
+ }, {
12790
+ readonly path: 'data.object.object';
12791
+ readonly type: 'string';
12792
+ readonly required: true;
12793
+ }, {
12794
+ readonly path: 'data.object.metadata';
12795
+ readonly type: 'object';
12796
+ readonly required: false;
12797
+ readonly values: 'string';
12798
+ }, {
12799
+ readonly path: 'data.object.mode';
12800
+ readonly type: 'string';
12801
+ readonly required: true;
12802
+ }, {
12803
+ readonly path: 'data.object.payment_status';
12804
+ readonly type: 'string';
12805
+ readonly required: true;
12806
+ }, {
12807
+ readonly path: 'data.object.amount_total';
12808
+ readonly type: 'number';
12809
+ readonly required: false;
12810
+ }, {
12811
+ readonly path: 'data.object.currency';
12812
+ readonly type: 'string';
12813
+ readonly required: false;
12814
+ }, {
12815
+ readonly path: 'data.object.payment_intent';
12816
+ readonly type: 'string';
12817
+ readonly required: false;
12818
+ }, {
12819
+ readonly path: 'data.object.customer';
12820
+ readonly type: 'string';
12821
+ readonly required: false;
12822
+ }, {
12823
+ readonly path: 'data.object.customer_details.email';
12824
+ readonly type: 'string';
12825
+ readonly required: false;
12826
+ }, {
12827
+ readonly path: 'data.object.client_reference_id';
12828
+ readonly type: 'string';
12829
+ readonly required: false;
12830
+ }];
12831
+ };
12832
+ readonly chargeRefunded: {
12833
+ readonly trigger: 'charge.refunded';
12834
+ readonly payload: readonly [{
12835
+ readonly path: 'id';
12836
+ readonly type: 'string';
12837
+ readonly required: true;
12838
+ }, {
12839
+ readonly path: 'type';
12840
+ readonly type: 'string';
12841
+ readonly required: true;
12842
+ }, {
12843
+ readonly path: 'created';
12844
+ readonly type: 'number';
12845
+ readonly required: true;
12846
+ }, {
12847
+ readonly path: 'livemode';
12848
+ readonly type: 'boolean';
12849
+ readonly required: true;
12850
+ }, {
12851
+ readonly path: 'data.object.id';
12852
+ readonly type: 'string';
12853
+ readonly required: true;
12854
+ }, {
12855
+ readonly path: 'data.object.object';
12856
+ readonly type: 'string';
12857
+ readonly required: true;
12858
+ }, {
12859
+ readonly path: 'data.object.metadata';
12860
+ readonly type: 'object';
12861
+ readonly required: false;
12862
+ readonly values: 'string';
12863
+ }, {
12864
+ readonly path: 'data.object.amount';
12865
+ readonly type: 'number';
12866
+ readonly required: true;
12867
+ }, {
12868
+ readonly path: 'data.object.amount_refunded';
12869
+ readonly type: 'number';
12870
+ readonly required: true;
12871
+ }, {
12872
+ readonly path: 'data.object.currency';
12873
+ readonly type: 'string';
12874
+ readonly required: true;
12875
+ }, {
12876
+ readonly path: 'data.object.refunded';
12877
+ readonly type: 'boolean';
12878
+ readonly required: true;
12879
+ }, {
12880
+ readonly path: 'data.object.payment_intent';
12881
+ readonly type: 'string';
12882
+ readonly required: false;
12883
+ }];
12884
+ };
12885
+ readonly customerSubscriptionCreated: {
12886
+ readonly trigger: 'customer.subscription.created';
12887
+ readonly payload: readonly [{
12888
+ readonly path: 'id';
12889
+ readonly type: 'string';
12890
+ readonly required: true;
12891
+ }, {
12892
+ readonly path: 'type';
12893
+ readonly type: 'string';
12894
+ readonly required: true;
12895
+ }, {
12896
+ readonly path: 'created';
12897
+ readonly type: 'number';
12898
+ readonly required: true;
12899
+ }, {
12900
+ readonly path: 'livemode';
12901
+ readonly type: 'boolean';
12902
+ readonly required: true;
12903
+ }, {
12904
+ readonly path: 'data.object.id';
12905
+ readonly type: 'string';
12906
+ readonly required: true;
12907
+ }, {
12908
+ readonly path: 'data.object.object';
12909
+ readonly type: 'string';
12910
+ readonly required: true;
12911
+ }, {
12912
+ readonly path: 'data.object.metadata';
12913
+ readonly type: 'object';
12914
+ readonly required: false;
12915
+ readonly values: 'string';
12916
+ }, {
12917
+ readonly path: 'data.object.status';
12918
+ readonly type: 'string';
12919
+ readonly required: true;
12920
+ }, {
12921
+ readonly path: 'data.object.customer';
12922
+ readonly type: 'string';
12923
+ readonly required: true;
12924
+ }, {
12925
+ readonly path: 'data.object.cancel_at_period_end';
12926
+ readonly type: 'boolean';
12927
+ readonly required: false;
12928
+ }, {
12929
+ readonly path: 'data.object.cancel_at';
12930
+ readonly type: 'number';
12931
+ readonly required: false;
12932
+ }, {
12933
+ readonly path: 'data.object.canceled_at';
12934
+ readonly type: 'number';
12935
+ readonly required: false;
12936
+ }, {
12937
+ readonly path: 'data.object.ended_at';
12938
+ readonly type: 'number';
12939
+ readonly required: false;
12940
+ }, {
12941
+ readonly path: 'data.object.start_date';
12942
+ readonly type: 'number';
12943
+ readonly required: false;
12944
+ }, {
12945
+ readonly path: 'data.object.trial_end';
12946
+ readonly type: 'number';
12947
+ readonly required: false;
12948
+ }];
12949
+ };
12950
+ readonly customerSubscriptionUpdated: {
12951
+ readonly trigger: 'customer.subscription.updated';
12952
+ readonly payload: readonly [{
12953
+ readonly path: 'id';
12954
+ readonly type: 'string';
12955
+ readonly required: true;
12956
+ }, {
12957
+ readonly path: 'type';
12958
+ readonly type: 'string';
12959
+ readonly required: true;
12960
+ }, {
12961
+ readonly path: 'created';
12962
+ readonly type: 'number';
12963
+ readonly required: true;
12964
+ }, {
12965
+ readonly path: 'livemode';
12966
+ readonly type: 'boolean';
12967
+ readonly required: true;
12968
+ }, {
12969
+ readonly path: 'data.object.id';
12970
+ readonly type: 'string';
12971
+ readonly required: true;
12972
+ }, {
12973
+ readonly path: 'data.object.object';
12974
+ readonly type: 'string';
12975
+ readonly required: true;
12976
+ }, {
12977
+ readonly path: 'data.object.metadata';
12978
+ readonly type: 'object';
12979
+ readonly required: false;
12980
+ readonly values: 'string';
12981
+ }, {
12982
+ readonly path: 'data.object.status';
12983
+ readonly type: 'string';
12984
+ readonly required: true;
12985
+ }, {
12986
+ readonly path: 'data.object.customer';
12987
+ readonly type: 'string';
12988
+ readonly required: true;
12989
+ }, {
12990
+ readonly path: 'data.object.cancel_at_period_end';
12991
+ readonly type: 'boolean';
12992
+ readonly required: false;
12993
+ }, {
12994
+ readonly path: 'data.object.cancel_at';
12995
+ readonly type: 'number';
12996
+ readonly required: false;
12997
+ }, {
12998
+ readonly path: 'data.object.canceled_at';
12999
+ readonly type: 'number';
13000
+ readonly required: false;
13001
+ }, {
13002
+ readonly path: 'data.object.ended_at';
13003
+ readonly type: 'number';
13004
+ readonly required: false;
13005
+ }, {
13006
+ readonly path: 'data.object.start_date';
13007
+ readonly type: 'number';
13008
+ readonly required: false;
13009
+ }, {
13010
+ readonly path: 'data.object.trial_end';
13011
+ readonly type: 'number';
13012
+ readonly required: false;
13013
+ }, {
13014
+ readonly path: 'data.previous_attributes.status';
13015
+ readonly type: 'string';
13016
+ readonly required: false;
13017
+ }];
13018
+ };
13019
+ readonly customerSubscriptionDeleted: {
13020
+ readonly trigger: 'customer.subscription.deleted';
13021
+ readonly payload: readonly [{
13022
+ readonly path: 'id';
13023
+ readonly type: 'string';
13024
+ readonly required: true;
13025
+ }, {
13026
+ readonly path: 'type';
13027
+ readonly type: 'string';
13028
+ readonly required: true;
13029
+ }, {
13030
+ readonly path: 'created';
13031
+ readonly type: 'number';
13032
+ readonly required: true;
13033
+ }, {
13034
+ readonly path: 'livemode';
13035
+ readonly type: 'boolean';
13036
+ readonly required: true;
13037
+ }, {
13038
+ readonly path: 'data.object.id';
13039
+ readonly type: 'string';
13040
+ readonly required: true;
13041
+ }, {
13042
+ readonly path: 'data.object.object';
13043
+ readonly type: 'string';
13044
+ readonly required: true;
13045
+ }, {
13046
+ readonly path: 'data.object.metadata';
13047
+ readonly type: 'object';
13048
+ readonly required: false;
13049
+ readonly values: 'string';
13050
+ }, {
13051
+ readonly path: 'data.object.status';
13052
+ readonly type: 'string';
13053
+ readonly required: true;
13054
+ }, {
13055
+ readonly path: 'data.object.customer';
13056
+ readonly type: 'string';
13057
+ readonly required: true;
13058
+ }, {
13059
+ readonly path: 'data.object.cancel_at_period_end';
13060
+ readonly type: 'boolean';
13061
+ readonly required: false;
13062
+ }, {
13063
+ readonly path: 'data.object.cancel_at';
13064
+ readonly type: 'number';
13065
+ readonly required: false;
13066
+ }, {
13067
+ readonly path: 'data.object.canceled_at';
13068
+ readonly type: 'number';
13069
+ readonly required: false;
13070
+ }, {
13071
+ readonly path: 'data.object.ended_at';
13072
+ readonly type: 'number';
13073
+ readonly required: false;
13074
+ }, {
13075
+ readonly path: 'data.object.start_date';
13076
+ readonly type: 'number';
13077
+ readonly required: false;
13078
+ }, {
13079
+ readonly path: 'data.object.trial_end';
13080
+ readonly type: 'number';
13081
+ readonly required: false;
13082
+ }];
13083
+ };
13084
+ };
13085
+ readonly fieldKinds: {};
13086
+ readonly recordTypes: {};
13087
+ };
13088
+ readonly slack: {
13089
+ readonly settings: readonly [{
13090
+ readonly key: 'defaultChannel';
13091
+ readonly label: 'Default channel';
13092
+ readonly type: 'text';
13093
+ readonly prefix: '#';
13094
+ readonly maxLength: 80;
13095
+ readonly required: false;
13096
+ readonly helpText: 'The channel a message goes to when its step names none: #orders.';
13097
+ }];
13098
+ readonly actions: {
13099
+ readonly postMessage: {
13100
+ readonly action: 'postMessage';
13101
+ readonly step: {
13102
+ readonly input: readonly [{
13103
+ readonly key: 'channel';
13104
+ readonly type: 'text';
13105
+ readonly required: false;
13106
+ readonly setting: 'defaultChannel';
13107
+ readonly description: 'The channel to post to, by name (#orders-review) or id. Absent, the defaultChannel setting.';
13108
+ }, {
13109
+ readonly key: 'text';
13110
+ readonly type: 'text';
13111
+ readonly required: true;
13112
+ readonly description: 'The message, in Slack’s mrkdwn; also the notification text when blocks are sent.';
13113
+ }, {
13114
+ readonly key: 'blocks';
13115
+ readonly type: 'json';
13116
+ readonly required: false;
13117
+ readonly description: 'Block Kit blocks to post instead of plain text.';
13118
+ }];
13119
+ readonly output: readonly [{
13120
+ readonly key: 'ts';
13121
+ readonly type: 'text';
13122
+ readonly required: true;
13123
+ readonly description: 'The posted message’s timestamp, Slack’s id for it in its channel.';
13124
+ }, {
13125
+ readonly key: 'channel';
13126
+ readonly type: 'text';
13127
+ readonly required: true;
13128
+ readonly description: 'The channel the message was posted to, as Slack answered it.';
13129
+ }];
13130
+ readonly sample: {
13131
+ readonly ts: 'sample';
13132
+ readonly channel: 'sample';
13133
+ };
13134
+ readonly idempotencyHeader: null;
13135
+ };
13136
+ };
13137
+ };
13138
+ readonly triggers: {};
13139
+ readonly fieldKinds: {};
13140
+ readonly recordTypes: {};
13141
+ };
13142
+ readonly resend: {
13143
+ readonly settings: readonly [{
13144
+ readonly key: 'from';
13145
+ readonly label: 'From';
13146
+ readonly type: 'text';
13147
+ readonly maxLength: 320;
13148
+ readonly required: false;
13149
+ readonly helpText: 'Who an email is from when its step names no sender: an address on a domain verified in Resend, such as Acme <orders@acme.shop>.';
13150
+ }];
13151
+ readonly actions: {
13152
+ readonly send: {
13153
+ readonly action: 'send';
13154
+ readonly step: {
13155
+ readonly input: readonly [{
13156
+ readonly key: 'to';
13157
+ readonly type: 'text';
13158
+ readonly required: true;
13159
+ readonly description: 'Who the email is to: an address, or several separated by commas.';
13160
+ }, {
13161
+ readonly key: 'subject';
13162
+ readonly type: 'text';
13163
+ readonly required: true;
13164
+ readonly description: 'The subject line.';
13165
+ }, {
13166
+ readonly key: 'html';
13167
+ readonly type: 'text';
13168
+ readonly required: false;
13169
+ readonly description: 'The body as HTML. `html` or `text` is required, or both.';
13170
+ }, {
13171
+ readonly key: 'text';
13172
+ readonly type: 'text';
13173
+ readonly required: false;
13174
+ readonly description: 'The body as plain text. `html` or `text` is required, or both.';
13175
+ }, {
13176
+ readonly key: 'from';
13177
+ readonly type: 'text';
13178
+ readonly required: false;
13179
+ readonly setting: 'from';
13180
+ readonly description: 'Who the email is from: an address on a domain verified in Resend. Absent, the Project’s `from` setting; with neither, the send is refused.';
13181
+ }, {
13182
+ readonly key: 'attachments';
13183
+ readonly type: 'files';
13184
+ readonly required: false;
13185
+ readonly maxBytes: number;
13186
+ readonly description: 'Files a Record of the run’s Dataset holds (`event.record.invoice`), attached under their names. The send point reads their bytes.';
13187
+ }];
13188
+ readonly output: readonly [{
13189
+ readonly key: 'id';
13190
+ readonly type: 'text';
13191
+ readonly required: true;
13192
+ readonly description: 'The id Resend gave the email.';
13193
+ }];
13194
+ readonly sample: {
13195
+ readonly id: 'resend-sample';
13196
+ };
13197
+ readonly idempotencyHeader: "Idempotency-Key";
13198
+ };
13199
+ };
13200
+ };
13201
+ readonly triggers: {};
13202
+ readonly fieldKinds: {};
13203
+ readonly recordTypes: {};
13204
+ };
13205
+ /**
13206
+ * The plain OIDC identity source (spec 4, REL-3880): any issuer that publishes a discovery
13207
+ * document — Auth0, Supabase Auth, an own one. Its Connection, per Environment, holds the issuer
13208
+ * and the audience; it has no Action and no Trigger. Its one setting is the Claims the Project
13209
+ * relies on ({@link IDENTITY_CLAIMS_SETTING}).
13210
+ */
13211
+ readonly oidc: {
13212
+ readonly settings: readonly [{
13213
+ readonly key: "claims";
13214
+ readonly label: 'Claims';
13215
+ readonly type: 'text';
13216
+ readonly maxLength: 512;
13217
+ readonly required: false;
13218
+ readonly helpText: 'The Claims your Policies read off an End user’s token, by name, separated by commas: `plan, role`. A Claim not named here is never read; one named and missing from a token is absent.';
13219
+ }];
13220
+ readonly actions: {};
13221
+ readonly triggers: {};
13222
+ readonly fieldKinds: {};
13223
+ readonly recordTypes: {};
13224
+ };
13225
+ /**
13226
+ * Clerk as an identity source (spec 4, REL-3881): its Connection, per Environment, holds the
13227
+ * instance's publishable key — which encodes the Frontend API, and so the issuer — its secret key,
13228
+ * its webhook signing secret and the origins its tokens may be minted for. Its one setting so far
13229
+ * is the Claims the Project relies on, as `oidc`'s; its Triggers come with its users (spec 4, E3).
13230
+ *
13231
+ * Its Action, `updateUserMetadata` (REL-3893), merges `publicMetadata` into a Clerk user's public
13232
+ * metadata with the Connection's secret key — the newsletter's `syncPlan` sets `{ plan: 'paid' }` —
13233
+ * and a session token carries it once the customer adds the Claim to Clerk's session token
13234
+ * (`"plan": "{{user.public_metadata.plan}}"`, the Clerk Extension's guide).
13235
+ */
13236
+ readonly clerk: {
13237
+ readonly settings: readonly [{
13238
+ readonly key: "claims";
13239
+ readonly label: 'Claims';
13240
+ readonly type: 'text';
13241
+ readonly maxLength: 512;
13242
+ readonly required: false;
13243
+ readonly helpText: 'The Claims your Policies read off an End user’s token, by name, separated by commas: `plan, role`. A Claim not named here is never read; one named and missing from a token is absent.';
13244
+ }];
13245
+ readonly actions: {
13246
+ readonly updateUserMetadata: {
13247
+ readonly action: 'updateUserMetadata';
13248
+ readonly step: {
13249
+ readonly input: readonly [{
13250
+ readonly key: 'userId';
13251
+ readonly type: 'text';
13252
+ readonly required: true;
13253
+ readonly description: 'The Clerk user’s id, `user_…`: a token’s `sub`.';
13254
+ }, {
13255
+ readonly key: 'publicMetadata';
13256
+ readonly type: 'json';
13257
+ readonly required: true;
13258
+ readonly description: 'An object merged into the user’s public metadata: each key given replaces theirs, a nested object is merged, and a key set to `null` is removed. Keys not given are kept.';
13259
+ }];
13260
+ readonly output: readonly [{
13261
+ readonly key: 'id';
13262
+ readonly type: 'text';
13263
+ readonly required: true;
13264
+ readonly description: 'The id of the user Clerk updated.';
13265
+ }];
13266
+ readonly sample: {
13267
+ readonly id: 'user_sample';
13268
+ };
13269
+ readonly idempotencyHeader: null;
13270
+ };
13271
+ };
13272
+ };
13273
+ readonly triggers: {};
13274
+ /**
13275
+ * Its one field kind (REL-3894): `clerk.userRef()`, a reference to `clerkUser` that the Studio
13276
+ * picks by name or email rather than by pasting an id.
13277
+ */
13278
+ readonly fieldKinds: {
13279
+ readonly userRef: {
13280
+ readonly base: {
13281
+ readonly type: 'reference';
13282
+ readonly to: 'clerkUser';
13283
+ };
13284
+ readonly picker: {
13285
+ readonly search: readonly ["email", "firstName", "lastName"];
13286
+ readonly title: readonly ["firstName", "lastName"];
13287
+ readonly description: 'email';
13288
+ readonly image: 'imageUrl';
13289
+ };
13290
+ };
13291
+ };
13292
+ /** Its Managed user type (REL-3888): `clerk.user`, the Record kept for each Clerk user. */
13293
+ readonly recordTypes: {
13294
+ readonly user: 'clerkUser';
13295
+ };
13296
+ };
13297
+ };
13298
+ /** The Extensions a Project may declare, and what its code may name of each. */
13299
+ type ExtensionSurfaces = typeof EXTENSION_SURFACES;
13300
+
12178
13301
  /**
12179
13302
  * Locale definition for multi-language support
12180
13303
  *
@@ -13798,6 +14921,7 @@ type FiltersByValue = OverEveryFieldKind<{
13798
14921
  counter: true;
13799
14922
  decimal: true;
13800
14923
  sequence: true;
14924
+ owner: true;
13801
14925
  boolean: true;
13802
14926
  enum: true;
13803
14927
  date: true;
@@ -14115,6 +15239,8 @@ type FieldValueByType<C, S extends Context, K extends string, I extends string,
14115
15239
  decimal: number;
14116
15240
  /** The number RelyIO gave the Record, with its prefix: `ORD-12` (REL-3781). */
14117
15241
  sequence: string;
15242
+ /** The End user the Record belongs to: their subject, as their token names them (REL-3883). */
15243
+ owner: string;
14118
15244
  boolean: boolean;
14119
15245
  enum: EnumValue<C>;
14120
15246
  /** `YYYY-MM-DD`. */
@@ -14414,6 +15540,21 @@ type ReferenceTargetsIn<C> = C extends {
14414
15540
  } ? EachOf<T> : never;
14415
15541
  /** The types a Field points at: a reference's `to`, rich text's `links.to`. */
14416
15542
  type TargetsOf<F> = F extends unknown ? ReferenceTargetsIn<ConfigOf<F>> | LinkTargetsIn<ConfigOf<F>> : never;
15543
+ /**
15544
+ * The Managed Record types a contributed field kind's base references (spec 4, REL-3894): `clerkUser`
15545
+ * for `clerk.userRef()`. No `relyio/schema.ts` declares one — deploy adds it to the schema of a
15546
+ * Project whose `relyio/extensions.ts` uses its Extension, and refuses a reference to it otherwise —
15547
+ * so a Record type's reference may name it.
15548
+ */
15549
+ type ContributedRecordType = {
15550
+ readonly [S in keyof ExtensionSurfaces]: {
15551
+ readonly [K in keyof ExtensionSurfaces[S]['fieldKinds']]: ExtensionSurfaces[S]['fieldKinds'][K] extends {
15552
+ readonly base: {
15553
+ readonly to: infer To extends string;
15554
+ };
15555
+ } ? To : never;
15556
+ }[keyof ExtensionSurfaces[S]['fieldKinds']];
15557
+ }[keyof ExtensionSurfaces];
14417
15558
  /**
14418
15559
  * The keys a section of the schema declares, as names to check against: `string` where the type
14419
15560
  * cannot see them (a `Record<string, …>`), and none for the `Record<string, never>` `defineSchema`
@@ -14957,6 +16098,31 @@ interface KeyedContentTypeConfig<R extends KeyedMembers = KeyedMembers, TStage e
14957
16098
  * read returns it under, beside the fields: `rating: rollup.average('review', 'rating')`
14958
16099
  */
14959
16100
  rollups?: TRollups;
16101
+ /**
16102
+ * Gated content (spec 4, REL-3886): which entries the End users of your app, and anonymous
16103
+ * visitors, read whole — `when`, a condition over `entry.*` and `claims.*` — and the fields every
16104
+ * other one of them gets, `otherwise`, served with `_gated: true`. A secret key with no End user's
16105
+ * token reads every entry whole. Left out, the type is not Gated.
16106
+ *
16107
+ * @example
16108
+ * endUsers: {
16109
+ * read: {
16110
+ * when: or(conditionRoot('entry').audience.eq('everyone'), conditionRoot('claims').plan.eq('paid')),
16111
+ * otherwise: ['title', 'excerpt', 'author'],
16112
+ * },
16113
+ * }
16114
+ */
16115
+ endUsers?: ContentTypeEndUsers<DisplayFieldOf<R>>;
16116
+ }
16117
+ /**
16118
+ * A content type's End-user Policy (spec 4, REL-3886): its Gated read. `otherwise` names the type's
16119
+ * own fields — never a Private one — and `when` tests shared, non-Private fields and Claims.
16120
+ */
16121
+ interface ContentTypeEndUsers<TField extends string = string> {
16122
+ readonly read?: {
16123
+ readonly when: ConditionTree;
16124
+ readonly otherwise: readonly TField[];
16125
+ };
14960
16126
  }
14961
16127
  /**
14962
16128
  * Content type definition - preserves field types for inference
@@ -14982,6 +16148,8 @@ interface ContentTypeDefinition<TFields extends readonly FieldMember[] = readonl
14982
16148
  readonly rollups?: readonly StoredRollup[];
14983
16149
  /** The keyed rollups' types, which a read's values are inferred from. Types only: never written. */
14984
16150
  readonly __rollups?: TRollups;
16151
+ /** Its Gated read (REL-3886), as deploy stores it */
16152
+ readonly endUsers?: ContentTypeEndUsers;
14985
16153
  }
14986
16154
  /**
14987
16155
  * Define a content type with type-safe fields
@@ -15072,4 +16240,4 @@ type RollupsOf<T> = T extends {
15072
16240
  readonly __rollups?: infer R;
15073
16241
  } ? unknown extends R ? unknown : RollupValues<NonNullable<R>> : unknown;
15074
16242
 
15075
- export { type WidgetOptions as $, type AIConfig as A, type BaseFieldConfig as B, type CodeConfig as C, type DeclaredFields as D, type EmailConfig as E, type FieldValues as F, type ReferenceConfig as G, type RequirementRule as H, type IntegerConfig as I, type JsonConfig as J, type KeyedMembers as K, type ListConfig as L, type RichTextConfig as M, type NeverUniqueFieldConfig as N, type ObjectConfig as O, type RichTextLinks as P, type RuleCondition as Q, type ReadOnlyRule as R, type RuleConditions as S, type SequenceConfig as T, type ShortTextConfig as U, type SlugConfig as V, type TableConfig as W, type TagsConfig as X, type UrlConfig as Y, type ValidationRule$1 as Z, type VisibilityRule as _, type KeyedMembersOf as a, type InferSingleton as a$, boolean as a0, code as a1, counter as a2, date as a3, dateTime as a4, decimal as a5, email as a6, enumField as a7, file as a8, integer as a9, type SingletonReading as aA, type UntypedReading as aB, defineLocale as aC, isLocaleDefinition as aD, getLocaleCodes as aE, findDefaultLocale as aF, getActiveLocales as aG, buildFallbackChain as aH, type TextDirection as aI, type LocaleOptions as aJ, type LocaleDefinition as aK, defineContentType as aL, fieldset as aM, type Fieldset as aN, type DeclaredFieldset as aO, type AnyDeclaredFieldset as aP, type KeyedFieldsetConfig as aQ, type FieldMember as aR, type KeyedContentTypeConfig as aS, type ContentTypeDefinition as aT, type EntryMetadata as aU, type InferContentType as aV, type LocalePublicationFields as aW, defineSingleton as aX, type KeyedSingletonConfig as aY, type SingletonContentTypeDefinition as aZ, type SingletonMetadata as a_, json as aa, list as ab, longText as ac, object 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 FieldSchemaContext as am, type FieldValue as an, type UnresolvedEntry as ao, type Keyed as ap, type BlockOf as aq, type ShapeValue as ar, type AssetReading as as, type CheckedIncludes as at, type CheckInclude as au, type ContentReading as av, type IncludablePaths as aw, type Reading as ax, type ReadWith as ay, type SettingsReading as az, type FileUpload as b, isFinalWorkflowStage as b$, defineSettingsGroup as b0, type KeyedSettingsGroupConfig as b1, type SettingsGroupDefinition as b2, type SettingsGroupMetadata as b3, type InferSettingsGroup as b4, defineAssetType as b5, type KeyedAssetTypeConfig as b6, type AssetTypeDefinition as b7, type InferAssetType as b8, type InferAssetEntry as b9, type RollupsOf as bA, defineRole as bB, isRoleDefinition as bC, isBuiltInRole as bD, getBuiltInRoleActions as bE, BUILT_IN_ROLES as bF, ROLE_ACTIONS as bG, BUILT_IN_ROLE_ACTIONS as bH, type BuiltInRole as bI, type RoleAction as bJ, type ResourcePermission as bK, type FieldVisibility as bL, type RoleConfig as bM, type RoleDefinition as bN, type KeyedRoleConfig as bO, type KeyedRoleDefinition as bP, type KeyedRoles as bQ, type KeyedRolesAsList as bR, defineWorkflow as bS, defineWorkflowStage as bT, defineContentTypeWorkflow as bU, isWorkflowDefinition as bV, isWorkflowStageDefinition as bW, getWorkflowStageIds as bX, findWorkflowStage as bY, getNextWorkflowStage as bZ, getFirstWorkflowStage as b_, type AssetServedBlocks as ba, type ImageKindConfig as bb, type VideoKindConfig as bc, type FileKindConfig as bd, type ImageTransform as be, type ImageFitMode as bf, type ImageOutputFormat as bg, type ImageUploadConfig as bh, type ImageSourceConfig as bi, type ImageExifConfig as bj, type VariantDefinition as bk, type VideoUploadConfig as bl, type VideoPosterConfig as bm, type VideoCaptionsConfig as bn, type VideoDownloadConfig as bo, type VideoWatermarkConfig as bp, type FileUploadConfig as bq, type FileScanConfig as br, rollup as bs, type KeyedRollups as bt, type RollupDefinition as bu, type RollupKind as bv, type RollupOptions as bw, type RollupValues as bx, type RollupWhereValue as by, type StoredRollup as bz, type AnyFieldDefinition as c, type WrittenSingleton as c$, type WorkflowEscalation as c0, type WorkflowAutoAssign as c1, type WorkflowStageConfig as c2, type WorkflowStageDefinition as c3, type WorkflowDefinition as c4, type ContentTypeWorkflowConfig as c5, type KeyedWorkflowConfig as c6, type KeyedWorkflowStageConfig as c7, type KeyedWorkflowStageDefinition as c8, type KeyedWorkflowStages as c9, type CheckedWorkflow as cA, type CheckedSection as cB, type KeysDeclared as cC, type LocaleCodesOf as cD, type StagesDeclared as cE, type paths as cF, type RetryConfig as cG, type MergedRelyIOConfig as cH, type ApiResponse as cI, SDKError as cJ, type RelyIOConfig as cK, type RelyIOConfigUpdate as cL, type LiveWebSocket as cM, type LiveWebSocketConstructor as cN, type AssetFileBlock as cO, type AssetUrls as cP, type BaseContent as cQ, type BaseSingleton as cR, type BaseSettingsGroup as cS, type WhereScalar as cT, type WhereFieldCondition as cU, type WhereClause as cV, type WhereOperator as cW, type DateOnlyOperator as cX, type CreateInput as cY, type CreatedContent as cZ, type RevisedContent as c_, defineView as ca, type ViewScopeConfig as cb, type ContentTypeScopeConfig as cc, type ContentTypesScopeConfig as cd, type EntryTypeScopeConfig as ce, type AllScopeConfig as cf, type ViewFilterOperator as cg, type ViewFilterValue as ch, type ViewFilterRelativeDate as ci, type ViewFilterCondition as cj, type ViewFilter as ck, type ViewConfig as cl, type ViewDefinition as cm, type KeyedViewConfig as cn, type KeyedViewDefinition as co, type KeyedViews as cp, type KeyedViewsAsList as cq, type InferJsonSchema as cr, type JsonFieldValue as cs, type JsonSchema as ct, type JsonValue as cu, type RecordFile as cv, type components as cw, type DisplayFieldOf as cx, type CheckedLocales as cy, type CheckedRoles as cz, type AnyKeyedField as d, type WrittenSettingsGroup as d0, type RestoredContent as d1, type ContentVersion as d2, type ContentVersionRow as d3, type UpdateInput as d4, type SingletonContent as d5, type CustomQuery as d6, type ContentTypeSchema as d7, type ValidationRule as d8, type FieldOptions as d9, type RealtimeEventType as da, type RealtimeEvent as db, type SubscriptionOptions as dc, type PerformanceMetrics as dd, type CacheConfig as de, type DebugConfig as df, type RequestConfig as dg, type CacheStrategy as dh, type LogLevel as di, type Environment as dj, type ValidationViolation as dk, BaseValidationError as dl, ValidationError as dm, InvalidPayloadError as dn, type ReadWhere as dp, type CheckedInclude as dq, type FieldDefinition as dr, type AssetAIConfig as e, type BooleanConfig as f, type CounterConfig as g, type DateConfig as h, type DateTimeConfig as i, type DecimalConfig as j, type EnumConfig as k, type FieldAIConfig as l, type FieldDefinition$1 as m, type FieldRule as n, type FieldType as o, type FieldUIConfig as p, type FileConfig as q, type KeyedEnumConfig as r, type KeyedField as s, type KeyedFieldOptions as t, type KeyedFields as u, type KeyedFieldsOf as v, type LocalizationConfig as w, type Localized as x, type LocalizedDetails as y, type LongTextConfig 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 };