@modulify/validator 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-53c2b231a6.zip +0 -0
  2. package/.yarn/cache/@babel-code-frame-npm-7.23.5-cb10d08de6-a10e843595.zip +0 -0
  3. package/.yarn/cache/@babel-helper-string-parser-npm-7.25.7-352069de58-73ef2ceb81.zip +0 -0
  4. package/.yarn/cache/@babel-helper-string-parser-npm-7.27.1-d1471e0598-8bda3448e0.zip +0 -0
  5. package/.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-dcad63db34.zip +0 -0
  6. package/.yarn/cache/@babel-helper-validator-identifier-npm-7.25.7-1c758f0472-07438e5bf0.zip +0 -0
  7. package/.yarn/cache/@babel-helper-validator-identifier-npm-7.28.5-1953d49d2b-42aaebed91.zip +0 -0
  8. package/.yarn/cache/@babel-highlight-npm-7.23.4-2a9f2d2538-fbff9fcb2f.zip +0 -0
  9. package/.yarn/cache/@babel-parser-npm-7.25.8-fda12195b5-a1a13845b7.zip +0 -0
  10. package/.yarn/cache/@babel-parser-npm-7.29.0-c605c63e8b-333b2aa761.zip +0 -0
  11. package/.yarn/cache/@babel-types-npm-7.25.8-44acfff5f6-55ca2d6df6.zip +0 -0
  12. package/.yarn/cache/@babel-types-npm-7.29.0-6c2fa77581-23cc3466e8.zip +0 -0
  13. package/.yarn/cache/@bcoe-v8-coverage-npm-1.0.2-e80fdc21ac-1eb1dc93cc.zip +0 -0
  14. package/.yarn/cache/@commitlint-cli-npm-20.4.3-7b788c74b9-1f54b6870a.zip +0 -0
  15. package/.yarn/cache/@commitlint-config-conventional-npm-20.4.3-aa90460b69-c7c6fb0b32.zip +0 -0
  16. package/.yarn/cache/@commitlint-config-validator-npm-20.4.3-456f7d3da8-e65f2bd3cc.zip +0 -0
  17. package/.yarn/cache/@commitlint-ensure-npm-20.4.3-432e5ad329-aa1f42317a.zip +0 -0
  18. package/.yarn/cache/@commitlint-execute-rule-npm-20.0.0-6eb8155492-a1035ae9d6.zip +0 -0
  19. package/.yarn/cache/@commitlint-format-npm-20.4.3-ebe3e8cb04-e221f61a07.zip +0 -0
  20. package/.yarn/cache/@commitlint-is-ignored-npm-20.4.3-69e200640d-bc118de0aa.zip +0 -0
  21. package/.yarn/cache/@commitlint-lint-npm-20.4.3-c9940afaeb-e6af7cbbf9.zip +0 -0
  22. package/.yarn/cache/@commitlint-load-npm-20.4.3-81ae2db04a-80fb52e259.zip +0 -0
  23. package/.yarn/cache/@commitlint-message-npm-20.4.3-e9b5d77cad-16f7a67d17.zip +0 -0
  24. package/.yarn/cache/@commitlint-parse-npm-20.4.3-ecc5779976-404fecad36.zip +0 -0
  25. package/.yarn/cache/@commitlint-read-npm-20.4.3-32de5c8d85-3e7f88ad9b.zip +0 -0
  26. package/.yarn/cache/@commitlint-resolve-extends-npm-20.4.3-71b99c2779-09220329ba.zip +0 -0
  27. package/.yarn/cache/@commitlint-rules-npm-20.4.3-390ce9eadc-03348731a9.zip +0 -0
  28. package/.yarn/cache/@commitlint-to-lines-npm-20.0.0-888ee2239e-49bc05eb06.zip +0 -0
  29. package/.yarn/cache/@commitlint-top-level-npm-20.4.3-b0ef9fb207-52a1f59677.zip +0 -0
  30. package/.yarn/cache/@commitlint-types-npm-20.4.3-3d079b12ab-2181f9696f.zip +0 -0
  31. package/.yarn/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-05c5368c13.zip +0 -0
  32. package/.yarn/cache/@esbuild-linux-x64-npm-0.27.3-2041dd7b27-10c0.zip +0 -0
  33. package/.yarn/cache/@eslint-community-eslint-utils-npm-4.9.1-30ad3d49de-dc4ab5e3e3.zip +0 -0
  34. package/.yarn/cache/@eslint-community-regexpp-npm-4.12.2-3d54624470-fddcbc6685.zip +0 -0
  35. package/.yarn/cache/@eslint-config-array-npm-0.23.3-19b1c24f51-7c19027acf.zip +0 -0
  36. package/.yarn/cache/@eslint-config-helpers-npm-0.5.3-b60fa10f11-c836476e83.zip +0 -0
  37. package/.yarn/cache/@eslint-core-npm-1.1.1-bca32bf928-129c654c78.zip +0 -0
  38. package/.yarn/cache/@eslint-js-npm-10.0.1-c30b85ca06-9f3fcaf71b.zip +0 -0
  39. package/.yarn/cache/@eslint-object-schema-npm-3.0.3-4c45388d6c-4abbb7cba5.zip +0 -0
  40. package/.yarn/cache/@eslint-plugin-kit-npm-0.6.1-fafe413a70-f8354a7b92.zip +0 -0
  41. package/.yarn/cache/@gar-promise-retry-npm-1.0.2-960b209ddf-748a84fb0a.zip +0 -0
  42. package/.yarn/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-aa4e015217.zip +0 -0
  43. package/.yarn/cache/@humanfs-node-npm-0.16.6-6ee2cad587-8356359c9f.zip +0 -0
  44. package/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-909b69c3b8.zip +0 -0
  45. package/.yarn/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-f0da1282df.zip +0 -0
  46. package/.yarn/cache/@humanwhocodes-retry-npm-0.4.3-a8d7ca1663-3775bb3008.zip +0 -0
  47. package/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-c25b6dc159.zip +0 -0
  48. package/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-0dbc9e29bc.zip +0 -0
  49. package/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-d502e6fb51.zip +0 -0
  50. package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-0c6b5ae663.zip +0 -0
  51. package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-2eb864f276.zip +0 -0
  52. package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.5-5189d9fc79-f9e538f302.zip +0 -0
  53. package/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.31-1ae81d75ac-4b30ec8cd5.zip +0 -0
  54. package/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-fa425b606d.zip +0 -0
  55. package/.yarn/cache/@microsoft-api-extractor-model-npm-7.33.4-65dc0810a1-c71569e59a.zip +0 -0
  56. package/.yarn/cache/@microsoft-api-extractor-npm-7.57.6-3ff3fa89f4-2f4598cc6b.zip +0 -0
  57. package/.yarn/cache/@microsoft-tsdoc-config-npm-0.18.1-9e24f960a2-06507f7ced.zip +0 -0
  58. package/.yarn/cache/@microsoft-tsdoc-npm-0.16.0-9d3f19f1b6-8883bb0ed2.zip +0 -0
  59. package/.yarn/cache/@npmcli-agent-npm-4.0.0-502e5ae4f0-f7b5ce0f3d.zip +0 -0
  60. package/.yarn/cache/@npmcli-fs-npm-5.0.0-9d737ae2f3-26e376d780.zip +0 -0
  61. package/.yarn/cache/@polka-url-npm-1.0.0-next.28-024769eda8-acc5ea6259.zip +0 -0
  62. package/.yarn/cache/@rollup-pluginutils-npm-5.1.4-83ce21024f-6d58fbc6f1.zip +0 -0
  63. package/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.59.0-da6c703f69-10c0.zip +0 -0
  64. package/.yarn/cache/@rushstack-node-core-library-npm-5.20.3-c547457ad4-bc9b33c6be.zip +0 -0
  65. package/.yarn/cache/@rushstack-problem-matcher-npm-0.2.1-87bf7eb8c4-d6cf27f6bf.zip +0 -0
  66. package/.yarn/cache/@rushstack-rig-package-npm-0.7.2-5f0f64865a-2e2839fa9a.zip +0 -0
  67. package/.yarn/cache/@rushstack-terminal-npm-0.22.3-2934ccd0ff-0e81fe7543.zip +0 -0
  68. package/.yarn/cache/@rushstack-ts-command-line-npm-5.3.3-d220c0fef2-03d9e9989b.zip +0 -0
  69. package/.yarn/cache/@simple-libs-stream-utils-npm-1.2.0-db53dc026f-2788ac7b16.zip +0 -0
  70. package/.yarn/cache/@standard-schema-spec-npm-1.1.0-d3e5ccd2e2-d90f55acde.zip +0 -0
  71. package/.yarn/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-c176a2c1e1.zip +0 -0
  72. package/.yarn/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-dddca2b553.zip +0 -0
  73. package/.yarn/cache/@tsconfig-node14-npm-1.0.3-15321421d2-67c1316d06.zip +0 -0
  74. package/.yarn/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-05f8f2734e.zip +0 -0
  75. package/.yarn/cache/@types-argparse-npm-1.0.38-657c15204c-4fc892da5d.zip +0 -0
  76. package/.yarn/cache/@types-chai-npm-5.2.3-5f61dbddda-e0ef1de3b6.zip +0 -0
  77. package/.yarn/cache/@types-deep-eql-npm-4.0.2-e6bc68cc92-bf3f811843.zip +0 -0
  78. package/.yarn/cache/@types-esrecurse-npm-4.3.1-237d34a55f-90dad74d5d.zip +0 -0
  79. package/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-b3b0e33428.zip +0 -0
  80. package/.yarn/cache/@types-estree-npm-1.0.6-b5e23f2ea2-cdfd751f6f.zip +0 -0
  81. package/.yarn/cache/@types-estree-npm-1.0.8-2195bac6d6-39d34d1afa.zip +0 -0
  82. package/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-a996a745e6.zip +0 -0
  83. package/.yarn/cache/@types-node-npm-25.3.5-81ad2eb587-4cf0834a6f.zip +0 -0
  84. package/.yarn/cache/@typescript-eslint-eslint-plugin-npm-8.56.1-3df20cf10b-8a97e77779.zip +0 -0
  85. package/.yarn/cache/@typescript-eslint-parser-npm-8.56.1-3f9b1c2f30-61c9dab481.zip +0 -0
  86. package/.yarn/cache/@typescript-eslint-project-service-npm-8.56.1-766cc01259-ca61cde575.zip +0 -0
  87. package/.yarn/cache/@typescript-eslint-scope-manager-npm-8.56.1-2d38e88a4b-89cc1af263.zip +0 -0
  88. package/.yarn/cache/@typescript-eslint-tsconfig-utils-npm-8.56.1-e35d1dd914-d03b64d7ff.zip +0 -0
  89. package/.yarn/cache/@typescript-eslint-type-utils-npm-8.56.1-e472908945-66517aed50.zip +0 -0
  90. package/.yarn/cache/@typescript-eslint-types-npm-8.56.1-09e50c3c54-e5a0318abd.zip +0 -0
  91. package/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.56.1-bdca7e3c09-92f4421dac.zip +0 -0
  92. package/.yarn/cache/@typescript-eslint-utils-npm-8.56.1-aa0778f53a-d9ffd9b294.zip +0 -0
  93. package/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.56.1-901d7b2e4d-86d97905de.zip +0 -0
  94. package/.yarn/cache/@vitest-coverage-v8-npm-4.0.18-62bb7f840e-e23e0da86f.zip +0 -0
  95. package/.yarn/cache/@vitest-expect-npm-4.0.18-03919ccd0b-123b0aa111.zip +0 -0
  96. package/.yarn/cache/@vitest-mocker-npm-4.0.18-118c87f90e-fb0a257e7e.zip +0 -0
  97. package/.yarn/cache/@vitest-pretty-format-npm-4.0.18-a73855e4a4-0086b8c88e.zip +0 -0
  98. package/.yarn/cache/@vitest-runner-npm-4.0.18-3dbdf3fb30-fdb4afa411.zip +0 -0
  99. package/.yarn/cache/@vitest-snapshot-npm-4.0.18-35134202ed-d3bfefa558.zip +0 -0
  100. package/.yarn/cache/@vitest-spy-npm-4.0.18-296c59dce4-6de537890b.zip +0 -0
  101. package/.yarn/cache/@vitest-ui-npm-4.0.18-2112b3c7d4-25ed45b529.zip +0 -0
  102. package/.yarn/cache/@vitest-utils-npm-4.0.18-b1c99a49e0-4a3c43c142.zip +0 -0
  103. package/.yarn/cache/@volar-language-core-npm-2.4.11-9f1617b8e0-ccc5de0c28.zip +0 -0
  104. package/.yarn/cache/@volar-language-core-npm-2.4.28-23fc3d6b92-d41f7327fe.zip +0 -0
  105. package/.yarn/cache/@volar-source-map-npm-2.4.11-1022b0cd34-8e5badf9f6.zip +0 -0
  106. package/.yarn/cache/@volar-source-map-npm-2.4.28-7517299eaf-24b0b02c7f.zip +0 -0
  107. package/.yarn/cache/@volar-typescript-npm-2.4.11-9486696485-bca9bda9c8.zip +0 -0
  108. package/.yarn/cache/@vue-compiler-core-npm-3.5.13-b0c91e9970-b89f3e3ca9.zip +0 -0
  109. package/.yarn/cache/@vue-compiler-dom-npm-3.5.13-8785a9ba19-8f424a7188.zip +0 -0
  110. package/.yarn/cache/@vue-compiler-vue2-npm-2.7.16-ac462b66cc-c76c3fad77.zip +0 -0
  111. package/.yarn/cache/@vue-language-core-npm-2.2.0-451bd2aafd-1c44cc4067.zip +0 -0
  112. package/.yarn/cache/@vue-shared-npm-3.5.13-519178ab33-2c940ef907.zip +0 -0
  113. package/.yarn/cache/abbrev-npm-4.0.0-7d848a1ef0-b4cc169352.zip +0 -0
  114. package/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-4c54868fbe.zip +0 -0
  115. package/.yarn/cache/acorn-npm-8.11.3-0d7ab48b38-3ff155f881.zip +0 -0
  116. package/.yarn/cache/acorn-npm-8.16.0-b2096bf83f-c9c5269722.zip +0 -0
  117. package/.yarn/cache/acorn-walk-npm-8.3.2-df039a42bf-7e2a8dad54.zip +0 -0
  118. package/.yarn/cache/agent-base-npm-7.1.4-cb8b4604d5-c2c9ab7599.zip +0 -0
  119. package/.yarn/cache/ajv-draft-04-npm-1.0.0-6fc962dbab-6044310bd3.zip +0 -0
  120. package/.yarn/cache/ajv-formats-npm-3.0.1-2662cf5b12-168d6bca1e.zip +0 -0
  121. package/.yarn/cache/ajv-npm-6.14.0-41f32f2ba8-a2bc39b055.zip +0 -0
  122. package/.yarn/cache/ajv-npm-8.12.0-3bf6e30741-ac4f72adf7.zip +0 -0
  123. package/.yarn/cache/ajv-npm-8.17.1-12ade7edc6-ec3ba10a57.zip +0 -0
  124. package/.yarn/cache/ajv-npm-8.18.0-6e5e062765-e7517c4261.zip +0 -0
  125. package/.yarn/cache/alien-signals-npm-0.4.14-73b9599f8d-5abb3377bc.zip +0 -0
  126. package/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-9a64bb8627.zip +0 -0
  127. package/.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-ece5a8ef06.zip +0 -0
  128. package/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-895a23929d.zip +0 -0
  129. package/.yarn/cache/arg-npm-4.1.3-1748b966a8-070ff801a9.zip +0 -0
  130. package/.yarn/cache/argparse-npm-1.0.10-528934e59d-b2972c5c23.zip +0 -0
  131. package/.yarn/cache/argparse-npm-2.0.1-faff7999e6-c5640c2d89.zip +0 -0
  132. package/.yarn/cache/array-ify-npm-1.0.0-e09a371977-75c9c072fa.zip +0 -0
  133. package/.yarn/cache/assertion-error-npm-2.0.1-8169d136f2-bbbcb117ac.zip +0 -0
  134. package/.yarn/cache/ast-v8-to-istanbul-npm-0.3.12-a066421931-bad6ba222b.zip +0 -0
  135. package/.yarn/cache/balanced-match-npm-4.0.4-fd666b3c7f-07e86102a3.zip +0 -0
  136. package/.yarn/cache/brace-expansion-npm-5.0.4-acb9332524-359cbcfa80.zip +0 -0
  137. package/.yarn/cache/cacache-npm-20.0.3-5f244d5bdd-c7da1ca694.zip +0 -0
  138. package/.yarn/cache/callsites-npm-3.1.0-268f989910-fff9227740.zip +0 -0
  139. package/.yarn/cache/chai-npm-6.2.2-e1795cadaa-e6c69e5f0c.zip +0 -0
  140. package/.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-e6543f02ec.zip +0 -0
  141. package/.yarn/cache/chownr-npm-3.0.0-5275e85d25-43925b8770.zip +0 -0
  142. package/.yarn/cache/cliui-npm-8.0.1-3b029092cf-4bda0f09c3.zip +0 -0
  143. package/.yarn/cache/color-convert-npm-1.9.3-1fe690075e-5ad3c53494.zip +0 -0
  144. package/.yarn/cache/color-convert-npm-2.0.1-79730e935b-37e1150172.zip +0 -0
  145. package/.yarn/cache/color-name-npm-1.1.3-728b7b5d39-566a3d42cc.zip +0 -0
  146. package/.yarn/cache/color-name-npm-1.1.4-025792b0ea-a1a3f91415.zip +0 -0
  147. package/.yarn/cache/compare-func-npm-2.0.0-9cd7852f23-78bd4dd4ed.zip +0 -0
  148. package/.yarn/cache/compare-versions-npm-6.1.1-4b4ac16a32-415205c762.zip +0 -0
  149. package/.yarn/cache/confbox-npm-0.1.8-8396039b68-fc2c68d97c.zip +0 -0
  150. package/.yarn/cache/confbox-npm-0.2.4-31ba8953f9-4c36af33d9.zip +0 -0
  151. package/.yarn/cache/conventional-changelog-angular-npm-8.3.0-0cd5330d9e-bab87fa741.zip +0 -0
  152. package/.yarn/cache/conventional-changelog-conventionalcommits-npm-9.3.0-6c1ee7bc50-36be9435bb.zip +0 -0
  153. package/.yarn/cache/conventional-commits-parser-npm-6.3.0-ac5eec936e-7b152db0b6.zip +0 -0
  154. package/.yarn/cache/cosmiconfig-npm-9.0.1-66b0cd2503-a5d4d95599.zip +0 -0
  155. package/.yarn/cache/cosmiconfig-typescript-loader-npm-6.2.0-a314118ca7-0fd8fd9b9b.zip +0 -0
  156. package/.yarn/cache/create-require-npm-1.1.1-839884ca2e-157cbc59b2.zip +0 -0
  157. package/.yarn/cache/cross-spawn-npm-7.0.6-264bddf921-053ea8b213.zip +0 -0
  158. package/.yarn/cache/dargs-npm-8.1.0-39fde97ef5-08cbd1ee4a.zip +0 -0
  159. package/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-7058ce58ab.zip +0 -0
  160. package/.yarn/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip +0 -0
  161. package/.yarn/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip +0 -0
  162. package/.yarn/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip +0 -0
  163. package/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-7f0ee496e0.zip +0 -0
  164. package/.yarn/cache/diff-npm-4.0.2-73133c7102-81b91f9d39.zip +0 -0
  165. package/.yarn/cache/diff-npm-8.0.3-6f5c127138-d29321c70d.zip +0 -0
  166. package/.yarn/cache/dot-prop-npm-5.3.0-7bf6ee1eb8-93f0d343ef.zip +0 -0
  167. package/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-b6053ad399.zip +0 -0
  168. package/.yarn/cache/entities-npm-4.5.0-7cdb83b832-5b039739f7.zip +0 -0
  169. package/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-285325677b.zip +0 -0
  170. package/.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-ba827f8936.zip +0 -0
  171. package/.yarn/cache/es-module-lexer-npm-1.7.0-456b47a08a-4c935affcb.zip +0 -0
  172. package/.yarn/cache/esbuild-npm-0.27.3-85b6c20323-fdc3f87a3f.zip +0 -0
  173. package/.yarn/cache/escalade-npm-3.1.1-e02da076aa-afd02e6ca9.zip +0 -0
  174. package/.yarn/cache/escalade-npm-3.2.0-19b50dd48f-ced4dd3a78.zip +0 -0
  175. package/.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-a968ad453d.zip +0 -0
  176. package/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-9497d4dd30.zip +0 -0
  177. package/.yarn/cache/eslint-npm-10.0.3-c98e23b2a9-fbbb4d99cb.zip +0 -0
  178. package/.yarn/cache/eslint-scope-npm-9.1.2-50e6e92f41-9fb8bca5a7.zip +0 -0
  179. package/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-92708e882c.zip +0 -0
  180. package/.yarn/cache/eslint-visitor-keys-npm-5.0.1-30a44b062b-16190bdf2c.zip +0 -0
  181. package/.yarn/cache/espree-npm-11.2.0-095134f369-cf87e18ffd.zip +0 -0
  182. package/.yarn/cache/esquery-npm-1.7.0-c1e8da438a-77d5173db4.zip +0 -0
  183. package/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-81a37116d1.zip +0 -0
  184. package/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-1ff9447b96.zip +0 -0
  185. package/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-53a6c54e20.zip +0 -0
  186. package/.yarn/cache/estree-walker-npm-3.0.3-0372979673-c12e3c2b26.zip +0 -0
  187. package/.yarn/cache/esutils-npm-2.0.3-f865beafd5-9a2fe69a41.zip +0 -0
  188. package/.yarn/cache/expect-type-npm-1.3.0-95a4384745-8412b3fe4f.zip +0 -0
  189. package/.yarn/cache/exponential-backoff-npm-3.1.3-28be78d98e-77e3ae682b.zip +0 -0
  190. package/.yarn/cache/exsolve-npm-1.0.8-20570c05a2-65e44ae05b.zip +0 -0
  191. package/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-40dedc862e.zip +0 -0
  192. package/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-7f081eb0b8.zip +0 -0
  193. package/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-111972b373.zip +0 -0
  194. package/.yarn/cache/fast-uri-npm-3.0.3-0874072625-4b2c5ce681.zip +0 -0
  195. package/.yarn/cache/fdir-npm-6.5.0-8814a0dec7-e345083c43.zip +0 -0
  196. package/.yarn/cache/fflate-npm-0.8.2-5129f303f0-03448d630c.zip +0 -0
  197. package/.yarn/cache/file-entry-cache-npm-8.0.0-5b09d19a83-9e2b5938b1.zip +0 -0
  198. package/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-062c5a83a9.zip +0 -0
  199. package/.yarn/cache/flat-cache-npm-4.0.1-12bf2455f7-2c59d93e9f.zip +0 -0
  200. package/.yarn/cache/flatted-npm-3.2.9-0462256d3c-5c91c5a0a2.zip +0 -0
  201. package/.yarn/cache/flatted-npm-3.3.4-614e5aba3e-d1f33426e9.zip +0 -0
  202. package/.yarn/cache/fs-extra-npm-11.3.4-29a9d2b3b0-e08276f767.zip +0 -0
  203. package/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-63e80da2ff.zip +0 -0
  204. package/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-a1f0c44595.zip +0 -0
  205. package/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip +0 -0
  206. package/.yarn/cache/get-caller-file-npm-2.0.5-80e8a86305-c6c7b60271.zip +0 -0
  207. package/.yarn/cache/git-raw-commits-npm-4.0.0-60e7e666d1-ab51335d9e.zip +0 -0
  208. package/.yarn/cache/glob-npm-13.0.6-864eb0cece-269c236f11.zip +0 -0
  209. package/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-317034d886.zip +0 -0
  210. package/.yarn/cache/global-directory-npm-4.0.1-1de95382fd-f9cbeef41d.zip +0 -0
  211. package/.yarn/cache/globals-npm-17.4.0-d04eded15b-2be9e8c2b9.zip +0 -0
  212. package/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip +0 -0
  213. package/.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-1c6c83b14b.zip +0 -0
  214. package/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-2e789c61b7.zip +0 -0
  215. package/.yarn/cache/hasown-npm-2.0.0-78b794ceef-5d415b114f.zip +0 -0
  216. package/.yarn/cache/he-npm-1.2.0-3b73a2ff07-a27d478bef.zip +0 -0
  217. package/.yarn/cache/html-escaper-npm-2.0.2-38e51ef294-208e8a12de.zip +0 -0
  218. package/.yarn/cache/http-cache-semantics-npm-4.2.0-fadacfb3ad-45b66a945c.zip +0 -0
  219. package/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-4207b06a45.zip +0 -0
  220. package/.yarn/cache/https-proxy-agent-npm-7.0.6-27a95c2690-f729219bc7.zip +0 -0
  221. package/.yarn/cache/husky-npm-9.1.7-5b02eaabc4-35bb110a71.zip +0 -0
  222. package/.yarn/cache/iconv-lite-npm-0.7.2-716fc012a0-3c228920f3.zip +0 -0
  223. package/.yarn/cache/ignore-npm-5.3.0-fb0f5fa062-dc06bea5c2.zip +0 -0
  224. package/.yarn/cache/ignore-npm-7.0.5-dea34ee430-ae00db89fe.zip +0 -0
  225. package/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-7f882953aa.zip +0 -0
  226. package/.yarn/cache/import-lazy-npm-4.0.0-3215653869-a3520313e2.zip +0 -0
  227. package/.yarn/cache/import-meta-resolve-npm-4.2.0-d0ecf96035-3ee8aeecb6.zip +0 -0
  228. package/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-8b51313850.zip +0 -0
  229. package/.yarn/cache/ini-npm-4.1.1-01c2cbda7b-7fddc8dfd3.zip +0 -0
  230. package/.yarn/cache/ip-address-npm-10.1.0-d5d5693401-0103516cfa.zip +0 -0
  231. package/.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-e7fb686a73.zip +0 -0
  232. package/.yarn/cache/is-core-module-npm-2.13.1-36e17434f9-2cba9903aa.zip +0 -0
  233. package/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-5487da3569.zip +0 -0
  234. package/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-bb11d825e0.zip +0 -0
  235. package/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-17fb4014e2.zip +0 -0
  236. package/.yarn/cache/is-obj-npm-2.0.0-3d95e053f4-85044ed7ba.zip +0 -0
  237. package/.yarn/cache/is-plain-obj-npm-4.1.0-a4f2a92b44-32130d651d.zip +0 -0
  238. package/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-228cfa503f.zip +0 -0
  239. package/.yarn/cache/isexe-npm-4.0.0-588229ad74-5884815115.zip +0 -0
  240. package/.yarn/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-6c7ff21067.zip +0 -0
  241. package/.yarn/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-84323afb14.zip +0 -0
  242. package/.yarn/cache/istanbul-reports-npm-3.2.0-b755b56d78-d596317cfd.zip +0 -0
  243. package/.yarn/cache/jiti-npm-2.6.1-597ab7fb84-79b2e96a8e.zip +0 -0
  244. package/.yarn/cache/jju-npm-1.4.0-670678eaa3-f3f444557e.zip +0 -0
  245. package/.yarn/cache/js-tokens-npm-10.0.0-2f75d73bcb-a934987478.zip +0 -0
  246. package/.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-e248708d37.zip +0 -0
  247. package/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-184a24b4ea.zip +0 -0
  248. package/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-0d1c91569d.zip +0 -0
  249. package/.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-140932564c.zip +0 -0
  250. package/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-108fa90d4c.zip +0 -0
  251. package/.yarn/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-71e30015d7.zip +0 -0
  252. package/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cb168b61fd.zip +0 -0
  253. package/.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-4f95b5e8a5.zip +0 -0
  254. package/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-aa52f3c5e1.zip +0 -0
  255. package/.yarn/cache/kolorist-npm-1.8.0-2cc04dcc05-73075db44a.zip +0 -0
  256. package/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-effb03cad7.zip +0 -0
  257. package/.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-3da6ee62d4.zip +0 -0
  258. package/.yarn/cache/local-pkg-npm-1.1.2-04ade6b6c7-1bcfcc5528.zip +0 -0
  259. package/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-d3972ab70d.zip +0 -0
  260. package/.yarn/cache/lodash-npm-4.17.23-50bdb1c01a-1264a90469.zip +0 -0
  261. package/.yarn/cache/lodash.camelcase-npm-4.3.0-bf268e3bf0-fcba15d21a.zip +0 -0
  262. package/.yarn/cache/lodash.kebabcase-npm-4.1.1-89ffca7e1f-da5d8f41db.zip +0 -0
  263. package/.yarn/cache/lodash.mergewith-npm-4.6.2-7d2d4201ec-4adbed65ff.zip +0 -0
  264. package/.yarn/cache/lodash.snakecase-npm-4.1.1-b12cdbecb4-f0b3f2497e.zip +0 -0
  265. package/.yarn/cache/lodash.startcase-npm-4.4.0-637aa8cc15-bd82aa87a4.zip +0 -0
  266. package/.yarn/cache/lodash.upperfirst-npm-4.3.1-e3b7c364ba-435625da4b.zip +0 -0
  267. package/.yarn/cache/lru-cache-npm-11.2.6-acb7d4323e-73bbffb298.zip +0 -0
  268. package/.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-cb53e58278.zip +0 -0
  269. package/.yarn/cache/magic-string-npm-0.30.17-da1b7593b1-16826e415d.zip +0 -0
  270. package/.yarn/cache/magic-string-npm-0.30.21-9a226cb21e-299378e38f.zip +0 -0
  271. package/.yarn/cache/magicast-npm-0.5.2-24c891cd9d-924af67764.zip +0 -0
  272. package/.yarn/cache/make-dir-npm-4.0.0-ec3cd921cc-69b98a6c0b.zip +0 -0
  273. package/.yarn/cache/make-error-npm-1.3.6-ccb85d9458-171e458d86.zip +0 -0
  274. package/.yarn/cache/make-fetch-happen-npm-15.0.4-cd90f16f9b-b874bf6879.zip +0 -0
  275. package/.yarn/cache/meow-npm-12.1.1-bd7858d088-a125ca99a3.zip +0 -0
  276. package/.yarn/cache/meow-npm-13.2.0-9907f89171-d5b339ae31.zip +0 -0
  277. package/.yarn/cache/minimatch-npm-10.2.4-11f0605299-35f3dfb7b9.zip +0 -0
  278. package/.yarn/cache/minimatch-npm-9.0.7-145dd43fbb-e90f8d8dd1.zip +0 -0
  279. package/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-19d3fcdca0.zip +0 -0
  280. package/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-5167e73f62.zip +0 -0
  281. package/.yarn/cache/minipass-fetch-npm-5.0.2-cd03eefed8-ce4ab9f21c.zip +0 -0
  282. package/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-2a51b63feb.zip +0 -0
  283. package/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a114746943.zip +0 -0
  284. package/.yarn/cache/minipass-npm-7.1.3-b73a16498d-539da88dac.zip +0 -0
  285. package/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-cbda57cea2.zip +0 -0
  286. package/.yarn/cache/minipass-sized-npm-2.0.0-a911fc7d3f-f9201696a6.zip +0 -0
  287. package/.yarn/cache/minizlib-npm-3.1.0-6680befdba-5aad75ab00.zip +0 -0
  288. package/.yarn/cache/mlly-npm-1.8.1-0181666245-664fa66726.zip +0 -0
  289. package/.yarn/cache/mrmime-npm-2.0.0-0326eb1458-312b35ed28.zip +0 -0
  290. package/.yarn/cache/ms-npm-2.1.2-ec0c1512ff-a437714e2f.zip +0 -0
  291. package/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-d924b57e73.zip +0 -0
  292. package/.yarn/cache/muggle-string-npm-0.4.1-fe3c825cc2-e914b63e24.zip +0 -0
  293. package/.yarn/cache/nanoid-npm-3.3.11-f98c1f9ef6-40e7f70b3d.zip +0 -0
  294. package/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-f5f9a7974b.zip +0 -0
  295. package/.yarn/cache/negotiator-npm-1.0.0-47d727e27e-4c559dd526.zip +0 -0
  296. package/.yarn/cache/node-gyp-npm-12.2.0-11f8fe84f1-3ed046746a.zip +0 -0
  297. package/.yarn/cache/nopt-npm-9.0.0-81316ec15c-1822eb6f9b.zip +0 -0
  298. package/.yarn/cache/obug-npm-2.1.1-029730d296-59dccd7de7.zip +0 -0
  299. package/.yarn/cache/optionator-npm-0.9.3-56c3a4bf80-66fba794d4.zip +0 -0
  300. package/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-9db675949d.zip +0 -0
  301. package/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-2290d627ab.zip +0 -0
  302. package/.yarn/cache/p-map-npm-7.0.4-39386109d0-a5030935d3.zip +0 -0
  303. package/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-c63d6e8000.zip +0 -0
  304. package/.yarn/cache/parse-json-npm-5.2.0-00a63b1199-77947f2253.zip +0 -0
  305. package/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-8b8c3fd5c6.zip +0 -0
  306. package/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-8c0bd3f523.zip +0 -0
  307. package/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-748c43efd5.zip +0 -0
  308. package/.yarn/cache/path-parse-npm-1.0.7-09564527b7-11ce261f9d.zip +0 -0
  309. package/.yarn/cache/path-scurry-npm-2.0.2-f10aa6a77e-b35ad37cf6.zip +0 -0
  310. package/.yarn/cache/pathe-npm-2.0.3-0924246ee0-c118dc5a8b.zip +0 -0
  311. package/.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e2e3e8170a.zip +0 -0
  312. package/.yarn/cache/picomatch-npm-4.0.2-e93516ddf2-7c51f3ad2b.zip +0 -0
  313. package/.yarn/cache/picomatch-npm-4.0.3-0a647b87cc-9582c951e9.zip +0 -0
  314. package/.yarn/cache/pkg-types-npm-1.3.1-832c9cd162-19e6cb8b66.zip +0 -0
  315. package/.yarn/cache/pkg-types-npm-2.3.0-e7381b4aaa-d2bbddc5b8.zip +0 -0
  316. package/.yarn/cache/postcss-npm-8.5.8-b010bee8df-dd918f7127.zip +0 -0
  317. package/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-b00d617431.zip +0 -0
  318. package/.yarn/cache/proc-log-npm-6.1.0-84e609b3f4-4f178d4062.zip +0 -0
  319. package/.yarn/cache/punycode-npm-2.3.1-97543c420d-14f76a8206.zip +0 -0
  320. package/.yarn/cache/quansync-npm-0.2.11-f7bf964a44-cb9a1f8ebc.zip +0 -0
  321. package/.yarn/cache/require-directory-npm-2.1.1-8608aee50b-83aa76a7bc.zip +0 -0
  322. package/.yarn/cache/require-from-string-npm-2.0.2-8557e0db12-aaa267e0c5.zip +0 -0
  323. package/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-8408eec31a.zip +0 -0
  324. package/.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-b21cb7f1fb.zip +0 -0
  325. package/.yarn/cache/resolve-npm-1.22.8-098f379dfe-07e179f437.zip +0 -0
  326. package/.yarn/cache/resolve-patch-4254c24959-0446f02443.zip +0 -0
  327. package/.yarn/cache/retry-npm-0.13.1-89eb100ab6-9ae822ee19.zip +0 -0
  328. package/.yarn/cache/rollup-npm-4.59.0-3b10f603ec-f38742da34.zip +0 -0
  329. package/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-7e3c8b2e88.zip +0 -0
  330. package/.yarn/cache/semver-npm-7.5.4-c4ad957fcd-5160b06975.zip +0 -0
  331. package/.yarn/cache/semver-npm-7.6.3-57e82c14d5-88f33e148b.zip +0 -0
  332. package/.yarn/cache/semver-npm-7.7.4-746e538da5-5215ad0234.zip +0 -0
  333. package/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-a41692e7d8.zip +0 -0
  334. package/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1dbed0726d.zip +0 -0
  335. package/.yarn/cache/siginfo-npm-2.0.0-9bbac931f8-3def8f8e51.zip +0 -0
  336. package/.yarn/cache/sirv-npm-3.0.2-6cf658c733-5930e4397a.zip +0 -0
  337. package/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-a16775323e.zip +0 -0
  338. package/.yarn/cache/socks-npm-2.8.7-d1d20aae19-2805a43a1c.zip +0 -0
  339. package/.yarn/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-5d2c6cecba.zip +0 -0
  340. package/.yarn/cache/source-map-js-npm-1.2.1-b9a47d7e1a-7bda1fc4c1.zip +0 -0
  341. package/.yarn/cache/source-map-npm-0.6.1-1a3621db16-ab55398007.zip +0 -0
  342. package/.yarn/cache/split2-npm-4.2.0-16aa3883ba-b292beb8ce.zip +0 -0
  343. package/.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-ecadcfe4c7.zip +0 -0
  344. package/.yarn/cache/ssri-npm-13.0.1-c266f2233c-cf6408a186.zip +0 -0
  345. package/.yarn/cache/stackback-npm-0.0.2-73273dc92e-89a1416668.zip +0 -0
  346. package/.yarn/cache/std-env-npm-3.10.0-30d3e2646f-1814927a45.zip +0 -0
  347. package/.yarn/cache/string-argv-npm-0.3.2-6e057a88f1-75c02a8375.zip +0 -0
  348. package/.yarn/cache/string-width-npm-4.2.3-2c27177bae-1e525e92e5.zip +0 -0
  349. package/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-1ae5f212a1.zip +0 -0
  350. package/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-9681a6257b.zip +0 -0
  351. package/.yarn/cache/supports-color-npm-5.5.0-183ac537bc-6ae5ff319b.zip +0 -0
  352. package/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-afb4c88521.zip +0 -0
  353. package/.yarn/cache/supports-color-npm-8.1.1-289e937149-ea1d3c275d.zip +0 -0
  354. package/.yarn/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-6c40323407.zip +0 -0
  355. package/.yarn/cache/tar-npm-7.5.10-83147ff192-ed905e4b33.zip +0 -0
  356. package/.yarn/cache/tinybench-npm-2.9.0-2861a048db-c3500b0f60.zip +0 -0
  357. package/.yarn/cache/tinyexec-npm-1.0.2-321b713e56-1261a8e34c.zip +0 -0
  358. package/.yarn/cache/tinyglobby-npm-0.2.15-0e783aadbd-869c31490d.zip +0 -0
  359. package/.yarn/cache/tinyrainbow-npm-3.0.3-06ed35d14d-1e799d35cd.zip +0 -0
  360. package/.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-b214d21dbf.zip +0 -0
  361. package/.yarn/cache/totalist-npm-3.0.1-91e71f3baa-4bb1fadb69.zip +0 -0
  362. package/.yarn/cache/ts-api-utils-npm-2.4.0-1179124e9a-ed185861ae.zip +0 -0
  363. package/.yarn/cache/ts-node-npm-10.9.2-3f3890b9ac-5f29938489.zip +0 -0
  364. package/.yarn/cache/tslib-npm-2.8.1-66590b21b8-9c4759110a.zip +0 -0
  365. package/.yarn/cache/type-check-npm-0.4.0-60565800ce-7b3fd0ed43.zip +0 -0
  366. package/.yarn/cache/typescript-eslint-npm-8.56.1-533c704529-c33aeb9a8b.zip +0 -0
  367. package/.yarn/cache/typescript-npm-5.7.2-b1f84a8b28-a873118b52.zip +0 -0
  368. package/.yarn/cache/typescript-npm-5.8.2-b95d637f6a-5c4f6fbf1c.zip +0 -0
  369. package/.yarn/cache/typescript-patch-26c53754b1-5448a08e59.zip +0 -0
  370. package/.yarn/cache/typescript-patch-aed9e5263d-f3b8082c9d.zip +0 -0
  371. package/.yarn/cache/ufo-npm-1.6.3-29bac69d97-bf0e4ebff9.zip +0 -0
  372. package/.yarn/cache/undici-types-npm-7.18.2-3e6d69d829-85a7918911.zip +0 -0
  373. package/.yarn/cache/unique-filename-npm-5.0.0-605f54f18e-afb897e9cf.zip +0 -0
  374. package/.yarn/cache/unique-slug-npm-6.0.0-f26b186e99-da7ade4cb0.zip +0 -0
  375. package/.yarn/cache/universalify-npm-2.0.1-040ba5a21e-73e8ee3809.zip +0 -0
  376. package/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-4ef57b45aa.zip +0 -0
  377. package/.yarn/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-bdc36fb809.zip +0 -0
  378. package/.yarn/cache/vite-npm-7.3.1-330baf2f0d-5c7548f5f4.zip +0 -0
  379. package/.yarn/cache/vite-plugin-dts-npm-4.5.4-2445647687-5fcb7f3739.zip +0 -0
  380. package/.yarn/cache/vitest-npm-4.0.18-52f42bdace-b913cd3203.zip +0 -0
  381. package/.yarn/cache/vscode-uri-npm-3.0.8-56f46b9d24-f7f217f526.zip +0 -0
  382. package/.yarn/cache/which-npm-2.0.2-320ddf72f7-66522872a7.zip +0 -0
  383. package/.yarn/cache/which-npm-6.0.1-afc3b2db90-7e710e54ea.zip +0 -0
  384. package/.yarn/cache/why-is-node-running-npm-2.3.0-011cf61a18-1cde0b01b8.zip +0 -0
  385. package/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-d15fc12c11.zip +0 -0
  386. package/.yarn/cache/y18n-npm-5.0.8-5f3a0a7e62-4df2842c36.zip +0 -0
  387. package/.yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip +0 -0
  388. package/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-a499c81ce6.zip +0 -0
  389. package/.yarn/cache/yargs-npm-17.7.2-80b62638e1-ccd7e723e6.zip +0 -0
  390. package/.yarn/cache/yargs-parser-npm-21.1.1-8fdc003314-f84b5e4816.zip +0 -0
  391. package/.yarn/cache/yn-npm-3.1.1-8ad4259784-0732468dd7.zip +0 -0
  392. package/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-dceb44c285.zip +0 -0
  393. package/.yarn/install-state.gz +0 -0
  394. package/.yarn/releases/yarn-4.12.0.cjs +942 -0
  395. package/.yarnrc.yml +5 -0
  396. package/AGENTS.md +82 -0
  397. package/CHANGELOG.md +29 -0
  398. package/CODE_OF_CONDUCT.md +128 -0
  399. package/README.md +324 -107
  400. package/dist/assert.cjs +66 -0
  401. package/dist/assert.d.ts +16 -0
  402. package/dist/assert.mjs +66 -0
  403. package/dist/assertions.cjs +190 -92
  404. package/dist/assertions.d.ts +58 -2
  405. package/dist/assertions.mjs +191 -93
  406. package/dist/checkers.d.ts +8 -0
  407. package/dist/combinators.cjs +341 -0
  408. package/dist/combinators.d.ts +17 -0
  409. package/dist/combinators.mjs +341 -0
  410. package/dist/constraints.d.ts +4 -0
  411. package/dist/extractors.d.ts +2 -0
  412. package/dist/index.cjs +172 -61
  413. package/dist/index.d.ts +10 -4
  414. package/dist/index.mjs +176 -64
  415. package/dist/json-schema.cjs +514 -0
  416. package/dist/json-schema.d.ts +14 -0
  417. package/dist/json-schema.mjs +514 -0
  418. package/dist/metadata.cjs +8 -0
  419. package/dist/metadata.cjs.js +130 -0
  420. package/dist/metadata.d.ts +8 -0
  421. package/dist/metadata.es.js +131 -0
  422. package/dist/metadata.mjs +8 -0
  423. package/dist/predicates.cjs +40 -5
  424. package/dist/predicates.d.ts +25 -3
  425. package/dist/predicates.mjs +40 -5
  426. package/dist/violations.d.ts +29 -0
  427. package/docker/services/node/Dockerfile +9 -0
  428. package/docs/en/00-index.md +14 -0
  429. package/docs/en/01-shape-api.md +348 -0
  430. package/docs/en/02-metadata-and-introspection.md +276 -0
  431. package/docs/en/03-violations.md +267 -0
  432. package/docs/en/04-json-schema-export.md +264 -0
  433. package/docs/en/05-public-api.md +123 -0
  434. package/docs/en/06-common-recipes.md +273 -0
  435. package/docs/en/07-ai-reference.md +215 -0
  436. package/docs/en/08-violation-code-types.md +241 -0
  437. package/docs/ru/00-index.md +15 -0
  438. package/docs/ru/01-shape-api.md +348 -0
  439. package/docs/ru/02-metadata-and-introspection.md +276 -0
  440. package/docs/ru/03-violations.md +267 -0
  441. package/docs/ru/04-json-schema-export.md +264 -0
  442. package/docs/ru/05-public-api.md +123 -0
  443. package/docs/ru/06-common-recipes.md +273 -0
  444. package/docs/ru/07-ai-reference.md +215 -0
  445. package/docs/ru/08-violation-code-types.md +241 -0
  446. package/docs/ru/README.md +371 -0
  447. package/drafts/.gitignore +2 -0
  448. package/package.json +43 -33
  449. package/skills/commit-workflow/SKILL.md +93 -0
  450. package/skills/coverage-recovery/SKILL.md +68 -0
  451. package/skills/yarn-lock-conflict-resolution/SKILL.md +69 -0
  452. package/types/index.d.ts +789 -30
  453. package/types/json-schema.d.ts +75 -0
  454. package/dist/assertions/Assert.d.ts +0 -2
  455. package/dist/assertions/HasLength.d.ts +0 -7
  456. package/dist/assertions/check.d.ts +0 -3
  457. package/dist/assertions/index.d.ts +0 -16
  458. package/dist/runners/Each.d.ts +0 -3
  459. package/dist/runners/HasProperties.d.ts +0 -6
  460. package/dist/runners/index.d.ts +0 -2
  461. package/dist/runners.cjs +0 -32
  462. package/dist/runners.d.ts +0 -2
  463. package/dist/runners.mjs +0 -32
@@ -0,0 +1,371 @@
1
+ # <img src="../../logo.png" alt="Logo" width="36" /> `@modulify/validator`
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@modulify/validator.svg)](https://www.npmjs.com/package/@modulify/validator)
4
+ [![codecov](https://codecov.io/gh/modulify/validator/branch/main/graph/badge.svg)](https://codecov.io/gh/modulify/validator)
5
+ [![Tests Status](https://github.com/modulify/validator/actions/workflows/tests.yml/badge.svg)](https://github.com/modulify/validator/actions)
6
+
7
+ [README на английском](../../README.md)
8
+ [Индекс русской документации](./00-index.md)
9
+
10
+ `@modulify/validator` — небольшая TypeScript-библиотека для валидации, построенная вокруг трёх отдельных слоёв:
11
+
12
+ - predicates для проверок во время выполнения и сужения типов;
13
+ - assertions для машиночитаемых результатов валидации с ошибкой;
14
+ - combinators для композиции схем, включая структурную рекурсию по массивам и объектам.
15
+
16
+ Проект сознательно строится вокруг структурированных метаданных, а не вокруг встроенных человекочитаемых сообщений об ошибках.
17
+
18
+ ## Что это за проект
19
+
20
+ Эта библиотека рассчитана на случаи, когда вам нужно:
21
+
22
+ - сохранить простые type guards полезными сами по себе;
23
+ - валидировать вложенные данные рекурсивно;
24
+ - получать структурированные violations вместо текстовых сообщений;
25
+ - позже самостоятельно решать, как эти violations показывать или преобразовывать.
26
+
27
+ Типичные результаты слоя валидации можно преобразовать в:
28
+
29
+ - локализованные сообщения об ошибках;
30
+ - состояние ошибок полей формы;
31
+ - API payloads с ошибками;
32
+ - данные для аналитики или отладки;
33
+ - собственный UI или узлы virtual DOM.
34
+
35
+ ## Идея
36
+
37
+ Проект разделяет две задачи, которые часто смешиваются в одной абстракции.
38
+
39
+ ### Предикаты
40
+
41
+ Predicates — это небольшие проверки во время выполнения, которые одновременно работают как TypeScript type guards.
42
+
43
+ Они отвечают на вопросы вроде:
44
+
45
+ - является ли это значение строкой?
46
+ - является ли это значение объектом с определённой формой?
47
+ - выполняет ли это значение базовое логическое условие?
48
+
49
+ Этот слой должен оставаться простым и полезным сам по себе даже вне контура валидации.
50
+
51
+ ### Валидаторы и assertions
52
+
53
+ Assertions — это проверки, которые могут вернуть violation со структурированными метаданными.
54
+
55
+ Вместо генерации текстового сообщения assertion возвращает данные, которые описывают:
56
+
57
+ - что именно сломалось;
58
+ - где это произошло;
59
+ - какой семантический код сработал;
60
+ - какие аргументы или границы были задействованы.
61
+
62
+ Так представление результата остаётся за пределами библиотеки.
63
+
64
+ ### Почему это существует рядом с `zod`-подобными библиотеками
65
+
66
+ Библиотеки вроде `zod`, `yup` и других schema-oriented инструментов хорошо известны и отлично решают большой класс задач.
67
+
68
+ Задача этого проекта в другом.
69
+
70
+ Он в первую очередь не пытается быть:
71
+
72
+ - schema-definition DSL;
73
+ - form library со встроенной семантикой сообщений;
74
+ - all-in-one parsing и слой представления.
75
+
76
+ Вместо этого проект фокусируется на:
77
+
78
+ - маленьких predicates для narrowing;
79
+ - отдельном слое assertions для diagnostics;
80
+ - composable schema combinators;
81
+ - machine-readable violations, которые потребитель может преобразовывать как угодно.
82
+
83
+ Короткое описание направления проекта:
84
+
85
+ > Type-safe predicates for narrowing, and validators for machine-readable diagnostics.
86
+
87
+ Или ещё короче:
88
+
89
+ > No messages, only meaning.
90
+
91
+ ## Установка
92
+
93
+ Через `yarn`:
94
+
95
+ ```bash
96
+ yarn add @modulify/validator
97
+ ```
98
+
99
+ Через `npm`:
100
+
101
+ ```bash
102
+ npm install @modulify/validator --save
103
+ ```
104
+
105
+ ## Быстрый пример
106
+
107
+ ```typescript
108
+ import {
109
+ each,
110
+ shape,
111
+ exact,
112
+ hasLength,
113
+ isDefined,
114
+ isString,
115
+ nullable,
116
+ optional,
117
+ validate,
118
+ } from '@modulify/validator'
119
+
120
+ const [ok, validated, violations] = await validate({
121
+ form: {
122
+ nickname: undefined,
123
+ title: null,
124
+ password: '',
125
+ role: 'admin',
126
+ },
127
+ }, shape({
128
+ form: [
129
+ isDefined,
130
+ shape({
131
+ nickname: optional([isString, hasLength({ min: 4 })]),
132
+ title: nullable(isString),
133
+ password: [isString, hasLength({ min: 6 })],
134
+ role: exact('admin'),
135
+ }),
136
+ ],
137
+ }))
138
+
139
+ if (ok) {
140
+ validated.form.nickname.toUpperCase()
141
+ } else {
142
+ console.log(violations)
143
+ }
144
+ ```
145
+
146
+ Синхронная валидация:
147
+
148
+ ```typescript
149
+ const [ok, validated, violations] = validate.sync({
150
+ form: {
151
+ nickname: '',
152
+ password: '',
153
+ },
154
+ }, shape({
155
+ form: [
156
+ isDefined,
157
+ shape({
158
+ nickname: [isString, hasLength({ min: 4 })],
159
+ password: [isString, hasLength({ min: 6 })],
160
+ }),
161
+ ],
162
+ }))
163
+
164
+ if (ok) {
165
+ validated.form.password.toUpperCase()
166
+ }
167
+ ```
168
+
169
+ Сужение исходной переменной в sync-коде:
170
+
171
+ ```typescript
172
+ import {
173
+ isDefined,
174
+ isString,
175
+ matches,
176
+ } from '@modulify/validator'
177
+
178
+ const value: unknown = 'nickname'
179
+
180
+ if (matches.sync(value, [isDefined, isString])) {
181
+ value.toUpperCase()
182
+ }
183
+ ```
184
+
185
+ Сильная типизация успешной ветки прямо из `validate`:
186
+
187
+ ```typescript
188
+ import {
189
+ shape,
190
+ isDefined,
191
+ isString,
192
+ validate,
193
+ } from '@modulify/validator'
194
+
195
+ const schema = shape({
196
+ name: [isDefined, isString],
197
+ })
198
+
199
+ const [ok, validated, violations] = await validate({ name: 'Kirill' }, schema)
200
+
201
+ if (ok) {
202
+ validated.name.toUpperCase()
203
+ } else {
204
+ console.log(violations)
205
+ }
206
+ ```
207
+
208
+ ## API объектных схем
209
+
210
+ `shape(...)` — это переиспользуемый API объектных схем. Он валидирует вложенные record-like objects и предоставляет небольшой неизменяемый API вроде `strict()`, `pick()`, `omit()`, `partial()`, `extend()`, `merge()`, `refine()` и `fieldsMatch(...)`.
211
+
212
+ ```typescript
213
+ import {
214
+ isString,
215
+ optional,
216
+ shape,
217
+ validate,
218
+ } from '@modulify/validator'
219
+
220
+ const profile = shape({
221
+ id: isString,
222
+ nickname: optional(isString),
223
+ })
224
+
225
+ const [ok] = validate.sync({
226
+ id: 'u1',
227
+ nickname: 'neo',
228
+ }, profile)
229
+ ```
230
+
231
+ Подробные руководства:
232
+
233
+ - [Руководство по API объектных схем](./01-shape-api.md)
234
+
235
+ ## Метаданные и интроспекция
236
+
237
+ `meta(...)` добавляет машиночитаемые метаданные к любому constraint, а `describe(...)` возвращает стабильное рекурсивное дерево descriptors для built-in constraints и совместимых custom validators.
238
+
239
+ ```typescript
240
+ import {
241
+ describe,
242
+ isString,
243
+ meta,
244
+ optional,
245
+ shape,
246
+ } from '@modulify/validator'
247
+
248
+ const registration = meta(shape({
249
+ email: meta(isString, {
250
+ title: 'Email',
251
+ placeholder: 'name@example.com',
252
+ }),
253
+ nickname: optional(isString),
254
+ }).strict(), {
255
+ title: 'Registration form',
256
+ })
257
+
258
+ const node = describe(registration)
259
+ ```
260
+
261
+ Подробные руководства:
262
+
263
+ - [Руководство по метаданным и интроспекции](./02-metadata-and-introspection.md)
264
+ - [Руководство по типам кодов нарушений](./08-violation-code-types.md)
265
+
266
+ ## Ментальная модель
267
+
268
+ Практически про библиотеку удобно думать так:
269
+
270
+ - predicates отвечают: удовлетворяет ли значение условию `X`?
271
+ - assertions отвечают: если нет, то что именно сломалось?
272
+ - combinators отвечают: как объединять constraints в более крупную схему, включая рекурсивный обход объектов и массивов?
273
+
274
+ В текущем API это обычно выглядит так:
275
+
276
+ - leaf checks через assertions вроде `isString`, `isDefined`, `hasLength`, `oneOf`;
277
+ - композиция схем через combinators вроде `exact`, `optional`, `nullable`, `nullish`, `shape(...)`, `each(...)`;
278
+ - типизированная валидация через `validate(...)` или `validate.sync(...)`;
279
+ - narrowing исходной переменной в sync-коде через `matches.sync(...)`.
280
+
281
+ ## Нарушения
282
+
283
+ `validate(...)` возвращает машиночитаемый список `Violation[]`, а `collection(...)` может обернуть его в небольшой helper API для точного поиска по path и обхода дерева.
284
+
285
+ ```typescript
286
+ import {
287
+ collection,
288
+ isString,
289
+ shape,
290
+ validate,
291
+ } from '@modulify/validator'
292
+
293
+ const [ok, validated, violations] = validate.sync({
294
+ profile: {
295
+ email: '',
296
+ },
297
+ }, shape({
298
+ profile: shape({
299
+ email: isString,
300
+ }),
301
+ }))
302
+
303
+ const errors = collection(violations)
304
+
305
+ const rootErrors = errors.at([])
306
+ const emailErrors = errors.at(['profile', 'email'])
307
+ ```
308
+
309
+ Подробные руководства:
310
+
311
+ - [Руководство по нарушениям](./03-violations.md)
312
+ - [Руководство по типам кодов нарушений](./08-violation-code-types.md)
313
+
314
+ ## Экспорт JSON Schema
315
+
316
+ `toJsonSchema(...)` строит представление JSON Schema поверх того же публичного дерева descriptors, которое возвращает `describe(...)`.
317
+
318
+ ```typescript
319
+ import {
320
+ isNumber,
321
+ isString,
322
+ meta,
323
+ optional,
324
+ shape,
325
+ } from '@modulify/validator'
326
+ import { toJsonSchema } from '@modulify/validator/json-schema'
327
+
328
+ const profile = meta(shape({
329
+ email: meta(isString, {
330
+ title: 'Email',
331
+ format: 'email',
332
+ }),
333
+ age: optional(isNumber),
334
+ }).strict(), {
335
+ title: 'Profile',
336
+ })
337
+
338
+ const jsonSchema = toJsonSchema(profile)
339
+ ```
340
+
341
+ Подробные руководства:
342
+
343
+ - [Руководство по экспорту JSON Schema](./04-json-schema-export.md)
344
+
345
+ ## Публичный API
346
+
347
+ Подробное руководство по public API описывает root exports, специализированные subpath exports, validation result tuple и то, как package surface разделён между validation, predicates, violations, metadata и экспортом JSON Schema.
348
+
349
+ Подробные руководства:
350
+
351
+ - [Руководство по публичному API](./05-public-api.md)
352
+
353
+ ## Практические рецепты и справка для AI
354
+
355
+ Есть ещё два руководства, которые полезны, когда нужен более быстрый практический вход вместо последовательного чтения всей концептуальной документации.
356
+
357
+ - [Практические рецепты](./06-common-recipes.md) - практические примеры для валидации payload, выбора wrappers, переиспользуемых shape, сопоставления ошибок формы и экспорта JSON Schema.
358
+ - [Справка для AI](./07-ai-reference.md) - компактное описание контракта для agents, инструментов и быстрого поиска семантики библиотеки.
359
+
360
+ ## Заметки
361
+
362
+ - Assertions возвращают структурированные метаданные вместо сообщений.
363
+ - Combinators — это тонкие вспомогательные средства для построения схем поверх assertions и validators; `each` и `shape` в этой модели являются structural combinators.
364
+ - Predicates должны оставаться полезными независимо от слоя валидации.
365
+ - Библиотекой проще пользоваться, когда во всём проекте сохраняется один стабильный violation format.
366
+ - `validate(...)` сужает тип `validated` в tuple, а не исходную входную переменную.
367
+ - Чтобы сузить исходную переменную в sync-коде, используйте `matches.sync(...)`.
368
+
369
+ ## Переводы
370
+
371
+ - [English](../../README.md)
@@ -0,0 +1,2 @@
1
+ *
2
+ !.gitignore
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "type": "module",
4
4
  "description": "Declarative validation util for JavaScript",
5
5
  "license": "MIT",
6
- "version": "0.1.0",
6
+ "version": "0.2.0",
7
7
  "exports": {
8
8
  ".": {
9
9
  "types": "./dist/index.d.ts",
@@ -17,17 +17,23 @@
17
17
  "require": "./dist/assertions.cjs",
18
18
  "default": "./dist/assertions.mjs"
19
19
  },
20
+ "./combinators": {
21
+ "types": "./dist/combinators.d.ts",
22
+ "import": "./dist/combinators.mjs",
23
+ "require": "./dist/combinators.cjs",
24
+ "default": "./dist/combinators.mjs"
25
+ },
26
+ "./json-schema": {
27
+ "types": "./dist/json-schema.d.ts",
28
+ "import": "./dist/json-schema.mjs",
29
+ "require": "./dist/json-schema.cjs",
30
+ "default": "./dist/json-schema.mjs"
31
+ },
20
32
  "./predicates": {
21
33
  "types": "./dist/predicates.d.ts",
22
34
  "import": "./dist/predicates.mjs",
23
35
  "require": "./dist/predicates.cjs",
24
36
  "default": "./dist/predicates.mjs"
25
- },
26
- "./runners": {
27
- "types": "./dist/runners.d.ts",
28
- "import": "./dist/runners.mjs",
29
- "require": "./dist/runners.cjs",
30
- "default": "./dist/runners.mjs"
31
37
  }
32
38
  },
33
39
  "types": "dist/index.d.ts",
@@ -36,11 +42,14 @@
36
42
  "assertions": [
37
43
  "./dist/assertions.d.ts"
38
44
  ],
45
+ "combinators": [
46
+ "./dist/combinators.d.ts"
47
+ ],
48
+ "json-schema": [
49
+ "./dist/json-schema.d.ts"
50
+ ],
39
51
  "predicates": [
40
52
  "./dist/predicates.d.ts"
41
- ],
42
- "runners": [
43
- "./dist/runners.d.ts"
44
53
  ]
45
54
  }
46
55
  },
@@ -48,33 +57,38 @@
48
57
  "build": "vite build",
49
58
  "lint": "eslint src tests types",
50
59
  "prepare": "husky",
51
- "release": "standard-version",
52
- "release:minor": "standard-version --release-as minor",
53
- "release:patch": "standard-version --release-as patch",
54
- "release:major": "standard-version --release-as major",
60
+ "release": "npx --yes standard-version",
61
+ "release:minor": "npx --yes standard-version --release-as minor",
62
+ "release:patch": "npx --yes standard-version --release-as patch",
63
+ "release:major": "npx --yes standard-version --release-as major",
55
64
  "stats": "gzip -c ./dist/index.mjs | wc -c",
56
65
  "test": "vitest run",
66
+ "test:d": "vitest run --typecheck.only",
57
67
  "test:coverage": "vitest run --coverage",
58
- "test:coverage:html": "vitest run --coverage --reporter=html --outputFile.html=./reports/html/report.html"
68
+ "test:coverage:html": "vitest run --coverage --reporter=html --outputFile.html=./reports/html/report.html",
69
+ "typecheck": "tsc --noEmit"
59
70
  },
60
71
  "devDependencies": {
61
- "@commitlint/cli": "^17.7.1",
62
- "@commitlint/config-conventional": "^17.7.0",
63
- "@eslint/js": "^9.17.0",
64
- "@types/node": "^18.15 || ^20.11",
65
- "@vitest/coverage-istanbul": "2.1.8",
66
- "@vitest/ui": "2.1.8",
67
- "eslint": "^9.17.0",
68
- "globals": "^15.14.0",
72
+ "@commitlint/cli": "^20.4.3",
73
+ "@commitlint/config-conventional": "^20.4.3",
74
+ "@eslint/js": "^10.0.1",
75
+ "@types/node": "^25.3.5",
76
+ "@vitest/coverage-v8": "4.0.18",
77
+ "@vitest/ui": "4.0.18",
78
+ "eslint": "^10.0.3",
79
+ "globals": "^17.4.0",
69
80
  "husky": "^9.1.7",
70
- "standard-version": "^9.5.0",
71
81
  "ts-node": "^10.9.2",
72
82
  "tslib": "^2.8.1",
73
83
  "typescript": "^5.5.4",
74
- "typescript-eslint": "^8.18.1",
75
- "vite": "^5.4.11",
76
- "vite-plugin-dts": "^4.4.0",
77
- "vitest": "^2.1.8"
84
+ "typescript-eslint": "^8.56.1",
85
+ "vite": "^7.3.1",
86
+ "vite-plugin-dts": "^4.5.4",
87
+ "vitest": "^4.0.18"
88
+ },
89
+ "resolutions": {
90
+ "minimatch@npm:10.2.1": "npm:10.2.4",
91
+ "minimatch@npm:^9.0.3": "npm:9.0.7"
78
92
  },
79
93
  "publishConfig": {
80
94
  "access": "public"
@@ -92,9 +106,5 @@
92
106
  "type": "git",
93
107
  "url": "https://github.com/modulify/validator.git"
94
108
  },
95
- "husky": {
96
- "hooks": {
97
- "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
98
- }
99
- }
109
+ "packageManager": "yarn@4.12.0"
100
110
  }
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: commit-workflow
3
+ description: Use this skill when creating git commits in this repository. It standardizes commit splitting, Conventional Commit type selection, optional subsystem scopes, changelog-friendly phrasing, and commitlint constraints.
4
+ ---
5
+
6
+ # Commit Workflow
7
+
8
+ ## When To Use
9
+ Use this skill when the user asks to:
10
+ - create one or more commits;
11
+ - split changes into separate commits;
12
+ - choose commit messages, types, or scopes;
13
+ - validate commit formatting before committing.
14
+
15
+ ## Mandatory First Step
16
+ Before creating any commit in this repository, reread this skill from the top and treat it as the current source of truth for commit wording, scopes, splitting, and lockfile policy.
17
+
18
+ ## Source Of Truth
19
+ - `AGENTS.md`
20
+ - `.commitlintrc.json`
21
+
22
+ ## Required Rules
23
+ - Commit format: Conventional Commits.
24
+ - Message language: English by default.
25
+ - Subject style: describe a completed historical change, not an intention.
26
+ - Start commit subject description with an uppercase letter.
27
+ - Keep commit subject description concise.
28
+ - Put long details into the commit body; lists in body are allowed.
29
+ - Use past/perfective wording; prefer passive voice when it reads naturally for changelogs.
30
+ Examples: `Added ...`, `Removed ...`, `Refactored ...`, `Fixed ...`, `Updated ...`.
31
+ - Allowed types: `feat`, `fix`, `build`, `ci`, `perf`, `docs`, `refactor`, `style`, `test`, `chore`.
32
+ - This repository is a single package, so scope is optional.
33
+ - If scope improves clarity, use a real subsystem scope such as:
34
+ `assertions`, `predicates`, `runners`, `types`, `build`, `tests`.
35
+ - Do not invent synthetic scopes just to imitate release automation.
36
+ - Breaking changes: use `!` in header or a `BREAKING CHANGE` footer.
37
+ - Do not mix unrelated changes in one commit.
38
+ - Always commit `yarn.lock` changes in a dedicated commit with no other files.
39
+ - For a `yarn.lock`-only commit, use the exact header: `chore: Updated yarn.lock`.
40
+ - Do not amend or rewrite history unless explicitly requested.
41
+
42
+ ## Commitlint Constraints
43
+ - Header max length: `200`
44
+ - Body line max length: `200`
45
+ - Footer line max length: `200`
46
+ - `subject-case: never`
47
+
48
+ ## Workflow
49
+ 1. Inspect pending changes:
50
+ ```bash
51
+ git status --short
52
+ git diff
53
+ ```
54
+ 2. Group files by logical intent.
55
+ Keep code, docs, lockfile, and generated artifacts separated when they represent different changes.
56
+ 3. If `yarn.lock` changed, split it into a dedicated commit.
57
+ 4. Choose commit type and optional scope.
58
+ 5. Compose the header:
59
+ ```text
60
+ <type>(<scope>): <Short description>
61
+ ```
62
+ If scope is not useful, omit it:
63
+ ```text
64
+ <type>: <Short description>
65
+ ```
66
+ 6. Stage only the target files:
67
+ ```bash
68
+ git add <files>
69
+ ```
70
+ 7. Create the commit non-interactively:
71
+ ```bash
72
+ git commit -m "<type>(<scope>): <Description>"
73
+ ```
74
+ 8. Verify the result:
75
+ ```bash
76
+ git show --name-status --oneline -n 1
77
+ ```
78
+
79
+ ## Practical Patterns
80
+ - Public API redesign:
81
+ `feat!: Assertion API was redesigned around structured violations`
82
+ - Assertion internals cleanup:
83
+ `refactor(assertions): Assertion helpers were simplified`
84
+ - Type-only adjustment:
85
+ `refactor(types): Public assertion types were updated`
86
+ - Test coverage update:
87
+ `test: Assertion coverage was expanded`
88
+ - Build/config change:
89
+ `build: Vite entrypoints were updated`
90
+ - Documentation update:
91
+ `docs: README was updated`
92
+ - Lockfile refresh:
93
+ `chore: Updated yarn.lock`
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: coverage-recovery
3
+ description: Use this skill when coverage is below target or when uncovered validator, predicate, runner, or build-related paths must be analyzed and resolved with minimal artificial tests.
4
+ ---
5
+
6
+ # Coverage Recovery
7
+
8
+ ## When To Use
9
+ Use this skill when the user asks to:
10
+ - increase test coverage;
11
+ - analyze uncovered lines or branches;
12
+ - explain why specific uncovered paths remain;
13
+ - improve confidence around assertions, predicates, runners, or validation edge cases.
14
+
15
+ ## Source Of Truth
16
+ - `AGENTS.md`
17
+ - `vitest.config.ts`
18
+ - `package.json`
19
+ - `coverage/` HTML reports
20
+
21
+ ## Principles
22
+ - Coverage is a quality signal, not a vanity metric.
23
+ - Start from real public API behavior.
24
+ - Prefer fixing architecture or removing dead code over adding synthetic tests for impossible paths.
25
+ - Defensive branches should be tested with controlled failure scenarios.
26
+ - Keep type-level and runtime behavior aligned; run `yarn typecheck` together with coverage work when typings are touched.
27
+
28
+ ## Workflow
29
+ 1. Collect facts:
30
+ ```bash
31
+ yarn test:coverage
32
+ ```
33
+ 2. Read uncovered details, not only percentages.
34
+ Use:
35
+ - `coverage/index.html`
36
+ - `coverage/lcov-report/index.html` if present
37
+ 3. Classify uncovered paths:
38
+ - `real usage gap` - missed public scenario,
39
+ - `defensive path` - malformed input or runtime failure,
40
+ - `dead/redundant path` - likely removable,
41
+ - `architecture smell` - design makes real testing awkward.
42
+ 4. Resolve in this order:
43
+ - add or adjust tests for real public API scenarios,
44
+ - add controlled break/failure tests for defensive branches,
45
+ - simplify or remove dead branches,
46
+ - propose architecture refactor for smell cases.
47
+ 5. Re-run checks:
48
+ ```bash
49
+ yarn lint
50
+ yarn typecheck
51
+ yarn test:coverage
52
+ ```
53
+
54
+ ## Controlled Failure Patterns
55
+ - Invalid values passed into assertions or runners.
56
+ - Rejected async assertions.
57
+ - Unsupported object/array shapes for recursive validators.
58
+ - Type guard mismatches between runtime checks and declared narrowing.
59
+ - Export or build-path regressions surfaced only after refactors.
60
+
61
+ ## Stop Condition
62
+ If progress stalls after reasonable attempts:
63
+ 1. Stop brute-force test additions.
64
+ 2. Report exact uncovered locations and why they are hard or non-natural.
65
+ 3. Offer concrete options:
66
+ - accept remaining defensive uncovered paths,
67
+ - refactor the implementation to make behavior testable,
68
+ - remove redundant branches if behavior is impossible by construction.