@rivetkit/engine-api-full 2.0.21

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 (243) hide show
  1. package/LICENSE +203 -0
  2. package/dist/browser/cjs/core.js +2338 -0
  3. package/dist/browser/cjs/index.js +4030 -0
  4. package/dist/browser/cjs/serialization.js +1916 -0
  5. package/dist/browser/esm/core.js +2312 -0
  6. package/dist/browser/esm/index.js +4004 -0
  7. package/dist/browser/esm/serialization.js +1889 -0
  8. package/dist/node/core.js +2353 -0
  9. package/dist/node/index.js +4043 -0
  10. package/dist/node/serialization.js +1976 -0
  11. package/package.json +58 -0
  12. package/types/Client.d.ts +233 -0
  13. package/types/api/client/index.d.ts +1 -0
  14. package/types/api/client/requests/ActorsCreateRequest.d.ts +22 -0
  15. package/types/api/client/requests/ActorsDeleteRequest.d.ts +10 -0
  16. package/types/api/client/requests/ActorsGetOrCreateRequest.d.ts +23 -0
  17. package/types/api/client/requests/ActorsListNamesRequest.d.ts +14 -0
  18. package/types/api/client/requests/ActorsListRequest.d.ts +18 -0
  19. package/types/api/client/requests/RunnerConfigsDeleteRequest.d.ts +12 -0
  20. package/types/api/client/requests/RunnerConfigsListRequest.d.ts +17 -0
  21. package/types/api/client/requests/RunnerConfigsRefreshMetadataRequest.d.ts +17 -0
  22. package/types/api/client/requests/RunnerConfigsServerlessHealthCheckRequest.d.ts +15 -0
  23. package/types/api/client/requests/RunnerConfigsUpsertRequestBody.d.ts +17 -0
  24. package/types/api/client/requests/index.d.ts +10 -0
  25. package/types/api/index.d.ts +3 -0
  26. package/types/api/resources/datacenters/client/Client.d.ts +36 -0
  27. package/types/api/resources/datacenters/client/index.d.ts +1 -0
  28. package/types/api/resources/datacenters/index.d.ts +1 -0
  29. package/types/api/resources/health/client/Client.d.ts +36 -0
  30. package/types/api/resources/health/client/index.d.ts +1 -0
  31. package/types/api/resources/health/index.d.ts +1 -0
  32. package/types/api/resources/index.d.ts +6 -0
  33. package/types/api/resources/namespaces/client/Client.d.ts +48 -0
  34. package/types/api/resources/namespaces/client/index.d.ts +1 -0
  35. package/types/api/resources/namespaces/client/requests/NamespacesCreateRequest.d.ts +14 -0
  36. package/types/api/resources/namespaces/client/requests/NamespacesListRequest.d.ts +13 -0
  37. package/types/api/resources/namespaces/client/requests/index.d.ts +2 -0
  38. package/types/api/resources/namespaces/index.d.ts +1 -0
  39. package/types/api/resources/runners/client/Client.d.ts +54 -0
  40. package/types/api/resources/runners/client/index.d.ts +1 -0
  41. package/types/api/resources/runners/client/requests/RunnersListNamesRequest.d.ts +14 -0
  42. package/types/api/resources/runners/client/requests/RunnersListRequest.d.ts +17 -0
  43. package/types/api/resources/runners/client/requests/index.d.ts +2 -0
  44. package/types/api/resources/runners/index.d.ts +1 -0
  45. package/types/api/types/Actor.d.ts +19 -0
  46. package/types/api/types/ActorName.d.ts +6 -0
  47. package/types/api/types/ActorsCreateResponse.d.ts +7 -0
  48. package/types/api/types/ActorsDeleteResponse.d.ts +4 -0
  49. package/types/api/types/ActorsGetOrCreateResponse.d.ts +8 -0
  50. package/types/api/types/ActorsListNamesResponse.d.ts +8 -0
  51. package/types/api/types/ActorsListResponse.d.ts +8 -0
  52. package/types/api/types/CrashPolicy.d.ts +9 -0
  53. package/types/api/types/Datacenter.d.ts +8 -0
  54. package/types/api/types/DatacenterHealth.d.ts +12 -0
  55. package/types/api/types/DatacentersListResponse.d.ts +8 -0
  56. package/types/api/types/HealthFanoutResponse.d.ts +7 -0
  57. package/types/api/types/HealthResponse.d.ts +8 -0
  58. package/types/api/types/HealthStatus.d.ts +8 -0
  59. package/types/api/types/Namespace.d.ts +10 -0
  60. package/types/api/types/NamespaceListResponse.d.ts +8 -0
  61. package/types/api/types/NamespacesCreateResponse.d.ts +7 -0
  62. package/types/api/types/Pagination.d.ts +6 -0
  63. package/types/api/types/RivetId.d.ts +4 -0
  64. package/types/api/types/Runner.d.ts +21 -0
  65. package/types/api/types/RunnerConfig.d.ts +9 -0
  66. package/types/api/types/RunnerConfigKind.d.ts +5 -0
  67. package/types/api/types/RunnerConfigKindNormal.d.ts +6 -0
  68. package/types/api/types/RunnerConfigKindServerless.d.ts +7 -0
  69. package/types/api/types/RunnerConfigKindServerlessServerless.d.ts +13 -0
  70. package/types/api/types/RunnerConfigServerless.d.ts +13 -0
  71. package/types/api/types/RunnerConfigVariant.d.ts +8 -0
  72. package/types/api/types/RunnerConfigsDeleteResponse.d.ts +4 -0
  73. package/types/api/types/RunnerConfigsListResponse.d.ts +8 -0
  74. package/types/api/types/RunnerConfigsListResponseRunnerConfigsValue.d.ts +7 -0
  75. package/types/api/types/RunnerConfigsRefreshMetadataRequestBody.d.ts +4 -0
  76. package/types/api/types/RunnerConfigsRefreshMetadataResponse.d.ts +4 -0
  77. package/types/api/types/RunnerConfigsServerlessHealthCheckResponse.d.ts +5 -0
  78. package/types/api/types/RunnerConfigsServerlessHealthCheckResponseFailure.d.ts +7 -0
  79. package/types/api/types/RunnerConfigsServerlessHealthCheckResponseFailureFailure.d.ts +7 -0
  80. package/types/api/types/RunnerConfigsServerlessHealthCheckResponseSuccess.d.ts +7 -0
  81. package/types/api/types/RunnerConfigsServerlessHealthCheckResponseSuccessSuccess.d.ts +6 -0
  82. package/types/api/types/RunnerConfigsServerlessMetadataError.d.ts +5 -0
  83. package/types/api/types/RunnerConfigsServerlessMetadataErrorInvalidRequest.d.ts +6 -0
  84. package/types/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJson.d.ts +7 -0
  85. package/types/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson.d.ts +6 -0
  86. package/types/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchema.d.ts +7 -0
  87. package/types/api/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema.d.ts +7 -0
  88. package/types/api/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatus.d.ts +7 -0
  89. package/types/api/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus.d.ts +7 -0
  90. package/types/api/types/RunnerConfigsServerlessMetadataErrorRequestFailed.d.ts +6 -0
  91. package/types/api/types/RunnerConfigsServerlessMetadataErrorRequestTimedOut.d.ts +6 -0
  92. package/types/api/types/RunnerConfigsUpsertResponse.d.ts +6 -0
  93. package/types/api/types/RunnersListNamesResponse.d.ts +8 -0
  94. package/types/api/types/RunnersListResponse.d.ts +8 -0
  95. package/types/api/types/index.d.ts +50 -0
  96. package/types/core/auth/BasicAuth.d.ts +8 -0
  97. package/types/core/auth/BearerToken.d.ts +5 -0
  98. package/types/core/auth/index.d.ts +2 -0
  99. package/types/core/fetcher/APIResponse.d.ts +10 -0
  100. package/types/core/fetcher/Fetcher.d.ts +39 -0
  101. package/types/core/fetcher/Supplier.d.ts +4 -0
  102. package/types/core/fetcher/createRequestUrl.d.ts +1 -0
  103. package/types/core/fetcher/getFetchFn.d.ts +4 -0
  104. package/types/core/fetcher/getHeader.d.ts +1 -0
  105. package/types/core/fetcher/getRequestBody.d.ts +7 -0
  106. package/types/core/fetcher/getResponseBody.d.ts +1 -0
  107. package/types/core/fetcher/index.d.ts +5 -0
  108. package/types/core/fetcher/makeRequest.d.ts +1 -0
  109. package/types/core/fetcher/requestWithRetries.d.ts +1 -0
  110. package/types/core/fetcher/signals.d.ts +11 -0
  111. package/types/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +30 -0
  112. package/types/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +21 -0
  113. package/types/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +31 -0
  114. package/types/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts +18 -0
  115. package/types/core/index.d.ts +4 -0
  116. package/types/core/json.d.ts +15 -0
  117. package/types/core/runtime/index.d.ts +1 -0
  118. package/types/core/runtime/runtime.d.ts +9 -0
  119. package/types/core/schemas/Schema.d.ts +87 -0
  120. package/types/core/schemas/builders/bigint/bigint.d.ts +2 -0
  121. package/types/core/schemas/builders/bigint/index.d.ts +1 -0
  122. package/types/core/schemas/builders/date/date.d.ts +2 -0
  123. package/types/core/schemas/builders/date/index.d.ts +1 -0
  124. package/types/core/schemas/builders/enum/enum.d.ts +2 -0
  125. package/types/core/schemas/builders/enum/index.d.ts +1 -0
  126. package/types/core/schemas/builders/index.d.ts +14 -0
  127. package/types/core/schemas/builders/lazy/index.d.ts +3 -0
  128. package/types/core/schemas/builders/lazy/lazy.d.ts +5 -0
  129. package/types/core/schemas/builders/lazy/lazyObject.d.ts +3 -0
  130. package/types/core/schemas/builders/list/index.d.ts +1 -0
  131. package/types/core/schemas/builders/list/list.d.ts +2 -0
  132. package/types/core/schemas/builders/literals/booleanLiteral.d.ts +2 -0
  133. package/types/core/schemas/builders/literals/index.d.ts +2 -0
  134. package/types/core/schemas/builders/literals/stringLiteral.d.ts +2 -0
  135. package/types/core/schemas/builders/object/index.d.ts +6 -0
  136. package/types/core/schemas/builders/object/object.d.ts +3 -0
  137. package/types/core/schemas/builders/object/objectWithoutOptionalProperties.d.ts +6 -0
  138. package/types/core/schemas/builders/object/property.d.ts +8 -0
  139. package/types/core/schemas/builders/object/types.d.ts +31 -0
  140. package/types/core/schemas/builders/object-like/getObjectLikeUtils.d.ts +9 -0
  141. package/types/core/schemas/builders/object-like/index.d.ts +2 -0
  142. package/types/core/schemas/builders/object-like/types.d.ts +7 -0
  143. package/types/core/schemas/builders/primitives/any.d.ts +1 -0
  144. package/types/core/schemas/builders/primitives/boolean.d.ts +1 -0
  145. package/types/core/schemas/builders/primitives/index.d.ts +5 -0
  146. package/types/core/schemas/builders/primitives/number.d.ts +1 -0
  147. package/types/core/schemas/builders/primitives/string.d.ts +1 -0
  148. package/types/core/schemas/builders/primitives/unknown.d.ts +1 -0
  149. package/types/core/schemas/builders/record/index.d.ts +2 -0
  150. package/types/core/schemas/builders/record/record.d.ts +3 -0
  151. package/types/core/schemas/builders/record/types.d.ts +4 -0
  152. package/types/core/schemas/builders/schema-utils/JsonError.d.ts +5 -0
  153. package/types/core/schemas/builders/schema-utils/ParseError.d.ts +5 -0
  154. package/types/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +21 -0
  155. package/types/core/schemas/builders/schema-utils/index.d.ts +4 -0
  156. package/types/core/schemas/builders/schema-utils/stringifyValidationErrors.d.ts +2 -0
  157. package/types/core/schemas/builders/set/index.d.ts +1 -0
  158. package/types/core/schemas/builders/set/set.d.ts +2 -0
  159. package/types/core/schemas/builders/undiscriminated-union/index.d.ts +2 -0
  160. package/types/core/schemas/builders/undiscriminated-union/types.d.ts +4 -0
  161. package/types/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.d.ts +3 -0
  162. package/types/core/schemas/builders/union/discriminant.d.ts +5 -0
  163. package/types/core/schemas/builders/union/index.d.ts +4 -0
  164. package/types/core/schemas/builders/union/types.d.ts +13 -0
  165. package/types/core/schemas/builders/union/union.d.ts +4 -0
  166. package/types/core/schemas/index.d.ts +2 -0
  167. package/types/core/schemas/utils/MaybePromise.d.ts +1 -0
  168. package/types/core/schemas/utils/addQuestionMarksToNullableProperties.d.ts +7 -0
  169. package/types/core/schemas/utils/createIdentitySchemaCreator.d.ts +2 -0
  170. package/types/core/schemas/utils/entries.d.ts +1 -0
  171. package/types/core/schemas/utils/filterObject.d.ts +1 -0
  172. package/types/core/schemas/utils/getErrorMessageForIncorrectType.d.ts +1 -0
  173. package/types/core/schemas/utils/isPlainObject.d.ts +1 -0
  174. package/types/core/schemas/utils/keys.d.ts +1 -0
  175. package/types/core/schemas/utils/maybeSkipValidation.d.ts +2 -0
  176. package/types/core/schemas/utils/partition.d.ts +1 -0
  177. package/types/errors/RivetError.d.ts +12 -0
  178. package/types/errors/RivetTimeoutError.d.ts +6 -0
  179. package/types/errors/index.d.ts +2 -0
  180. package/types/index.d.ts +4 -0
  181. package/types/serialization/client/index.d.ts +1 -0
  182. package/types/serialization/client/requests/ActorsCreateRequest.d.ts +18 -0
  183. package/types/serialization/client/requests/ActorsGetOrCreateRequest.d.ts +18 -0
  184. package/types/serialization/client/requests/RunnerConfigsServerlessHealthCheckRequest.d.ts +13 -0
  185. package/types/serialization/client/requests/RunnerConfigsUpsertRequestBody.d.ts +13 -0
  186. package/types/serialization/client/requests/index.d.ts +4 -0
  187. package/types/serialization/index.d.ts +3 -0
  188. package/types/serialization/resources/index.d.ts +2 -0
  189. package/types/serialization/resources/namespaces/client/index.d.ts +1 -0
  190. package/types/serialization/resources/namespaces/client/requests/NamespacesCreateRequest.d.ts +13 -0
  191. package/types/serialization/resources/namespaces/client/requests/index.d.ts +1 -0
  192. package/types/serialization/resources/namespaces/index.d.ts +1 -0
  193. package/types/serialization/types/Actor.d.ts +26 -0
  194. package/types/serialization/types/ActorName.d.ts +12 -0
  195. package/types/serialization/types/ActorsCreateResponse.d.ts +13 -0
  196. package/types/serialization/types/ActorsDeleteResponse.d.ts +10 -0
  197. package/types/serialization/types/ActorsGetOrCreateResponse.d.ts +14 -0
  198. package/types/serialization/types/ActorsListNamesResponse.d.ts +15 -0
  199. package/types/serialization/types/ActorsListResponse.d.ts +15 -0
  200. package/types/serialization/types/CrashPolicy.d.ts +10 -0
  201. package/types/serialization/types/Datacenter.d.ts +14 -0
  202. package/types/serialization/types/DatacenterHealth.d.ts +19 -0
  203. package/types/serialization/types/DatacentersListResponse.d.ts +15 -0
  204. package/types/serialization/types/HealthFanoutResponse.d.ts +13 -0
  205. package/types/serialization/types/HealthResponse.d.ts +14 -0
  206. package/types/serialization/types/HealthStatus.d.ts +10 -0
  207. package/types/serialization/types/Namespace.d.ts +16 -0
  208. package/types/serialization/types/NamespaceListResponse.d.ts +15 -0
  209. package/types/serialization/types/NamespacesCreateResponse.d.ts +13 -0
  210. package/types/serialization/types/Pagination.d.ts +12 -0
  211. package/types/serialization/types/RivetId.d.ts +10 -0
  212. package/types/serialization/types/Runner.d.ts +27 -0
  213. package/types/serialization/types/RunnerConfig.d.ts +15 -0
  214. package/types/serialization/types/RunnerConfigKind.d.ts +12 -0
  215. package/types/serialization/types/RunnerConfigKindNormal.d.ts +12 -0
  216. package/types/serialization/types/RunnerConfigKindServerless.d.ts +13 -0
  217. package/types/serialization/types/RunnerConfigKindServerlessServerless.d.ts +18 -0
  218. package/types/serialization/types/RunnerConfigServerless.d.ts +18 -0
  219. package/types/serialization/types/RunnerConfigVariant.d.ts +10 -0
  220. package/types/serialization/types/RunnerConfigsDeleteResponse.d.ts +10 -0
  221. package/types/serialization/types/RunnerConfigsListResponse.d.ts +15 -0
  222. package/types/serialization/types/RunnerConfigsListResponseRunnerConfigsValue.d.ts +13 -0
  223. package/types/serialization/types/RunnerConfigsRefreshMetadataRequestBody.d.ts +10 -0
  224. package/types/serialization/types/RunnerConfigsRefreshMetadataResponse.d.ts +10 -0
  225. package/types/serialization/types/RunnerConfigsServerlessHealthCheckResponse.d.ts +12 -0
  226. package/types/serialization/types/RunnerConfigsServerlessHealthCheckResponseFailure.d.ts +13 -0
  227. package/types/serialization/types/RunnerConfigsServerlessHealthCheckResponseFailureFailure.d.ts +13 -0
  228. package/types/serialization/types/RunnerConfigsServerlessHealthCheckResponseSuccess.d.ts +13 -0
  229. package/types/serialization/types/RunnerConfigsServerlessHealthCheckResponseSuccessSuccess.d.ts +12 -0
  230. package/types/serialization/types/RunnerConfigsServerlessMetadataError.d.ts +16 -0
  231. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidRequest.d.ts +12 -0
  232. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJson.d.ts +13 -0
  233. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson.d.ts +12 -0
  234. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchema.d.ts +13 -0
  235. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema.d.ts +13 -0
  236. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatus.d.ts +13 -0
  237. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus.d.ts +13 -0
  238. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorRequestFailed.d.ts +12 -0
  239. package/types/serialization/types/RunnerConfigsServerlessMetadataErrorRequestTimedOut.d.ts +12 -0
  240. package/types/serialization/types/RunnerConfigsUpsertResponse.d.ts +12 -0
  241. package/types/serialization/types/RunnersListNamesResponse.d.ts +14 -0
  242. package/types/serialization/types/RunnersListResponse.d.ts +15 -0
  243. package/types/serialization/types/index.d.ts +50 -0
@@ -0,0 +1,1889 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ // src/core/fetcher/createRequestUrl.ts
8
+ import qs from "qs";
9
+
10
+ // src/core/runtime/runtime.ts
11
+ var RUNTIME = evaluateRuntime();
12
+ function evaluateRuntime() {
13
+ const isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
14
+ if (isBrowser) {
15
+ return {
16
+ type: "browser",
17
+ version: window.navigator.userAgent
18
+ };
19
+ }
20
+ const isCloudflare = typeof globalThis !== "undefined" && globalThis?.navigator?.userAgent === "Cloudflare-Workers";
21
+ if (isCloudflare) {
22
+ return {
23
+ type: "workerd"
24
+ };
25
+ }
26
+ const isEdgeRuntime = typeof EdgeRuntime === "string";
27
+ if (isEdgeRuntime) {
28
+ return {
29
+ type: "edge-runtime"
30
+ };
31
+ }
32
+ const isWebWorker = typeof self === "object" && // @ts-ignore
33
+ typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
34
+ if (isWebWorker) {
35
+ return {
36
+ type: "web-worker"
37
+ };
38
+ }
39
+ const isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
40
+ if (isDeno) {
41
+ return {
42
+ type: "deno",
43
+ version: Deno.version.deno
44
+ };
45
+ }
46
+ const isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
47
+ if (isBun) {
48
+ return {
49
+ type: "bun",
50
+ version: Bun.version
51
+ };
52
+ }
53
+ const isNode = typeof process !== "undefined" && "version" in process && !!process.version && "versions" in process && !!process.versions?.node;
54
+ if (isNode) {
55
+ return {
56
+ type: "node",
57
+ version: process.versions.node,
58
+ parsedVersion: Number(process.versions.node.split(".")[0])
59
+ };
60
+ }
61
+ const isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
62
+ if (isReactNative) {
63
+ return {
64
+ type: "react-native"
65
+ };
66
+ }
67
+ return {
68
+ type: "unknown"
69
+ };
70
+ }
71
+
72
+ // src/core/auth/BasicAuth.ts
73
+ import { Base64 } from "js-base64";
74
+
75
+ // src/core/schemas/index.ts
76
+ var schemas_exports = {};
77
+ __export(schemas_exports, {
78
+ JsonError: () => JsonError,
79
+ ParseError: () => ParseError,
80
+ any: () => any,
81
+ bigint: () => bigint,
82
+ boolean: () => boolean,
83
+ booleanLiteral: () => booleanLiteral,
84
+ date: () => date,
85
+ discriminant: () => discriminant,
86
+ enum_: () => enum_,
87
+ getObjectLikeUtils: () => getObjectLikeUtils,
88
+ getObjectUtils: () => getObjectUtils,
89
+ getSchemaUtils: () => getSchemaUtils,
90
+ isProperty: () => isProperty,
91
+ lazy: () => lazy,
92
+ lazyObject: () => lazyObject,
93
+ list: () => list,
94
+ number: () => number,
95
+ object: () => object,
96
+ objectWithoutOptionalProperties: () => objectWithoutOptionalProperties,
97
+ optional: () => optional,
98
+ property: () => property,
99
+ record: () => record,
100
+ set: () => set,
101
+ string: () => string,
102
+ stringLiteral: () => stringLiteral,
103
+ transform: () => transform,
104
+ undiscriminatedUnion: () => undiscriminatedUnion,
105
+ union: () => union,
106
+ unknown: () => unknown,
107
+ withParsedProperties: () => withParsedProperties
108
+ });
109
+
110
+ // src/core/schemas/Schema.ts
111
+ var SchemaType = {
112
+ BIGINT: "bigint",
113
+ DATE: "date",
114
+ ENUM: "enum",
115
+ LIST: "list",
116
+ STRING_LITERAL: "stringLiteral",
117
+ BOOLEAN_LITERAL: "booleanLiteral",
118
+ OBJECT: "object",
119
+ ANY: "any",
120
+ BOOLEAN: "boolean",
121
+ NUMBER: "number",
122
+ STRING: "string",
123
+ UNKNOWN: "unknown",
124
+ RECORD: "record",
125
+ SET: "set",
126
+ UNION: "union",
127
+ UNDISCRIMINATED_UNION: "undiscriminatedUnion",
128
+ NULLABLE: "nullable",
129
+ OPTIONAL: "optional",
130
+ OPTIONAL_NULLABLE: "optionalNullable"
131
+ };
132
+
133
+ // src/core/schemas/utils/getErrorMessageForIncorrectType.ts
134
+ function getErrorMessageForIncorrectType(value, expectedType) {
135
+ return `Expected ${expectedType}. Received ${getTypeAsString(value)}.`;
136
+ }
137
+ function getTypeAsString(value) {
138
+ if (Array.isArray(value)) {
139
+ return "list";
140
+ }
141
+ if (value === null) {
142
+ return "null";
143
+ }
144
+ if (value instanceof BigInt) {
145
+ return "BigInt";
146
+ }
147
+ switch (typeof value) {
148
+ case "string":
149
+ return `"${value}"`;
150
+ case "bigint":
151
+ case "number":
152
+ case "boolean":
153
+ case "undefined":
154
+ return `${value}`;
155
+ }
156
+ return typeof value;
157
+ }
158
+
159
+ // src/core/schemas/utils/maybeSkipValidation.ts
160
+ function maybeSkipValidation(schema) {
161
+ return {
162
+ ...schema,
163
+ json: transformAndMaybeSkipValidation(schema.json),
164
+ parse: transformAndMaybeSkipValidation(schema.parse)
165
+ };
166
+ }
167
+ function transformAndMaybeSkipValidation(transform2) {
168
+ return (value, opts) => {
169
+ const transformed = transform2(value, opts);
170
+ const { skipValidation = false } = opts ?? {};
171
+ if (!transformed.ok && skipValidation) {
172
+ console.warn(
173
+ [
174
+ "Failed to validate.",
175
+ ...transformed.errors.map(
176
+ (error) => " - " + (error.path.length > 0 ? `${error.path.join(".")}: ${error.message}` : error.message)
177
+ )
178
+ ].join("\n")
179
+ );
180
+ return {
181
+ ok: true,
182
+ value
183
+ };
184
+ } else {
185
+ return transformed;
186
+ }
187
+ };
188
+ }
189
+
190
+ // src/core/schemas/builders/schema-utils/stringifyValidationErrors.ts
191
+ function stringifyValidationError(error) {
192
+ if (error.path.length === 0) {
193
+ return error.message;
194
+ }
195
+ return `${error.path.join(" -> ")}: ${error.message}`;
196
+ }
197
+
198
+ // src/core/schemas/builders/schema-utils/JsonError.ts
199
+ var JsonError = class _JsonError extends Error {
200
+ constructor(errors) {
201
+ super(errors.map(stringifyValidationError).join("; "));
202
+ this.errors = errors;
203
+ Object.setPrototypeOf(this, _JsonError.prototype);
204
+ }
205
+ };
206
+
207
+ // src/core/schemas/builders/schema-utils/ParseError.ts
208
+ var ParseError = class _ParseError extends Error {
209
+ constructor(errors) {
210
+ super(errors.map(stringifyValidationError).join("; "));
211
+ this.errors = errors;
212
+ Object.setPrototypeOf(this, _ParseError.prototype);
213
+ }
214
+ };
215
+
216
+ // src/core/schemas/builders/schema-utils/getSchemaUtils.ts
217
+ function getSchemaUtils(schema) {
218
+ return {
219
+ nullable: () => nullable(schema),
220
+ optional: () => optional(schema),
221
+ optionalNullable: () => optionalNullable(schema),
222
+ transform: (transformer) => transform(schema, transformer),
223
+ parseOrThrow: (raw, opts) => {
224
+ const parsed = schema.parse(raw, opts);
225
+ if (parsed.ok) {
226
+ return parsed.value;
227
+ }
228
+ throw new ParseError(parsed.errors);
229
+ },
230
+ jsonOrThrow: (parsed, opts) => {
231
+ const raw = schema.json(parsed, opts);
232
+ if (raw.ok) {
233
+ return raw.value;
234
+ }
235
+ throw new JsonError(raw.errors);
236
+ }
237
+ };
238
+ }
239
+ function nullable(schema) {
240
+ const baseSchema = {
241
+ parse: (raw, opts) => {
242
+ if (raw == null) {
243
+ return {
244
+ ok: true,
245
+ value: null
246
+ };
247
+ }
248
+ return schema.parse(raw, opts);
249
+ },
250
+ json: (parsed, opts) => {
251
+ if (parsed == null) {
252
+ return {
253
+ ok: true,
254
+ value: null
255
+ };
256
+ }
257
+ return schema.json(parsed, opts);
258
+ },
259
+ getType: () => SchemaType.NULLABLE
260
+ };
261
+ return {
262
+ ...baseSchema,
263
+ ...getSchemaUtils(baseSchema)
264
+ };
265
+ }
266
+ function optional(schema) {
267
+ const baseSchema = {
268
+ parse: (raw, opts) => {
269
+ if (raw == null) {
270
+ return {
271
+ ok: true,
272
+ value: void 0
273
+ };
274
+ }
275
+ return schema.parse(raw, opts);
276
+ },
277
+ json: (parsed, opts) => {
278
+ if (opts?.omitUndefined && parsed === void 0) {
279
+ return {
280
+ ok: true,
281
+ value: void 0
282
+ };
283
+ }
284
+ if (parsed == null) {
285
+ return {
286
+ ok: true,
287
+ value: null
288
+ };
289
+ }
290
+ return schema.json(parsed, opts);
291
+ },
292
+ getType: () => SchemaType.OPTIONAL
293
+ };
294
+ return {
295
+ ...baseSchema,
296
+ ...getSchemaUtils(baseSchema)
297
+ };
298
+ }
299
+ function optionalNullable(schema) {
300
+ const baseSchema = {
301
+ parse: (raw, opts) => {
302
+ if (raw === void 0) {
303
+ return {
304
+ ok: true,
305
+ value: void 0
306
+ };
307
+ }
308
+ if (raw === null) {
309
+ return {
310
+ ok: true,
311
+ value: null
312
+ };
313
+ }
314
+ return schema.parse(raw, opts);
315
+ },
316
+ json: (parsed, opts) => {
317
+ if (parsed === void 0) {
318
+ return {
319
+ ok: true,
320
+ value: void 0
321
+ };
322
+ }
323
+ if (parsed === null) {
324
+ return {
325
+ ok: true,
326
+ value: null
327
+ };
328
+ }
329
+ return schema.json(parsed, opts);
330
+ },
331
+ getType: () => SchemaType.OPTIONAL_NULLABLE
332
+ };
333
+ return {
334
+ ...baseSchema,
335
+ ...getSchemaUtils(baseSchema)
336
+ };
337
+ }
338
+ function transform(schema, transformer) {
339
+ const baseSchema = {
340
+ parse: (raw, opts) => {
341
+ const parsed = schema.parse(raw, opts);
342
+ if (!parsed.ok) {
343
+ return parsed;
344
+ }
345
+ return {
346
+ ok: true,
347
+ value: transformer.transform(parsed.value)
348
+ };
349
+ },
350
+ json: (transformed, opts) => {
351
+ const parsed = transformer.untransform(transformed);
352
+ return schema.json(parsed, opts);
353
+ },
354
+ getType: () => schema.getType()
355
+ };
356
+ return {
357
+ ...baseSchema,
358
+ ...getSchemaUtils(baseSchema)
359
+ };
360
+ }
361
+
362
+ // src/core/schemas/builders/bigint/bigint.ts
363
+ function bigint() {
364
+ const baseSchema = {
365
+ parse: (raw, { breadcrumbsPrefix = [] } = {}) => {
366
+ if (typeof raw === "bigint") {
367
+ return {
368
+ ok: true,
369
+ value: raw
370
+ };
371
+ }
372
+ if (typeof raw === "number") {
373
+ return {
374
+ ok: true,
375
+ value: BigInt(raw)
376
+ };
377
+ }
378
+ return {
379
+ ok: false,
380
+ errors: [
381
+ {
382
+ path: breadcrumbsPrefix,
383
+ message: getErrorMessageForIncorrectType(raw, "bigint | number")
384
+ }
385
+ ]
386
+ };
387
+ },
388
+ json: (bigint2, { breadcrumbsPrefix = [] } = {}) => {
389
+ if (typeof bigint2 !== "bigint") {
390
+ return {
391
+ ok: false,
392
+ errors: [
393
+ {
394
+ path: breadcrumbsPrefix,
395
+ message: getErrorMessageForIncorrectType(bigint2, "bigint")
396
+ }
397
+ ]
398
+ };
399
+ }
400
+ return {
401
+ ok: true,
402
+ value: bigint2
403
+ };
404
+ },
405
+ getType: () => SchemaType.BIGINT
406
+ };
407
+ return {
408
+ ...maybeSkipValidation(baseSchema),
409
+ ...getSchemaUtils(baseSchema)
410
+ };
411
+ }
412
+
413
+ // src/core/schemas/builders/date/date.ts
414
+ var ISO_8601_REGEX = /^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([.,]\d+(?!:))?)?(\17[0-5]\d([.,]\d+)?)?([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;
415
+ function date() {
416
+ const baseSchema = {
417
+ parse: (raw, { breadcrumbsPrefix = [] } = {}) => {
418
+ if (typeof raw !== "string") {
419
+ return {
420
+ ok: false,
421
+ errors: [
422
+ {
423
+ path: breadcrumbsPrefix,
424
+ message: getErrorMessageForIncorrectType(raw, "string")
425
+ }
426
+ ]
427
+ };
428
+ }
429
+ if (!ISO_8601_REGEX.test(raw)) {
430
+ return {
431
+ ok: false,
432
+ errors: [
433
+ {
434
+ path: breadcrumbsPrefix,
435
+ message: getErrorMessageForIncorrectType(raw, "ISO 8601 date string")
436
+ }
437
+ ]
438
+ };
439
+ }
440
+ return {
441
+ ok: true,
442
+ value: new Date(raw)
443
+ };
444
+ },
445
+ json: (date2, { breadcrumbsPrefix = [] } = {}) => {
446
+ if (date2 instanceof Date) {
447
+ return {
448
+ ok: true,
449
+ value: date2.toISOString()
450
+ };
451
+ } else {
452
+ return {
453
+ ok: false,
454
+ errors: [
455
+ {
456
+ path: breadcrumbsPrefix,
457
+ message: getErrorMessageForIncorrectType(date2, "Date object")
458
+ }
459
+ ]
460
+ };
461
+ }
462
+ },
463
+ getType: () => SchemaType.DATE
464
+ };
465
+ return {
466
+ ...maybeSkipValidation(baseSchema),
467
+ ...getSchemaUtils(baseSchema)
468
+ };
469
+ }
470
+
471
+ // src/core/schemas/utils/createIdentitySchemaCreator.ts
472
+ function createIdentitySchemaCreator(schemaType, validate) {
473
+ return () => {
474
+ const baseSchema = {
475
+ parse: validate,
476
+ json: validate,
477
+ getType: () => schemaType
478
+ };
479
+ return {
480
+ ...maybeSkipValidation(baseSchema),
481
+ ...getSchemaUtils(baseSchema)
482
+ };
483
+ };
484
+ }
485
+
486
+ // src/core/schemas/builders/enum/enum.ts
487
+ function enum_(values) {
488
+ const validValues = new Set(values);
489
+ const schemaCreator = createIdentitySchemaCreator(
490
+ SchemaType.ENUM,
491
+ (value, { allowUnrecognizedEnumValues, breadcrumbsPrefix = [] } = {}) => {
492
+ if (typeof value !== "string") {
493
+ return {
494
+ ok: false,
495
+ errors: [
496
+ {
497
+ path: breadcrumbsPrefix,
498
+ message: getErrorMessageForIncorrectType(value, "string")
499
+ }
500
+ ]
501
+ };
502
+ }
503
+ if (!validValues.has(value) && !allowUnrecognizedEnumValues) {
504
+ return {
505
+ ok: false,
506
+ errors: [
507
+ {
508
+ path: breadcrumbsPrefix,
509
+ message: getErrorMessageForIncorrectType(value, "enum")
510
+ }
511
+ ]
512
+ };
513
+ }
514
+ return {
515
+ ok: true,
516
+ value
517
+ };
518
+ }
519
+ );
520
+ return schemaCreator();
521
+ }
522
+
523
+ // src/core/schemas/builders/lazy/lazy.ts
524
+ function lazy(getter) {
525
+ const baseSchema = constructLazyBaseSchema(getter);
526
+ return {
527
+ ...baseSchema,
528
+ ...getSchemaUtils(baseSchema)
529
+ };
530
+ }
531
+ function constructLazyBaseSchema(getter) {
532
+ return {
533
+ parse: (raw, opts) => getMemoizedSchema(getter).parse(raw, opts),
534
+ json: (parsed, opts) => getMemoizedSchema(getter).json(parsed, opts),
535
+ getType: () => getMemoizedSchema(getter).getType()
536
+ };
537
+ }
538
+ function getMemoizedSchema(getter) {
539
+ const castedGetter = getter;
540
+ if (castedGetter.__zurg_memoized == null) {
541
+ castedGetter.__zurg_memoized = getter();
542
+ }
543
+ return castedGetter.__zurg_memoized;
544
+ }
545
+
546
+ // src/core/schemas/utils/entries.ts
547
+ function entries(object2) {
548
+ return Object.entries(object2);
549
+ }
550
+
551
+ // src/core/schemas/utils/filterObject.ts
552
+ function filterObject(obj, keysToInclude) {
553
+ const keysToIncludeSet = new Set(keysToInclude);
554
+ return Object.entries(obj).reduce(
555
+ (acc, [key, value]) => {
556
+ if (keysToIncludeSet.has(key)) {
557
+ acc[key] = value;
558
+ }
559
+ return acc;
560
+ },
561
+ {}
562
+ );
563
+ }
564
+
565
+ // src/core/schemas/utils/isPlainObject.ts
566
+ function isPlainObject(value) {
567
+ if (typeof value !== "object" || value === null) {
568
+ return false;
569
+ }
570
+ if (Object.getPrototypeOf(value) === null) {
571
+ return true;
572
+ }
573
+ let proto = value;
574
+ while (Object.getPrototypeOf(proto) !== null) {
575
+ proto = Object.getPrototypeOf(proto);
576
+ }
577
+ return Object.getPrototypeOf(value) === proto;
578
+ }
579
+
580
+ // src/core/schemas/utils/keys.ts
581
+ function keys(object2) {
582
+ return Object.keys(object2);
583
+ }
584
+
585
+ // src/core/schemas/utils/partition.ts
586
+ function partition(items, predicate) {
587
+ const trueItems = [], falseItems = [];
588
+ for (const item of items) {
589
+ if (predicate(item)) {
590
+ trueItems.push(item);
591
+ } else {
592
+ falseItems.push(item);
593
+ }
594
+ }
595
+ return [trueItems, falseItems];
596
+ }
597
+
598
+ // src/core/schemas/builders/object-like/getObjectLikeUtils.ts
599
+ function getObjectLikeUtils(schema) {
600
+ return {
601
+ withParsedProperties: (properties) => withParsedProperties(schema, properties)
602
+ };
603
+ }
604
+ function withParsedProperties(objectLike, properties) {
605
+ const objectSchema = {
606
+ parse: (raw, opts) => {
607
+ const parsedObject = objectLike.parse(raw, opts);
608
+ if (!parsedObject.ok) {
609
+ return parsedObject;
610
+ }
611
+ const additionalProperties = Object.entries(properties).reduce(
612
+ (processed, [key, value]) => {
613
+ return {
614
+ ...processed,
615
+ [key]: typeof value === "function" ? value(parsedObject.value) : value
616
+ };
617
+ },
618
+ {}
619
+ );
620
+ return {
621
+ ok: true,
622
+ value: {
623
+ ...parsedObject.value,
624
+ ...additionalProperties
625
+ }
626
+ };
627
+ },
628
+ json: (parsed, opts) => {
629
+ if (!isPlainObject(parsed)) {
630
+ return {
631
+ ok: false,
632
+ errors: [
633
+ {
634
+ path: opts?.breadcrumbsPrefix ?? [],
635
+ message: getErrorMessageForIncorrectType(parsed, "object")
636
+ }
637
+ ]
638
+ };
639
+ }
640
+ const addedPropertyKeys = new Set(Object.keys(properties));
641
+ const parsedWithoutAddedProperties = filterObject(
642
+ parsed,
643
+ Object.keys(parsed).filter((key) => !addedPropertyKeys.has(key))
644
+ );
645
+ return objectLike.json(parsedWithoutAddedProperties, opts);
646
+ },
647
+ getType: () => objectLike.getType()
648
+ };
649
+ return {
650
+ ...objectSchema,
651
+ ...getSchemaUtils(objectSchema),
652
+ ...getObjectLikeUtils(objectSchema)
653
+ };
654
+ }
655
+
656
+ // src/core/schemas/builders/object/property.ts
657
+ function property(rawKey, valueSchema) {
658
+ return {
659
+ rawKey,
660
+ valueSchema,
661
+ isProperty: true
662
+ };
663
+ }
664
+ function isProperty(maybeProperty) {
665
+ return maybeProperty.isProperty;
666
+ }
667
+
668
+ // src/core/schemas/builders/object/object.ts
669
+ function object(schemas) {
670
+ const baseSchema = {
671
+ _getRawProperties: () => Object.entries(schemas).map(
672
+ ([parsedKey, propertySchema]) => isProperty(propertySchema) ? propertySchema.rawKey : parsedKey
673
+ ),
674
+ _getParsedProperties: () => keys(schemas),
675
+ parse: (raw, opts) => {
676
+ const rawKeyToProperty = {};
677
+ const requiredKeys = [];
678
+ for (const [parsedKey, schemaOrObjectProperty] of entries(schemas)) {
679
+ const rawKey = isProperty(schemaOrObjectProperty) ? schemaOrObjectProperty.rawKey : parsedKey;
680
+ const valueSchema = isProperty(schemaOrObjectProperty) ? schemaOrObjectProperty.valueSchema : schemaOrObjectProperty;
681
+ const property2 = {
682
+ rawKey,
683
+ parsedKey,
684
+ valueSchema
685
+ };
686
+ rawKeyToProperty[rawKey] = property2;
687
+ if (isSchemaRequired(valueSchema)) {
688
+ requiredKeys.push(rawKey);
689
+ }
690
+ }
691
+ return validateAndTransformObject({
692
+ value: raw,
693
+ requiredKeys,
694
+ getProperty: (rawKey) => {
695
+ const property2 = rawKeyToProperty[rawKey];
696
+ if (property2 == null) {
697
+ return void 0;
698
+ }
699
+ return {
700
+ transformedKey: property2.parsedKey,
701
+ transform: (propertyValue) => property2.valueSchema.parse(propertyValue, {
702
+ ...opts,
703
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], rawKey]
704
+ })
705
+ };
706
+ },
707
+ unrecognizedObjectKeys: opts?.unrecognizedObjectKeys,
708
+ skipValidation: opts?.skipValidation,
709
+ breadcrumbsPrefix: opts?.breadcrumbsPrefix,
710
+ omitUndefined: opts?.omitUndefined
711
+ });
712
+ },
713
+ json: (parsed, opts) => {
714
+ const requiredKeys = [];
715
+ for (const [parsedKey, schemaOrObjectProperty] of entries(schemas)) {
716
+ const valueSchema = isProperty(schemaOrObjectProperty) ? schemaOrObjectProperty.valueSchema : schemaOrObjectProperty;
717
+ if (isSchemaRequired(valueSchema)) {
718
+ requiredKeys.push(parsedKey);
719
+ }
720
+ }
721
+ return validateAndTransformObject({
722
+ value: parsed,
723
+ requiredKeys,
724
+ getProperty: (parsedKey) => {
725
+ const property2 = schemas[parsedKey];
726
+ if (property2 == null) {
727
+ return void 0;
728
+ }
729
+ if (isProperty(property2)) {
730
+ return {
731
+ transformedKey: property2.rawKey,
732
+ transform: (propertyValue) => property2.valueSchema.json(propertyValue, {
733
+ ...opts,
734
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], parsedKey]
735
+ })
736
+ };
737
+ } else {
738
+ return {
739
+ transformedKey: parsedKey,
740
+ transform: (propertyValue) => property2.json(propertyValue, {
741
+ ...opts,
742
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], parsedKey]
743
+ })
744
+ };
745
+ }
746
+ },
747
+ unrecognizedObjectKeys: opts?.unrecognizedObjectKeys,
748
+ skipValidation: opts?.skipValidation,
749
+ breadcrumbsPrefix: opts?.breadcrumbsPrefix,
750
+ omitUndefined: opts?.omitUndefined
751
+ });
752
+ },
753
+ getType: () => SchemaType.OBJECT
754
+ };
755
+ return {
756
+ ...maybeSkipValidation(baseSchema),
757
+ ...getSchemaUtils(baseSchema),
758
+ ...getObjectLikeUtils(baseSchema),
759
+ ...getObjectUtils(baseSchema)
760
+ };
761
+ }
762
+ function validateAndTransformObject({
763
+ value,
764
+ requiredKeys,
765
+ getProperty,
766
+ unrecognizedObjectKeys = "fail",
767
+ skipValidation = false,
768
+ breadcrumbsPrefix = []
769
+ }) {
770
+ if (!isPlainObject(value)) {
771
+ return {
772
+ ok: false,
773
+ errors: [
774
+ {
775
+ path: breadcrumbsPrefix,
776
+ message: getErrorMessageForIncorrectType(value, "object")
777
+ }
778
+ ]
779
+ };
780
+ }
781
+ const missingRequiredKeys = new Set(requiredKeys);
782
+ const errors = [];
783
+ const transformed = {};
784
+ for (const [preTransformedKey, preTransformedItemValue] of Object.entries(value)) {
785
+ const property2 = getProperty(preTransformedKey);
786
+ if (property2 != null) {
787
+ missingRequiredKeys.delete(preTransformedKey);
788
+ const value2 = property2.transform(preTransformedItemValue);
789
+ if (value2.ok) {
790
+ transformed[property2.transformedKey] = value2.value;
791
+ } else {
792
+ transformed[preTransformedKey] = preTransformedItemValue;
793
+ errors.push(...value2.errors);
794
+ }
795
+ } else {
796
+ switch (unrecognizedObjectKeys) {
797
+ case "fail":
798
+ errors.push({
799
+ path: [...breadcrumbsPrefix, preTransformedKey],
800
+ message: `Unexpected key "${preTransformedKey}"`
801
+ });
802
+ break;
803
+ case "strip":
804
+ break;
805
+ case "passthrough":
806
+ transformed[preTransformedKey] = preTransformedItemValue;
807
+ break;
808
+ }
809
+ }
810
+ }
811
+ errors.push(
812
+ ...requiredKeys.filter((key) => missingRequiredKeys.has(key)).map((key) => ({
813
+ path: breadcrumbsPrefix,
814
+ message: `Missing required key "${key}"`
815
+ }))
816
+ );
817
+ if (errors.length === 0 || skipValidation) {
818
+ return {
819
+ ok: true,
820
+ value: transformed
821
+ };
822
+ } else {
823
+ return {
824
+ ok: false,
825
+ errors
826
+ };
827
+ }
828
+ }
829
+ function getObjectUtils(schema) {
830
+ return {
831
+ extend: (extension) => {
832
+ const baseSchema = {
833
+ _getParsedProperties: () => [...schema._getParsedProperties(), ...extension._getParsedProperties()],
834
+ _getRawProperties: () => [...schema._getRawProperties(), ...extension._getRawProperties()],
835
+ parse: (raw, opts) => {
836
+ return validateAndTransformExtendedObject({
837
+ extensionKeys: extension._getRawProperties(),
838
+ value: raw,
839
+ transformBase: (rawBase) => schema.parse(rawBase, opts),
840
+ transformExtension: (rawExtension) => extension.parse(rawExtension, opts)
841
+ });
842
+ },
843
+ json: (parsed, opts) => {
844
+ return validateAndTransformExtendedObject({
845
+ extensionKeys: extension._getParsedProperties(),
846
+ value: parsed,
847
+ transformBase: (parsedBase) => schema.json(parsedBase, opts),
848
+ transformExtension: (parsedExtension) => extension.json(parsedExtension, opts)
849
+ });
850
+ },
851
+ getType: () => SchemaType.OBJECT
852
+ };
853
+ return {
854
+ ...baseSchema,
855
+ ...getSchemaUtils(baseSchema),
856
+ ...getObjectLikeUtils(baseSchema),
857
+ ...getObjectUtils(baseSchema)
858
+ };
859
+ },
860
+ passthrough: () => {
861
+ const baseSchema = {
862
+ _getParsedProperties: () => schema._getParsedProperties(),
863
+ _getRawProperties: () => schema._getRawProperties(),
864
+ parse: (raw, opts) => {
865
+ const transformed = schema.parse(raw, { ...opts, unrecognizedObjectKeys: "passthrough" });
866
+ if (!transformed.ok) {
867
+ return transformed;
868
+ }
869
+ return {
870
+ ok: true,
871
+ value: {
872
+ ...raw,
873
+ ...transformed.value
874
+ }
875
+ };
876
+ },
877
+ json: (parsed, opts) => {
878
+ const transformed = schema.json(parsed, { ...opts, unrecognizedObjectKeys: "passthrough" });
879
+ if (!transformed.ok) {
880
+ return transformed;
881
+ }
882
+ return {
883
+ ok: true,
884
+ value: {
885
+ ...parsed,
886
+ ...transformed.value
887
+ }
888
+ };
889
+ },
890
+ getType: () => SchemaType.OBJECT
891
+ };
892
+ return {
893
+ ...baseSchema,
894
+ ...getSchemaUtils(baseSchema),
895
+ ...getObjectLikeUtils(baseSchema),
896
+ ...getObjectUtils(baseSchema)
897
+ };
898
+ }
899
+ };
900
+ }
901
+ function validateAndTransformExtendedObject({
902
+ extensionKeys,
903
+ value,
904
+ transformBase,
905
+ transformExtension
906
+ }) {
907
+ const extensionPropertiesSet = new Set(extensionKeys);
908
+ const [extensionProperties, baseProperties] = partition(
909
+ keys(value),
910
+ (key) => extensionPropertiesSet.has(key)
911
+ );
912
+ const transformedBase = transformBase(filterObject(value, baseProperties));
913
+ const transformedExtension = transformExtension(filterObject(value, extensionProperties));
914
+ if (transformedBase.ok && transformedExtension.ok) {
915
+ return {
916
+ ok: true,
917
+ value: {
918
+ ...transformedBase.value,
919
+ ...transformedExtension.value
920
+ }
921
+ };
922
+ } else {
923
+ return {
924
+ ok: false,
925
+ errors: [
926
+ ...transformedBase.ok ? [] : transformedBase.errors,
927
+ ...transformedExtension.ok ? [] : transformedExtension.errors
928
+ ]
929
+ };
930
+ }
931
+ }
932
+ function isSchemaRequired(schema) {
933
+ return !isSchemaOptional(schema);
934
+ }
935
+ function isSchemaOptional(schema) {
936
+ switch (schema.getType()) {
937
+ case SchemaType.ANY:
938
+ case SchemaType.UNKNOWN:
939
+ case SchemaType.OPTIONAL:
940
+ case SchemaType.OPTIONAL_NULLABLE:
941
+ return true;
942
+ default:
943
+ return false;
944
+ }
945
+ }
946
+
947
+ // src/core/schemas/builders/object/objectWithoutOptionalProperties.ts
948
+ function objectWithoutOptionalProperties(schemas) {
949
+ return object(schemas);
950
+ }
951
+
952
+ // src/core/schemas/builders/lazy/lazyObject.ts
953
+ function lazyObject(getter) {
954
+ const baseSchema = {
955
+ ...constructLazyBaseSchema(getter),
956
+ _getRawProperties: () => getMemoizedSchema(getter)._getRawProperties(),
957
+ _getParsedProperties: () => getMemoizedSchema(getter)._getParsedProperties()
958
+ };
959
+ return {
960
+ ...baseSchema,
961
+ ...getSchemaUtils(baseSchema),
962
+ ...getObjectLikeUtils(baseSchema),
963
+ ...getObjectUtils(baseSchema)
964
+ };
965
+ }
966
+
967
+ // src/core/schemas/builders/list/list.ts
968
+ function list(schema) {
969
+ const baseSchema = {
970
+ parse: (raw, opts) => validateAndTransformArray(
971
+ raw,
972
+ (item, index) => schema.parse(item, {
973
+ ...opts,
974
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], `[${index}]`]
975
+ })
976
+ ),
977
+ json: (parsed, opts) => validateAndTransformArray(
978
+ parsed,
979
+ (item, index) => schema.json(item, {
980
+ ...opts,
981
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], `[${index}]`]
982
+ })
983
+ ),
984
+ getType: () => SchemaType.LIST
985
+ };
986
+ return {
987
+ ...maybeSkipValidation(baseSchema),
988
+ ...getSchemaUtils(baseSchema)
989
+ };
990
+ }
991
+ function validateAndTransformArray(value, transformItem) {
992
+ if (!Array.isArray(value)) {
993
+ return {
994
+ ok: false,
995
+ errors: [
996
+ {
997
+ message: getErrorMessageForIncorrectType(value, "list"),
998
+ path: []
999
+ }
1000
+ ]
1001
+ };
1002
+ }
1003
+ const maybeValidItems = value.map((item, index) => transformItem(item, index));
1004
+ return maybeValidItems.reduce(
1005
+ (acc, item) => {
1006
+ if (acc.ok && item.ok) {
1007
+ return {
1008
+ ok: true,
1009
+ value: [...acc.value, item.value]
1010
+ };
1011
+ }
1012
+ const errors = [];
1013
+ if (!acc.ok) {
1014
+ errors.push(...acc.errors);
1015
+ }
1016
+ if (!item.ok) {
1017
+ errors.push(...item.errors);
1018
+ }
1019
+ return {
1020
+ ok: false,
1021
+ errors
1022
+ };
1023
+ },
1024
+ { ok: true, value: [] }
1025
+ );
1026
+ }
1027
+
1028
+ // src/core/schemas/builders/literals/stringLiteral.ts
1029
+ function stringLiteral(literal) {
1030
+ const schemaCreator = createIdentitySchemaCreator(
1031
+ SchemaType.STRING_LITERAL,
1032
+ (value, { breadcrumbsPrefix = [] } = {}) => {
1033
+ if (value === literal) {
1034
+ return {
1035
+ ok: true,
1036
+ value: literal
1037
+ };
1038
+ } else {
1039
+ return {
1040
+ ok: false,
1041
+ errors: [
1042
+ {
1043
+ path: breadcrumbsPrefix,
1044
+ message: getErrorMessageForIncorrectType(value, `"${literal}"`)
1045
+ }
1046
+ ]
1047
+ };
1048
+ }
1049
+ }
1050
+ );
1051
+ return schemaCreator();
1052
+ }
1053
+
1054
+ // src/core/schemas/builders/literals/booleanLiteral.ts
1055
+ function booleanLiteral(literal) {
1056
+ const schemaCreator = createIdentitySchemaCreator(
1057
+ SchemaType.BOOLEAN_LITERAL,
1058
+ (value, { breadcrumbsPrefix = [] } = {}) => {
1059
+ if (value === literal) {
1060
+ return {
1061
+ ok: true,
1062
+ value: literal
1063
+ };
1064
+ } else {
1065
+ return {
1066
+ ok: false,
1067
+ errors: [
1068
+ {
1069
+ path: breadcrumbsPrefix,
1070
+ message: getErrorMessageForIncorrectType(value, `${literal.toString()}`)
1071
+ }
1072
+ ]
1073
+ };
1074
+ }
1075
+ }
1076
+ );
1077
+ return schemaCreator();
1078
+ }
1079
+
1080
+ // src/core/schemas/builders/primitives/any.ts
1081
+ var any = createIdentitySchemaCreator(SchemaType.ANY, (value) => ({ ok: true, value }));
1082
+
1083
+ // src/core/schemas/builders/primitives/boolean.ts
1084
+ var boolean = createIdentitySchemaCreator(
1085
+ SchemaType.BOOLEAN,
1086
+ (value, { breadcrumbsPrefix = [] } = {}) => {
1087
+ if (typeof value === "boolean") {
1088
+ return {
1089
+ ok: true,
1090
+ value
1091
+ };
1092
+ } else {
1093
+ return {
1094
+ ok: false,
1095
+ errors: [
1096
+ {
1097
+ path: breadcrumbsPrefix,
1098
+ message: getErrorMessageForIncorrectType(value, "boolean")
1099
+ }
1100
+ ]
1101
+ };
1102
+ }
1103
+ }
1104
+ );
1105
+
1106
+ // src/core/schemas/builders/primitives/number.ts
1107
+ var number = createIdentitySchemaCreator(
1108
+ SchemaType.NUMBER,
1109
+ (value, { breadcrumbsPrefix = [] } = {}) => {
1110
+ if (typeof value === "number") {
1111
+ return {
1112
+ ok: true,
1113
+ value
1114
+ };
1115
+ } else {
1116
+ return {
1117
+ ok: false,
1118
+ errors: [
1119
+ {
1120
+ path: breadcrumbsPrefix,
1121
+ message: getErrorMessageForIncorrectType(value, "number")
1122
+ }
1123
+ ]
1124
+ };
1125
+ }
1126
+ }
1127
+ );
1128
+
1129
+ // src/core/schemas/builders/primitives/string.ts
1130
+ var string = createIdentitySchemaCreator(
1131
+ SchemaType.STRING,
1132
+ (value, { breadcrumbsPrefix = [] } = {}) => {
1133
+ if (typeof value === "string") {
1134
+ return {
1135
+ ok: true,
1136
+ value
1137
+ };
1138
+ } else {
1139
+ return {
1140
+ ok: false,
1141
+ errors: [
1142
+ {
1143
+ path: breadcrumbsPrefix,
1144
+ message: getErrorMessageForIncorrectType(value, "string")
1145
+ }
1146
+ ]
1147
+ };
1148
+ }
1149
+ }
1150
+ );
1151
+
1152
+ // src/core/schemas/builders/primitives/unknown.ts
1153
+ var unknown = createIdentitySchemaCreator(SchemaType.UNKNOWN, (value) => ({ ok: true, value }));
1154
+
1155
+ // src/core/schemas/builders/record/record.ts
1156
+ function record(keySchema, valueSchema) {
1157
+ const baseSchema = {
1158
+ parse: (raw, opts) => {
1159
+ return validateAndTransformRecord({
1160
+ value: raw,
1161
+ isKeyNumeric: keySchema.getType() === SchemaType.NUMBER,
1162
+ transformKey: (key) => keySchema.parse(key, {
1163
+ ...opts,
1164
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], `${key} (key)`]
1165
+ }),
1166
+ transformValue: (value, key) => valueSchema.parse(value, {
1167
+ ...opts,
1168
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], `${key}`]
1169
+ }),
1170
+ breadcrumbsPrefix: opts?.breadcrumbsPrefix
1171
+ });
1172
+ },
1173
+ json: (parsed, opts) => {
1174
+ return validateAndTransformRecord({
1175
+ value: parsed,
1176
+ isKeyNumeric: keySchema.getType() === SchemaType.NUMBER,
1177
+ transformKey: (key) => keySchema.json(key, {
1178
+ ...opts,
1179
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], `${key} (key)`]
1180
+ }),
1181
+ transformValue: (value, key) => valueSchema.json(value, {
1182
+ ...opts,
1183
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], `${key}`]
1184
+ }),
1185
+ breadcrumbsPrefix: opts?.breadcrumbsPrefix
1186
+ });
1187
+ },
1188
+ getType: () => SchemaType.RECORD
1189
+ };
1190
+ return {
1191
+ ...maybeSkipValidation(baseSchema),
1192
+ ...getSchemaUtils(baseSchema)
1193
+ };
1194
+ }
1195
+ function validateAndTransformRecord({
1196
+ value,
1197
+ isKeyNumeric,
1198
+ transformKey,
1199
+ transformValue,
1200
+ breadcrumbsPrefix = []
1201
+ }) {
1202
+ if (!isPlainObject(value)) {
1203
+ return {
1204
+ ok: false,
1205
+ errors: [
1206
+ {
1207
+ path: breadcrumbsPrefix,
1208
+ message: getErrorMessageForIncorrectType(value, "object")
1209
+ }
1210
+ ]
1211
+ };
1212
+ }
1213
+ return entries(value).reduce(
1214
+ (accPromise, [stringKey, value2]) => {
1215
+ if (value2 === void 0) {
1216
+ return accPromise;
1217
+ }
1218
+ const acc = accPromise;
1219
+ let key = stringKey;
1220
+ if (isKeyNumeric) {
1221
+ const numberKey = stringKey.length > 0 ? Number(stringKey) : NaN;
1222
+ if (!isNaN(numberKey)) {
1223
+ key = numberKey;
1224
+ }
1225
+ }
1226
+ const transformedKey = transformKey(key);
1227
+ const transformedValue = transformValue(value2, key);
1228
+ if (acc.ok && transformedKey.ok && transformedValue.ok) {
1229
+ return {
1230
+ ok: true,
1231
+ value: {
1232
+ ...acc.value,
1233
+ [transformedKey.value]: transformedValue.value
1234
+ }
1235
+ };
1236
+ }
1237
+ const errors = [];
1238
+ if (!acc.ok) {
1239
+ errors.push(...acc.errors);
1240
+ }
1241
+ if (!transformedKey.ok) {
1242
+ errors.push(...transformedKey.errors);
1243
+ }
1244
+ if (!transformedValue.ok) {
1245
+ errors.push(...transformedValue.errors);
1246
+ }
1247
+ return {
1248
+ ok: false,
1249
+ errors
1250
+ };
1251
+ },
1252
+ { ok: true, value: {} }
1253
+ );
1254
+ }
1255
+
1256
+ // src/core/schemas/builders/set/set.ts
1257
+ function set(schema) {
1258
+ const listSchema = list(schema);
1259
+ const baseSchema = {
1260
+ parse: (raw, opts) => {
1261
+ const parsedList = listSchema.parse(raw, opts);
1262
+ if (parsedList.ok) {
1263
+ return {
1264
+ ok: true,
1265
+ value: new Set(parsedList.value)
1266
+ };
1267
+ } else {
1268
+ return parsedList;
1269
+ }
1270
+ },
1271
+ json: (parsed, opts) => {
1272
+ if (!(parsed instanceof Set)) {
1273
+ return {
1274
+ ok: false,
1275
+ errors: [
1276
+ {
1277
+ path: opts?.breadcrumbsPrefix ?? [],
1278
+ message: getErrorMessageForIncorrectType(parsed, "Set")
1279
+ }
1280
+ ]
1281
+ };
1282
+ }
1283
+ const jsonList = listSchema.json([...parsed], opts);
1284
+ return jsonList;
1285
+ },
1286
+ getType: () => SchemaType.SET
1287
+ };
1288
+ return {
1289
+ ...maybeSkipValidation(baseSchema),
1290
+ ...getSchemaUtils(baseSchema)
1291
+ };
1292
+ }
1293
+
1294
+ // src/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.ts
1295
+ function undiscriminatedUnion(schemas) {
1296
+ const baseSchema = {
1297
+ parse: (raw, opts) => {
1298
+ return validateAndTransformUndiscriminatedUnion(
1299
+ (schema, opts2) => schema.parse(raw, opts2),
1300
+ schemas,
1301
+ opts
1302
+ );
1303
+ },
1304
+ json: (parsed, opts) => {
1305
+ return validateAndTransformUndiscriminatedUnion(
1306
+ (schema, opts2) => schema.json(parsed, opts2),
1307
+ schemas,
1308
+ opts
1309
+ );
1310
+ },
1311
+ getType: () => SchemaType.UNDISCRIMINATED_UNION
1312
+ };
1313
+ return {
1314
+ ...maybeSkipValidation(baseSchema),
1315
+ ...getSchemaUtils(baseSchema)
1316
+ };
1317
+ }
1318
+ function validateAndTransformUndiscriminatedUnion(transform2, schemas, opts) {
1319
+ const errors = [];
1320
+ for (const [index, schema] of schemas.entries()) {
1321
+ const transformed = transform2(schema, { ...opts, skipValidation: false });
1322
+ if (transformed.ok) {
1323
+ return transformed;
1324
+ } else {
1325
+ for (const error of transformed.errors) {
1326
+ errors.push({
1327
+ path: error.path,
1328
+ message: `[Variant ${index}] ${error.message}`
1329
+ });
1330
+ }
1331
+ }
1332
+ }
1333
+ return {
1334
+ ok: false,
1335
+ errors
1336
+ };
1337
+ }
1338
+
1339
+ // src/core/schemas/builders/union/discriminant.ts
1340
+ function discriminant(parsedDiscriminant, rawDiscriminant) {
1341
+ return {
1342
+ parsedDiscriminant,
1343
+ rawDiscriminant
1344
+ };
1345
+ }
1346
+
1347
+ // src/core/schemas/builders/union/union.ts
1348
+ function union(discriminant2, union2) {
1349
+ const rawDiscriminant = typeof discriminant2 === "string" ? discriminant2 : discriminant2.rawDiscriminant;
1350
+ const parsedDiscriminant = typeof discriminant2 === "string" ? discriminant2 : discriminant2.parsedDiscriminant;
1351
+ const discriminantValueSchema = enum_(keys(union2));
1352
+ const baseSchema = {
1353
+ parse: (raw, opts) => {
1354
+ return transformAndValidateUnion({
1355
+ value: raw,
1356
+ discriminant: rawDiscriminant,
1357
+ transformedDiscriminant: parsedDiscriminant,
1358
+ transformDiscriminantValue: (discriminantValue) => discriminantValueSchema.parse(discriminantValue, {
1359
+ allowUnrecognizedEnumValues: opts?.allowUnrecognizedUnionMembers,
1360
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], rawDiscriminant]
1361
+ }),
1362
+ getAdditionalPropertiesSchema: (discriminantValue) => union2[discriminantValue],
1363
+ allowUnrecognizedUnionMembers: opts?.allowUnrecognizedUnionMembers,
1364
+ transformAdditionalProperties: (additionalProperties, additionalPropertiesSchema) => additionalPropertiesSchema.parse(additionalProperties, opts),
1365
+ breadcrumbsPrefix: opts?.breadcrumbsPrefix
1366
+ });
1367
+ },
1368
+ json: (parsed, opts) => {
1369
+ return transformAndValidateUnion({
1370
+ value: parsed,
1371
+ discriminant: parsedDiscriminant,
1372
+ transformedDiscriminant: rawDiscriminant,
1373
+ transformDiscriminantValue: (discriminantValue) => discriminantValueSchema.json(discriminantValue, {
1374
+ allowUnrecognizedEnumValues: opts?.allowUnrecognizedUnionMembers,
1375
+ breadcrumbsPrefix: [...opts?.breadcrumbsPrefix ?? [], parsedDiscriminant]
1376
+ }),
1377
+ getAdditionalPropertiesSchema: (discriminantValue) => union2[discriminantValue],
1378
+ allowUnrecognizedUnionMembers: opts?.allowUnrecognizedUnionMembers,
1379
+ transformAdditionalProperties: (additionalProperties, additionalPropertiesSchema) => additionalPropertiesSchema.json(additionalProperties, opts),
1380
+ breadcrumbsPrefix: opts?.breadcrumbsPrefix
1381
+ });
1382
+ },
1383
+ getType: () => SchemaType.UNION
1384
+ };
1385
+ return {
1386
+ ...maybeSkipValidation(baseSchema),
1387
+ ...getSchemaUtils(baseSchema),
1388
+ ...getObjectLikeUtils(baseSchema)
1389
+ };
1390
+ }
1391
+ function transformAndValidateUnion({
1392
+ value,
1393
+ discriminant: discriminant2,
1394
+ transformedDiscriminant,
1395
+ transformDiscriminantValue,
1396
+ getAdditionalPropertiesSchema,
1397
+ allowUnrecognizedUnionMembers = false,
1398
+ transformAdditionalProperties,
1399
+ breadcrumbsPrefix = []
1400
+ }) {
1401
+ if (!isPlainObject(value)) {
1402
+ return {
1403
+ ok: false,
1404
+ errors: [
1405
+ {
1406
+ path: breadcrumbsPrefix,
1407
+ message: getErrorMessageForIncorrectType(value, "object")
1408
+ }
1409
+ ]
1410
+ };
1411
+ }
1412
+ const { [discriminant2]: discriminantValue, ...additionalProperties } = value;
1413
+ if (discriminantValue == null) {
1414
+ return {
1415
+ ok: false,
1416
+ errors: [
1417
+ {
1418
+ path: breadcrumbsPrefix,
1419
+ message: `Missing discriminant ("${discriminant2}")`
1420
+ }
1421
+ ]
1422
+ };
1423
+ }
1424
+ const transformedDiscriminantValue = transformDiscriminantValue(discriminantValue);
1425
+ if (!transformedDiscriminantValue.ok) {
1426
+ return {
1427
+ ok: false,
1428
+ errors: transformedDiscriminantValue.errors
1429
+ };
1430
+ }
1431
+ const additionalPropertiesSchema = getAdditionalPropertiesSchema(transformedDiscriminantValue.value);
1432
+ if (additionalPropertiesSchema == null) {
1433
+ if (allowUnrecognizedUnionMembers) {
1434
+ return {
1435
+ ok: true,
1436
+ value: {
1437
+ [transformedDiscriminant]: transformedDiscriminantValue.value,
1438
+ ...additionalProperties
1439
+ }
1440
+ };
1441
+ } else {
1442
+ return {
1443
+ ok: false,
1444
+ errors: [
1445
+ {
1446
+ path: [...breadcrumbsPrefix, discriminant2],
1447
+ message: "Unexpected discriminant value"
1448
+ }
1449
+ ]
1450
+ };
1451
+ }
1452
+ }
1453
+ const transformedAdditionalProperties = transformAdditionalProperties(
1454
+ additionalProperties,
1455
+ additionalPropertiesSchema
1456
+ );
1457
+ if (!transformedAdditionalProperties.ok) {
1458
+ return transformedAdditionalProperties;
1459
+ }
1460
+ return {
1461
+ ok: true,
1462
+ value: {
1463
+ [transformedDiscriminant]: discriminantValue,
1464
+ ...transformedAdditionalProperties.value
1465
+ }
1466
+ };
1467
+ }
1468
+
1469
+ // src/serialization/types/RivetId.ts
1470
+ var RivetId = schemas_exports.string();
1471
+
1472
+ // src/serialization/types/CrashPolicy.ts
1473
+ var CrashPolicy = schemas_exports.enum_(["restart", "sleep", "destroy"]);
1474
+
1475
+ // src/serialization/types/Actor.ts
1476
+ var Actor = schemas_exports.object({
1477
+ actorId: schemas_exports.property("actor_id", RivetId),
1478
+ connectableTs: schemas_exports.property("connectable_ts", schemas_exports.number().optional()),
1479
+ crashPolicy: schemas_exports.property("crash_policy", CrashPolicy),
1480
+ createTs: schemas_exports.property("create_ts", schemas_exports.number()),
1481
+ datacenter: schemas_exports.string(),
1482
+ destroyTs: schemas_exports.property("destroy_ts", schemas_exports.number().optional()),
1483
+ key: schemas_exports.string().optional(),
1484
+ name: schemas_exports.string(),
1485
+ namespaceId: schemas_exports.property("namespace_id", RivetId),
1486
+ pendingAllocationTs: schemas_exports.property("pending_allocation_ts", schemas_exports.number().optional()),
1487
+ runnerNameSelector: schemas_exports.property("runner_name_selector", schemas_exports.string()),
1488
+ sleepTs: schemas_exports.property("sleep_ts", schemas_exports.number().optional()),
1489
+ startTs: schemas_exports.property("start_ts", schemas_exports.number().optional())
1490
+ });
1491
+
1492
+ // src/serialization/types/ActorName.ts
1493
+ var ActorName = schemas_exports.object({
1494
+ metadata: schemas_exports.record(schemas_exports.string(), schemas_exports.unknown())
1495
+ });
1496
+
1497
+ // src/serialization/types/ActorsCreateResponse.ts
1498
+ var ActorsCreateResponse = schemas_exports.object({
1499
+ actor: Actor
1500
+ });
1501
+
1502
+ // src/serialization/types/ActorsDeleteResponse.ts
1503
+ var ActorsDeleteResponse = schemas_exports.record(schemas_exports.string(), schemas_exports.unknown());
1504
+
1505
+ // src/serialization/types/ActorsGetOrCreateResponse.ts
1506
+ var ActorsGetOrCreateResponse = schemas_exports.object({
1507
+ actor: Actor,
1508
+ created: schemas_exports.boolean()
1509
+ });
1510
+
1511
+ // src/serialization/types/Pagination.ts
1512
+ var Pagination = schemas_exports.object({
1513
+ cursor: schemas_exports.string().optional()
1514
+ });
1515
+
1516
+ // src/serialization/types/ActorsListNamesResponse.ts
1517
+ var ActorsListNamesResponse = schemas_exports.object({
1518
+ names: schemas_exports.record(schemas_exports.string(), ActorName),
1519
+ pagination: Pagination
1520
+ });
1521
+
1522
+ // src/serialization/types/ActorsListResponse.ts
1523
+ var ActorsListResponse = schemas_exports.object({
1524
+ actors: schemas_exports.list(Actor),
1525
+ pagination: Pagination
1526
+ });
1527
+
1528
+ // src/serialization/types/Datacenter.ts
1529
+ var Datacenter = schemas_exports.object({
1530
+ label: schemas_exports.number(),
1531
+ name: schemas_exports.string(),
1532
+ url: schemas_exports.string()
1533
+ });
1534
+
1535
+ // src/serialization/types/HealthResponse.ts
1536
+ var HealthResponse = schemas_exports.object({
1537
+ runtime: schemas_exports.string(),
1538
+ status: schemas_exports.string(),
1539
+ version: schemas_exports.string()
1540
+ });
1541
+
1542
+ // src/serialization/types/HealthStatus.ts
1543
+ var HealthStatus = schemas_exports.enum_(["ok", "error"]);
1544
+
1545
+ // src/serialization/types/DatacenterHealth.ts
1546
+ var DatacenterHealth = schemas_exports.object({
1547
+ datacenterLabel: schemas_exports.property("datacenter_label", schemas_exports.number()),
1548
+ datacenterName: schemas_exports.property("datacenter_name", schemas_exports.string()),
1549
+ error: schemas_exports.string().optional(),
1550
+ response: HealthResponse.optional(),
1551
+ rttMs: schemas_exports.property("rtt_ms", schemas_exports.number().optional()),
1552
+ status: HealthStatus
1553
+ });
1554
+
1555
+ // src/serialization/types/DatacentersListResponse.ts
1556
+ var DatacentersListResponse = schemas_exports.object({
1557
+ datacenters: schemas_exports.list(Datacenter),
1558
+ pagination: Pagination
1559
+ });
1560
+
1561
+ // src/serialization/types/HealthFanoutResponse.ts
1562
+ var HealthFanoutResponse = schemas_exports.object({
1563
+ datacenters: schemas_exports.list(DatacenterHealth)
1564
+ });
1565
+
1566
+ // src/serialization/types/Namespace.ts
1567
+ var Namespace = schemas_exports.object({
1568
+ createTs: schemas_exports.property("create_ts", schemas_exports.number()),
1569
+ displayName: schemas_exports.property("display_name", schemas_exports.string()),
1570
+ name: schemas_exports.string(),
1571
+ namespaceId: schemas_exports.property("namespace_id", RivetId)
1572
+ });
1573
+
1574
+ // src/serialization/types/NamespaceListResponse.ts
1575
+ var NamespaceListResponse = schemas_exports.object({
1576
+ namespaces: schemas_exports.list(Namespace),
1577
+ pagination: Pagination
1578
+ });
1579
+
1580
+ // src/serialization/types/NamespacesCreateResponse.ts
1581
+ var NamespacesCreateResponse = schemas_exports.object({
1582
+ namespace: Namespace
1583
+ });
1584
+
1585
+ // src/serialization/types/Runner.ts
1586
+ var Runner = schemas_exports.object({
1587
+ createTs: schemas_exports.property("create_ts", schemas_exports.number()),
1588
+ datacenter: schemas_exports.string(),
1589
+ drainTs: schemas_exports.property("drain_ts", schemas_exports.number().optional()),
1590
+ key: schemas_exports.string(),
1591
+ lastConnectedTs: schemas_exports.property("last_connected_ts", schemas_exports.number().optional()),
1592
+ lastPingTs: schemas_exports.property("last_ping_ts", schemas_exports.number()),
1593
+ lastRtt: schemas_exports.property("last_rtt", schemas_exports.number()),
1594
+ metadata: schemas_exports.record(schemas_exports.string(), schemas_exports.unknown()).optional(),
1595
+ name: schemas_exports.string(),
1596
+ namespaceId: schemas_exports.property("namespace_id", RivetId),
1597
+ remainingSlots: schemas_exports.property("remaining_slots", schemas_exports.number()),
1598
+ runnerId: schemas_exports.property("runner_id", RivetId),
1599
+ stopTs: schemas_exports.property("stop_ts", schemas_exports.number().optional()),
1600
+ totalSlots: schemas_exports.property("total_slots", schemas_exports.number()),
1601
+ version: schemas_exports.number()
1602
+ });
1603
+
1604
+ // src/serialization/types/RunnerConfigServerless.ts
1605
+ var RunnerConfigServerless = schemas_exports.object({
1606
+ headers: schemas_exports.record(schemas_exports.string(), schemas_exports.string()).optional(),
1607
+ maxRunners: schemas_exports.property("max_runners", schemas_exports.number()),
1608
+ minRunners: schemas_exports.property("min_runners", schemas_exports.number().optional()),
1609
+ requestLifespan: schemas_exports.property("request_lifespan", schemas_exports.number()),
1610
+ runnersMargin: schemas_exports.property("runners_margin", schemas_exports.number().optional()),
1611
+ slotsPerRunner: schemas_exports.property("slots_per_runner", schemas_exports.number()),
1612
+ url: schemas_exports.string()
1613
+ });
1614
+
1615
+ // src/serialization/types/RunnerConfig.ts
1616
+ var RunnerConfig = schemas_exports.object({
1617
+ normal: schemas_exports.record(schemas_exports.string(), schemas_exports.unknown()).optional(),
1618
+ serverless: RunnerConfigServerless.optional(),
1619
+ metadata: schemas_exports.unknown().optional()
1620
+ });
1621
+
1622
+ // src/serialization/types/RunnerConfigKindNormal.ts
1623
+ var RunnerConfigKindNormal = schemas_exports.object({
1624
+ normal: schemas_exports.record(schemas_exports.string(), schemas_exports.unknown())
1625
+ });
1626
+
1627
+ // src/serialization/types/RunnerConfigKindServerlessServerless.ts
1628
+ var RunnerConfigKindServerlessServerless = schemas_exports.object({
1629
+ headers: schemas_exports.record(schemas_exports.string(), schemas_exports.string()).optional(),
1630
+ maxRunners: schemas_exports.property("max_runners", schemas_exports.number()),
1631
+ minRunners: schemas_exports.property("min_runners", schemas_exports.number().optional()),
1632
+ requestLifespan: schemas_exports.property("request_lifespan", schemas_exports.number()),
1633
+ runnersMargin: schemas_exports.property("runners_margin", schemas_exports.number().optional()),
1634
+ slotsPerRunner: schemas_exports.property("slots_per_runner", schemas_exports.number()),
1635
+ url: schemas_exports.string()
1636
+ });
1637
+
1638
+ // src/serialization/types/RunnerConfigKindServerless.ts
1639
+ var RunnerConfigKindServerless = schemas_exports.object({
1640
+ serverless: RunnerConfigKindServerlessServerless
1641
+ });
1642
+
1643
+ // src/serialization/types/RunnerConfigKind.ts
1644
+ var RunnerConfigKind = schemas_exports.undiscriminatedUnion([RunnerConfigKindNormal, RunnerConfigKindServerless]);
1645
+
1646
+ // src/serialization/types/RunnerConfigVariant.ts
1647
+ var RunnerConfigVariant = schemas_exports.enum_(["serverless", "normal"]);
1648
+
1649
+ // src/serialization/types/RunnerConfigsDeleteResponse.ts
1650
+ var RunnerConfigsDeleteResponse = schemas_exports.record(schemas_exports.string(), schemas_exports.unknown());
1651
+
1652
+ // src/serialization/types/RunnerConfigsListResponseRunnerConfigsValue.ts
1653
+ var RunnerConfigsListResponseRunnerConfigsValue = schemas_exports.object({
1654
+ datacenters: schemas_exports.record(schemas_exports.string(), RunnerConfig)
1655
+ });
1656
+
1657
+ // src/serialization/types/RunnerConfigsListResponse.ts
1658
+ var RunnerConfigsListResponse = schemas_exports.object({
1659
+ pagination: Pagination,
1660
+ runnerConfigs: schemas_exports.property(
1661
+ "runner_configs",
1662
+ schemas_exports.record(schemas_exports.string(), RunnerConfigsListResponseRunnerConfigsValue)
1663
+ )
1664
+ });
1665
+
1666
+ // src/serialization/types/RunnerConfigsRefreshMetadataRequestBody.ts
1667
+ var RunnerConfigsRefreshMetadataRequestBody = schemas_exports.record(schemas_exports.string(), schemas_exports.unknown());
1668
+
1669
+ // src/serialization/types/RunnerConfigsRefreshMetadataResponse.ts
1670
+ var RunnerConfigsRefreshMetadataResponse = schemas_exports.record(schemas_exports.string(), schemas_exports.unknown());
1671
+
1672
+ // src/serialization/types/RunnerConfigsServerlessHealthCheckResponseSuccessSuccess.ts
1673
+ var RunnerConfigsServerlessHealthCheckResponseSuccessSuccess = schemas_exports.object({
1674
+ version: schemas_exports.string()
1675
+ });
1676
+
1677
+ // src/serialization/types/RunnerConfigsServerlessHealthCheckResponseSuccess.ts
1678
+ var RunnerConfigsServerlessHealthCheckResponseSuccess = schemas_exports.object({
1679
+ success: RunnerConfigsServerlessHealthCheckResponseSuccessSuccess
1680
+ });
1681
+
1682
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidRequest.ts
1683
+ var RunnerConfigsServerlessMetadataErrorInvalidRequest = schemas_exports.object({
1684
+ invalidRequest: schemas_exports.property(
1685
+ "invalid_request",
1686
+ schemas_exports.record(schemas_exports.string(), schemas_exports.unknown())
1687
+ )
1688
+ });
1689
+
1690
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorRequestFailed.ts
1691
+ var RunnerConfigsServerlessMetadataErrorRequestFailed = schemas_exports.object({
1692
+ requestFailed: schemas_exports.property(
1693
+ "request_failed",
1694
+ schemas_exports.record(schemas_exports.string(), schemas_exports.unknown())
1695
+ )
1696
+ });
1697
+
1698
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorRequestTimedOut.ts
1699
+ var RunnerConfigsServerlessMetadataErrorRequestTimedOut = schemas_exports.object({
1700
+ requestTimedOut: schemas_exports.property(
1701
+ "request_timed_out",
1702
+ schemas_exports.record(schemas_exports.string(), schemas_exports.unknown())
1703
+ )
1704
+ });
1705
+
1706
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus.ts
1707
+ var RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus = schemas_exports.object({
1708
+ body: schemas_exports.string(),
1709
+ statusCode: schemas_exports.property("status_code", schemas_exports.number())
1710
+ });
1711
+
1712
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorNonSuccessStatus.ts
1713
+ var RunnerConfigsServerlessMetadataErrorNonSuccessStatus = schemas_exports.object({
1714
+ nonSuccessStatus: schemas_exports.property(
1715
+ "non_success_status",
1716
+ RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus
1717
+ )
1718
+ });
1719
+
1720
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson.ts
1721
+ var RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson = schemas_exports.object({
1722
+ body: schemas_exports.string()
1723
+ });
1724
+
1725
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseJson.ts
1726
+ var RunnerConfigsServerlessMetadataErrorInvalidResponseJson = schemas_exports.object({
1727
+ invalidResponseJson: schemas_exports.property(
1728
+ "invalid_response_json",
1729
+ RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson
1730
+ )
1731
+ });
1732
+
1733
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema.ts
1734
+ var RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema = schemas_exports.object({
1735
+ runtime: schemas_exports.string(),
1736
+ version: schemas_exports.string()
1737
+ });
1738
+
1739
+ // src/serialization/types/RunnerConfigsServerlessMetadataErrorInvalidResponseSchema.ts
1740
+ var RunnerConfigsServerlessMetadataErrorInvalidResponseSchema = schemas_exports.object({
1741
+ invalidResponseSchema: schemas_exports.property(
1742
+ "invalid_response_schema",
1743
+ RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema
1744
+ )
1745
+ });
1746
+
1747
+ // src/serialization/types/RunnerConfigsServerlessMetadataError.ts
1748
+ var RunnerConfigsServerlessMetadataError = schemas_exports.undiscriminatedUnion([
1749
+ RunnerConfigsServerlessMetadataErrorInvalidRequest,
1750
+ RunnerConfigsServerlessMetadataErrorRequestFailed,
1751
+ RunnerConfigsServerlessMetadataErrorRequestTimedOut,
1752
+ RunnerConfigsServerlessMetadataErrorNonSuccessStatus,
1753
+ RunnerConfigsServerlessMetadataErrorInvalidResponseJson,
1754
+ RunnerConfigsServerlessMetadataErrorInvalidResponseSchema
1755
+ ]);
1756
+
1757
+ // src/serialization/types/RunnerConfigsServerlessHealthCheckResponseFailureFailure.ts
1758
+ var RunnerConfigsServerlessHealthCheckResponseFailureFailure = schemas_exports.object({
1759
+ error: RunnerConfigsServerlessMetadataError
1760
+ });
1761
+
1762
+ // src/serialization/types/RunnerConfigsServerlessHealthCheckResponseFailure.ts
1763
+ var RunnerConfigsServerlessHealthCheckResponseFailure = schemas_exports.object({
1764
+ failure: RunnerConfigsServerlessHealthCheckResponseFailureFailure
1765
+ });
1766
+
1767
+ // src/serialization/types/RunnerConfigsServerlessHealthCheckResponse.ts
1768
+ var RunnerConfigsServerlessHealthCheckResponse = schemas_exports.undiscriminatedUnion([
1769
+ RunnerConfigsServerlessHealthCheckResponseSuccess,
1770
+ RunnerConfigsServerlessHealthCheckResponseFailure
1771
+ ]);
1772
+
1773
+ // src/serialization/types/RunnerConfigsUpsertResponse.ts
1774
+ var RunnerConfigsUpsertResponse = schemas_exports.object({
1775
+ endpointConfigChanged: schemas_exports.property("endpoint_config_changed", schemas_exports.boolean())
1776
+ });
1777
+
1778
+ // src/serialization/types/RunnersListNamesResponse.ts
1779
+ var RunnersListNamesResponse = schemas_exports.object({
1780
+ names: schemas_exports.list(schemas_exports.string()),
1781
+ pagination: Pagination
1782
+ });
1783
+
1784
+ // src/serialization/types/RunnersListResponse.ts
1785
+ var RunnersListResponse = schemas_exports.object({
1786
+ pagination: Pagination,
1787
+ runners: schemas_exports.list(Runner)
1788
+ });
1789
+
1790
+ // src/serialization/client/requests/ActorsCreateRequest.ts
1791
+ var ActorsCreateRequest = schemas_exports.object({
1792
+ crashPolicy: schemas_exports.property("crash_policy", CrashPolicy),
1793
+ datacenter: schemas_exports.string().optional(),
1794
+ input: schemas_exports.string().optional(),
1795
+ key: schemas_exports.string().optional(),
1796
+ name: schemas_exports.string(),
1797
+ runnerNameSelector: schemas_exports.property("runner_name_selector", schemas_exports.string())
1798
+ });
1799
+
1800
+ // src/serialization/client/requests/ActorsGetOrCreateRequest.ts
1801
+ var ActorsGetOrCreateRequest = schemas_exports.object({
1802
+ crashPolicy: schemas_exports.property("crash_policy", CrashPolicy),
1803
+ datacenter: schemas_exports.string().optional(),
1804
+ input: schemas_exports.string().optional(),
1805
+ key: schemas_exports.string(),
1806
+ name: schemas_exports.string(),
1807
+ runnerNameSelector: schemas_exports.property("runner_name_selector", schemas_exports.string())
1808
+ });
1809
+
1810
+ // src/serialization/client/requests/RunnerConfigsServerlessHealthCheckRequest.ts
1811
+ var RunnerConfigsServerlessHealthCheckRequest = schemas_exports.object({
1812
+ headers: schemas_exports.record(schemas_exports.string(), schemas_exports.string()).optional(),
1813
+ url: schemas_exports.string()
1814
+ });
1815
+
1816
+ // src/serialization/client/requests/RunnerConfigsUpsertRequestBody.ts
1817
+ var RunnerConfigsUpsertRequestBody = schemas_exports.object({
1818
+ datacenters: schemas_exports.record(schemas_exports.string(), RunnerConfig)
1819
+ });
1820
+
1821
+ // src/serialization/resources/namespaces/index.ts
1822
+ var namespaces_exports = {};
1823
+ __export(namespaces_exports, {
1824
+ NamespacesCreateRequest: () => NamespacesCreateRequest
1825
+ });
1826
+
1827
+ // src/serialization/resources/namespaces/client/requests/NamespacesCreateRequest.ts
1828
+ var NamespacesCreateRequest = schemas_exports.object({
1829
+ displayName: schemas_exports.property("display_name", schemas_exports.string()),
1830
+ name: schemas_exports.string()
1831
+ });
1832
+ export {
1833
+ Actor,
1834
+ ActorName,
1835
+ ActorsCreateRequest,
1836
+ ActorsCreateResponse,
1837
+ ActorsDeleteResponse,
1838
+ ActorsGetOrCreateRequest,
1839
+ ActorsGetOrCreateResponse,
1840
+ ActorsListNamesResponse,
1841
+ ActorsListResponse,
1842
+ CrashPolicy,
1843
+ Datacenter,
1844
+ DatacenterHealth,
1845
+ DatacentersListResponse,
1846
+ HealthFanoutResponse,
1847
+ HealthResponse,
1848
+ HealthStatus,
1849
+ Namespace,
1850
+ NamespaceListResponse,
1851
+ NamespacesCreateRequest,
1852
+ NamespacesCreateResponse,
1853
+ Pagination,
1854
+ RivetId,
1855
+ Runner,
1856
+ RunnerConfig,
1857
+ RunnerConfigKind,
1858
+ RunnerConfigKindNormal,
1859
+ RunnerConfigKindServerless,
1860
+ RunnerConfigKindServerlessServerless,
1861
+ RunnerConfigServerless,
1862
+ RunnerConfigVariant,
1863
+ RunnerConfigsDeleteResponse,
1864
+ RunnerConfigsListResponse,
1865
+ RunnerConfigsListResponseRunnerConfigsValue,
1866
+ RunnerConfigsRefreshMetadataRequestBody,
1867
+ RunnerConfigsRefreshMetadataResponse,
1868
+ RunnerConfigsServerlessHealthCheckRequest,
1869
+ RunnerConfigsServerlessHealthCheckResponse,
1870
+ RunnerConfigsServerlessHealthCheckResponseFailure,
1871
+ RunnerConfigsServerlessHealthCheckResponseFailureFailure,
1872
+ RunnerConfigsServerlessHealthCheckResponseSuccess,
1873
+ RunnerConfigsServerlessHealthCheckResponseSuccessSuccess,
1874
+ RunnerConfigsServerlessMetadataError,
1875
+ RunnerConfigsServerlessMetadataErrorInvalidRequest,
1876
+ RunnerConfigsServerlessMetadataErrorInvalidResponseJson,
1877
+ RunnerConfigsServerlessMetadataErrorInvalidResponseJsonInvalidResponseJson,
1878
+ RunnerConfigsServerlessMetadataErrorInvalidResponseSchema,
1879
+ RunnerConfigsServerlessMetadataErrorInvalidResponseSchemaInvalidResponseSchema,
1880
+ RunnerConfigsServerlessMetadataErrorNonSuccessStatus,
1881
+ RunnerConfigsServerlessMetadataErrorNonSuccessStatusNonSuccessStatus,
1882
+ RunnerConfigsServerlessMetadataErrorRequestFailed,
1883
+ RunnerConfigsServerlessMetadataErrorRequestTimedOut,
1884
+ RunnerConfigsUpsertRequestBody,
1885
+ RunnerConfigsUpsertResponse,
1886
+ RunnersListNamesResponse,
1887
+ RunnersListResponse,
1888
+ namespaces_exports as namespaces
1889
+ };