@rivetkit/engine-api-full 25.5.3

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