PettyUI/.firecrawl/search-arktype.json
2026-03-30 12:08:51 +07:00

1 line
43 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"success":true,"data":{"web":[{"url":"https://www.reddit.com/r/typescript/comments/1i3ogwi/announcing_arktype_20_validate_100x_faster_with/","title":"Announcing ArkType 2.0: Validate 100x faster with DX that will blow ...","description":"ArkType 2.0 is a no-setup solution for schema validation with a new style of type-safe API that parallels native type syntax.","position":1},{"url":"https://workos.com/blog/arktype","title":"ArkType: A high-performance runtime type validation for TypeScript","description":"ArkType is a TypeScript-first runtime validation library built to erase the boundary between static type safety and runtime enforcement.","position":2,"markdown":"In this article\n\n- [Introduction](https://workos.com/blog/arktype#introduction)\n- [Why ArkType?](https://workos.com/blog/arktype#why-arktype)\n- [Key features](https://workos.com/blog/arktype#key-features)\n- [Performance in practice](https://workos.com/blog/arktype#performance-in-practice)\n- [Advantages over Zod and Yup](https://workos.com/blog/arktype#advantages-over-zod-and-yup)\n- [When not to use ArkType](https://workos.com/blog/arktype#when-not-to-use-arktype)\n- [Final thoughts](https://workos.com/blog/arktype#final-thoughts)\n\nApril 14, 2025\n\nApril 14, 2025\n\n# ArkType: A high-performance runtime type validation for TypeScript\n\nArkType is a TypeScript-first runtime validation library built to erase the boundary between static type safety and runtime enforcement.\n\n![](https://cdn.prod.website-files.com/621f84dc15b5ed16dc85a18a/671bf5b044cedc753d432c9c_TBDJCFH1R-U07PVV2CN3H-a6448d0659be-512.png)\n\nZack Proser\n\n![](https://cdn.prod.website-files.com/621f84dc15b5ed16dc85a18a/671bf5b044cedc753d432c9c_TBDJCFH1R-U07PVV2CN3H-a6448d0659be-512.png)\n\n![](https://workos.com/blog/arktype)\n\n![](https://workos.com/blog/arktype)\n\n![](https://workos.com/blog/arktype)\n\n![](https://workos.com/blog/arktype)\n\nApril 14, 2025\n\n**ArkType** is a TypeScript-first runtime validation library built to erase the boundary between static type safety and runtime enforcement. It brings your TypeScript types to life—validating inputs like JSON payloads, API responses, or form data with extreme precision and speed.\n\n![](https://cdn.prod.website-files.com/621f84dc15b5ed16dc85a18a/67fd12cbef4bae25f969fe1d_arktype-hero.webp)\n\nWhere other libraries like [Zod](https://workos.com/blog/zod-for-typescript) or Yup introduce validation layers adjacent to your types, ArkTypes goal is fidelity: ensuring the type you wrote behaves identically at runtime, with minimal overhead and maximal confidence.\n\n## Why ArkType?\n\nIn modern TypeScript applications, validating untyped data is unavoidable.\n\nHowever, most validation libraries require a mental mapping of how you define types and validate them.\n\nArkType eliminates this translation. With a design philosophy rooted in isomorphism, ArkType treats type validation as a runtime mirror of TypeScript's static type system—backed by aggressive optimization, set theory, and expressive type composition.\n\n### Runtime validation with type-level fidelity\n\nArkTypes `type(...)` syntax creates a runtime validator that matches your TypeScript definitions. Theres no need to define a schema and then infer the type—its a single source of truth, operating in both realms.\n\n```javascript\nimport { type } from \"arktype\";\n\nconst user = type({\n id: \"number\",\n name: \"string\",\n email: /.+@.+\\..+/,\n});\n\nuser({ id: 1, name: \"Zack\", email: \"zack@proser.dev\" }); // passes\nuser({ id: \"oops\", name: \"Zack\", email: \"not-an-email\" });\n// fails with clear error messages\n```\n\nCopy\n\n## Key features\n\n### Performance\n\nArkType is up to 100x faster than Zod and 2,000x faster than Yup in benchmarks. It compiles validations ahead of time into highly optimized functions.\n\n### Type syntax familiarity\n\nThe syntax will feel native to TypeScript developers. You dont have to learn a new DSL—youre writing shapes just like you would in a `type` alias.\n\n### Deep introspectability\n\nBuilt on a foundation of set theory, ArkType can mathematically soundly reason about unions, intersections, literal types, ranges, and pattern constraints. This makes it ideal for advanced constraint logic.\n\n### Rich expression support\n\nArkType handles:\n\n- Literal values\n- Value ranges (`1..10`)\n- RegExp patterns\n- Discriminated unions\n- Recursive structures (with `ark.recursive`)\n\n### Customizable error handling\n\nValidation errors are concise, composable, and deeply linked to your type expressions. You can customize messaging strategies to suit your apps UX or logging layer.\n\n## Performance in practice\n\n```javascript\nconst check = type(\"string|number[]\");\n\ncheck(\"hello\"); // OK\ncheck([1, 2, 3]); // OK\ncheck({}); // ❌ Error: Expected string or array of numbers\n```\n\nCopy\n\nThis one-liner compiles into a fast validator with minimal allocations and no hidden recursion.\n\n## Advantages over Zod and Yup\n\n| Feature | ArkType | Zod | Yup |\n| --- | --- | --- | --- |\n| Speed | 🚀 Extremely fast | Medium | Slow |\n| Type Inference | ✅ Native-like | ✅ | ❌ |\n| Expressiveness | 🔥 Advanced logic | Moderate | Low |\n| Bundle Size | 📦 Larger | Smaller | Smaller |\n| Runtime Performance | ✅ Optimized | ❌ | ❌ |\n| Schema = Type Literal | ✅ Yes | ❌ No | ❌ No |\n\n\n\nZod is developer-friendly and lightweight, but ArkType offers a level of rigor and runtime speed unmatched by the alternatives.\n\nArkType shines for critical-path validation or validation in performance-sensitive environments (like APIs or form-heavy frontends).\n\n## When _not_ to use ArkType\n\n- If youre targeting extremely tight JS bundles (e.g., on the edge), you may want to benchmark its runtime size.\n- If your team is heavily invested in another schema language like JSON Schema or Joi, migration will require adapting to ArkType's distinct type grammar.\n\n## Final thoughts\n\nArkType is pushing the frontier of TypeScript validation—aligning the static and runtime worlds without compromise.\n\nIf you care about type safety, performance, and expressive power, ArkType is a strong contender for your toolkit.\n\nSummarize with AI\n\n[Were hiring\\\\\n\\\\\nOur global team is growing and were hiring all types of roles.\\\\\n\\\\\nView open roles](https://workos.com/careers) [About us\\\\\n\\\\\nWorkOS builds developer tools for quickly adding enterprise features to applications.\\\\\n\\\\\nLearn more](https://workos.com/about)\n\nThis site uses cookies to improve your experience. Please accept the use of\ncookies on this site. You can review our cookie policy\n[here](https://workos.com/cookies) and our privacy policy\n[here](https://workos.com/privacy). If you choose to refuse, functionality of this\nsite will be limited.\n\n\nAccept\n\nOpt-out","metadata":{"description":"ArkType is a TypeScript-first runtime validation library built to erase the boundary between static type safety and runtime enforcement.","language":"en","og:title":"ArkType: A high-performance runtime type validation for TypeScript — WorkOS","image":["https://images.workoscdn.com/images/f458c1da-7821-4c6a-90d9-562ff4212706.png?auto=format&fit=clip&q=80","https://images.workoscdn.com/images/f458c1da-7821-4c6a-90d9-562ff4212706.png?auto=format&fit=clip&q=80"],"ogImage":"https://images.workoscdn.com/images/f458c1da-7821-4c6a-90d9-562ff4212706.png?auto=format&fit=clip&q=80","ogDescription":"ArkType is a TypeScript-first runtime validation library built to erase the boundary between static type safety and runtime enforcement.","twitter:description":"ArkType is a TypeScript-first runtime validation library built to erase the boundary between static type safety and runtime enforcement.","og:type":"website","og:image":"https://images.workoscdn.com/images/f458c1da-7821-4c6a-90d9-562ff4212706.png?auto=format&fit=clip&q=80","twitter:card":"summary_large_image","custom:og":"https://i.microlink.io/https%3A%2F%2Fcards.microlink.io%2F%3Fpreset%3Dworkos%26authorName%3DZack%20Proser%26authorUrl%3Dhttps%3A%2F%2Fcdn.prod.website-files.com%2F621f84dc15b5ed16dc85a18a%2F671bf5b044cedc753d432c9c_TBDJCFH1R-U07PVV2CN3H-a6448d0659be-512.png%26category%3DGuides%26title%3DArkType%3A%20A%20high-performance%20runtime%20type%20validation%20for%20TypeScript%26imageUrl%3Dhttps%3A%2F%2Fcdn.prod.website-files.com%2F621f84dc15b5ed16dc85a18a%2F67214a4d3afaaa253926d3ee_Guides.webp","twitter:title":"ArkType: A high-performance runtime type validation for TypeScript — WorkOS","title":"ArkType: A high-performance runtime type validation for TypeScript — WorkOS","twitter:image":"https://images.workoscdn.com/images/f458c1da-7821-4c6a-90d9-562ff4212706.png?auto=format&fit=clip&q=80","og:description":"ArkType is a TypeScript-first runtime validation library built to erase the boundary between static type safety and runtime enforcement.","viewport":"width=device-width, initial-scale=1","ogTitle":"ArkType: A high-performance runtime type validation for TypeScript — WorkOS","favicon":"https://cdn.prod.website-files.com/621f54116cab10f6e9215d8b/621f548d3bca3b62c4bfe1c2_Favicon%2032x32.png","scrapeId":"019d3953-3816-725a-9753-0e791e9bf6c5","sourceURL":"https://workos.com/blog/arktype","url":"https://workos.com/blog/arktype","statusCode":200,"contentType":"text/html; charset=utf-8","timezone":"America/New_York","proxyUsed":"basic","cacheState":"miss","indexId":"c8839f5c-123a-400a-bc4b-8adededfc0da","creditsUsed":1}},{"url":"https://arktype.io/docs/blog/2.0","title":"Announcing ArkType 2.0","description":"100x faster validation with DX that will blow your mind. As of today, arktype@2.0.0 is generally available and fully stable. ArkType 2.0 brings types to runtime ...","position":3,"markdown":"[🎉 Introducing ArkRegex 🎉](https://arktype.io/docs/blog/arkregex)\n\n[Blog](https://arktype.io/docs/blog)\n\n# Announcing ArkType 2.0 100x faster validation with DX that will blow your mind\n\nAs of today, `arktype@2.0.0` is generally available and fully stable.\n\nArkType 2.0 brings types to runtime JS in a way that, until today, has been a pipedream.\n\nWhether you're a first-time TypeScript dev trying to validate a form or a library author introspecting relationships, ArkType offers fundamentally better tools for navigating the perils of JavaScript.\n\n1\n\nimport{ type }from\"arktype\"\n\nPlayground Mode\n\nType-level feedback with each keystroke- **no plugins or build steps required**.\n\n### [Unparalleled DX](https://arktype.io/docs/blog/2.0\\#unparalleled-dx)\n\nType syntax you already know with safety and completions unlike anything\nyou've ever seen\n\n```\nconst User = type({\n\tname: \"string\",\n\tplatform: \"'android' | 'ios'\",\n\t\"version?\": \"number | snumber | string\nnumber | symbol\n\"\n})\n```\n\n### [Faster... everything](https://arktype.io/docs/blog/2.0\\#faster-everything)\n\n100x faster than Zod at runtime with editor performance that will remind you\nhow autocomplete is supposed to feel\n\n###### Object Validation, Node v23.6.1\n\n[(source)](https://moltar.github.io/typescript-runtime-type-benchmarks/)\n\nArkType ⚡ 14 nanoseconds\n\nZod 👍 281 nanoseconds\n\nYup 🐌 40755 nanoseconds\\*\n\n\\*scaling generously logarithmized\n\n### [Clarity and Concision](https://arktype.io/docs/blog/2.0\\#clarity-and-concision)\n\nDefinitions are half as long, type errors are twice as readable, and hovers\ntell you just what really matters\n\n```\n// hover me\nconst User = type({\n\tname: \"string\",\n\tplatform: \"'android' | 'ios'\",\n\t\"versions?\": \"number | string)[]\"TypeScript: Unmatched ) before []\n})\n```\n\n### [Better Errors](https://arktype.io/docs/blog/2.0\\#better-errors)\n\nDeeply customizable messages with great defaults\n\n```\nconst out = User({\n\tname: \"Alan Turing\",\n\tplatform: \"enigma\",\n\tversions: [0, \"1\", 0n]\n})\n\nif (out instanceof type.errors) {\n\t// hover summary to see validation errors\n\tconsole.error(out.summary)\n}\n```\n\n### [Deep Introspectability](https://arktype.io/docs/blog/2.0\\#deep-introspectability)\n\nArkType uses set theory to understand and expose the relationships between\nyour types at runtime the way TypeScript does at compile time\n\n```\nUser.extends(\"object\") // true\nUser.extends(\"string\") // false\n// true (string is narrower than unknown)\nUser.extends({\n\tname: \"unknown\"\n})\n// false (string is wider than \"Alan\")\nUser.extends({\n\tname: \"'Alan'\"\n})\n```\n\n### [Intrinsic Optimization](https://arktype.io/docs/blog/2.0\\#intrinsic-optimization)\n\nEvery schema is internally normalized and reduced to its purest and fastest\nrepresentation\n\n```\n// all unions are optimally discriminated\n// even if multiple/nested paths are needed\nconst Account = type({\n\tkind: \"'admin'\",\n\t\"powers?\": \"string[]\"\n}).or({\n\tkind: \"'superadmin'\",\n\t\"superpowers?\": \"string[]\"\n}).or({\n\tkind: \"'pleb'\"\n})\n```\n\n### [What next?](https://arktype.io/docs/blog/2.0\\#what-next)\n\nArkType doesn't require a special environment or build step to work- [our intro](https://arktype.io/docs/intro/setup) will have you up and running in seconds.\n\nWe have [big plans](https://github.com/orgs/arktypeio/projects/4) to ArkType 2.0 even further, but we're even more excited to see what you do with it!\n\n⚡ [Starting coding](https://arktype.io/docs/intro/setup)\n\n⭐ [Check out the project on GitHub](https://github.com/arktypeio/arktype)\n\n👋 [Join our Discord to lurk or ask questions](https://arktype.io/discord)\n\n- Follow any of these accounts for updates:\n - [@arktype.io](https://bsky.app/profile/arktype.io), [@ssalbdivad.dev](https://bsky.app/profile/ssalbdivad.dev) on BlueSky\n - [@arktypeio](https://x.com/arktypeio), [@ssalbdivad](https://x.com/arktypeio) on X/Twitter\n- Consider supporting my full-time work on ArkType...\n - via [GitHub Sponsors](https://github.com/sponsors/arktypeio)\n - by convincing your team to let me optimize your types and fix editor lag (reach out directly to one of the accounts listed or `david@arktype.io`)\n\n[2.1 Announcement\\\\\n\\\\\nPrevious Page](https://arktype.io/docs/blog/2.1) [FAQ\\\\\n\\\\\nNext Page](https://arktype.io/docs/faq)\n\n### On this page\n\n[Unparalleled DX](https://arktype.io/docs/blog/2.0#unparalleled-dx) [Faster... everything](https://arktype.io/docs/blog/2.0#faster-everything) [Clarity and Concision](https://arktype.io/docs/blog/2.0#clarity-and-concision) [Better Errors](https://arktype.io/docs/blog/2.0#better-errors) [Deep Introspectability](https://arktype.io/docs/blog/2.0#deep-introspectability) [Intrinsic Optimization](https://arktype.io/docs/blog/2.0#intrinsic-optimization) [What next?](https://arktype.io/docs/blog/2.0#what-next)","metadata":{"twitter:card":"summary_large_image","ogTitle":"ArkType Docs","og:site_name":"ArkType","title":"Announcing ArkType 2.0","og:image:width":"1200","ogDescription":"TypeScript's 1:1 validator, optimized from editor to runtime","next-size-adjust":"","og:image:height":"600","twitter:image:height":"600","ogUrl":"https://arktype.io/","viewport":"width=device-width, initial-scale=1","keywords":"ArkType,TypeScript,JavaScript,runtime validation,schema,type-safe,validator,syntax","language":"en","og:description":"TypeScript's 1:1 validator, optimized from editor to runtime","ogSiteName":"ArkType","ogImage":"https://arktype.io/image/ogDocs.png","og:type":"website","og:url":"https://arktype.io/","description":"100x faster validation with DX that will blow your mind","twitter:title":"ArkType Docs","twitter:description":"TypeScript's 1:1 validator, optimized from editor to runtime","twitter:image":"https://arktype.io/image/ogDocs.png","twitter:image:width":"1200","og:title":"ArkType Docs","og:image":"https://arktype.io/image/ogDocs.png","favicon":"https://arktype.io/image/favicon.svg","scrapeId":"019d3953-3816-725a-9753-13e2fdba2796","sourceURL":"https://arktype.io/docs/blog/2.0","url":"https://arktype.io/docs/blog/2.0","statusCode":200,"contentType":"text/html; charset=utf-8","timezone":"America/New_York","proxyUsed":"basic","cacheState":"miss","indexId":"65444085-e2c4-47b1-88b6-0482fe4287f5","creditsUsed":1}},{"url":"https://github.com/arktypeio/arktype","title":"arktypeio/arktype: TypeScript's 1:1 validator, optimized from ... - GitHub","description":"ArkType is a runtime validation library that parses optimized validators from familiar, type-safe syntax. It can be used to check external data like JSON ...","position":4,"category":"github","markdown":"[Skip to content](https://github.com/arktypeio/arktype#start-of-content)\n\nYou signed in with another tab or window. [Reload](https://github.com/arktypeio/arktype) to refresh your session.You signed out in another tab or window. [Reload](https://github.com/arktypeio/arktype) to refresh your session.You switched accounts on another tab or window. [Reload](https://github.com/arktypeio/arktype) to refresh your session.Dismiss alert\n\n{{ message }}\n\n[arktypeio](https://github.com/arktypeio)/ **[arktype](https://github.com/arktypeio/arktype)** Public\n\n- [Sponsor](https://github.com/sponsors/arktypeio)\n- [Notifications](https://github.com/login?return_to=%2Farktypeio%2Farktype) You must be signed in to change notification settings\n- [Fork\\\\\n139](https://github.com/login?return_to=%2Farktypeio%2Farktype)\n- [Star\\\\\n7.7k](https://github.com/login?return_to=%2Farktypeio%2Farktype)\n\n\nmain\n\n[**2** Branches](https://github.com/arktypeio/arktype/branches) [**846** Tags](https://github.com/arktypeio/arktype/tags)\n\n[Go to Branches page](https://github.com/arktypeio/arktype/branches)[Go to Tags page](https://github.com/arktypeio/arktype/tags)\n\nGo to file\n\nCode\n\nOpen more actions menu\n\n## Folders and files\n\n| Name | Name | Last commit message | Last commit date |\n| --- | --- | --- | --- |\n| ## Latest commit<br>[![ssalbdivad](https://avatars.githubusercontent.com/u/10645823?v=4&size=40)](https://github.com/ssalbdivad)[ssalbdivad](https://github.com/arktypeio/arktype/commits?author=ssalbdivad)<br>[2.2 updates](https://github.com/arktypeio/arktype/commit/d075962caee162bb28e241723863e8f11cb58390)<br>success<br>last monthMar 4, 2026<br>[d075962](https://github.com/arktypeio/arktype/commit/d075962caee162bb28e241723863e8f11cb58390) · last monthMar 4, 2026<br>## History<br>[1,171 Commits](https://github.com/arktypeio/arktype/commits/main/) <br>Open commit details<br>[View commit history for this file.](https://github.com/arktypeio/arktype/commits/main/) 1,171 Commits |\n| [.cursor/commands](https://github.com/arktypeio/arktype/tree/main/.cursor/commands \"This path skips through empty directories\") | [.cursor/commands](https://github.com/arktypeio/arktype/tree/main/.cursor/commands \"This path skips through empty directories\") | [2.2.0 (](https://github.com/arktypeio/arktype/commit/3ad19d55aba11acbdf2407633f7031a0498007f6 \"2.2.0 (#1594)\") [#1594](https://github.com/arktypeio/arktype/pull/1594) [)](https://github.com/arktypeio/arktype/commit/3ad19d55aba11acbdf2407633f7031a0498007f6 \"2.2.0 (#1594)\") | last monthMar 4, 2026 |\n| [.github](https://github.com/arktypeio/arktype/tree/main/.github \".github\") | [.github](https://github.com/arktypeio/arktype/tree/main/.github \".github\") | [2.2.0 (](https://github.com/arktypeio/arktype/commit/3ad19d55aba11acbdf2407633f7031a0498007f6 \"2.2.0 (#1594)\") [#1594](https://github.com/arktypeio/arktype/pull/1594) [)](https://github.com/arktypeio/arktype/commit/3ad19d55aba11acbdf2407633f7031a0498007f6 \"2.2.0 (#1594)\") | last monthMar 4, 2026 |\n| [.vscode](https://github.com/arktypeio/arktype/tree/main/.vscode \".vscode\") | [.vscode](https://github.com/arktypeio/arktype/tree/main/.vscode \".vscode\") | [regex inference, fn, 2.2 prerelease (](https://github.com/arktypeio/arktype/commit/df3bf9693786e2373ca5e4d8b06bea9e8be0ce0d \"regex inference, fn, 2.2 prerelease (#1517)\") [#1517](https://github.com/arktypeio/arktype/pull/1517) [)](https://github.com/arktypeio/arktype/commit/df3bf9693786e2373ca5e4d8b06bea9e8be0ce0d \"regex inference, fn, 2.2 prerelease (#1517)\") | 5 months agoOct 14, 2025 |\n| [ark](https://github.com/arktypeio/arktype/tree/main/ark \"ark\") | [ark](https://github.com/arktypeio/arktype/tree/main/ark \"ark\") | [2.2 updates](https://github.com/arktypeio/arktype/commit/d075962caee162bb28e241723863e8f11cb58390 \"2.2 updates\") | last monthMar 4, 2026 |\n| [.gitignore](https://github.com/arktypeio/arktype/blob/main/.gitignore \".gitignore\") | [.gitignore](https://github.com/arktypeio/arktype/blob/main/.gitignore \".gitignore\") | [regex inference, fn, 2.2 prerelease (](https://github.com/arktypeio/arktype/commit/df3bf9693786e2373ca5e4d8b06bea9e8be0ce0d \"regex inference, fn, 2.2 prerelease (#1517)\") [#1517](https://github.com/arktypeio/arktype/pull/1517) [)](https://github.com/arktypeio/arktype/commit/df3bf9693786e2373ca5e4d8b06bea9e8be0ce0d \"regex inference, fn, 2.2 prerelease (#1517)\") | 5 months agoOct 14, 2025 |\n| [LICENSE](https://github.com/arktypeio/arktype/blob/main/LICENSE \"LICENSE\") | [LICENSE](https://github.com/arktypeio/arktype/blob/main/LICENSE \"LICENSE\") | [add playground, PascalCase convention for noun Types (](https://github.com/arktypeio/arktype/commit/2d4b27ce86a3ae05b692dc374b5a251fc219e54f \"add playground, PascalCase convention for noun Types (#1405)\") [#1405](https://github.com/arktypeio/arktype/pull/1405) [)](https://github.com/arktypeio/arktype/commit/2d4b27ce86a3ae05b692dc374b5a251fc219e54f \"add playground, PascalCase convention for noun Types (#1405)\") | last yearApr 4, 2025 |\n| [README.md](https://github.com/arktypeio/arktype/blob/main/README.md \"README.md\") | [README.md](https://github.com/arktypeio/arktype/blob/main/README.md \"README.md\") | [fix: some functional inference, some unions with closed objects (](https://github.com/arktypeio/arktype/commit/631cc61c731b348b5083067fe21e0bf7e7426259 \"fix: some functional inference, some unions with closed objects (#1275)\") [#1275](https://github.com/arktypeio/arktype/pull/1275) [)](https://github.com/arktypeio/arktype/commit/631cc61c731b348b5083067fe21e0bf7e7426259 \"fix: some functional inference, some unions with closed objects (#1275)\") | last yearJan 26, 2025 |\n| [eslint.config.js](https://github.com/arktypeio/arktype/blob/main/eslint.config.js \"eslint.config.js\") | [eslint.config.js](https://github.com/arktypeio/arktype/blob/main/eslint.config.js \"eslint.config.js\") | [es2020 compatibility (](https://github.com/arktypeio/arktype/commit/ace0078db5efddc4642d34dcd75fe07dcdc51821 \"es2020 compatibility (#1544)\") [#1544](https://github.com/arktypeio/arktype/pull/1544) [)](https://github.com/arktypeio/arktype/commit/ace0078db5efddc4642d34dcd75fe07dcdc51821 \"es2020 compatibility (#1544)\") | 4 months agoNov 10, 2025 |\n| [package.json](https://github.com/arktypeio/arktype/blob/main/package.json \"package.json\") | [package.json](https://github.com/arktypeio/arktype/blob/main/package.json \"package.json\") | [arkregex 0.0.1 (](https://github.com/arktypeio/arktype/commit/032538d825e9a736a1a08cda0710cc7449ac2b28 \"arkregex 0.0.1 (#1526)\") [#1526](https://github.com/arktypeio/arktype/pull/1526) [)](https://github.com/arktypeio/arktype/commit/032538d825e9a736a1a08cda0710cc7449ac2b28 \"arkregex 0.0.1 (#1526)\") | 5 months agoOct 28, 2025 |\n| [pnpm-lock.yaml](https://github.com/arktypeio/arktype/blob/main/pnpm-lock.yaml \"pnpm-lock.yaml\") | [pnpm-lock.yaml](https://github.com/arktypeio/arktype/blob/main/pnpm-lock.yaml \"pnpm-lock.yaml\") | [allow cyclic unions to discriminate on nested paths (](https://github.com/arktypeio/arktype/commit/b240f63c0ac3ee865eea9ca1d76ec5f865b01083 \"allow cyclic unions to discriminate on nested paths (#1553)\") [#1553](https://github.com/arktypeio/arktype/pull/1553) [)](https://github.com/arktypeio/arktype/commit/b240f63c0ac3ee865eea9ca1d76ec5f865b01083 \"allow cyclic unions to discriminate on nested paths (#1553)\") | 3 months agoDec 23, 2025 |\n| [pnpm-workspace.yaml](https://github.com/arktypeio/arktype/blob/main/pnpm-workspace.yaml \"pnpm-workspace.yaml\") | [pnpm-workspace.yaml](https://github.com/arktypeio/arktype/blob/main/pnpm-workspace.yaml \"pnpm-workspace.yaml\") | [regex inference, fn, 2.2 prerelease (](https://github.com/arktypeio/arktype/commit/df3bf9693786e2373ca5e4d8b06bea9e8be0ce0d \"regex inference, fn, 2.2 prerelease (#1517)\") [#1517](https://github.com/arktypeio/arktype/pull/1517) [)](https://github.com/arktypeio/arktype/commit/df3bf9693786e2373ca5e4d8b06bea9e8be0ce0d \"regex inference, fn, 2.2 prerelease (#1517)\") | 5 months agoOct 14, 2025 |\n| [tsconfig.json](https://github.com/arktypeio/arktype/blob/main/tsconfig.json \"tsconfig.json\") | [tsconfig.json](https://github.com/arktypeio/arktype/blob/main/tsconfig.json \"tsconfig.json\") | [es2020 compatibility (](https://github.com/arktypeio/arktype/commit/ace0078db5efddc4642d34dcd75fe07dcdc51821 \"es2020 compatibility (#1544)\") [#1544](https://github.com/arktypeio/arktype/pull/1544) [)](https://github.com/arktypeio/arktype/commit/ace0078db5efddc4642d34dcd75fe07dcdc51821 \"es2020 compatibility (#1544)\") | 4 months agoNov 10, 2025 |\n| View all files |\n\n## Repository files navigation\n\n# ArkType\n\n[Permalink: ArkType](https://github.com/arktypeio/arktype#arktype)\n\n### _TypeScript's 1:1 validator, optimized from editor to runtime_\n\n[Permalink: TypeScript's 1:1 validator, optimized from editor to runtime](https://github.com/arktypeio/arktype#typescripts-11-validator-optimized-from-editor-to-runtime)\n\nArkType is a runtime validation library that parses optimized validators from familiar, type-safe syntax.\n\nIt can be used to check external data like JSON payloads or forms at the boundaries of your code (similar to Zod).\n\ndemo.mp4\n\n## Docs\n\n[Permalink: Docs](https://github.com/arktypeio/arktype#docs)\n\nSee our [docs site](https://arktype.io/)\n\n## Contributions\n\n[Permalink: Contributions](https://github.com/arktypeio/arktype#contributions)\n\nWe accept and encourage pull requests from outside ArkType. Planned work is tracked in [this GitHub project](https://github.com/orgs/arktypeio/projects/4).\n\nDepending on your level of familiarity with type systems and TS generics, some parts of the codebase may be hard to jump into. That said, there's plenty of opportunities for more straightforward contributions. We'd generally recommend starting with one of these issues labeled [external-contributor-friendly](https://github.com/orgs/arktypeio/projects/4/?filterQuery=label%3A%22external-contributor-friendly%22).\n\nIf you're planning on submitting a non-trivial fix or a new feature, please [create an issue first](https://github.com/arktypeio/arktype/issues/new) so everyone's on the same page. The last thing we want is for you to spend time on a submission we're unable to merge.\n\nWhen you're ready, check out our [guide](https://github.com/arktypeio/arktype/blob/main/.github/CONTRIBUTING.md) to get started!\n\n## License\n\n[Permalink: License](https://github.com/arktypeio/arktype#license)\n\nThis project is licensed under the terms of the\n[MIT license](https://github.com/arktypeio/arktype/blob/main/LICENSE).\n\n## Code of Conduct\n\n[Permalink: Code of Conduct](https://github.com/arktypeio/arktype#code-of-conduct)\n\nWe will not tolerate any form of disrespect toward members of our community. Please refer to our [Code of Conduct](https://github.com/arktypeio/arktype/blob/main/.github/CODE_OF_CONDUCT.md) and reach out to [david@arktype.io](mailto:david@arktype.io) immediately if you've seen or experienced an interaction that may violate these standards.\n\n## Sponsorship\n\n[Permalink: Sponsorship](https://github.com/arktypeio/arktype#sponsorship)\n\nWe've been working full-time on this project for multiple years and it means a lot to have the community behind us.\n\nIf the project has been useful to you and you are in a financial position to do so, please chip in via [GitHub Sponsors](https://github.com/sponsors/arktypeio).\n\nOtherwise, consider sending me an email ( [david@arktype.io](mailto:david@arktype.io)) or [message me on Discord](https://arktype.io/discord) to let me know you're a fan of ArkType. Either would make my day!\n\n### ArkSponsors ⛵\n\n[Permalink: ArkSponsors ⛵](https://github.com/arktypeio/arktype#arksponsors-)\n\n| mintlify | get-convex | inspatiallabs | sam-goodwin |\n| --- | --- | --- | --- |\n| [![](https://avatars.githubusercontent.com/mintlify)](https://github.com/mintlify) | [![](https://avatars.githubusercontent.com/get-convex)](https://github.com/get-convex) | [![](https://avatars.githubusercontent.com/inspatiallabs)](https://github.com/inspatiallabs) | [![](https://avatars.githubusercontent.com/sam-goodwin)](https://github.com/sam-goodwin) |\n\n### Sponsors 🥰\n\n[Permalink: Sponsors 🥰](https://github.com/arktypeio/arktype#sponsors-)\n\n| tmm | mewhhaha | jahands | drwpwrs | Phalangers |\n| --- | --- | --- | --- | --- |\n| [![](https://avatars.githubusercontent.com/tmm)](https://github.com/tmm) | [![](https://avatars.githubusercontent.com/mewhhaha)](https://github.com/mewhhaha) | [![](https://avatars.githubusercontent.com/jahands)](https://github.com/jahands) | [![](https://avatars.githubusercontent.com/drwpwrs)](https://github.com/drwpwrs) | [![](https://avatars.githubusercontent.com/Phalangers)](https://github.com/Phalangers) |\n| WilliamConnatser | JameEnder | tylim88 |\n| [![](https://avatars.githubusercontent.com/WilliamConnatser)](https://github.com/WilliamConnatser) | [![](https://avatars.githubusercontent.com/JameEnder)](https://github.com/JameEnder) | [![](https://avatars.githubusercontent.com/tylim88)](https://github.com/tylim88) |\n\n## About\n\nTypeScript's 1:1 validator, optimized from editor to runtime\n\n\n[arktype.io/](https://arktype.io/ \"https://arktype.io/\")\n\n### Topics\n\n[javascript](https://github.com/topics/javascript \"Topic: javascript\") [typescript](https://github.com/topics/typescript \"Topic: typescript\") [parsing](https://github.com/topics/parsing \"Topic: parsing\") [static-typing](https://github.com/topics/static-typing \"Topic: static-typing\") [runtime-typechecking](https://github.com/topics/runtime-typechecking \"Topic: runtime-typechecking\")\n\n### Resources\n\n[Readme](https://github.com/arktypeio/arktype#readme-ov-file)\n\n### License\n\n[MIT license](https://github.com/arktypeio/arktype#MIT-1-ov-file)\n\n### Code of conduct\n\n[Code of conduct](https://github.com/arktypeio/arktype#coc-ov-file)\n\n### Contributing\n\n[Contributing](https://github.com/arktypeio/arktype#contributing-ov-file)\n\n### Security policy\n\n[Security policy](https://github.com/arktypeio/arktype#security-ov-file)\n\n### Uh oh!\n\nThere was an error while loading. [Please reload this page](https://github.com/arktypeio/arktype).\n\n[Activity](https://github.com/arktypeio/arktype/activity)\n\n[Custom properties](https://github.com/arktypeio/arktype/custom-properties)\n\n### Stars\n\n[**7.7k**\\\\\nstars](https://github.com/arktypeio/arktype/stargazers)\n\n### Watchers\n\n[**15**\\\\\nwatching](https://github.com/arktypeio/arktype/watchers)\n\n### Forks\n\n[**139**\\\\\nforks](https://github.com/arktypeio/arktype/forks)\n\n[Report repository](https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Farktypeio%2Farktype&report=arktypeio+%28user%29)\n\n## [Releases\\ 836](https://github.com/arktypeio/arktype/releases)\n\n[@arktype/type@2.2.0\\\\\nLatest\\\\\n\\\\\nlast monthMar 4, 2026](https://github.com/arktypeio/arktype/releases/tag/%40arktype%2Ftype%402.2.0)\n\n[\\+ 835 releases](https://github.com/arktypeio/arktype/releases)\n\n## Sponsor this project\n\n[![@arktypeio](https://avatars.githubusercontent.com/u/52057462?s=64&v=4)](https://github.com/arktypeio)[**arktypeio** ArkType](https://github.com/arktypeio)\n\n[Sponsor](https://github.com/sponsors/arktypeio)\n\n[Learn more about GitHub Sponsors](https://github.com/sponsors)\n\n## [Packages\\ 0](https://github.com/orgs/arktypeio/packages?repo_name=arktype)\n\nNo packages published\n\n## [Used by 7.3k](https://github.com/arktypeio/arktype/network/dependents)\n\n[- ![@cvent](https://avatars.githubusercontent.com/u/5034428?s=64&v=4)\\\\\n- ![@Just-Helpful](https://avatars.githubusercontent.com/u/47320175?s=64&v=4)\\\\\n- ![@infrareactive](https://avatars.githubusercontent.com/u/247544576?s=64&v=4)\\\\\n- ![@infrareactive](https://avatars.githubusercontent.com/u/247544576?s=64&v=4)\\\\\n- ![@Alterra-Mountain-Company](https://avatars.githubusercontent.com/u/6809222?s=64&v=4)\\\\\n- ![@Emma-Alpha](https://avatars.githubusercontent.com/u/48679771?s=64&v=4)\\\\\n- ![@Wuodan](https://avatars.githubusercontent.com/u/1812358?s=64&v=4)\\\\\n- ![@jeremydh911](https://avatars.githubusercontent.com/u/239248354?s=64&v=4)\\\\\n\\\\\n\\+ 7,252](https://github.com/arktypeio/arktype/network/dependents)\n\n## [Contributors\\ 55](https://github.com/arktypeio/arktype/graphs/contributors)\n\n- [![@ssalbdivad](https://avatars.githubusercontent.com/u/10645823?s=64&v=4)](https://github.com/ssalbdivad)\n- [![@github-actions[bot]](https://avatars.githubusercontent.com/in/15368?s=64&v=4)](https://github.com/apps/github-actions)\n- [![@sarthakagrawal](https://avatars.githubusercontent.com/u/5283030?s=64&v=4)](https://github.com/sarthakagrawal)\n- [![@ShawnMorreau](https://avatars.githubusercontent.com/u/22297812?s=64&v=4)](https://github.com/ShawnMorreau)\n- [![@becca718](https://avatars.githubusercontent.com/u/52788993?s=64&v=4)](https://github.com/becca718)\n- [![@bavannah](https://avatars.githubusercontent.com/u/30559691?s=64&v=4)](https://github.com/bavannah)\n- [![@Dimava](https://avatars.githubusercontent.com/u/20068737?s=64&v=4)](https://github.com/Dimava)\n- [![@TizzySaurus](https://avatars.githubusercontent.com/u/47674925?s=64&v=4)](https://github.com/TizzySaurus)\n- [![@tylersayshi](https://avatars.githubusercontent.com/u/26290074?s=64&v=4)](https://github.com/tylersayshi)\n- [![@dependabot[bot]](https://avatars.githubusercontent.com/in/29110?s=64&v=4)](https://github.com/apps/dependabot)\n- [![@yamcodes](https://avatars.githubusercontent.com/u/2014360?s=64&v=4)](https://github.com/yamcodes)\n- [![@Andarist](https://avatars.githubusercontent.com/u/9800850?s=64&v=4)](https://github.com/Andarist)\n- [![@LukeAbby](https://avatars.githubusercontent.com/u/109059814?s=64&v=4)](https://github.com/LukeAbby)\n- [![@shaungrady](https://avatars.githubusercontent.com/u/52413?s=64&v=4)](https://github.com/shaungrady)\n\n[\\+ 41 contributors](https://github.com/arktypeio/arktype/graphs/contributors)\n\n## Languages\n\n- [TypeScript92.8%](https://github.com/arktypeio/arktype/search?l=typescript)\n- [MDX6.4%](https://github.com/arktypeio/arktype/search?l=mdx)\n- Other0.8%\n\nYou cant perform that action at this time.","metadata":{"analytics-location":"/<user-name>/<repo-name>","route-action":"disambiguate","octolytics-dimension-repository_network_root_nwo":"arktypeio/arktype","ogTitle":"GitHub - arktypeio/arktype: TypeScript's 1:1 validator, optimized from editor to runtime","ui-target":"full","octolytics-dimension-repository_public":"true","html-safe-nonce":"5cc9eeec5573599bd2cea285ec4f66dd6a80a28b6ff49c4ecff4c7347e1bbfc4","route-pattern":"/:user_id/:repository","octolytics-url":"https://collector.github.com/github/collect","ogDescription":"TypeScript's 1:1 validator, optimized from editor to runtime - arktypeio/arktype","color-scheme":"light dark","ogUrl":"https://github.com/arktypeio/arktype","og:site_name":"GitHub","visitor-payload":"eyJyZWZlcnJlciI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIiwicmVxdWVzdF9pZCI6IjgwOTM6MTI5QUNBOjQwNzRBMUQ6NTI0MDAxNTo2OUM5MEIxMCIsInZpc2l0b3JfaWQiOiIxMDEwMzAzMTQ4NzY4MTY4NzIwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=","twitter:description":"TypeScript's 1:1 validator, optimized from editor to runtime - arktypeio/arktype","ogImage":"https://repository-images.githubusercontent.com/193156479/5e53515f-cffd-477e-a293-92e2ebf12723","og:type":"object","octolytics-dimension-user_id":"52057462","route-controller":"files","octolytics-dimension-repository_nwo":"arktypeio/arktype","og:url":"https://github.com/arktypeio/arktype","title":"GitHub - arktypeio/arktype: TypeScript's 1:1 validator, optimized from editor to runtime · GitHub","ogSiteName":"GitHub","twitter:site":"@github","octolytics-dimension-user_login":"arktypeio","expected-hostname":"github.com","fetch-nonce":"v2:7892f73c-60bf-d39a-c7fe-40a0d4f97e6d","octolytics-dimension-repository_is_fork":"false","viewport":"width=device-width","user-login":"","browser-errors-url":"https://api.github.com/_private/browser/errors","apple-itunes-app":"app-id=1477376905, app-argument=https://github.com/arktypeio/arktype","release":"51d2e33e3d1e4839c3ced5f8e35c7a47d3a60f32","og:description":"TypeScript's 1:1 validator, optimized from editor to runtime - arktypeio/arktype","browser-stats-url":"https://api.github.com/_private/browser/stats","google-site-verification":"Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I","language":"en","hovercard-subject-tag":"repository:193156479","og:image:alt":"TypeScript's 1:1 validator, optimized from editor to runtime - arktypeio/arktype","twitter:image":"https://repository-images.githubusercontent.com/193156479/5e53515f-cffd-477e-a293-92e2ebf12723","og:title":"GitHub - arktypeio/arktype: TypeScript's 1:1 validator, optimized from editor to runtime","current-catalog-service-hash":"f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb","visitor-hmac":"279d9ace6cb203844702c010621d2cfdc976032cb56eb96f619a40ca17f786b1","go-import":"github.com/arktypeio/arktype git https://github.com/arktypeio/arktype.git","hostname":"github.com","octolytics-dimension-repository_network_root_id":"193156479","og:image":"https://repository-images.githubusercontent.com/193156479/5e53515f-cffd-477e-a293-92e2ebf12723","twitter:card":"summary_large_image","twitter:title":"GitHub - arktypeio/arktype: TypeScript's 1:1 validator, optimized from editor to runtime","turbo-cache-control":["no-preview","no-cache"],"disable-turbo":"false","description":"TypeScript's 1:1 validator, optimized from editor to runtime - arktypeio/arktype","theme-color":"#1e2327","fb:app_id":"1401488693436528","github-keyboard-shortcuts":"repository,copilot","octolytics-dimension-repository_id":"193156479","request-id":"8093:129ACA:4074A1D:5240015:69C90B10","turbo-body-classes":"logged-out env-production page-responsive","favicon":"https://github.githubassets.com/favicons/favicon.svg","scrapeId":"019d3953-3816-725a-9753-1639bf287032","sourceURL":"https://github.com/arktypeio/arktype","url":"https://github.com/arktypeio/arktype","statusCode":200,"contentType":"text/html; charset=utf-8","timezone":"America/New_York","proxyUsed":"basic","cacheState":"miss","indexId":"005c826c-6fdd-4b0a-8a67-46efffab244a","creditsUsed":1}},{"url":"https://www.devtools.fm/episode/132","title":"Episode #132: David Blass, - ArkType, better runtime type validation","description":"ArkType goes against the mold of other TypeScript validation libraries by using a syntax that is as close to native TypeScript as possible. It's ...","position":5,"markdown":"[All episodes](https://www.devtools.fm/episodes) Episode #132:\n\n# David Blass, - ArkType, better runtime type validation\n\nembeds.beehiiv.com\n\n# embeds.beehiiv.com is blocked\n\nThis page has been blocked by an extension\n\n- Try disabling your extensions.\n\nERR\\_BLOCKED\\_BY\\_CLIENT\n\nReload\n\n\nThis page has been blocked by an extension\n\n![](<Base64-Image-Removed>)![](<Base64-Image-Removed>)","metadata":{"twitter:image":"https://i.ytimg.com/vi/JxAaWsAAQxM/maxresdefault.jpg","theme-color":"#fff","language":"en","viewport":["width=device-width, initial-scale=1","width=device-width, initial-scale=1","width=device-width, initial-scale=1.0,\n maximum-scale=1.0, user-scalable=no"],"ogTitle":"Episode #132: David Blass, - ArkType, better runtime type validation","og:description":"This week we talk to David Blass, the creator of ArkType, a runtime validation library for TypeScript.\nArkType goes against the mold of other TypeScript validation libraries by using a syntax that is as close to native TypeScript as possible.\nIt's packed with interesting features and has made David a TypeScript performance expert.\n\n- https://bsky.app/profile/ssalbdivad.dev\n- https://arktype.io/\n- https://github.com/ssalbdivad\n- https://arktype.io/docs/blog/2.0\n\nApply to sponsor the podcast: https://devtools.fm/sponsor\n\nBecome a paid subscriber our patreon, spotify, or apple podcasts for the ad-free episode.\n\n- https://www.patreon.com/devtoolsfm\n- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe\n- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758\n- https://www.youtube.com/@devtoolsfm/membership","ogUrl":"https://devtools.fm/episode/132","ogImage":"https://i.ytimg.com/vi/JxAaWsAAQxM/maxresdefault.jpg","og:url":"https://devtools.fm/episode/132","color-scheme":"light dark","description":"This week we talk to David Blass, the creator of ArkType, a runtime validation library for TypeScript.\nArkType goes against the mold of other TypeScript validation libraries by using a syntax that is as close to native TypeScript as possible.\nIt's packed with interesting features and has made David a TypeScript performance expert.\n\n- https://bsky.app/profile/ssalbdivad.dev\n- https://arktype.io/\n- https://github.com/ssalbdivad\n- https://arktype.io/docs/blog/2.0\n\nApply to sponsor the podcast: https://devtools.fm/sponsor\n\nBecome a paid subscriber our patreon, spotify, or apple podcasts for the ad-free episode.\n\n- https://www.patreon.com/devtoolsfm\n- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe\n- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758\n- https://www.youtube.com/@devtoolsfm/membership","title":"Episode #132: David Blass, - ArkType, better runtime type validation","twitter:description":"This week we talk to David Blass, the creator of ArkType, a runtime validation library for TypeScript.\nArkType goes against the mold of other TypeScript validation libraries by using a syntax that is as close to native TypeScript as possible.\nIt's packed with interesting features and has made David a TypeScript performance expert.\n\n- https://bsky.app/profile/ssalbdivad.dev\n- https://arktype.io/\n- https://github.com/ssalbdivad\n- https://arktype.io/docs/blog/2.0\n\nApply to sponsor the podcast: https://devtools.fm/sponsor\n\nBecome a paid subscriber our patreon, spotify, or apple podcasts for the ad-free episode.\n\n- https://www.patreon.com/devtoolsfm\n- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe\n- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758\n- https://www.youtube.com/@devtoolsfm/membership","twitter:title":"Episode #132: David Blass, - ArkType, better runtime type validation","ogDescription":"This week we talk to David Blass, the creator of ArkType, a runtime validation library for TypeScript.\nArkType goes against the mold of other TypeScript validation libraries by using a syntax that is as close to native TypeScript as possible.\nIt's packed with interesting features and has made David a TypeScript performance expert.\n\n- https://bsky.app/profile/ssalbdivad.dev\n- https://arktype.io/\n- https://github.com/ssalbdivad\n- https://arktype.io/docs/blog/2.0\n\nApply to sponsor the podcast: https://devtools.fm/sponsor\n\nBecome a paid subscriber our patreon, spotify, or apple podcasts for the ad-free episode.\n\n- https://www.patreon.com/devtoolsfm\n- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe\n- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758\n- https://www.youtube.com/@devtoolsfm/membership","og:title":"Episode #132: David Blass, - ArkType, better runtime type validation","og:image":"https://i.ytimg.com/vi/JxAaWsAAQxM/maxresdefault.jpg","twitter:card":"summary_large_image","scrapeId":"019d3953-3816-725a-9753-1bf1defd279c","sourceURL":"https://www.devtools.fm/episode/132","url":"https://www.devtools.fm/episode/132","statusCode":200,"contentType":"text/html; charset=utf-8","timezone":"America/New_York","proxyUsed":"basic","cacheState":"miss","indexId":"11467e1f-e904-40f0-8758-16b222cfdd14","creditsUsed":1}}]}}