fullstacked 0.12.0-1272 → 0.12.0-1290

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 (165) hide show
  1. package/fullstacked_modules/@fullstacked/ai-agent/index.ts +20 -2
  2. package/fullstacked_modules/@fullstacked/ai-agent/lock.json +469 -38
  3. package/fullstacked_modules/@fullstacked/ai-agent/package.json +11 -1
  4. package/fullstacked_modules/@fullstacked/ai-agent/src/conversation.ts +72 -14
  5. package/fullstacked_modules/@fullstacked/ai-agent/src/index.ts +1 -2
  6. package/fullstacked_modules/@fullstacked/ai-agent/src/markdown.ts +8 -4
  7. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/anthropic.ts +46 -0
  8. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/deepseek.ts +46 -0
  9. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/google.ts +40 -0
  10. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/index.ts +41 -0
  11. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/interface.ts +19 -0
  12. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/mistral.ts +47 -0
  13. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/ollama.ts +26 -9
  14. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/openai.ts +21 -9
  15. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/xai.ts +43 -0
  16. package/fullstacked_modules/@fullstacked/ai-agent/summary.txt +7 -0
  17. package/fullstacked_modules/ai/index.js +155662 -87448
  18. package/fullstacked_modules/esbuild/sass.ts +1 -1
  19. package/fullstacked_modules/fetch/index.ts +1 -4
  20. package/fullstacked_modules/sass/index.js +3 -3
  21. package/fullstacked_modules/zod/README.md +3 -3
  22. package/fullstacked_modules/zod/index.d.cts +2 -2
  23. package/fullstacked_modules/zod/index.d.ts +2 -2
  24. package/fullstacked_modules/zod/package.json +10 -26
  25. package/fullstacked_modules/zod/src/index.ts +2 -2
  26. package/fullstacked_modules/zod/src/v3/tests/string.test.ts +2 -2
  27. package/fullstacked_modules/zod/src/v3/types.ts +1 -3
  28. package/fullstacked_modules/zod/src/v4/classic/checks.ts +0 -1
  29. package/fullstacked_modules/zod/src/v4/classic/compat.ts +0 -4
  30. package/fullstacked_modules/zod/src/v4/classic/errors.ts +2 -9
  31. package/fullstacked_modules/zod/src/v4/classic/schemas.ts +47 -24
  32. package/fullstacked_modules/zod/src/v4/classic/tests/catch.test.ts +5 -4
  33. package/fullstacked_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -6
  34. package/fullstacked_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -42
  35. package/fullstacked_modules/zod/src/v4/classic/tests/error-utils.test.ts +2 -70
  36. package/fullstacked_modules/zod/src/v4/classic/tests/file.test.ts +2 -5
  37. package/fullstacked_modules/zod/src/v4/classic/tests/literal.test.ts +0 -25
  38. package/fullstacked_modules/zod/src/v4/classic/tests/number.test.ts +0 -23
  39. package/fullstacked_modules/zod/src/v4/classic/tests/optional.test.ts +0 -13
  40. package/fullstacked_modules/zod/src/v4/classic/tests/partial.test.ts +0 -193
  41. package/fullstacked_modules/zod/src/v4/classic/tests/pickomit.test.ts +5 -5
  42. package/fullstacked_modules/zod/src/v4/classic/tests/preprocess.test.ts +15 -4
  43. package/fullstacked_modules/zod/src/v4/classic/tests/record.test.ts +1 -15
  44. package/fullstacked_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -121
  45. package/fullstacked_modules/zod/src/v4/classic/tests/string.test.ts +4 -119
  46. package/fullstacked_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -3
  47. package/fullstacked_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -27
  48. package/fullstacked_modules/zod/src/v4/classic/tests/transform.test.ts +0 -104
  49. package/fullstacked_modules/zod/src/v4/classic/tests/tuple.test.ts +2 -2
  50. package/fullstacked_modules/zod/src/v4/classic/tests/union.test.ts +3 -90
  51. package/fullstacked_modules/zod/src/v4/core/api.ts +96 -130
  52. package/fullstacked_modules/zod/src/v4/core/checks.ts +2 -4
  53. package/fullstacked_modules/zod/src/v4/core/doc.ts +2 -2
  54. package/fullstacked_modules/zod/src/v4/core/errors.ts +44 -43
  55. package/fullstacked_modules/zod/src/v4/core/json-schema.ts +3 -6
  56. package/fullstacked_modules/zod/src/v4/core/regexes.ts +6 -9
  57. package/fullstacked_modules/zod/src/v4/core/registries.ts +2 -3
  58. package/fullstacked_modules/zod/src/v4/core/schemas.ts +107 -165
  59. package/fullstacked_modules/zod/src/v4/core/to-json-schema.ts +11 -38
  60. package/fullstacked_modules/zod/src/v4/core/util.ts +105 -157
  61. package/fullstacked_modules/zod/src/v4/core/versions.ts +1 -1
  62. package/fullstacked_modules/zod/src/v4/locales/index.ts +0 -3
  63. package/fullstacked_modules/zod/src/v4/mini/schemas.ts +1 -14
  64. package/fullstacked_modules/zod/src/v4/mini/tests/assignability.test.ts +1 -1
  65. package/fullstacked_modules/zod/src/v4/mini/tests/computed.test.ts +1 -1
  66. package/fullstacked_modules/zod/src/v4/mini/tests/error.test.ts +1 -1
  67. package/fullstacked_modules/zod/src/v4/mini/tests/index.test.ts +1 -1
  68. package/fullstacked_modules/zod/src/v4/mini/tests/number.test.ts +1 -1
  69. package/fullstacked_modules/zod/src/v4/mini/tests/object.test.ts +1 -1
  70. package/fullstacked_modules/zod/src/v4/mini/tests/prototypes.test.ts +1 -1
  71. package/fullstacked_modules/zod/src/v4/mini/tests/recursive-types.test.ts +1 -1
  72. package/fullstacked_modules/zod/src/v4/mini/tests/string.test.ts +1 -1
  73. package/fullstacked_modules/zod/v3/ZodError.d.cts +6 -6
  74. package/fullstacked_modules/zod/v3/ZodError.d.ts +6 -6
  75. package/fullstacked_modules/zod/v3/locales/en.d.cts +1 -1
  76. package/fullstacked_modules/zod/v3/types.d.cts +1 -4
  77. package/fullstacked_modules/zod/v3/types.d.ts +1 -4
  78. package/fullstacked_modules/zod/v4/classic/checks.d.cts +1 -1
  79. package/fullstacked_modules/zod/v4/classic/checks.d.ts +1 -1
  80. package/fullstacked_modules/zod/v4/classic/compat.d.cts +0 -4
  81. package/fullstacked_modules/zod/v4/classic/compat.d.ts +0 -4
  82. package/fullstacked_modules/zod/v4/classic/schemas.d.cts +20 -9
  83. package/fullstacked_modules/zod/v4/classic/schemas.d.ts +20 -9
  84. package/fullstacked_modules/zod/v4/core/api.d.cts +72 -84
  85. package/fullstacked_modules/zod/v4/core/api.d.ts +72 -84
  86. package/fullstacked_modules/zod/v4/core/checks.d.cts +2 -2
  87. package/fullstacked_modules/zod/v4/core/checks.d.ts +2 -2
  88. package/fullstacked_modules/zod/v4/core/doc.d.cts +1 -1
  89. package/fullstacked_modules/zod/v4/core/doc.d.ts +1 -1
  90. package/fullstacked_modules/zod/v4/core/errors.d.cts +22 -24
  91. package/fullstacked_modules/zod/v4/core/errors.d.ts +22 -24
  92. package/fullstacked_modules/zod/v4/core/json-schema.d.cts +3 -3
  93. package/fullstacked_modules/zod/v4/core/json-schema.d.ts +3 -3
  94. package/fullstacked_modules/zod/v4/core/regexes.d.cts +2 -2
  95. package/fullstacked_modules/zod/v4/core/regexes.d.ts +2 -2
  96. package/fullstacked_modules/zod/v4/core/registries.d.cts +1 -1
  97. package/fullstacked_modules/zod/v4/core/registries.d.ts +1 -1
  98. package/fullstacked_modules/zod/v4/core/schemas.d.cts +6 -20
  99. package/fullstacked_modules/zod/v4/core/schemas.d.ts +6 -20
  100. package/fullstacked_modules/zod/v4/core/to-json-schema.d.cts +3 -4
  101. package/fullstacked_modules/zod/v4/core/to-json-schema.d.ts +3 -4
  102. package/fullstacked_modules/zod/v4/core/util.d.cts +0 -2
  103. package/fullstacked_modules/zod/v4/core/util.d.ts +0 -2
  104. package/fullstacked_modules/zod/v4/locales/ar.d.cts +1 -2
  105. package/fullstacked_modules/zod/v4/locales/az.d.cts +1 -2
  106. package/fullstacked_modules/zod/v4/locales/be.d.cts +1 -2
  107. package/fullstacked_modules/zod/v4/locales/ca.d.cts +1 -2
  108. package/fullstacked_modules/zod/v4/locales/cs.d.cts +1 -2
  109. package/fullstacked_modules/zod/v4/locales/de.d.cts +1 -2
  110. package/fullstacked_modules/zod/v4/locales/es.d.cts +1 -2
  111. package/fullstacked_modules/zod/v4/locales/fa.d.cts +1 -2
  112. package/fullstacked_modules/zod/v4/locales/fi.d.cts +1 -2
  113. package/fullstacked_modules/zod/v4/locales/fr-CA.d.cts +1 -2
  114. package/fullstacked_modules/zod/v4/locales/fr.d.cts +1 -2
  115. package/fullstacked_modules/zod/v4/locales/he.d.cts +1 -2
  116. package/fullstacked_modules/zod/v4/locales/hu.d.cts +1 -2
  117. package/fullstacked_modules/zod/v4/locales/id.d.cts +1 -2
  118. package/fullstacked_modules/zod/v4/locales/index.d.cts +0 -3
  119. package/fullstacked_modules/zod/v4/locales/index.d.ts +0 -3
  120. package/fullstacked_modules/zod/v4/locales/it.d.cts +1 -2
  121. package/fullstacked_modules/zod/v4/locales/ja.d.cts +1 -2
  122. package/fullstacked_modules/zod/v4/locales/kh.d.cts +1 -2
  123. package/fullstacked_modules/zod/v4/locales/ko.d.cts +1 -2
  124. package/fullstacked_modules/zod/v4/locales/mk.d.cts +1 -2
  125. package/fullstacked_modules/zod/v4/locales/ms.d.cts +1 -2
  126. package/fullstacked_modules/zod/v4/locales/nl.d.cts +1 -2
  127. package/fullstacked_modules/zod/v4/locales/no.d.cts +1 -2
  128. package/fullstacked_modules/zod/v4/locales/ota.d.cts +1 -2
  129. package/fullstacked_modules/zod/v4/locales/pl.d.cts +1 -2
  130. package/fullstacked_modules/zod/v4/locales/ps.d.cts +1 -2
  131. package/fullstacked_modules/zod/v4/locales/pt.d.cts +1 -2
  132. package/fullstacked_modules/zod/v4/locales/ru.d.cts +1 -2
  133. package/fullstacked_modules/zod/v4/locales/sl.d.cts +1 -2
  134. package/fullstacked_modules/zod/v4/locales/sv.d.cts +1 -2
  135. package/fullstacked_modules/zod/v4/locales/ta.d.cts +1 -2
  136. package/fullstacked_modules/zod/v4/locales/th.d.cts +1 -2
  137. package/fullstacked_modules/zod/v4/locales/ua.d.cts +1 -2
  138. package/fullstacked_modules/zod/v4/locales/ur.d.cts +1 -2
  139. package/fullstacked_modules/zod/v4/locales/vi.d.cts +1 -2
  140. package/fullstacked_modules/zod/v4/locales/zh-CN.d.cts +1 -2
  141. package/fullstacked_modules/zod/v4/locales/zh-TW.d.cts +1 -2
  142. package/fullstacked_modules/zod/v4/mini/schemas.d.cts +0 -2
  143. package/fullstacked_modules/zod/v4/mini/schemas.d.ts +0 -2
  144. package/index.js +1 -1
  145. package/package.json +7 -7
  146. package/fullstacked_modules/ai/package.json +0 -5
  147. package/fullstacked_modules/zod/locales/index.d.cts +0 -1
  148. package/fullstacked_modules/zod/locales/index.d.ts +0 -1
  149. package/fullstacked_modules/zod/mini/index.d.cts +0 -1
  150. package/fullstacked_modules/zod/mini/index.d.ts +0 -1
  151. package/fullstacked_modules/zod/src/locales/index.ts +0 -1
  152. package/fullstacked_modules/zod/src/mini/index.ts +0 -1
  153. package/fullstacked_modules/zod/src/v4/core/tests/extend.test.ts +0 -18
  154. package/fullstacked_modules/zod/src/v4/locales/bg.ts +0 -136
  155. package/fullstacked_modules/zod/src/v4/locales/da.ts +0 -141
  156. package/fullstacked_modules/zod/src/v4/locales/is.ts +0 -127
  157. package/fullstacked_modules/zod/src/v4/locales/yo.ts +0 -131
  158. package/fullstacked_modules/zod/v4/locales/bg.d.cts +0 -5
  159. package/fullstacked_modules/zod/v4/locales/bg.d.ts +0 -5
  160. package/fullstacked_modules/zod/v4/locales/da.d.cts +0 -5
  161. package/fullstacked_modules/zod/v4/locales/da.d.ts +0 -4
  162. package/fullstacked_modules/zod/v4/locales/is.d.cts +0 -5
  163. package/fullstacked_modules/zod/v4/locales/is.d.ts +0 -5
  164. package/fullstacked_modules/zod/v4/locales/yo.d.cts +0 -5
  165. package/fullstacked_modules/zod/v4/locales/yo.d.ts +0 -4
@@ -71,7 +71,7 @@ export async function buildSASS(
71
71
  contents
72
72
  };
73
73
  },
74
- canonicalize: (path) => new URL(path, window.location.href)
74
+ canonicalize: (path) => new URL(path, "http://localhost")
75
75
  }
76
76
  });
77
77
  } catch (e) {
@@ -154,7 +154,7 @@ function receivedResponse2(base64Data: string) {
154
154
 
155
155
  const ok = status <= 299;
156
156
 
157
- let finished = false;
157
+ let finished = statusText === "Failed fetch";
158
158
  const read = async () => {
159
159
  if (finished) {
160
160
  return { done: true };
@@ -182,9 +182,6 @@ function receivedResponse2(base64Data: string) {
182
182
  };
183
183
 
184
184
  const readBody = async () => {
185
- if (!ok) {
186
- return te.encode(statusText) as Uint8Array<ArrayBuffer>;
187
- }
188
185
  let body = new Uint8Array();
189
186
  for await (const chunk of responseIterator) {
190
187
  const buffer = new Uint8Array(body.byteLength + chunk.byteLength);
@@ -32517,7 +32517,7 @@ _cliPkgExports.load = function(_cliPkgRequires, _cliPkgExportParam) {
32517
32517
  J.set$deprecations$x(self2.exports, A.jsify($.$get$deprecations()));
32518
32518
  J.set$Version$x(self2.exports, $.$get$versionClass());
32519
32519
  J.set$loadParserExports_$x(self2.exports, A.allowInterop(A.parser0__loadParserExports$closure()));
32520
- J.set$info$x(self2.exports, "dart-sass 1.93.0 (Sass Compiler) [Dart]\ndart2js 3.9.3 (Dart Compiler) [Dart]");
32520
+ J.set$info$x(self2.exports, "dart-sass 1.93.2 (Sass Compiler) [Dart]\ndart2js 3.9.3 (Dart Compiler) [Dart]");
32521
32521
  A.updateCanonicalizeContextPrototype();
32522
32522
  A.updateSourceSpanPrototype();
32523
32523
  J.set$render$x(self2.exports, A.allowInteropNamed("sass.render", A.legacy__render$closure()));
@@ -37488,7 +37488,7 @@ _cliPkgExports.load = function(_cliPkgRequires, _cliPkgExportParam) {
37488
37488
  while (true)
37489
37489
  switch ($async$goto) {
37490
37490
  case 0:
37491
- $async$returnValue = "1.93.0 compiled with dart2js 3.9.3";
37491
+ $async$returnValue = "1.93.2 compiled with dart2js 3.9.3";
37492
37492
  $async$goto = 1;
37493
37493
  break;
37494
37494
  case 1:
@@ -55146,7 +55146,7 @@ _cliPkgExports.load = function(_cliPkgRequires, _cliPkgExportParam) {
55146
55146
  }
55147
55147
  try {
55148
55148
  argVersion = A.Version_Version$parse(id);
55149
- sassVersion = A.Version_Version$parse("1.93.0");
55149
+ sassVersion = A.Version_Version$parse("1.93.2");
55150
55150
  if (J.compareTo$1$ns(argVersion, sassVersion) > 0)
55151
55151
  A.ExecutableOptions__fail("Invalid version " + A.S(argVersion) + ". --fatal-deprecation requires a version less than or equal to the current Dart Sass version.");
55152
55152
  J.addAll$1$ax(deprecations2, A.Deprecation_forVersion(argVersion));
@@ -10,7 +10,7 @@
10
10
  <br/>
11
11
 
12
12
  <p align="center">
13
- <a href="https://github.com/colinhacks/zod/actions?query=branch%3Amain"><img src="https://github.com/colinhacks/zod/actions/workflows/test.yml/badge.svg?event=push&branch=main" alt="Zod CI status" /></a>
13
+ <a href="https://github.com/colinhacks/zod/actions?query=branch%3Amaster"><img src="https://github.com/colinhacks/zod/actions/workflows/test.yml/badge.svg?event=push&branch=master" alt="Zod CI status" /></a>
14
14
  <a href="https://opensource.org/licenses/MIT" rel="nofollow"><img src="https://img.shields.io/github/license/colinhacks/zod" alt="License"></a>
15
15
  <a href="https://www.npmjs.com/package/zod" rel="nofollow"><img src="https://img.shields.io/npm/dw/zod.svg" alt="npm"></a>
16
16
  <a href="https://discord.gg/KaSRdyX2vc" rel="nofollow"><img src="https://img.shields.io/discord/893487829802418277?label=Discord&logo=discord&logoColor=white" alt="discord server"></a>
@@ -58,7 +58,7 @@
58
58
  Zod is a TypeScript-first validation library. Define a schema and parse some data with it. You'll get back a strongly typed, validated result.
59
59
 
60
60
  ```ts
61
- import * as z from "zod";
61
+ import * as z from "zod/v4";
62
62
 
63
63
  const User = z.object({
64
64
  name: z.string(),
@@ -104,7 +104,7 @@ npm install zod
104
104
  Before you can do anything else, you need to define a schema. For the purposes of this guide, we'll use a simple object schema.
105
105
 
106
106
  ```ts
107
- import * as z from "zod";
107
+ import * as z from "zod/v4";
108
108
 
109
109
  const Player = z.object({
110
110
  username: z.string(),
@@ -1,4 +1,4 @@
1
- import * as z from "./v4/classic/external.cjs";
2
- export * from "./v4/classic/external.cjs";
1
+ import * as z from "./v3/external.cjs";
2
+ export * from "./v3/external.cjs";
3
3
  export { z };
4
4
  export default z;
@@ -1,4 +1,4 @@
1
- import * as z from "./v4/classic/external.js";
2
- export * from "./v4/classic/external.js";
1
+ import * as z from "./v3/external.js";
2
+ export * from "./v3/external.js";
3
3
  export { z };
4
4
  export default z;
@@ -1,16 +1,9 @@
1
1
  {
2
2
  "name": "zod",
3
- "version": "4.0.14",
3
+ "version": "3.25.76",
4
4
  "type": "module",
5
- "license": "MIT",
6
5
  "author": "Colin McDonnell <zod@colinhacks.com>",
7
6
  "description": "TypeScript-first schema declaration and validation library with static type inference",
8
- "homepage": "https://zod.dev",
9
- "llms": "https://zod.dev/llms.txt",
10
- "llmsFull": "https://zod.dev/llms-full.txt",
11
- "mcpServer": "https://mcp.inkeep.com/zod/mcp",
12
- "funding": "https://github.com/sponsors/colinhacks",
13
- "sideEffects": false,
14
7
  "files": [
15
8
  "src",
16
9
  "**/*.js",
@@ -20,6 +13,8 @@
20
13
  "**/*.d.mts",
21
14
  "**/*.d.cts"
22
15
  ],
16
+ "funding": "https://github.com/sponsors/colinhacks",
17
+ "homepage": "https://zod.dev",
23
18
  "keywords": [
24
19
  "typescript",
25
20
  "schema",
@@ -27,6 +22,8 @@
27
22
  "type",
28
23
  "inference"
29
24
  ],
25
+ "license": "MIT",
26
+ "sideEffects": false,
30
27
  "main": "./index.cjs",
31
28
  "types": "./index.d.cts",
32
29
  "module": "./index.js",
@@ -34,8 +31,6 @@
34
31
  "exports": {
35
32
  "./package.json": "./package.json",
36
33
  ".": "./src/index.ts",
37
- "./mini": "./src/mini/index.ts",
38
- "./locales": "./src/locales/index.ts",
39
34
  "./v3": "./src/v3/index.ts",
40
35
  "./v4": "./src/v4/index.ts",
41
36
  "./v4-mini": "./src/v4-mini/index.ts",
@@ -44,9 +39,9 @@
44
39
  "./v4/locales": "./src/v4/locales/index.ts",
45
40
  "./v4/locales/*": "./src/v4/locales/*"
46
41
  },
47
- "conditions": {
48
- "@zod/source": "src"
49
- }
42
+ "sourceDialects": [
43
+ "@zod/source"
44
+ ]
50
45
  },
51
46
  "exports": {
52
47
  "./package.json": "./package.json",
@@ -56,18 +51,6 @@
56
51
  "import": "./index.js",
57
52
  "require": "./index.cjs"
58
53
  },
59
- "./mini": {
60
- "@zod/source": "./src/mini/index.ts",
61
- "types": "./mini/index.d.cts",
62
- "import": "./mini/index.js",
63
- "require": "./mini/index.cjs"
64
- },
65
- "./locales": {
66
- "@zod/source": "./src/locales/index.ts",
67
- "types": "./locales/index.d.cts",
68
- "import": "./locales/index.js",
69
- "require": "./locales/index.cjs"
70
- },
71
54
  "./v3": {
72
55
  "@zod/source": "./src/v3/index.ts",
73
56
  "types": "./v3/index.d.cts",
@@ -129,6 +112,7 @@
129
112
  "postbuild": "pnpm biome check --write .",
130
113
  "test:watch": "pnpm vitest",
131
114
  "test": "pnpm vitest run",
132
- "prepublishOnly": "tsx ../../scripts/check-versions.ts"
115
+ "bump:beta": "pnpm version \"v$(pnpm pkg get version | jq -r)-beta.$(date +%Y%m%dT%H%M%S)\"",
116
+ "pub:beta": "pnpm bump:beta && pnpm publish --tag next --publish-branch v4 --no-git-checks --dry-run"
133
117
  }
134
118
  }
@@ -1,4 +1,4 @@
1
- import * as z from "./v4/classic/external.js";
2
- export * from "./v4/classic/external.js";
1
+ import * as z from "./v3/external.js";
2
+ export * from "./v3/external.js";
3
3
  export { z };
4
4
  export default z;
@@ -342,8 +342,8 @@ test("uuid", () => {
342
342
  uuid.parse("9491d710-3185-4e06-bea0-6a2f275345e0");
343
343
  uuid.parse("d89e7b01-7598-ed11-9d7a-0022489382fd"); // new sequential id
344
344
  uuid.parse("00000000-0000-0000-0000-000000000000");
345
- uuid.parse("b3ce60f8-e8b9-40f5-1150-172ede56ff74"); // Variant 0 - RFC 9562/4122: Reserved, NCS backward compatibility
346
- uuid.parse("92e76bf9-28b3-4730-cd7f-cb6bc51f8c09"); // Variant 2 - RFC 9562/4122: Reserved, Microsoft Corporation backward compatibility
345
+ uuid.parse("b3ce60f8-e8b9-40f5-1150-172ede56ff74"); // Variant 0 - RFC 4122: Reserved, NCS backward compatibility
346
+ uuid.parse("92e76bf9-28b3-4730-cd7f-cb6bc51f8c09"); // Variant 2 - RFC 4122: Reserved, Microsoft Corporation backward compatibility
347
347
  const result = uuid.safeParse("9491d710-3185-4e06-bea0-6a2f275345e0X");
348
348
  expect(result.success).toEqual(false);
349
349
  if (!result.success) {
@@ -705,7 +705,6 @@ function isValidJWT(jwt: string, alg?: string): boolean {
705
705
  .replace(/-/g, "+")
706
706
  .replace(/_/g, "/")
707
707
  .padEnd(header.length + ((4 - (header.length % 4)) % 4), "=");
708
- // @ts-ignore
709
708
  const decoded = JSON.parse(atob(base64));
710
709
  if (typeof decoded !== "object" || decoded === null) return false;
711
710
  if ("typ" in decoded && decoded?.typ !== "JWT") return false;
@@ -876,7 +875,6 @@ export class ZodString extends ZodType<string, ZodStringDef, string> {
876
875
  }
877
876
  } else if (check.kind === "url") {
878
877
  try {
879
- // @ts-ignore
880
878
  new URL(input.data);
881
879
  } catch {
882
880
  ctx = this._getOrReturnCtx(input, ctx);
@@ -2456,7 +2454,7 @@ export class ZodObject<
2456
2454
  Output = objectOutputType<T, Catchall, UnknownKeys>,
2457
2455
  Input = objectInputType<T, Catchall, UnknownKeys>,
2458
2456
  > extends ZodType<Output, ZodObjectDef<T, UnknownKeys, Catchall>, Input> {
2459
- _cached: { shape: T; keys: string[] } | null = null;
2457
+ private _cached: { shape: T; keys: string[] } | null = null;
2460
2458
 
2461
2459
  _getCached(): { shape: T; keys: string[] } {
2462
2460
  if (this._cached !== null) return this._cached;
@@ -27,5 +27,4 @@ export {
27
27
  _trim as trim,
28
28
  _toLowerCase as toLowerCase,
29
29
  _toUpperCase as toUpperCase,
30
- type $RefinementCtx as RefinementCtx,
31
30
  } from "../core/index.js";
@@ -63,8 +63,4 @@ export type {
63
63
  ZodType as Schema,
64
64
  };
65
65
 
66
- /** Included for Zod 3 compatibility */
67
66
  export type ZodRawShape = core.$ZodShape;
68
-
69
- /** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */
70
- export enum ZodFirstPartyTypeKind {}
@@ -1,6 +1,5 @@
1
1
  import * as core from "../core/index.js";
2
2
  import { $ZodError } from "../core/index.js";
3
- import * as util from "../core/util.js";
4
3
 
5
4
  /** @deprecated Use `z.core.$ZodIssue` from `@zod/core` instead, especially if you are building a library on top of Zod. */
6
5
  export type ZodIssue = core.$ZodIssue;
@@ -35,17 +34,11 @@ const initializer = (inst: ZodError, issues: core.$ZodIssue[]) => {
35
34
  // enumerable: false,
36
35
  },
37
36
  addIssue: {
38
- value: (issue: any) => {
39
- inst.issues.push(issue);
40
- inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);
41
- },
37
+ value: (issue: any) => inst.issues.push(issue),
42
38
  // enumerable: false,
43
39
  },
44
40
  addIssues: {
45
- value: (issues: any) => {
46
- inst.issues.push(...issues);
47
- inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);
48
- },
41
+ value: (issues: any) => inst.issues.push(...issues),
49
42
  // enumerable: false,
50
43
  },
51
44
  isEmpty: {
@@ -13,6 +13,10 @@ import * as parse from "./parse.js";
13
13
  ///////////////////////////////////////////
14
14
  ///////////////////////////////////////////
15
15
 
16
+ export interface RefinementCtx<T = unknown> extends core.ParsePayload<T> {
17
+ addIssue(arg: string | core.$ZodRawIssue | Partial<core.$ZodIssueCustom>): void;
18
+ }
19
+
16
20
  export interface ZodType<
17
21
  out Output = unknown,
18
22
  out Input = unknown,
@@ -57,8 +61,9 @@ export interface ZodType<
57
61
 
58
62
  // refinements
59
63
  refine(check: (arg: core.output<this>) => unknown | Promise<unknown>, params?: string | core.$ZodCustomParams): this;
64
+ /** @deprecated Use `.check()` instead. */
60
65
  superRefine(
61
- refinement: (arg: core.output<this>, ctx: core.$RefinementCtx<core.output<this>>) => void | Promise<void>
66
+ refinement: (arg: core.output<this>, ctx: RefinementCtx<core.output<this>>) => void | Promise<void>
62
67
  ): this;
63
68
  overwrite(fn: (x: core.output<this>) => core.output<this>): this;
64
69
 
@@ -75,7 +80,7 @@ export interface ZodType<
75
80
  or<T extends core.SomeType>(option: T): ZodUnion<[this, T]>;
76
81
  and<T extends core.SomeType>(incoming: T): ZodIntersection<this, T>;
77
82
  transform<NewOut>(
78
- transform: (arg: core.output<this>, ctx: core.$RefinementCtx<core.output<this>>) => NewOut | Promise<NewOut>
83
+ transform: (arg: core.output<this>, ctx: RefinementCtx<core.output<this>>) => NewOut | Promise<NewOut>
79
84
  ): ZodPipe<this, ZodTransform<Awaited<NewOut>, core.output<this>>>;
80
85
  catch(def: core.output<this>): ZodCatch<this>;
81
86
  catch(def: (ctx: core.$ZodCatchCtx) => core.output<this>): ZodCatch<this>;
@@ -693,10 +698,6 @@ export function stringFormat<Format extends string>(
693
698
  return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params) as any;
694
699
  }
695
700
 
696
- export function hostname(_params?: string | core.$ZodStringFormatParams): ZodCustomStringFormat<"hostname"> {
697
- return core._stringFormat(ZodCustomStringFormat, "hostname", core.regexes.hostname, _params) as any;
698
- }
699
-
700
701
  // ZodNumber
701
702
  export interface _ZodNumber<Internals extends core.$ZodNumberInternals = core.$ZodNumberInternals>
702
703
  extends _ZodType<Internals> {
@@ -1068,10 +1069,22 @@ export interface ZodObject<
1068
1069
  /** This is the default behavior. This method call is likely unnecessary. */
1069
1070
  strip(): ZodObject<Shape, core.$strip>;
1070
1071
 
1071
- extend<U extends core.$ZodLooseShape>(shape: U): ZodObject<util.Extend<Shape, U>, Config>;
1072
+ extend<U extends core.$ZodLooseShape & Partial<Record<keyof Shape, core.SomeType>>>(
1073
+ shape: U
1074
+ ): ZodObject<util.Extend<Shape, U>, Config>;
1072
1075
 
1073
1076
  /**
1074
- * @deprecated Use [`A.extend(B.shape)`](https://zod.dev/api?id=extend) instead.
1077
+ * @deprecated Use spread syntax and the `.shape` property to combine two object schemas:
1078
+ *
1079
+ * ```ts
1080
+ * const A = z.object({ a: z.string() });
1081
+ * const B = z.object({ b: z.number() });
1082
+ *
1083
+ * const C = z.object({
1084
+ * ...A.shape,
1085
+ * ...B.shape
1086
+ * });
1087
+ * ```
1075
1088
  */
1076
1089
  merge<U extends ZodObject>(other: U): ZodObject<util.Extend<Shape, U["shape"]>, U["_zod"]["config"]>;
1077
1090
 
@@ -1128,6 +1141,7 @@ export const ZodObject: core.$constructor<ZodObject> = /*@__PURE__*/ core.$const
1128
1141
  inst.keyof = () => _enum(Object.keys(inst._zod.def.shape)) as any;
1129
1142
  inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall as any as core.$ZodType }) as any;
1130
1143
  inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
1144
+ // inst.nonstrict = () => inst.clone({ ...inst._zod.def, catchall: api.unknown() });
1131
1145
  inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
1132
1146
  inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });
1133
1147
  inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });
@@ -1219,7 +1233,6 @@ export interface ZodDiscriminatedUnion<Options extends readonly core.SomeType[]
1219
1233
  extends ZodUnion<Options>,
1220
1234
  core.$ZodDiscriminatedUnion<Options> {
1221
1235
  _zod: core.$ZodDiscriminatedUnionInternals<Options>;
1222
- def: core.$ZodDiscriminatedUnionDef<Options>;
1223
1236
  }
1224
1237
  export const ZodDiscriminatedUnion: core.$constructor<ZodDiscriminatedUnion> = /*@__PURE__*/ core.$constructor(
1225
1238
  "ZodDiscriminatedUnion",
@@ -1347,11 +1360,9 @@ export function partialRecord<Key extends core.$ZodRecordKey, Value extends core
1347
1360
  valueType: Value,
1348
1361
  params?: string | core.$ZodRecordParams
1349
1362
  ): ZodRecord<Key & core.$partial, Value> {
1350
- const k = core.clone(keyType);
1351
- k._zod.values = undefined;
1352
1363
  return new ZodRecord({
1353
1364
  type: "record",
1354
- keyType: k,
1365
+ keyType: union([keyType, never()]),
1355
1366
  valueType: valueType as any,
1356
1367
  ...util.normalizeParams(params),
1357
1368
  }) as any;
@@ -1572,7 +1583,7 @@ export const ZodTransform: core.$constructor<ZodTransform> = /*@__PURE__*/ core.
1572
1583
  ZodType.init(inst, def);
1573
1584
 
1574
1585
  inst._zod.parse = (payload, _ctx) => {
1575
- (payload as core.$RefinementCtx).addIssue = (issue) => {
1586
+ (payload as RefinementCtx).addIssue = (issue) => {
1576
1587
  if (typeof issue === "string") {
1577
1588
  payload.issues.push(util.issue(issue, payload.value, def));
1578
1589
  } else {
@@ -1583,7 +1594,7 @@ export const ZodTransform: core.$constructor<ZodTransform> = /*@__PURE__*/ core.
1583
1594
  _issue.code ??= "custom";
1584
1595
  _issue.input ??= payload.value;
1585
1596
  _issue.inst ??= inst;
1586
- // _issue.continue ??= true;
1597
+ _issue.continue ??= true;
1587
1598
  payload.issues.push(util.issue(_issue));
1588
1599
  }
1589
1600
  };
@@ -1837,16 +1848,12 @@ export function pipe(in_: core.SomeType, out: core.SomeType) {
1837
1848
  // ZodReadonly
1838
1849
  export interface ZodReadonly<T extends core.SomeType = core.$ZodType>
1839
1850
  extends _ZodType<core.$ZodReadonlyInternals<T>>,
1840
- core.$ZodReadonly<T> {
1841
- unwrap(): T;
1842
- }
1851
+ core.$ZodReadonly<T> {}
1843
1852
  export const ZodReadonly: core.$constructor<ZodReadonly> = /*@__PURE__*/ core.$constructor(
1844
1853
  "ZodReadonly",
1845
1854
  (inst, def) => {
1846
1855
  core.$ZodReadonly.init(inst, def);
1847
1856
  ZodType.init(inst, def);
1848
-
1849
- inst.unwrap = () => inst._zod.def.innerType;
1850
1857
  }
1851
1858
  );
1852
1859
 
@@ -1955,10 +1962,26 @@ export function refine<T>(
1955
1962
  }
1956
1963
 
1957
1964
  // superRefine
1958
- export function superRefine<T>(
1959
- fn: (arg: T, payload: core.$RefinementCtx<T>) => void | Promise<void>
1960
- ): core.$ZodCheck<T> {
1961
- return core._superRefine(fn);
1965
+ export function superRefine<T>(fn: (arg: T, payload: RefinementCtx<T>) => void | Promise<void>): core.$ZodCheck<T> {
1966
+ const ch = check<T>((payload) => {
1967
+ (payload as RefinementCtx).addIssue = (issue) => {
1968
+ if (typeof issue === "string") {
1969
+ payload.issues.push(util.issue(issue, payload.value, ch._zod.def));
1970
+ } else {
1971
+ // for Zod 3 backwards compatibility
1972
+ const _issue: any = issue;
1973
+ if (_issue.fatal) _issue.continue = false;
1974
+ _issue.code ??= "custom";
1975
+ _issue.input ??= payload.value;
1976
+ _issue.inst ??= ch;
1977
+ _issue.continue ??= !ch._zod.def.abort;
1978
+ payload.issues.push(util.issue(_issue));
1979
+ }
1980
+ };
1981
+
1982
+ return fn(payload.value, payload as RefinementCtx<T>);
1983
+ });
1984
+ return ch;
1962
1985
  }
1963
1986
 
1964
1987
  type ZodInstanceOfParams = core.Params<
@@ -2024,7 +2047,7 @@ export function json(params?: string | core.$ZodCustomParams): ZodJSONSchema {
2024
2047
 
2025
2048
  // /** @deprecated Use `z.pipe()` and `z.transform()` instead. */
2026
2049
  export function preprocess<A, U extends core.SomeType, B = unknown>(
2027
- fn: (arg: B, ctx: core.$RefinementCtx) => A,
2050
+ fn: (arg: B, ctx: RefinementCtx) => A,
2028
2051
  schema: U
2029
2052
  ): ZodPipe<ZodTransform<A, B>, U> {
2030
2053
  return pipe(transform(fn as any), schema as any) as any;
@@ -1,5 +1,6 @@
1
1
  import { expect, expectTypeOf, test } from "vitest";
2
2
  import { z } from "zod/v4";
3
+ import type { util } from "zod/v4/core";
3
4
 
4
5
  test("basic catch", () => {
5
6
  expect(z.string().catch("default").parse(undefined)).toBe("default");
@@ -44,7 +45,7 @@ test("catch with transform", () => {
44
45
  expect(stringWithDefault.unwrap().out).toBeInstanceOf(z.ZodTransform);
45
46
 
46
47
  type inp = z.input<typeof stringWithDefault>;
47
- expectTypeOf<inp>().toEqualTypeOf<string>();
48
+ expectTypeOf<inp>().toEqualTypeOf<string | util.Whatever>();
48
49
  type out = z.output<typeof stringWithDefault>;
49
50
  expectTypeOf<out>().toEqualTypeOf<string>();
50
51
  });
@@ -58,7 +59,7 @@ test("catch on existing optional", () => {
58
59
  expect(stringWithDefault.unwrap().unwrap()).toBeInstanceOf(z.ZodString);
59
60
 
60
61
  type inp = z.input<typeof stringWithDefault>;
61
- expectTypeOf<inp>().toEqualTypeOf<string | undefined>();
62
+ expectTypeOf<inp>().toEqualTypeOf<string | undefined | util.Whatever>();
62
63
  type out = z.output<typeof stringWithDefault>;
63
64
  expectTypeOf<out>().toEqualTypeOf<string | undefined>();
64
65
  });
@@ -67,7 +68,7 @@ test("optional on catch", () => {
67
68
  const stringWithDefault = z.string().catch("asdf").optional();
68
69
 
69
70
  type inp = z.input<typeof stringWithDefault>;
70
- expectTypeOf<inp>().toEqualTypeOf<string | undefined>();
71
+ expectTypeOf<inp>().toEqualTypeOf<string | util.Whatever>();
71
72
  type out = z.output<typeof stringWithDefault>;
72
73
  expectTypeOf<out>().toEqualTypeOf<string | undefined>();
73
74
  });
@@ -101,7 +102,7 @@ test("nested", () => {
101
102
  inner: "asdf",
102
103
  });
103
104
  type input = z.input<typeof outer>;
104
- expectTypeOf<input>().toEqualTypeOf<{ inner: string }>();
105
+ expectTypeOf<input>().toEqualTypeOf<{ inner: string | util.Whatever } | util.Whatever>();
105
106
  type out = z.output<typeof outer>;
106
107
 
107
108
  expectTypeOf<out>().toEqualTypeOf<{ inner: string }>();
@@ -62,12 +62,6 @@ test("datetime parsing with offset", () => {
62
62
  expect(() => datetimeOffset.parse("2020-10-14T17:42:29+03")).toThrow();
63
63
  expect(() => datetimeOffset.parse("tuna")).toThrow();
64
64
  expect(() => datetimeOffset.parse("2022-10-13T09:52:31.Z")).toThrow();
65
-
66
- // Invalid offset tests
67
- expect(() => datetimeOffset.parse("2020-10-14T17:42:29+24:00")).toThrow(); // out of range hours
68
- expect(() => datetimeOffset.parse("2020-10-14T17:42:29+00:60")).toThrow(); // out of range minutes
69
- expect(() => datetimeOffset.parse("2020-10-14T17:42:29+1:30")).toThrow(); // single digit hours
70
- expect(() => datetimeOffset.parse("2020-10-14T17:42:29+00:")).toThrow(); // incomplete offset
71
65
  });
72
66
 
73
67
  test("datetime parsing with offset and precision 0", () => {
@@ -157,7 +157,6 @@ test("invalid discriminator value", () => {
157
157
  "code": "invalid_union",
158
158
  "errors": [],
159
159
  "note": "No matching discriminator",
160
- "discriminator": "type",
161
160
  "path": [
162
161
  "type"
163
162
  ],
@@ -618,44 +617,3 @@ test("readonly literal discriminator", () => {
618
617
  discUnion.parse({ type: "c", a: "hello" });
619
618
  }).toThrow();
620
619
  });
621
-
622
- test("pipes", () => {
623
- const schema = z
624
- .object({
625
- type: z.literal("foo"),
626
- })
627
- .transform((s) => ({ ...s, v: 2 }));
628
-
629
- expect(schema._zod.propValues).toMatchInlineSnapshot(`
630
- {
631
- "type": Set {
632
- "foo",
633
- },
634
- }
635
- `);
636
-
637
- const schema2 = z.object({
638
- type: z.literal("bar"),
639
- });
640
-
641
- const combinedSchema = z.discriminatedUnion("type", [schema, schema2], {
642
- unionFallback: false,
643
- });
644
-
645
- combinedSchema.parse({
646
- type: "foo",
647
- v: 2,
648
- });
649
- });
650
-
651
- test("def", () => {
652
- const schema = z.discriminatedUnion(
653
- "type",
654
- [z.object({ type: z.literal("play") }), z.object({ type: z.literal("pause") })],
655
- { unionFallback: true }
656
- );
657
-
658
- expect(schema.def).toBeDefined();
659
- expect(schema.def.discriminator).toEqual("type");
660
- expect(schema.def.unionFallback).toEqual(true);
661
- });
@@ -321,7 +321,7 @@ test("all errors", () => {
321
321
  });
322
322
 
323
323
  const schema = z.strictObject({
324
- username: z.string().brand<"username">(),
324
+ username: z.string(),
325
325
  favoriteNumbers: z.array(z.number()),
326
326
  nesting: z.object({
327
327
  a: z.string(),
@@ -336,33 +336,8 @@ const result = schema.safeParse({
336
336
  extra: 1234,
337
337
  });
338
338
 
339
- const tree = z.treeifyError(result.error!);
340
-
341
- expectTypeOf(tree).toEqualTypeOf<{
342
- errors: string[];
343
- properties?: {
344
- username?: {
345
- errors: string[];
346
- };
347
- favoriteNumbers?: {
348
- errors: string[];
349
- items?: {
350
- errors: string[];
351
- }[];
352
- };
353
- nesting?: {
354
- errors: string[];
355
- properties?: {
356
- a?: {
357
- errors: string[];
358
- };
359
- };
360
- };
361
- };
362
- }>();
363
-
364
339
  test("z.treeifyError", () => {
365
- expect(tree).toMatchInlineSnapshot(`
340
+ expect(z.treeifyError(result.error!)).toMatchInlineSnapshot(`
366
341
  {
367
342
  "errors": [
368
343
  "Unrecognized key: "extra"",
@@ -550,46 +525,3 @@ test("disc union treeify/format", () => {
550
525
  }
551
526
  `);
552
527
  });
553
-
554
- test("update message after adding issues", () => {
555
- const e = new z.ZodError([]);
556
- e.addIssue({
557
- code: "custom",
558
- message: "message",
559
- input: "asdf",
560
- path: [],
561
- });
562
- expect(e.message).toMatchInlineSnapshot(`
563
- "[
564
- {
565
- "code": "custom",
566
- "message": "message",
567
- "input": "asdf",
568
- "path": []
569
- }
570
- ]"
571
- `);
572
-
573
- e.addIssue({
574
- code: "custom",
575
- message: "message",
576
- input: "asdf",
577
- path: [],
578
- });
579
- expect(e.message).toMatchInlineSnapshot(`
580
- "[
581
- {
582
- "code": "custom",
583
- "message": "message",
584
- "input": "asdf",
585
- "path": []
586
- },
587
- {
588
- "code": "custom",
589
- "message": "message",
590
- "input": "asdf",
591
- "path": []
592
- }
593
- ]"
594
- `);
595
- });
@@ -1,6 +1,7 @@
1
+ // @ts-ignore
1
2
  import { File as WebFile } from "@web-std/file";
2
3
 
3
- import { afterEach, beforeEach, expect, expectTypeOf, test } from "vitest";
4
+ import { afterEach, beforeEach, expect, test } from "vitest";
4
5
 
5
6
  import * as z from "zod/v4";
6
7
 
@@ -26,10 +27,6 @@ test("passing validations", () => {
26
27
  expect(() => mimeCheck.parse(new File([""], "test.txt", { type: "text/csv" }))).toThrow();
27
28
  });
28
29
 
29
- test("types", () => {
30
- expectTypeOf(z.file().parse(new File([], "test.txt"))).toEqualTypeOf(new File([], "test.txt"));
31
- });
32
-
33
30
  test("failing validations", () => {
34
31
  expect(minCheck.safeParse(new File(["1234"], "test.txt"))).toMatchInlineSnapshot(`
35
32
  {