@loomhelm/multi-task-flow 0.2.7 → 0.2.9

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 (1046) hide show
  1. package/README.md +22 -18
  2. package/package.json +3 -13
  3. package/src/build-info.ts +4 -2
  4. package/src/cli/release.ts +4 -40
  5. package/src/cli/service.ts +26 -0
  6. package/src/cli.ts +3 -1
  7. package/src/release-tarball.ts +1 -1
  8. package/src/release.ts +7 -1
  9. package/src/runtime-identity.ts +4 -2
  10. package/src/toolkit.ts +71 -15
  11. package/toolkit/artifact-manifest.json +317 -4224
  12. package/toolkit/package.json +1 -1
  13. package/toolkit/skills/bin/check_source_policy.ts +13 -7
  14. package/toolkit/skills/bin/multi_task_platform_gate.ts +2 -2
  15. package/toolkit/skills/bin/tests/core/package_scripts.test.ts +1 -1
  16. package/toolkit/skills/bin/tests/plan/multi-task-flow.test.ts +3 -3
  17. package/toolkit/skills/catalog.json +0 -1
  18. package/toolkit/skills/docs/vendor/dot-codex/design/multi-task-flow/data-and-scripts.md +84 -28
  19. package/toolkit/skills/docs/vendor/dot-codex/design/multi-task-flow/execution.md +1 -1
  20. package/toolkit/skills/docs/vendor/dot-codex/design/multi-task-flow/plan-revision-and-change-audit.md +1 -1
  21. package/toolkit/skills/docs/vendor/dot-codex/design/multi-task-flow/web-template.md +1 -1
  22. package/toolkit/skills/docs/vendor/dot-codex/specs/a4ge9-stable-preview-runtime/IMPLEMENTATION.md +0 -2
  23. package/toolkit/skills/docs/vendor/dot-codex/specs/a4ge9-stable-preview-runtime/SPEC.md +0 -1
  24. package/toolkit/skills/docs/vendor/dot-codex/specs/dev-plan-standalone-typescript-finalizer/IMPLEMENTATION.md +1 -1
  25. package/toolkit/skills/docs/vendor/dot-codex/specs/multi-task-flow/IMPLEMENTATION.md +3 -3
  26. package/toolkit/skills/docs/vendor/dot-codex/specs/multi-task-flow/SCHEMA.md +4 -4
  27. package/toolkit/skills/docs/vendor/dot-codex/specs/stable-preview-runtime/IMPLEMENTATION.md +0 -2
  28. package/toolkit/skills/docs/vendor/dot-codex/specs/stable-preview-runtime/SPEC.md +0 -1
  29. package/toolkit/skills/multi-task-flow/SKILL.md +65 -47
  30. package/toolkit/skills/multi-task-flow/dist/app.css +1 -1
  31. package/toolkit/skills/multi-task-flow/dist/app.js +74 -74
  32. package/toolkit/skills/multi-task-flow/dist/index.html +3 -3
  33. package/toolkit/skills/multi-task-flow/lib/atomic-orchestration.ts +26 -3
  34. package/toolkit/skills/multi-task-flow/lib/engine.ts +136 -17
  35. package/toolkit/skills/multi-task-flow/lib/package-source.ts +5 -5
  36. package/toolkit/skills/multi-task-flow/lib/schema.ts +82 -2
  37. package/toolkit/skills/multi-task-flow/lib/service-pages.ts +1 -26
  38. package/toolkit/skills/multi-task-flow/lib/view.ts +125 -11
  39. package/toolkit/skills/multi-task-flow/references/shared-viewer.md +1 -1
  40. package/toolkit/skills/multi-task-flow/scripts/check-client-skills.ts +7 -4
  41. package/toolkit/skills/multi-task-flow/scripts/check-skills-installation.ts +14 -8
  42. package/toolkit/skills/multi-task-flow/scripts/import-client-skills.ts +1 -1
  43. package/toolkit/skills/multi-task-flow/scripts/package-client-skills.ts +28 -157
  44. package/toolkit/skills/multi-task-flow/scripts/preview-source.ts +3 -0
  45. package/toolkit/skills/multi-task-flow/scripts/test-viewer-source.ts +1 -1
  46. package/toolkit/skills/multi-task-flow/tests/atomic-orchestration-schema.test.ts +40 -0
  47. package/toolkit/skills/multi-task-flow/tests/browser/README.md +1 -1
  48. package/toolkit/skills/multi-task-flow/tests/check-skills-installation.test.ts +12 -38
  49. package/toolkit/skills/multi-task-flow/tests/delivery-topology.test.ts +33 -0
  50. package/toolkit/skills/multi-task-flow/tests/engine.test.ts +339 -0
  51. package/toolkit/skills/multi-task-flow/tests/orchestrate.test.ts +3 -5
  52. package/toolkit/skills/multi-task-flow/tests/source-preview.test.ts +29 -0
  53. package/toolkit/skills/multi-task-flow/tests/ui/details-content.test.ts +31 -0
  54. package/toolkit/skills/multi-task-flow/tests/ui/responsive-width-contract.test.ts +25 -1
  55. package/toolkit/skills/multi-task-flow/tests/ui/task-context-menu.test.ts +2 -1
  56. package/toolkit/skills/multi-task-flow/tests/view.test.ts +149 -0
  57. package/toolkit/skills/multi-task-flow/web/app.css +68 -9
  58. package/toolkit/skills/multi-task-flow/web/app.ts +42 -15
  59. package/toolkit/skills/multi-task-flow/web/atomic-graph-view.tsx +2 -2
  60. package/toolkit/skills/multi-task-flow/web/details-content.ts +54 -38
  61. package/toolkit/skills/multi-task-flow/web/graph-view.tsx +1 -1
  62. package/toolkit/skills/multi-task-flow/web/index.html +3 -3
  63. package/toolkit/skills/multi-task-flow/web/model.ts +1 -1
  64. package/toolkit/skills/multi-task-flow/web/timeline.ts +11 -8
  65. package/toolkit/skills/package.json +2 -2
  66. package/toolkit/skills/source-manifest.json +693 -400
  67. package/toolkit/skills/support-manifest.json +1 -0
  68. package/toolkit/skills/multi-task-flow/node_modules/zod/LICENSE +0 -21
  69. package/toolkit/skills/multi-task-flow/node_modules/zod/README.md +0 -218
  70. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.cjs +0 -96
  71. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.d.cts +0 -1
  72. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.d.ts +0 -1
  73. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.js +0 -52
  74. package/toolkit/skills/multi-task-flow/node_modules/zod/index.cjs +0 -52
  75. package/toolkit/skills/multi-task-flow/node_modules/zod/index.d.cts +0 -3
  76. package/toolkit/skills/multi-task-flow/node_modules/zod/index.d.ts +0 -3
  77. package/toolkit/skills/multi-task-flow/node_modules/zod/index.js +0 -7
  78. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.cjs +0 -36
  79. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.d.cts +0 -1
  80. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.d.ts +0 -1
  81. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.js +0 -1
  82. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/package.json +0 -7
  83. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.cjs +0 -51
  84. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.d.cts +0 -3
  85. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.d.ts +0 -3
  86. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.js +0 -3
  87. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/package.json +0 -7
  88. package/toolkit/skills/multi-task-flow/node_modules/zod/package.json +0 -147
  89. package/toolkit/skills/multi-task-flow/node_modules/zod/src/compile.ts +0 -56
  90. package/toolkit/skills/multi-task-flow/node_modules/zod/src/index.ts +0 -7
  91. package/toolkit/skills/multi-task-flow/node_modules/zod/src/locales/index.ts +0 -1
  92. package/toolkit/skills/multi-task-flow/node_modules/zod/src/mini/index.ts +0 -3
  93. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/ZodError.ts +0 -340
  94. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -58
  95. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  96. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/index.ts +0 -59
  97. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -57
  98. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/object.ts +0 -69
  99. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -162
  100. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -63
  101. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/string.ts +0 -55
  102. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/union.ts +0 -80
  103. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/errors.ts +0 -13
  104. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/external.ts +0 -6
  105. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -17
  106. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -8
  107. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -176
  108. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -34
  109. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -2
  110. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/util.ts +0 -224
  111. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/index.ts +0 -4
  112. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/locales/en.ts +0 -124
  113. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/standard-schema.ts +0 -113
  114. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/Mocker.ts +0 -54
  115. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -157
  116. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -28
  117. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/array.test.ts +0 -71
  118. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -388
  119. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -46
  120. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/base.test.ts +0 -29
  121. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/bigint.test.ts +0 -55
  122. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/branded.test.ts +0 -53
  123. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/catch.test.ts +0 -220
  124. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/coerce.test.ts +0 -133
  125. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/complex.test.ts +0 -70
  126. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/custom.test.ts +0 -31
  127. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/date.test.ts +0 -32
  128. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -186
  129. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/default.test.ts +0 -112
  130. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/description.test.ts +0 -33
  131. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -315
  132. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/enum.test.ts +0 -80
  133. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/error.test.ts +0 -586
  134. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -87
  135. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  136. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/function.test.ts +0 -261
  137. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/generics.test.ts +0 -48
  138. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -37
  139. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/intersection.test.ts +0 -128
  140. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/language-server.source.ts +0 -76
  141. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/language-server.test.ts +0 -206
  142. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/literal.test.ts +0 -36
  143. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/map.test.ts +0 -110
  144. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/masking.test.ts +0 -4
  145. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/mocker.test.ts +0 -19
  146. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/nan.test.ts +0 -24
  147. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -87
  148. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/nullable.test.ts +0 -42
  149. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/number.test.ts +0 -176
  150. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -29
  151. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -29
  152. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/object.test.ts +0 -431
  153. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/optional.test.ts +0 -42
  154. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -23
  155. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/parser.test.ts +0 -41
  156. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/partials.test.ts +0 -243
  157. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -111
  158. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -29
  159. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -186
  160. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/primitive.test.ts +0 -440
  161. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/promise.test.ts +0 -90
  162. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/readonly.test.ts +0 -114
  163. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/record.test.ts +0 -171
  164. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/recursive.test.ts +0 -197
  165. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/refine.test.ts +0 -313
  166. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -27
  167. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/set.test.ts +0 -142
  168. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -83
  169. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/string.test.ts +0 -922
  170. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/transformer.test.ts +0 -233
  171. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/tuple.test.ts +0 -90
  172. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/unions.test.ts +0 -57
  173. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/validations.test.ts +0 -133
  174. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/void.test.ts +0 -15
  175. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/types.ts +0 -5138
  176. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/checks.ts +0 -33
  177. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/coerce.ts +0 -27
  178. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/compat.ts +0 -78
  179. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/deep-partial.ts +0 -76
  180. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/errors.ts +0 -97
  181. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/external.ts +0 -57
  182. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/from-json-schema.ts +0 -944
  183. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/in-out.ts +0 -45
  184. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/index.ts +0 -5
  185. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/iso.ts +0 -20
  186. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/parse.ts +0 -88
  187. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/schemas.ts +0 -2937
  188. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -26
  189. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/apply.test.ts +0 -86
  190. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -291
  191. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -402
  192. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -381
  193. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -68
  194. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -7
  195. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -89
  196. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -106
  197. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -604
  198. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -20
  199. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -572
  200. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -704
  201. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -160
  202. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -374
  203. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +0 -76
  204. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -40
  205. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +0 -985
  206. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -92
  207. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -316
  208. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +0 -380
  209. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +0 -32
  210. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -455
  211. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +0 -27
  212. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -32
  213. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +0 -221
  214. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -942
  215. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -305
  216. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -917
  217. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -1108
  218. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -96
  219. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -179
  220. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +0 -26
  221. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +0 -1467
  222. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -391
  223. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -72
  224. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/global-config.test.ts +0 -32
  225. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -67
  226. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/iban.test.ts +0 -81
  227. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/in-out.test.ts +0 -159
  228. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -958
  229. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +0 -319
  230. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -127
  231. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -334
  232. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +0 -215
  233. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +0 -39
  234. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -109
  235. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -262
  236. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -128
  237. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +0 -29
  238. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +0 -24
  239. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -349
  240. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -21
  241. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -168
  242. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -101
  243. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -22
  244. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -401
  245. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -1006
  246. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +0 -235
  247. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -366
  248. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -497
  249. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -211
  250. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -101
  251. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -144
  252. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +0 -44
  253. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -351
  254. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -175
  255. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -81
  256. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/properties.test.ts +0 -141
  257. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -23
  258. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -184
  259. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -885
  260. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -707
  261. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/redos.test.ts +0 -68
  262. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -693
  263. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -243
  264. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -196
  265. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -153
  266. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -125
  267. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -1440
  268. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -124
  269. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -812
  270. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +0 -438
  271. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -4733
  272. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -378
  273. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -511
  274. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -310
  275. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/url.test.ts +0 -13
  276. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/validate.test.ts +0 -645
  277. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -283
  278. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -12
  279. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/api.ts +0 -1875
  280. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/checks.ts +0 -1266
  281. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/compile.ts +0 -2322
  282. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/core.ts +0 -230
  283. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/doc.ts +0 -52
  284. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/errors.ts +0 -543
  285. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/index.ts +0 -19
  286. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/json-schema-generator.ts +0 -131
  287. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/json-schema-processors.ts +0 -934
  288. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/json-schema.ts +0 -148
  289. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/memoizer.ts +0 -331
  290. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/parse.ts +0 -309
  291. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/regexes.ts +0 -217
  292. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/registries.ts +0 -105
  293. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/schemas.ts +0 -5226
  294. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/standard-schema.ts +0 -159
  295. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/cached.test.ts +0 -54
  296. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +0 -1004
  297. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +0 -445
  298. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-global.test.ts +0 -89
  299. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +0 -26
  300. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +0 -34
  301. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile.test.ts +0 -2036
  302. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/email-regex.test.ts +0 -140
  303. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -59
  304. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/index.test.ts +0 -46
  305. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -124
  306. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/el.test.ts +0 -214
  307. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -22
  308. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -180
  309. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +0 -72
  310. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/he.test.ts +0 -379
  311. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +0 -163
  312. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +0 -46
  313. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +0 -42
  314. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -128
  315. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +0 -85
  316. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +0 -69
  317. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -69
  318. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +0 -105
  319. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +0 -46
  320. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +0 -125
  321. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +0 -45
  322. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/treeshake.test.ts +0 -51
  323. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +0 -133
  324. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/to-json-schema.ts +0 -857
  325. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/util.ts +0 -1293
  326. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/versions.ts +0 -5
  327. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/visit.ts +0 -193
  328. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/zsf.ts +0 -323
  329. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/index.ts +0 -4
  330. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ar.ts +0 -120
  331. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/az.ts +0 -116
  332. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/be.ts +0 -188
  333. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/bg.ts +0 -133
  334. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/bn.ts +0 -123
  335. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ca.ts +0 -121
  336. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ckb.ts +0 -140
  337. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/cs.ts +0 -123
  338. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/da.ts +0 -128
  339. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/de.ts +0 -121
  340. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/el.ts +0 -124
  341. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/en.ts +0 -136
  342. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/eo.ts +0 -123
  343. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/es.ts +0 -145
  344. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fa.ts +0 -131
  345. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fi.ts +0 -126
  346. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fr-CA.ts +0 -121
  347. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fr.ts +0 -139
  348. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/gu.ts +0 -123
  349. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/he.ts +0 -253
  350. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hi.ts +0 -126
  351. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hr.ts +0 -135
  352. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hu.ts +0 -122
  353. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hy.ts +0 -175
  354. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/id.ts +0 -120
  355. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/index.ts +0 -63
  356. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/is.ts +0 -124
  357. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/it.ts +0 -121
  358. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ja.ts +0 -119
  359. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ka.ts +0 -128
  360. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/kh.ts +0 -7
  361. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/km.ts +0 -124
  362. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/kn.ts +0 -126
  363. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ko.ts +0 -126
  364. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/lt.ts +0 -243
  365. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/mk.ts +0 -123
  366. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ms.ts +0 -120
  367. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ne.ts +0 -128
  368. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/nl.ts +0 -126
  369. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/nn.ts +0 -121
  370. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/no.ts +0 -121
  371. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ota.ts +0 -122
  372. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/pl.ts +0 -123
  373. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ps.ts +0 -131
  374. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/pt-BR.ts +0 -161
  375. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/pt.ts +0 -159
  376. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ro.ts +0 -132
  377. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ru.ts +0 -188
  378. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/sk.ts +0 -123
  379. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/sl.ts +0 -123
  380. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/sv.ts +0 -124
  381. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ta.ts +0 -123
  382. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/tg.ts +0 -135
  383. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/th.ts +0 -124
  384. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/tk.ts +0 -113
  385. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/tr.ts +0 -116
  386. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ua.ts +0 -7
  387. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/uk.ts +0 -122
  388. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ur.ts +0 -124
  389. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/uz.ts +0 -120
  390. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/vi.ts +0 -122
  391. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/yo.ts +0 -129
  392. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/zh-CN.ts +0 -121
  393. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/zh-TW.ts +0 -120
  394. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/checks.ts +0 -33
  395. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/coerce.ts +0 -27
  396. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/deep-partial.ts +0 -73
  397. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/external.ts +0 -52
  398. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/in-out.ts +0 -45
  399. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/index.ts +0 -3
  400. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/iso.ts +0 -66
  401. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/parse.ts +0 -16
  402. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/schemas.ts +0 -2051
  403. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/apply.test.ts +0 -57
  404. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -190
  405. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -94
  406. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -158
  407. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -582
  408. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -30
  409. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +0 -84
  410. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +0 -54
  411. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -41
  412. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -14
  413. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -1146
  414. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -109
  415. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -292
  416. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -43
  417. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -341
  418. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +0 -50
  419. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -396
  420. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4-mini/index.ts +0 -3
  421. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.cjs +0 -167
  422. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.d.cts +0 -164
  423. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.d.ts +0 -164
  424. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.js +0 -143
  425. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.cjs +0 -36
  426. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.d.cts +0 -5
  427. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.d.ts +0 -5
  428. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.js +0 -9
  429. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.cjs +0 -41
  430. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.d.cts +0 -6
  431. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.d.ts +0 -6
  432. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.js +0 -6
  433. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.cjs +0 -21
  434. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -8
  435. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -8
  436. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.js +0 -1
  437. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.cjs +0 -28
  438. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -9
  439. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -9
  440. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.js +0 -6
  441. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.cjs +0 -143
  442. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -78
  443. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -78
  444. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.js +0 -109
  445. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.cjs +0 -21
  446. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -8
  447. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -8
  448. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.js +0 -1
  449. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.cjs +0 -21
  450. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -2
  451. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -2
  452. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  453. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.cjs +0 -156
  454. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.d.cts +0 -85
  455. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.d.ts +0 -85
  456. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.js +0 -133
  457. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.cjs +0 -52
  458. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.d.cts +0 -4
  459. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.d.ts +0 -4
  460. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.js +0 -4
  461. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.cjs +0 -112
  462. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.d.cts +0 -3
  463. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.d.ts +0 -3
  464. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.js +0 -109
  465. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/package.json +0 -7
  466. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.cjs +0 -21
  467. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.d.cts +0 -102
  468. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.d.ts +0 -102
  469. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.js +0 -1
  470. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.cjs +0 -3798
  471. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.d.cts +0 -1034
  472. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.d.ts +0 -1034
  473. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.js +0 -3697
  474. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.cjs +0 -53
  475. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.d.cts +0 -1
  476. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.d.ts +0 -1
  477. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.js +0 -1
  478. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.cjs +0 -66
  479. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.d.cts +0 -17
  480. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.d.ts +0 -17
  481. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.js +0 -17
  482. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.cjs +0 -80
  483. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.d.cts +0 -48
  484. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.d.ts +0 -48
  485. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.js +0 -31
  486. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.cjs +0 -58
  487. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.d.cts +0 -14
  488. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.d.ts +0 -14
  489. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.js +0 -13
  490. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.cjs +0 -102
  491. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.d.cts +0 -29
  492. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.d.ts +0 -29
  493. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.js +0 -57
  494. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.cjs +0 -97
  495. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.d.cts +0 -19
  496. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.d.ts +0 -19
  497. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.js +0 -17
  498. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.cjs +0 -926
  499. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.d.cts +0 -12
  500. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.d.ts +0 -12
  501. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.js +0 -881
  502. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.cjs +0 -82
  503. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.d.cts +0 -8
  504. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.d.ts +0 -8
  505. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.js +0 -36
  506. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.cjs +0 -52
  507. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.d.cts +0 -3
  508. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.d.ts +0 -3
  509. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.js +0 -4
  510. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.cjs +0 -68
  511. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.d.cts +0 -7
  512. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.d.ts +0 -7
  513. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.js +0 -15
  514. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/package.json +0 -7
  515. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.cjs +0 -63
  516. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.d.cts +0 -44
  517. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.d.ts +0 -44
  518. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.js +0 -16
  519. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.cjs +0 -1676
  520. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.d.cts +0 -816
  521. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.d.ts +0 -816
  522. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.js +0 -1535
  523. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.cjs +0 -1269
  524. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.d.cts +0 -335
  525. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.d.ts +0 -335
  526. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.js +0 -1107
  527. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.cjs +0 -561
  528. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.d.cts +0 -294
  529. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.d.ts +0 -294
  530. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.js +0 -516
  531. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.cjs +0 -1916
  532. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.d.cts +0 -65
  533. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.d.ts +0 -65
  534. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.js +0 -1866
  535. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.cjs +0 -167
  536. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.d.cts +0 -82
  537. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.d.ts +0 -82
  538. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.js +0 -141
  539. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.cjs +0 -61
  540. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.d.cts +0 -16
  541. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.d.ts +0 -16
  542. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.js +0 -38
  543. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.cjs +0 -317
  544. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.d.cts +0 -225
  545. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.d.ts +0 -225
  546. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.js +0 -267
  547. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.cjs +0 -70
  548. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.d.cts +0 -19
  549. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.d.ts +0 -19
  550. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.js +0 -19
  551. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.cjs +0 -122
  552. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.d.cts +0 -65
  553. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.d.ts +0 -65
  554. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.js +0 -99
  555. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.cjs +0 -929
  556. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.d.cts +0 -65
  557. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.d.ts +0 -65
  558. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.js +0 -843
  559. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.cjs +0 -21
  560. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.d.cts +0 -89
  561. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.d.ts +0 -89
  562. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.js +0 -1
  563. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.cjs +0 -360
  564. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.d.cts +0 -15
  565. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.d.ts +0 -15
  566. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.js +0 -311
  567. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/package.json +0 -7
  568. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.cjs +0 -233
  569. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.d.cts +0 -52
  570. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.d.ts +0 -52
  571. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.js +0 -175
  572. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.cjs +0 -209
  573. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.d.cts +0 -90
  574. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.d.ts +0 -90
  575. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.js +0 -156
  576. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.cjs +0 -75
  577. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.d.cts +0 -35
  578. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.d.ts +0 -35
  579. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.js +0 -51
  580. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.cjs +0 -2699
  581. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.d.cts +0 -1275
  582. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.d.ts +0 -1275
  583. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.js +0 -2636
  584. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.cjs +0 -21
  585. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.d.cts +0 -126
  586. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.d.ts +0 -126
  587. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.js +0 -1
  588. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.cjs +0 -681
  589. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.d.cts +0 -154
  590. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.d.ts +0 -154
  591. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.js +0 -651
  592. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.cjs +0 -964
  593. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.d.cts +0 -280
  594. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.d.ts +0 -280
  595. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.js +0 -873
  596. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.cjs +0 -27
  597. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.d.cts +0 -5
  598. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.d.ts +0 -5
  599. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.js +0 -5
  600. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.cjs +0 -214
  601. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.d.cts +0 -30
  602. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.d.ts +0 -30
  603. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.js +0 -169
  604. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.cjs +0 -51
  605. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.d.cts +0 -3
  606. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.d.ts +0 -3
  607. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.js +0 -4
  608. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.cjs +0 -138
  609. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.d.cts +0 -5
  610. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.d.ts +0 -4
  611. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.js +0 -111
  612. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.cjs +0 -137
  613. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.d.cts +0 -5
  614. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.d.ts +0 -4
  615. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.js +0 -110
  616. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.cjs +0 -195
  617. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.d.cts +0 -5
  618. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.d.ts +0 -4
  619. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.js +0 -168
  620. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.cjs +0 -152
  621. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.d.cts +0 -5
  622. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.d.ts +0 -4
  623. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.js +0 -125
  624. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.cjs +0 -140
  625. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.d.cts +0 -5
  626. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.d.ts +0 -4
  627. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.js +0 -113
  628. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.cjs +0 -139
  629. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.d.cts +0 -5
  630. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.d.ts +0 -4
  631. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.js +0 -112
  632. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.cjs +0 -160
  633. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.d.cts +0 -5
  634. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.d.ts +0 -4
  635. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.js +0 -133
  636. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.cjs +0 -143
  637. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.d.cts +0 -5
  638. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.d.ts +0 -4
  639. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.js +0 -116
  640. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.cjs +0 -147
  641. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.d.cts +0 -5
  642. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.d.ts +0 -4
  643. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.js +0 -120
  644. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.cjs +0 -140
  645. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.d.cts +0 -5
  646. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.d.ts +0 -4
  647. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.js +0 -113
  648. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.cjs +0 -139
  649. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.d.cts +0 -5
  650. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.d.ts +0 -4
  651. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.js +0 -112
  652. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.cjs +0 -152
  653. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.d.cts +0 -5
  654. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.d.ts +0 -4
  655. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.js +0 -125
  656. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.cjs +0 -141
  657. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.d.cts +0 -5
  658. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.d.ts +0 -4
  659. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.js +0 -114
  660. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.cjs +0 -163
  661. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.d.cts +0 -5
  662. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.d.ts +0 -4
  663. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.js +0 -136
  664. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.cjs +0 -146
  665. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.d.cts +0 -5
  666. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.d.ts +0 -4
  667. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.js +0 -119
  668. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.cjs +0 -144
  669. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.d.cts +0 -5
  670. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.d.ts +0 -4
  671. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.js +0 -117
  672. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.cjs +0 -139
  673. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.d.cts +0 -5
  674. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.d.ts +0 -4
  675. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.js +0 -112
  676. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.cjs +0 -156
  677. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.d.cts +0 -5
  678. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.d.ts +0 -4
  679. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.js +0 -129
  680. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.cjs +0 -140
  681. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.d.cts +0 -5
  682. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.d.ts +0 -4
  683. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.js +0 -113
  684. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.cjs +0 -248
  685. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.d.cts +0 -5
  686. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.d.ts +0 -4
  687. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.js +0 -221
  688. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.cjs +0 -138
  689. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.d.cts +0 -5
  690. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.d.ts +0 -4
  691. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.js +0 -111
  692. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.cjs +0 -153
  693. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.d.cts +0 -5
  694. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.d.ts +0 -4
  695. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.js +0 -126
  696. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.cjs +0 -140
  697. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.d.cts +0 -5
  698. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.d.ts +0 -4
  699. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.js +0 -113
  700. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.cjs +0 -185
  701. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.d.cts +0 -5
  702. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.d.ts +0 -4
  703. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.js +0 -158
  704. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.cjs +0 -138
  705. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.d.cts +0 -5
  706. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.d.ts +0 -4
  707. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.js +0 -111
  708. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.cjs +0 -152
  709. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.d.cts +0 -63
  710. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.d.ts +0 -63
  711. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.js +0 -63
  712. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.cjs +0 -141
  713. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.d.cts +0 -5
  714. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.d.ts +0 -4
  715. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.js +0 -114
  716. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.cjs +0 -140
  717. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.d.cts +0 -5
  718. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.d.ts +0 -4
  719. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.js +0 -113
  720. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.cjs +0 -139
  721. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.d.cts +0 -5
  722. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.d.ts +0 -4
  723. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.js +0 -112
  724. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.cjs +0 -144
  725. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.d.cts +0 -5
  726. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.d.ts +0 -4
  727. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.js +0 -117
  728. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.cjs +0 -12
  729. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.d.cts +0 -5
  730. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.d.ts +0 -5
  731. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.js +0 -5
  732. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.cjs +0 -142
  733. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.d.cts +0 -5
  734. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.d.ts +0 -4
  735. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.js +0 -115
  736. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.cjs +0 -143
  737. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.d.cts +0 -5
  738. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.d.ts +0 -4
  739. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.js +0 -116
  740. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.cjs +0 -143
  741. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.d.cts +0 -5
  742. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.d.ts +0 -4
  743. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.js +0 -116
  744. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.cjs +0 -234
  745. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.d.cts +0 -5
  746. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.d.ts +0 -4
  747. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.js +0 -207
  748. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.cjs +0 -141
  749. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.d.cts +0 -5
  750. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.d.ts +0 -4
  751. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.js +0 -114
  752. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.cjs +0 -139
  753. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.d.cts +0 -5
  754. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.d.ts +0 -4
  755. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.js +0 -112
  756. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.cjs +0 -138
  757. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.d.cts +0 -5
  758. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.d.ts +0 -4
  759. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.js +0 -111
  760. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.cjs +0 -142
  761. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.d.cts +0 -5
  762. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.d.ts +0 -4
  763. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.js +0 -115
  764. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.cjs +0 -140
  765. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.d.cts +0 -5
  766. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.d.ts +0 -4
  767. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.js +0 -113
  768. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.cjs +0 -140
  769. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.d.cts +0 -5
  770. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.d.ts +0 -4
  771. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.js +0 -113
  772. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.cjs +0 -141
  773. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.d.cts +0 -5
  774. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.d.ts +0 -4
  775. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.js +0 -114
  776. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/package.json +0 -7
  777. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.cjs +0 -141
  778. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.d.cts +0 -5
  779. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.d.ts +0 -4
  780. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.js +0 -114
  781. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.cjs +0 -146
  782. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.d.cts +0 -5
  783. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.d.ts +0 -4
  784. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.js +0 -119
  785. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.cjs +0 -170
  786. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.d.cts +0 -5
  787. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.d.ts +0 -4
  788. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.js +0 -143
  789. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.cjs +0 -169
  790. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.d.cts +0 -5
  791. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.d.ts +0 -4
  792. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.js +0 -142
  793. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.cjs +0 -149
  794. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.d.cts +0 -5
  795. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.d.ts +0 -4
  796. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.js +0 -122
  797. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.cjs +0 -195
  798. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.d.cts +0 -5
  799. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.d.ts +0 -4
  800. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.js +0 -168
  801. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.cjs +0 -143
  802. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.d.cts +0 -5
  803. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.d.ts +0 -4
  804. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.js +0 -116
  805. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.cjs +0 -141
  806. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.d.cts +0 -5
  807. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.d.ts +0 -4
  808. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.js +0 -114
  809. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.cjs +0 -142
  810. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.d.cts +0 -5
  811. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.d.ts +0 -4
  812. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.js +0 -115
  813. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.cjs +0 -142
  814. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.d.cts +0 -5
  815. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.d.ts +0 -4
  816. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.js +0 -115
  817. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.cjs +0 -144
  818. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.d.cts +0 -5
  819. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.d.ts +0 -4
  820. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.js +0 -117
  821. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.cjs +0 -142
  822. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.d.cts +0 -5
  823. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.d.ts +0 -4
  824. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.js +0 -115
  825. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.cjs +0 -134
  826. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.d.cts +0 -5
  827. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.d.ts +0 -4
  828. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.js +0 -107
  829. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.cjs +0 -137
  830. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.d.cts +0 -5
  831. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.d.ts +0 -4
  832. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.js +0 -110
  833. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.cjs +0 -12
  834. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.d.cts +0 -5
  835. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.d.ts +0 -5
  836. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.js +0 -5
  837. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.cjs +0 -140
  838. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.d.cts +0 -5
  839. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.d.ts +0 -4
  840. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.js +0 -113
  841. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.cjs +0 -142
  842. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.d.cts +0 -5
  843. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.d.ts +0 -4
  844. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.js +0 -115
  845. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.cjs +0 -140
  846. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.d.cts +0 -5
  847. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.d.ts +0 -4
  848. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.js +0 -113
  849. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.cjs +0 -140
  850. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.d.cts +0 -5
  851. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.d.ts +0 -4
  852. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.js +0 -113
  853. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.cjs +0 -139
  854. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.d.cts +0 -5
  855. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.d.ts +0 -4
  856. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.js +0 -112
  857. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.cjs +0 -141
  858. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.d.cts +0 -5
  859. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.d.ts +0 -4
  860. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.js +0 -114
  861. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.cjs +0 -139
  862. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.d.cts +0 -5
  863. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.d.ts +0 -4
  864. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.js +0 -112
  865. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.cjs +0 -54
  866. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.d.cts +0 -1
  867. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.d.ts +0 -1
  868. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.js +0 -1
  869. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.cjs +0 -71
  870. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.d.cts +0 -7
  871. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.d.ts +0 -7
  872. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.js +0 -22
  873. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.cjs +0 -58
  874. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.d.cts +0 -14
  875. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.d.ts +0 -14
  876. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.js +0 -13
  877. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.cjs +0 -95
  878. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.d.cts +0 -16
  879. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.d.ts +0 -16
  880. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.js +0 -16
  881. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.cjs +0 -82
  882. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.d.cts +0 -8
  883. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.d.ts +0 -8
  884. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.js +0 -36
  885. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.cjs +0 -51
  886. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.d.cts +0 -3
  887. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.d.ts +0 -3
  888. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.js +0 -3
  889. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.cjs +0 -83
  890. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.d.cts +0 -22
  891. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.d.ts +0 -22
  892. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.js +0 -34
  893. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/package.json +0 -7
  894. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.cjs +0 -37
  895. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.d.cts +0 -1
  896. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.d.ts +0 -1
  897. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.js +0 -1
  898. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.cjs +0 -1147
  899. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.d.cts +0 -480
  900. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.d.ts +0 -480
  901. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.js +0 -1002
  902. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/package.json +0 -7
  903. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.cjs +0 -51
  904. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.d.cts +0 -3
  905. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.d.ts +0 -3
  906. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.js +0 -3
  907. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/package.json +0 -7
  908. package/toolkit/skills/multi-task-flow/scripts/serve.ts +0 -218
  909. package/toolkit/skills/multi-task-flow/tests/serve.test.ts +0 -194
  910. package/toolkit/skills/node_modules/@img/colour/LICENSE.md +0 -82
  911. package/toolkit/skills/node_modules/@img/colour/README.md +0 -15
  912. package/toolkit/skills/node_modules/@img/colour/color.cjs +0 -1596
  913. package/toolkit/skills/node_modules/@img/colour/index.cjs +0 -1
  914. package/toolkit/skills/node_modules/@img/colour/index.d.ts +0 -929
  915. package/toolkit/skills/node_modules/@img/colour/package.json +0 -58
  916. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  917. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -219
  918. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  919. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.18.7 +0 -0
  920. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -43
  921. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
  922. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  923. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -219
  924. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  925. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7 +0 -0
  926. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -43
  927. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  928. package/toolkit/skills/node_modules/@img/sharp-linux-x64/LICENSE +0 -191
  929. package/toolkit/skills/node_modules/@img/sharp-linux-x64/README.md +0 -18
  930. package/toolkit/skills/node_modules/@img/sharp-linux-x64/index.cjs +0 -2
  931. package/toolkit/skills/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64-0.35.5.node +0 -0
  932. package/toolkit/skills/node_modules/@img/sharp-linux-x64/package.json +0 -47
  933. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/LICENSE +0 -191
  934. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/README.md +0 -18
  935. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/index.cjs +0 -2
  936. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node +0 -0
  937. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -47
  938. package/toolkit/skills/node_modules/detect-libc/LICENSE +0 -201
  939. package/toolkit/skills/node_modules/detect-libc/README.md +0 -163
  940. package/toolkit/skills/node_modules/detect-libc/index.d.ts +0 -14
  941. package/toolkit/skills/node_modules/detect-libc/lib/detect-libc.js +0 -313
  942. package/toolkit/skills/node_modules/detect-libc/lib/elf.js +0 -39
  943. package/toolkit/skills/node_modules/detect-libc/lib/filesystem.js +0 -51
  944. package/toolkit/skills/node_modules/detect-libc/lib/process.js +0 -24
  945. package/toolkit/skills/node_modules/detect-libc/package.json +0 -44
  946. package/toolkit/skills/node_modules/semver/LICENSE +0 -15
  947. package/toolkit/skills/node_modules/semver/README.md +0 -680
  948. package/toolkit/skills/node_modules/semver/bin/semver.js +0 -195
  949. package/toolkit/skills/node_modules/semver/classes/comparator.js +0 -143
  950. package/toolkit/skills/node_modules/semver/classes/index.js +0 -7
  951. package/toolkit/skills/node_modules/semver/classes/range.js +0 -577
  952. package/toolkit/skills/node_modules/semver/classes/semver.js +0 -350
  953. package/toolkit/skills/node_modules/semver/functions/clean.js +0 -8
  954. package/toolkit/skills/node_modules/semver/functions/cmp.js +0 -54
  955. package/toolkit/skills/node_modules/semver/functions/coerce.js +0 -62
  956. package/toolkit/skills/node_modules/semver/functions/compare-build.js +0 -9
  957. package/toolkit/skills/node_modules/semver/functions/compare-loose.js +0 -5
  958. package/toolkit/skills/node_modules/semver/functions/compare.js +0 -7
  959. package/toolkit/skills/node_modules/semver/functions/diff.js +0 -60
  960. package/toolkit/skills/node_modules/semver/functions/eq.js +0 -5
  961. package/toolkit/skills/node_modules/semver/functions/gt.js +0 -5
  962. package/toolkit/skills/node_modules/semver/functions/gte.js +0 -5
  963. package/toolkit/skills/node_modules/semver/functions/inc.js +0 -21
  964. package/toolkit/skills/node_modules/semver/functions/lt.js +0 -5
  965. package/toolkit/skills/node_modules/semver/functions/lte.js +0 -5
  966. package/toolkit/skills/node_modules/semver/functions/major.js +0 -5
  967. package/toolkit/skills/node_modules/semver/functions/minor.js +0 -5
  968. package/toolkit/skills/node_modules/semver/functions/neq.js +0 -5
  969. package/toolkit/skills/node_modules/semver/functions/parse.js +0 -18
  970. package/toolkit/skills/node_modules/semver/functions/patch.js +0 -5
  971. package/toolkit/skills/node_modules/semver/functions/prerelease.js +0 -8
  972. package/toolkit/skills/node_modules/semver/functions/rcompare.js +0 -5
  973. package/toolkit/skills/node_modules/semver/functions/rsort.js +0 -5
  974. package/toolkit/skills/node_modules/semver/functions/satisfies.js +0 -12
  975. package/toolkit/skills/node_modules/semver/functions/sort.js +0 -5
  976. package/toolkit/skills/node_modules/semver/functions/truncate.js +0 -48
  977. package/toolkit/skills/node_modules/semver/functions/valid.js +0 -8
  978. package/toolkit/skills/node_modules/semver/index.js +0 -93
  979. package/toolkit/skills/node_modules/semver/internal/constants.js +0 -67
  980. package/toolkit/skills/node_modules/semver/internal/debug.js +0 -11
  981. package/toolkit/skills/node_modules/semver/internal/identifiers.js +0 -29
  982. package/toolkit/skills/node_modules/semver/internal/lrucache.js +0 -42
  983. package/toolkit/skills/node_modules/semver/internal/parse-options.js +0 -17
  984. package/toolkit/skills/node_modules/semver/internal/re.js +0 -223
  985. package/toolkit/skills/node_modules/semver/internal/trim-comparator-whitespace.js +0 -438
  986. package/toolkit/skills/node_modules/semver/package.json +0 -78
  987. package/toolkit/skills/node_modules/semver/preload.js +0 -4
  988. package/toolkit/skills/node_modules/semver/range.bnf +0 -17
  989. package/toolkit/skills/node_modules/semver/ranges/gtr.js +0 -6
  990. package/toolkit/skills/node_modules/semver/ranges/intersects.js +0 -9
  991. package/toolkit/skills/node_modules/semver/ranges/ltr.js +0 -6
  992. package/toolkit/skills/node_modules/semver/ranges/max-satisfying.js +0 -27
  993. package/toolkit/skills/node_modules/semver/ranges/min-satisfying.js +0 -26
  994. package/toolkit/skills/node_modules/semver/ranges/min-version.js +0 -63
  995. package/toolkit/skills/node_modules/semver/ranges/outside.js +0 -82
  996. package/toolkit/skills/node_modules/semver/ranges/simplify.js +0 -49
  997. package/toolkit/skills/node_modules/semver/ranges/subset.js +0 -249
  998. package/toolkit/skills/node_modules/semver/ranges/to-comparators.js +0 -10
  999. package/toolkit/skills/node_modules/semver/ranges/valid.js +0 -13
  1000. package/toolkit/skills/node_modules/sharp/LICENSE +0 -191
  1001. package/toolkit/skills/node_modules/sharp/README.md +0 -112
  1002. package/toolkit/skills/node_modules/sharp/dist/channel.cjs +0 -177
  1003. package/toolkit/skills/node_modules/sharp/dist/channel.mjs +0 -177
  1004. package/toolkit/skills/node_modules/sharp/dist/colour.cjs +0 -199
  1005. package/toolkit/skills/node_modules/sharp/dist/colour.mjs +0 -199
  1006. package/toolkit/skills/node_modules/sharp/dist/composite.cjs +0 -213
  1007. package/toolkit/skills/node_modules/sharp/dist/composite.mjs +0 -213
  1008. package/toolkit/skills/node_modules/sharp/dist/constructor.cjs +0 -511
  1009. package/toolkit/skills/node_modules/sharp/dist/constructor.mjs +0 -511
  1010. package/toolkit/skills/node_modules/sharp/dist/index.cjs +0 -25
  1011. package/toolkit/skills/node_modules/sharp/dist/index.d.cts +0 -1999
  1012. package/toolkit/skills/node_modules/sharp/dist/index.d.mts +0 -2046
  1013. package/toolkit/skills/node_modules/sharp/dist/index.mjs +0 -25
  1014. package/toolkit/skills/node_modules/sharp/dist/input.cjs +0 -819
  1015. package/toolkit/skills/node_modules/sharp/dist/input.mjs +0 -819
  1016. package/toolkit/skills/node_modules/sharp/dist/is.cjs +0 -149
  1017. package/toolkit/skills/node_modules/sharp/dist/is.mjs +0 -149
  1018. package/toolkit/skills/node_modules/sharp/dist/libvips.cjs +0 -212
  1019. package/toolkit/skills/node_modules/sharp/dist/libvips.mjs +0 -212
  1020. package/toolkit/skills/node_modules/sharp/dist/operation.cjs +0 -1002
  1021. package/toolkit/skills/node_modules/sharp/dist/operation.mjs +0 -1002
  1022. package/toolkit/skills/node_modules/sharp/dist/output.cjs +0 -1786
  1023. package/toolkit/skills/node_modules/sharp/dist/output.mjs +0 -1786
  1024. package/toolkit/skills/node_modules/sharp/dist/resize.cjs +0 -617
  1025. package/toolkit/skills/node_modules/sharp/dist/resize.mjs +0 -617
  1026. package/toolkit/skills/node_modules/sharp/dist/sharp.cjs +0 -174
  1027. package/toolkit/skills/node_modules/sharp/dist/sharp.mjs +0 -174
  1028. package/toolkit/skills/node_modules/sharp/dist/utility.cjs +0 -301
  1029. package/toolkit/skills/node_modules/sharp/dist/utility.mjs +0 -301
  1030. package/toolkit/skills/node_modules/sharp/install/build.js +0 -38
  1031. package/toolkit/skills/node_modules/sharp/lib/index.d.ts +0 -1999
  1032. package/toolkit/skills/node_modules/sharp/package.json +0 -227
  1033. package/toolkit/skills/node_modules/sharp/src/binding.gyp +0 -303
  1034. package/toolkit/skills/node_modules/sharp/src/common.cc +0 -1186
  1035. package/toolkit/skills/node_modules/sharp/src/common.h +0 -421
  1036. package/toolkit/skills/node_modules/sharp/src/metadata.cc +0 -404
  1037. package/toolkit/skills/node_modules/sharp/src/metadata.h +0 -95
  1038. package/toolkit/skills/node_modules/sharp/src/operations.cc +0 -516
  1039. package/toolkit/skills/node_modules/sharp/src/operations.h +0 -137
  1040. package/toolkit/skills/node_modules/sharp/src/pipeline.cc +0 -1973
  1041. package/toolkit/skills/node_modules/sharp/src/pipeline.h +0 -422
  1042. package/toolkit/skills/node_modules/sharp/src/sharp.cc +0 -43
  1043. package/toolkit/skills/node_modules/sharp/src/stats.cc +0 -186
  1044. package/toolkit/skills/node_modules/sharp/src/stats.h +0 -62
  1045. package/toolkit/skills/node_modules/sharp/src/utilities.cc +0 -289
  1046. package/toolkit/skills/node_modules/sharp/src/utilities.h +0 -22
@@ -1,1186 +0,0 @@
1
- /*!
2
- Copyright 2013 Lovell Fuller and others.
3
- SPDX-License-Identifier: Apache-2.0
4
- */
5
-
6
- #include <algorithm>
7
- #include <cstdlib>
8
- #include <map>
9
- #include <mutex>
10
- #include <queue>
11
- #include <string>
12
- #include <tuple>
13
- #include <utility>
14
- #include <vector>
15
-
16
- #include <napi.h>
17
- #include <vips/vips8>
18
-
19
- #include "./common.h"
20
-
21
- using vips::VImage;
22
-
23
- namespace sharp {
24
-
25
- // Convenience methods to access the attributes of a Napi::Object
26
- bool HasAttr(Napi::Object obj, std::string attr) {
27
- return obj.Has(attr);
28
- }
29
- std::string AttrAsStr(Napi::Object obj, std::string attr) {
30
- return obj.Get(attr).As<Napi::String>();
31
- }
32
- std::string AttrAsStr(Napi::Object obj, unsigned int const attr) {
33
- return obj.Get(attr).As<Napi::String>();
34
- }
35
- uint32_t AttrAsUint32(Napi::Object obj, std::string attr) {
36
- return obj.Get(attr).As<Napi::Number>().Uint32Value();
37
- }
38
- int32_t AttrAsInt32(Napi::Object obj, std::string attr) {
39
- return obj.Get(attr).As<Napi::Number>().Int32Value();
40
- }
41
- int32_t AttrAsInt32(Napi::Object obj, unsigned int const attr) {
42
- return obj.Get(attr).As<Napi::Number>().Int32Value();
43
- }
44
- int64_t AttrAsInt64(Napi::Object obj, std::string attr) {
45
- return obj.Get(attr).As<Napi::Number>().Int64Value();
46
- }
47
- double AttrAsDouble(Napi::Object obj, std::string attr) {
48
- return obj.Get(attr).As<Napi::Number>().DoubleValue();
49
- }
50
- double AttrAsDouble(Napi::Object obj, unsigned int const attr) {
51
- return obj.Get(attr).As<Napi::Number>().DoubleValue();
52
- }
53
- bool AttrAsBool(Napi::Object obj, std::string attr) {
54
- return obj.Get(attr).As<Napi::Boolean>().Value();
55
- }
56
- std::vector<double> AttrAsVectorOfDouble(Napi::Object obj, std::string attr) {
57
- Napi::Array napiArray = obj.Get(attr).As<Napi::Array>();
58
- std::vector<double> vectorOfDouble(napiArray.Length());
59
- for (unsigned int i = 0; i < napiArray.Length(); i++) {
60
- vectorOfDouble[i] = AttrAsDouble(napiArray, i);
61
- }
62
- return vectorOfDouble;
63
- }
64
- std::vector<int32_t> AttrAsInt32Vector(Napi::Object obj, std::string attr) {
65
- Napi::Array array = obj.Get(attr).As<Napi::Array>();
66
- std::vector<int32_t> vector(array.Length());
67
- for (unsigned int i = 0; i < array.Length(); i++) {
68
- vector[i] = AttrAsInt32(array, i);
69
- }
70
- return vector;
71
- }
72
-
73
- // Create an InputDescriptor instance from a Napi::Object describing an input image
74
- InputDescriptor* CreateInputDescriptor(Napi::Object input) {
75
- InputDescriptor *descriptor = new InputDescriptor;
76
- if (HasAttr(input, "file")) {
77
- descriptor->file = AttrAsStr(input, "file");
78
- } else if (HasAttr(input, "buffer")) {
79
- Napi::Buffer<char> buffer = input.Get("buffer").As<Napi::Buffer<char>>();
80
- descriptor->bufferLength = buffer.Length();
81
- descriptor->buffer = buffer.Data();
82
- descriptor->isBuffer = true;
83
- }
84
- descriptor->failOn = AttrAsEnum<VipsFailOn>(input, "failOn", VIPS_TYPE_FAIL_ON);
85
- // Density for vector-based input
86
- if (HasAttr(input, "density")) {
87
- descriptor->density = AttrAsDouble(input, "density");
88
- }
89
- // Should we ignore any embedded ICC profile
90
- if (HasAttr(input, "ignoreIcc")) {
91
- descriptor->ignoreIcc = AttrAsBool(input, "ignoreIcc");
92
- }
93
- // Raw pixel input
94
- if (HasAttr(input, "rawChannels")) {
95
- descriptor->rawDepth = AttrAsEnum<VipsBandFormat>(input, "rawDepth", VIPS_TYPE_BAND_FORMAT);
96
- descriptor->rawChannels = AttrAsUint32(input, "rawChannels");
97
- descriptor->rawWidth = AttrAsUint32(input, "rawWidth");
98
- descriptor->rawHeight = AttrAsUint32(input, "rawHeight");
99
- descriptor->rawPremultiplied = AttrAsBool(input, "rawPremultiplied");
100
- descriptor->rawPageHeight = AttrAsUint32(input, "rawPageHeight");
101
- }
102
- // Multi-page input (GIF, TIFF, PDF)
103
- if (HasAttr(input, "pages")) {
104
- descriptor->pages = AttrAsInt32(input, "pages");
105
- }
106
- if (HasAttr(input, "page")) {
107
- descriptor->page = AttrAsUint32(input, "page");
108
- }
109
- // SVG
110
- if (HasAttr(input, "svgStylesheet")) {
111
- descriptor->svgStylesheet = AttrAsStr(input, "svgStylesheet");
112
- }
113
- if (HasAttr(input, "svgHighBitdepth")) {
114
- descriptor->svgHighBitdepth = AttrAsBool(input, "svgHighBitdepth");
115
- }
116
- // Multi-level input (OpenSlide)
117
- if (HasAttr(input, "openSlideLevel")) {
118
- descriptor->openSlideLevel = AttrAsUint32(input, "openSlideLevel");
119
- }
120
- // subIFD (OME-TIFF)
121
- if (HasAttr(input, "tiffSubifd")) {
122
- descriptor->tiffSubifd = AttrAsInt32(input, "tiffSubifd");
123
- }
124
- // // PDF background color
125
- if (HasAttr(input, "pdfBackground")) {
126
- descriptor->pdfBackground = AttrAsVectorOfDouble(input, "pdfBackground");
127
- }
128
- // Use JPEG 2000 oneshot mode?
129
- if (HasAttr(input, "jp2Oneshot")) {
130
- descriptor->jp2Oneshot = AttrAsBool(input, "jp2Oneshot");
131
- }
132
- // Create new image
133
- if (HasAttr(input, "createChannels")) {
134
- descriptor->createChannels = AttrAsUint32(input, "createChannels");
135
- descriptor->createWidth = AttrAsUint32(input, "createWidth");
136
- descriptor->createHeight = AttrAsUint32(input, "createHeight");
137
- descriptor->createPageHeight = AttrAsUint32(input, "createPageHeight");
138
- if (HasAttr(input, "createNoiseType")) {
139
- descriptor->createNoiseType = AttrAsStr(input, "createNoiseType");
140
- descriptor->createNoiseMean = AttrAsDouble(input, "createNoiseMean");
141
- descriptor->createNoiseSigma = AttrAsDouble(input, "createNoiseSigma");
142
- } else {
143
- descriptor->createBackground = AttrAsVectorOfDouble(input, "createBackground");
144
- }
145
- }
146
- // Create new image with text
147
- if (HasAttr(input, "textValue")) {
148
- descriptor->textValue = AttrAsStr(input, "textValue");
149
- if (HasAttr(input, "textFont")) {
150
- descriptor->textFont = AttrAsStr(input, "textFont");
151
- }
152
- if (HasAttr(input, "textFontfile")) {
153
- descriptor->textFontfile = AttrAsStr(input, "textFontfile");
154
- }
155
- if (HasAttr(input, "textWidth")) {
156
- descriptor->textWidth = AttrAsUint32(input, "textWidth");
157
- }
158
- if (HasAttr(input, "textHeight")) {
159
- descriptor->textHeight = AttrAsUint32(input, "textHeight");
160
- }
161
- if (HasAttr(input, "textAlign")) {
162
- descriptor->textAlign = AttrAsEnum<VipsAlign>(input, "textAlign", VIPS_TYPE_ALIGN);
163
- }
164
- if (HasAttr(input, "textJustify")) {
165
- descriptor->textJustify = AttrAsBool(input, "textJustify");
166
- }
167
- if (HasAttr(input, "textDpi")) {
168
- descriptor->textDpi = AttrAsUint32(input, "textDpi");
169
- }
170
- if (HasAttr(input, "textRgba")) {
171
- descriptor->textRgba = AttrAsBool(input, "textRgba");
172
- }
173
- if (HasAttr(input, "textSpacing")) {
174
- descriptor->textSpacing = AttrAsUint32(input, "textSpacing");
175
- }
176
- if (HasAttr(input, "textWrap")) {
177
- descriptor->textWrap = AttrAsEnum<VipsTextWrap>(input, "textWrap", VIPS_TYPE_TEXT_WRAP);
178
- }
179
- }
180
- // Join images together
181
- if (HasAttr(input, "joinAnimated")) {
182
- descriptor->joinAnimated = AttrAsBool(input, "joinAnimated");
183
- }
184
- if (HasAttr(input, "joinAcross")) {
185
- descriptor->joinAcross = AttrAsUint32(input, "joinAcross");
186
- }
187
- if (HasAttr(input, "joinShim")) {
188
- descriptor->joinShim = AttrAsUint32(input, "joinShim");
189
- }
190
- if (HasAttr(input, "joinBackground")) {
191
- descriptor->joinBackground = AttrAsVectorOfDouble(input, "joinBackground");
192
- }
193
- if (HasAttr(input, "joinHalign")) {
194
- descriptor->joinHalign = AttrAsEnum<VipsAlign>(input, "joinHalign", VIPS_TYPE_ALIGN);
195
- }
196
- if (HasAttr(input, "joinValign")) {
197
- descriptor->joinValign = AttrAsEnum<VipsAlign>(input, "joinValign", VIPS_TYPE_ALIGN);
198
- }
199
- descriptor->limitInputPixels = static_cast<uint64_t>(AttrAsInt64(input, "limitInputPixels"));
200
- descriptor->limitInputChannels = static_cast<uint64_t>(AttrAsInt64(input, "limitInputChannels"));
201
- if (HasAttr(input, "access")) {
202
- descriptor->access = AttrAsBool(input, "sequentialRead") ? VIPS_ACCESS_SEQUENTIAL : VIPS_ACCESS_RANDOM;
203
- }
204
- // Remove safety features and allow unlimited input
205
- descriptor->unlimited = AttrAsBool(input, "unlimited");
206
- // Use the EXIF orientation to auto orient the image
207
- descriptor->autoOrient = AttrAsBool(input, "autoOrient");
208
- return descriptor;
209
- }
210
-
211
- // How many tasks are in the queue?
212
- std::atomic<int> counterQueue{0};
213
-
214
- // How many tasks are being processed?
215
- std::atomic<int> counterProcess{0};
216
-
217
- // Filename extension checkers
218
- static bool EndsWith(std::string const &str, std::string const &end) {
219
- return str.length() >= end.length() && 0 == str.compare(str.length() - end.length(), end.length(), end);
220
- }
221
- bool IsJpeg(std::string const &str) {
222
- return EndsWith(str, ".jpg") || EndsWith(str, ".jpeg") || EndsWith(str, ".JPG") || EndsWith(str, ".JPEG");
223
- }
224
- bool IsPng(std::string const &str) {
225
- return EndsWith(str, ".png") || EndsWith(str, ".PNG");
226
- }
227
- bool IsWebp(std::string const &str) {
228
- return EndsWith(str, ".webp") || EndsWith(str, ".WEBP");
229
- }
230
- bool IsGif(std::string const &str) {
231
- return EndsWith(str, ".gif") || EndsWith(str, ".GIF");
232
- }
233
- bool IsJp2(std::string const &str) {
234
- return EndsWith(str, ".jp2") || EndsWith(str, ".jpx") || EndsWith(str, ".j2k") || EndsWith(str, ".j2c")
235
- || EndsWith(str, ".JP2") || EndsWith(str, ".JPX") || EndsWith(str, ".J2K") || EndsWith(str, ".J2C");
236
- }
237
- bool IsTiff(std::string const &str) {
238
- return EndsWith(str, ".tif") || EndsWith(str, ".tiff") || EndsWith(str, ".TIF") || EndsWith(str, ".TIFF");
239
- }
240
- bool IsHeic(std::string const &str) {
241
- return EndsWith(str, ".heic") || EndsWith(str, ".HEIC");
242
- }
243
- bool IsHeif(std::string const &str) {
244
- return EndsWith(str, ".heif") || EndsWith(str, ".HEIF") || IsHeic(str) || IsAvif(str);
245
- }
246
- bool IsAvif(std::string const &str) {
247
- return EndsWith(str, ".avif") || EndsWith(str, ".AVIF");
248
- }
249
- bool IsJxl(std::string const &str) {
250
- return EndsWith(str, ".jxl") || EndsWith(str, ".JXL");
251
- }
252
- bool IsDz(std::string const &str) {
253
- return EndsWith(str, ".dzi") || EndsWith(str, ".DZI");
254
- }
255
- bool IsDzZip(std::string const &str) {
256
- return EndsWith(str, ".zip") || EndsWith(str, ".ZIP") || EndsWith(str, ".szi") || EndsWith(str, ".SZI");
257
- }
258
- bool IsV(std::string const &str) {
259
- return EndsWith(str, ".v") || EndsWith(str, ".V") || EndsWith(str, ".vips") || EndsWith(str, ".VIPS");
260
- }
261
-
262
- /*
263
- Trim space from end of string.
264
- */
265
- std::string TrimEnd(std::string const &str) {
266
- return str.substr(0, str.find_last_not_of(" \n\r\f") + 1);
267
- }
268
-
269
- /*
270
- Provide a string identifier for the given image type.
271
- */
272
- std::string ImageTypeId(ImageType const imageType) {
273
- std::string id;
274
- switch (imageType) {
275
- case ImageType::JPEG: id = "jpeg"; break;
276
- case ImageType::PNG: id = "png"; break;
277
- case ImageType::WEBP: id = "webp"; break;
278
- case ImageType::TIFF: id = "tiff"; break;
279
- case ImageType::GIF: id = "gif"; break;
280
- case ImageType::JP2: id = "jp2"; break;
281
- case ImageType::SVG: id = "svg"; break;
282
- case ImageType::HEIF: id = "heif"; break;
283
- case ImageType::PDF: id = "pdf"; break;
284
- case ImageType::MAGICK: id = "magick"; break;
285
- case ImageType::OPENSLIDE: id = "openslide"; break;
286
- case ImageType::PPM: id = "ppm"; break;
287
- case ImageType::FITS: id = "fits"; break;
288
- case ImageType::EXR: id = "exr"; break;
289
- case ImageType::JXL: id = "jxl"; break;
290
- case ImageType::RAD: id = "rad"; break;
291
- case ImageType::DCRAW: id = "dcraw"; break;
292
- case ImageType::UHDR: id = "uhdr"; break;
293
- case ImageType::VIPS: id = "vips"; break;
294
- case ImageType::RAW: id = "raw"; break;
295
- case ImageType::UNKNOWN: id = "unknown"; break;
296
- case ImageType::MISSING: id = "missing"; break;
297
- }
298
- return id;
299
- }
300
-
301
- /**
302
- * Regenerate this table with something like:
303
- *
304
- * $ vips -l foreign | grep -i load | awk '{ print $2, $1; }'
305
- *
306
- * Plus a bit of editing.
307
- */
308
- std::map<std::string, ImageType> loaderToType = {
309
- { "VipsForeignLoadJpegFile", ImageType::JPEG },
310
- { "VipsForeignLoadJpegBuffer", ImageType::JPEG },
311
- { "VipsForeignLoadPngFile", ImageType::PNG },
312
- { "VipsForeignLoadPngBuffer", ImageType::PNG },
313
- { "VipsForeignLoadWebpFile", ImageType::WEBP },
314
- { "VipsForeignLoadWebpBuffer", ImageType::WEBP },
315
- { "VipsForeignLoadTiffFile", ImageType::TIFF },
316
- { "VipsForeignLoadTiffBuffer", ImageType::TIFF },
317
- { "VipsForeignLoadGifFile", ImageType::GIF },
318
- { "VipsForeignLoadGifBuffer", ImageType::GIF },
319
- { "VipsForeignLoadNsgifFile", ImageType::GIF },
320
- { "VipsForeignLoadNsgifBuffer", ImageType::GIF },
321
- { "VipsForeignLoadJp2kBuffer", ImageType::JP2 },
322
- { "VipsForeignLoadJp2kFile", ImageType::JP2 },
323
- { "VipsForeignLoadSvgFile", ImageType::SVG },
324
- { "VipsForeignLoadSvgBuffer", ImageType::SVG },
325
- { "VipsForeignLoadHeifFile", ImageType::HEIF },
326
- { "VipsForeignLoadHeifBuffer", ImageType::HEIF },
327
- { "VipsForeignLoadPdfFile", ImageType::PDF },
328
- { "VipsForeignLoadPdfBuffer", ImageType::PDF },
329
- { "VipsForeignLoadMagickFile", ImageType::MAGICK },
330
- { "VipsForeignLoadMagickBuffer", ImageType::MAGICK },
331
- { "VipsForeignLoadMagick7File", ImageType::MAGICK },
332
- { "VipsForeignLoadMagick7Buffer", ImageType::MAGICK },
333
- { "VipsForeignLoadOpenslideFile", ImageType::OPENSLIDE },
334
- { "VipsForeignLoadPpmFile", ImageType::PPM },
335
- { "VipsForeignLoadFitsFile", ImageType::FITS },
336
- { "VipsForeignLoadOpenexr", ImageType::EXR },
337
- { "VipsForeignLoadJxlFile", ImageType::JXL },
338
- { "VipsForeignLoadJxlBuffer", ImageType::JXL },
339
- { "VipsForeignLoadRadFile", ImageType::RAD },
340
- { "VipsForeignLoadRadBuffer", ImageType::RAD },
341
- { "VipsForeignLoadDcRawFile", ImageType::DCRAW },
342
- { "VipsForeignLoadDcRawBuffer", ImageType::DCRAW },
343
- { "VipsForeignLoadUhdr", ImageType::UHDR },
344
- { "VipsForeignLoadUhdrFile", ImageType::UHDR },
345
- { "VipsForeignLoadUhdrBuffer", ImageType::UHDR },
346
- { "VipsForeignLoadVips", ImageType::VIPS },
347
- { "VipsForeignLoadVipsFile", ImageType::VIPS },
348
- { "VipsForeignLoadRaw", ImageType::RAW }
349
- };
350
-
351
- /*
352
- Determine image format of a buffer.
353
- */
354
- ImageType DetermineImageType(void *buffer, size_t const length) {
355
- ImageType imageType = ImageType::UNKNOWN;
356
- char const *load = vips_foreign_find_load_buffer(buffer, length);
357
- if (load != nullptr) {
358
- auto it = loaderToType.find(load);
359
- if (it != loaderToType.end()) {
360
- imageType = it->second;
361
- }
362
- }
363
- if (imageType == ImageType::UHDR) {
364
- imageType = ImageType::JPEG;
365
- }
366
- return imageType;
367
- }
368
-
369
- /*
370
- Determine image format, reads the first few bytes of the file
371
- */
372
- ImageType DetermineImageType(char const *file) {
373
- ImageType imageType = ImageType::UNKNOWN;
374
- char const *load = vips_foreign_find_load(file);
375
- if (load != nullptr) {
376
- auto it = loaderToType.find(load);
377
- if (it != loaderToType.end()) {
378
- imageType = it->second;
379
- }
380
- } else {
381
- if (EndsWith(vips::VError().what(), " does not exist\n")) {
382
- imageType = ImageType::MISSING;
383
- }
384
- }
385
- if (imageType == ImageType::UHDR) {
386
- imageType = ImageType::JPEG;
387
- }
388
- return imageType;
389
- }
390
-
391
- /*
392
- Does this image type support multiple pages?
393
- */
394
- bool ImageTypeSupportsPage(ImageType imageType) {
395
- return
396
- imageType == ImageType::WEBP ||
397
- imageType == ImageType::MAGICK ||
398
- imageType == ImageType::GIF ||
399
- imageType == ImageType::JP2 ||
400
- imageType == ImageType::TIFF ||
401
- imageType == ImageType::HEIF ||
402
- imageType == ImageType::PDF;
403
- }
404
-
405
- /*
406
- Does this image type support removal of safety limits?
407
- */
408
- bool ImageTypeSupportsUnlimited(ImageType imageType) {
409
- return
410
- imageType == ImageType::JPEG ||
411
- imageType == ImageType::PNG ||
412
- imageType == ImageType::SVG ||
413
- imageType == ImageType::TIFF ||
414
- imageType == ImageType::HEIF;
415
- }
416
-
417
- /*
418
- Format-specific options builder
419
- */
420
- vips::VOption* GetOptionsForImageType(ImageType imageType, InputDescriptor *descriptor) {
421
- vips::VOption *option = VImage::option()
422
- ->set("access", descriptor->access)
423
- ->set("fail_on", descriptor->failOn);
424
- if (descriptor->unlimited && ImageTypeSupportsUnlimited(imageType)) {
425
- option->set("unlimited", true);
426
- }
427
- if (ImageTypeSupportsPage(imageType)) {
428
- option->set("n", descriptor->pages);
429
- option->set("page", std::max(0, descriptor->page));
430
- }
431
- switch (imageType) {
432
- case ImageType::SVG:
433
- option->set("dpi", descriptor->density)
434
- ->set("stylesheet", descriptor->svgStylesheet.data())
435
- ->set("high_bitdepth", descriptor->svgHighBitdepth);
436
- break;
437
- case ImageType::TIFF:
438
- option->set("subifd", descriptor->tiffSubifd);
439
- break;
440
- case ImageType::PDF:
441
- option->set("dpi", descriptor->density)
442
- ->set("background", descriptor->pdfBackground);
443
- break;
444
- case ImageType::OPENSLIDE:
445
- option->set("level", descriptor->openSlideLevel);
446
- break;
447
- case ImageType::JP2:
448
- option->set("oneshot", descriptor->jp2Oneshot);
449
- break;
450
- case ImageType::MAGICK:
451
- option->set("density", std::to_string(descriptor->density).data());
452
- break;
453
- default:
454
- break;
455
- }
456
- return option;
457
- }
458
-
459
- /*
460
- Should HEIF image be re-opened using the primary item?
461
- */
462
- static bool HeifPrimaryPageReopen(VImage image, InputDescriptor *descriptor) {
463
- if (image.get_typeof(VIPS_META_N_PAGES) == G_TYPE_INT && image.get_typeof("heif-primary") == G_TYPE_INT) {
464
- if (image.get_int(VIPS_META_N_PAGES) > 1 && descriptor->pages == 1 && descriptor->page == -1) {
465
- int const pagePrimary = image.get_int("heif-primary");
466
- if (pagePrimary != 0) {
467
- descriptor->page = pagePrimary;
468
- return true;
469
- }
470
- }
471
- }
472
- return false;
473
- }
474
-
475
- /*
476
- Open an image from the given InputDescriptor (filesystem, compressed buffer, raw pixel data)
477
- */
478
- std::tuple<VImage, ImageType> OpenInput(InputDescriptor *descriptor) {
479
- VImage image;
480
- ImageType imageType;
481
- if (descriptor->isBuffer) {
482
- if (descriptor->rawChannels > 0) {
483
- // Raw, uncompressed pixel data
484
- bool const is8bit = vips_band_format_is8bit(descriptor->rawDepth);
485
- image = VImage::new_from_memory(descriptor->buffer, descriptor->bufferLength,
486
- descriptor->rawWidth, descriptor->rawHeight, descriptor->rawChannels, descriptor->rawDepth);
487
- if (descriptor->rawChannels < 3) {
488
- image.get_image()->Type = is8bit ? VIPS_INTERPRETATION_B_W : VIPS_INTERPRETATION_GREY16;
489
- } else {
490
- image.get_image()->Type = is8bit ? VIPS_INTERPRETATION_sRGB : VIPS_INTERPRETATION_RGB16;
491
- }
492
- if (descriptor->rawPageHeight > 0) {
493
- image.set(VIPS_META_PAGE_HEIGHT, descriptor->rawPageHeight);
494
- image.set(VIPS_META_N_PAGES, static_cast<int>(descriptor->rawHeight / descriptor->rawPageHeight));
495
- }
496
- if (descriptor->rawPremultiplied) {
497
- image = image.unpremultiply();
498
- }
499
- imageType = ImageType::RAW;
500
- } else {
501
- // Compressed data
502
- imageType = DetermineImageType(descriptor->buffer, descriptor->bufferLength);
503
- if (imageType != ImageType::UNKNOWN) {
504
- try {
505
- vips::VOption *option = GetOptionsForImageType(imageType, descriptor);
506
- image = VImage::new_from_buffer(descriptor->buffer, descriptor->bufferLength, nullptr, option);
507
- if (imageType == ImageType::SVG || imageType == ImageType::PDF || imageType == ImageType::MAGICK) {
508
- image = SetDensity(image, descriptor->density);
509
- } else if (imageType == ImageType::HEIF && HeifPrimaryPageReopen(image, descriptor)) {
510
- option = GetOptionsForImageType(imageType, descriptor);
511
- image = VImage::new_from_buffer(descriptor->buffer, descriptor->bufferLength, nullptr, option);
512
- }
513
- } catch (std::runtime_error const &err) {
514
- throw std::runtime_error(std::string("Input buffer has corrupt header: ") + err.what());
515
- }
516
- } else {
517
- throw std::runtime_error("Input buffer contains unsupported image format");
518
- }
519
- }
520
- } else {
521
- int const channels = descriptor->createChannels;
522
- if (channels > 0) {
523
- // Create new image
524
- if (descriptor->createNoiseType == "gaussian") {
525
- std::vector<VImage> bands = {};
526
- bands.reserve(channels);
527
- for (int _band = 0; _band < channels; _band++) {
528
- bands.push_back(VImage::gaussnoise(descriptor->createWidth, descriptor->createHeight, VImage::option()
529
- ->set("mean", descriptor->createNoiseMean)
530
- ->set("sigma", descriptor->createNoiseSigma)));
531
- }
532
- image = VImage::bandjoin(bands).copy(VImage::option()->set("interpretation",
533
- channels < 3 ? VIPS_INTERPRETATION_B_W: VIPS_INTERPRETATION_sRGB));
534
- } else {
535
- std::vector<double> background = {
536
- descriptor->createBackground[0],
537
- descriptor->createBackground[1],
538
- descriptor->createBackground[2]
539
- };
540
- if (channels == 4) {
541
- background.push_back(descriptor->createBackground[3]);
542
- }
543
- image = VImage::black(descriptor->createWidth, descriptor->createHeight,
544
- VImage::option()->set("bands", channels))
545
- .copy(VImage::option()->set("interpretation", VIPS_INTERPRETATION_sRGB))
546
- .linear(std::vector<double>(channels, 0.0), background, VImage::option()->set("uchar", true));
547
- }
548
- if (descriptor->createPageHeight > 0) {
549
- image.set(VIPS_META_PAGE_HEIGHT, descriptor->createPageHeight);
550
- image.set(VIPS_META_N_PAGES, static_cast<int>(descriptor->createHeight / descriptor->createPageHeight));
551
- }
552
- image = image.cast(VIPS_FORMAT_UCHAR);
553
- imageType = ImageType::RAW;
554
- } else if (descriptor->textValue.length() > 0) {
555
- // Create a new image with text
556
- vips::VOption *textOptions = VImage::option()
557
- ->set("align", descriptor->textAlign)
558
- ->set("justify", descriptor->textJustify)
559
- ->set("rgba", descriptor->textRgba)
560
- ->set("spacing", descriptor->textSpacing)
561
- ->set("wrap", descriptor->textWrap)
562
- ->set("autofit_dpi", &descriptor->textAutofitDpi);
563
- if (descriptor->textWidth > 0) {
564
- textOptions->set("width", descriptor->textWidth);
565
- }
566
- // Ignore dpi if height is set
567
- if (descriptor->textWidth > 0 && descriptor->textHeight > 0) {
568
- textOptions->set("height", descriptor->textHeight);
569
- } else if (descriptor->textDpi > 0) {
570
- textOptions->set("dpi", descriptor->textDpi);
571
- }
572
- if (descriptor->textFont.length() > 0) {
573
- textOptions->set("font", const_cast<char*>(descriptor->textFont.data()));
574
- }
575
- if (descriptor->textFontfile.length() > 0) {
576
- textOptions->set("fontfile", const_cast<char*>(descriptor->textFontfile.data()));
577
- }
578
- image = VImage::text(const_cast<char *>(descriptor->textValue.data()), textOptions);
579
- if (!descriptor->textRgba) {
580
- image = image.copy(VImage::option()->set("interpretation", VIPS_INTERPRETATION_B_W));
581
- }
582
- imageType = ImageType::RAW;
583
- } else {
584
- // From filesystem
585
- imageType = DetermineImageType(descriptor->file.data());
586
- if (imageType == ImageType::MISSING) {
587
- if (descriptor->file.find("<svg") != std::string::npos) {
588
- throw std::runtime_error("Input file is missing, did you mean "
589
- "sharp(Buffer.from('" + descriptor->file.substr(0, 8) + "...')?");
590
- }
591
- throw std::runtime_error("Input file is missing: " + descriptor->file);
592
- }
593
- if (imageType != ImageType::UNKNOWN) {
594
- try {
595
- vips::VOption *option = GetOptionsForImageType(imageType, descriptor);
596
- image = VImage::new_from_file(descriptor->file.data(), option);
597
- if (imageType == ImageType::SVG || imageType == ImageType::PDF || imageType == ImageType::MAGICK) {
598
- image = SetDensity(image, descriptor->density);
599
- } else if (imageType == ImageType::HEIF && HeifPrimaryPageReopen(image, descriptor)) {
600
- option = GetOptionsForImageType(imageType, descriptor);
601
- image = VImage::new_from_file(descriptor->file.data(), option);
602
- }
603
- } catch (std::runtime_error const &err) {
604
- throw std::runtime_error(std::string("Input file has corrupt header: ") + err.what());
605
- }
606
- } else {
607
- throw std::runtime_error("Input file contains unsupported image format");
608
- }
609
- }
610
- }
611
-
612
- // Limit input images to a given number of pixels, where pixels = width * height
613
- if (descriptor->limitInputPixels > 0 &&
614
- static_cast<uint64_t>(image.width()) * image.height() > descriptor->limitInputPixels) {
615
- throw std::runtime_error("Input image exceeds pixel limit");
616
- }
617
- if (descriptor->limitInputChannels > 0 && static_cast<uint64_t>(image.bands()) > descriptor->limitInputChannels) {
618
- throw std::runtime_error("Input image exceeds channel limit");
619
- }
620
- return std::make_tuple(image, imageType);
621
- }
622
-
623
- /*
624
- Does this image have an embedded profile?
625
- */
626
- bool HasProfile(VImage image) {
627
- return image.get_typeof(VIPS_META_ICC_NAME) == VIPS_TYPE_BLOB;
628
- }
629
-
630
- /*
631
- Get copy of embedded profile.
632
- */
633
- std::pair<char*, size_t> GetProfile(VImage image) {
634
- std::pair<char*, size_t> icc(nullptr, 0);
635
- if (HasProfile(image)) {
636
- size_t length;
637
- const void *data = image.get_blob(VIPS_META_ICC_NAME, &length);
638
- icc.first = static_cast<char*>(vips_malloc(reinterpret_cast<VipsObject*>(image.get_image()), length));
639
- icc.second = length;
640
- memcpy(icc.first, data, length);
641
- }
642
- return icc;
643
- }
644
-
645
- /*
646
- Set embedded profile.
647
- */
648
- VImage SetProfile(VImage image, std::pair<char*, size_t> icc) {
649
- if (icc.first != nullptr) {
650
- image = image.copy();
651
- image.set(VIPS_META_ICC_NAME, nullptr, icc.first, icc.second);
652
- }
653
- return image;
654
- }
655
-
656
- static void* RemoveExifCallback(VipsImage *image, char const *field, GValue *value, void *data) {
657
- std::vector<std::string> *fieldNames = static_cast<std::vector<std::string> *>(data);
658
- std::string fieldName(field);
659
- if (fieldName.substr(0, 8) == ("exif-ifd")) {
660
- fieldNames->push_back(fieldName);
661
- }
662
- return nullptr;
663
- }
664
-
665
- /*
666
- Remove all EXIF-related image fields.
667
- */
668
- VImage RemoveExif(VImage image) {
669
- std::vector<std::string> fieldNames;
670
- vips_image_map(image.get_image(), static_cast<VipsImageMapFn>(RemoveExifCallback), &fieldNames);
671
- for (const auto& f : fieldNames) {
672
- image.remove(f.data());
673
- }
674
- return image;
675
- }
676
-
677
- /*
678
- Get EXIF Orientation of image, if any.
679
- */
680
- int ExifOrientation(VImage image) {
681
- int orientation = 0;
682
- if (image.get_typeof(VIPS_META_ORIENTATION) != 0) {
683
- orientation = image.get_int(VIPS_META_ORIENTATION);
684
- }
685
- return orientation;
686
- }
687
-
688
- /*
689
- Set EXIF Orientation of image.
690
- */
691
- VImage SetExifOrientation(VImage image, int const orientation) {
692
- VImage copy = image.copy();
693
- copy.set(VIPS_META_ORIENTATION, orientation);
694
- return copy;
695
- }
696
-
697
- /*
698
- Remove EXIF Orientation from image.
699
- */
700
- VImage RemoveExifOrientation(VImage image) {
701
- VImage copy = image.copy();
702
- copy.remove(VIPS_META_ORIENTATION);
703
- copy.remove("exif-ifd0-Orientation");
704
- return copy;
705
- }
706
-
707
- /*
708
- Set animation properties if necessary.
709
- */
710
- VImage SetAnimationProperties(VImage image, int nPages, int pageHeight, std::vector<int> delay, int loop) {
711
- bool hasDelay = !delay.empty();
712
- VImage copy = image.copy();
713
-
714
- // Only set page-height and n-pages if we have more than one page, or this
715
- // could accidentally turn into an animated image later.
716
- if (nPages > 1) {
717
- copy.set(VIPS_META_PAGE_HEIGHT, pageHeight);
718
- copy.set(VIPS_META_N_PAGES, nPages);
719
- }
720
- if (hasDelay) {
721
- if (delay.size() == 1) {
722
- // We have just one delay, repeat that value for all frames.
723
- delay.insert(delay.end(), nPages - 1, delay[0]);
724
- }
725
- copy.set("delay", delay);
726
- }
727
- if (nPages == 1 && !hasDelay && loop == -1) {
728
- loop = 1;
729
- }
730
- if (loop != -1) copy.set("loop", loop);
731
-
732
- return copy;
733
- }
734
-
735
- /*
736
- Remove animation properties from image.
737
- */
738
- VImage RemoveAnimationProperties(VImage image) {
739
- VImage copy = image.copy();
740
- copy.remove(VIPS_META_PAGE_HEIGHT);
741
- copy.remove("delay");
742
- copy.remove("loop");
743
- return copy;
744
- }
745
-
746
- /*
747
- Remove GIF palette from image.
748
- */
749
- VImage RemoveGifPalette(VImage image) {
750
- VImage copy = image.copy();
751
- copy.remove("gif-palette");
752
- return copy;
753
- }
754
-
755
- /*
756
- Does this image have a non-default density?
757
- */
758
- bool HasDensity(VImage image) {
759
- return image.xres() > 1.0;
760
- }
761
-
762
- /*
763
- Get pixels/mm resolution as pixels/inch density.
764
- */
765
- int GetDensity(VImage image) {
766
- return static_cast<int>(round(image.xres() * 25.4));
767
- }
768
-
769
- /*
770
- Set pixels/mm resolution based on a pixels/inch density.
771
- */
772
- VImage SetDensity(VImage image, const double density) {
773
- const double pixelsPerMm = density / 25.4;
774
- VImage copy = image.copy();
775
- copy.get_image()->Xres = pixelsPerMm;
776
- copy.get_image()->Yres = pixelsPerMm;
777
- return copy;
778
- }
779
-
780
- /*
781
- Multi-page images can have a page height. Fetch it, and sanity check it.
782
- If page-height is not set, it defaults to the image height
783
- */
784
- int GetPageHeight(VImage image) {
785
- return vips_image_get_page_height(image.get_image());
786
- }
787
-
788
- /*
789
- Check the proposed format supports the current dimensions.
790
- */
791
- void AssertImageTypeDimensions(VImage image, ImageType const imageType) {
792
- const int height = image.get_typeof(VIPS_META_PAGE_HEIGHT) == G_TYPE_INT
793
- ? image.get_int(VIPS_META_PAGE_HEIGHT)
794
- : image.height();
795
- if (imageType == ImageType::JPEG) {
796
- if (image.width() > 65535 || height > 65535) {
797
- throw std::runtime_error("Processed image is too large for the JPEG format");
798
- }
799
- } else if (imageType == ImageType::WEBP) {
800
- if (image.width() > 16383 || height > 16383) {
801
- throw std::runtime_error("Processed image is too large for the WebP format");
802
- }
803
- } else if (imageType == ImageType::GIF) {
804
- if (image.width() > 65535 || height > 65535) {
805
- throw std::runtime_error("Processed image is too large for the GIF format");
806
- }
807
- } else if (imageType == ImageType::HEIF) {
808
- if (image.width() > 16384 || height > 16384) {
809
- throw std::runtime_error("Processed image is too large for the HEIF format");
810
- }
811
- }
812
- }
813
-
814
- /*
815
- Called when a Buffer undergoes GC, required to support mixed runtime libraries in Windows
816
- */
817
- std::function<void(void*, char*)> FreeCallback = [](void*, char* data) {
818
- g_free(data);
819
- };
820
-
821
- /*
822
- Temporary buffer of warnings
823
- */
824
- std::queue<std::string> vipsWarnings;
825
- std::mutex vipsWarningsMutex;
826
-
827
- /*
828
- Called with warnings from the glib-registered "VIPS" domain
829
- */
830
- void VipsWarningCallback(char const* log_domain, GLogLevelFlags log_level, char const* message, void* ignore) {
831
- std::lock_guard<std::mutex> lock(vipsWarningsMutex);
832
- vipsWarnings.emplace(message);
833
- }
834
-
835
- /*
836
- Pop the oldest warning message from the queue
837
- */
838
- std::string VipsWarningPop() {
839
- std::string warning;
840
- std::lock_guard<std::mutex> lock(vipsWarningsMutex);
841
- if (!vipsWarnings.empty()) {
842
- warning = vipsWarnings.front();
843
- vipsWarnings.pop();
844
- }
845
- return warning;
846
- }
847
-
848
- /*
849
- Attach an event listener for progress updates, used to detect timeout
850
- */
851
- void SetTimeout(VImage image, int const seconds) {
852
- if (seconds > 0) {
853
- VipsImage *im = image.get_image();
854
- if (im->progress_signal == NULL) {
855
- int *timeout = VIPS_NEW(im, int);
856
- *timeout = seconds;
857
- g_signal_connect(im, "eval", G_CALLBACK(VipsProgressCallBack), timeout);
858
- vips_image_set_progress(im, true);
859
- }
860
- }
861
- }
862
-
863
- /*
864
- Event listener for progress updates, used to detect timeout
865
- */
866
- void VipsProgressCallBack(VipsImage *im, VipsProgress *progress, int *timeout) {
867
- if (*timeout > 0 && progress->run >= *timeout) {
868
- vips_image_set_kill(im, true);
869
- vips_error("timeout", "%d%% complete", progress->percent);
870
- *timeout = 0;
871
- }
872
- }
873
-
874
- /*
875
- Calculate the (left, top) coordinates of the output image
876
- within the input image, applying the given gravity during an embed.
877
-
878
- @Azurebyte: We are basically swapping the inWidth and outWidth, inHeight and outHeight from the CalculateCrop function.
879
- */
880
- std::tuple<int, int> CalculateEmbedPosition(int const inWidth, int const inHeight,
881
- int const outWidth, int const outHeight, int const gravity) {
882
-
883
- int left = 0;
884
- int top = 0;
885
- switch (gravity) {
886
- case 1:
887
- // North
888
- left = (outWidth - inWidth) / 2;
889
- break;
890
- case 2:
891
- // East
892
- left = outWidth - inWidth;
893
- top = (outHeight - inHeight) / 2;
894
- break;
895
- case 3:
896
- // South
897
- left = (outWidth - inWidth) / 2;
898
- top = outHeight - inHeight;
899
- break;
900
- case 4:
901
- // West
902
- top = (outHeight - inHeight) / 2;
903
- break;
904
- case 5:
905
- // Northeast
906
- left = outWidth - inWidth;
907
- break;
908
- case 6:
909
- // Southeast
910
- left = outWidth - inWidth;
911
- top = outHeight - inHeight;
912
- break;
913
- case 7:
914
- // Southwest
915
- top = outHeight - inHeight;
916
- break;
917
- case 8:
918
- // Northwest
919
- // Which is the default is 0,0 so we do not assign anything here.
920
- break;
921
- default:
922
- // Centre
923
- left = (outWidth - inWidth) / 2;
924
- top = (outHeight - inHeight) / 2;
925
- }
926
- return std::make_tuple(left, top);
927
- }
928
-
929
- /*
930
- Calculate the (left, top) coordinates of the output image
931
- within the input image, applying the given gravity during a crop.
932
- */
933
- std::tuple<int, int> CalculateCrop(int const inWidth, int const inHeight,
934
- int const outWidth, int const outHeight, int const gravity) {
935
-
936
- int left = 0;
937
- int top = 0;
938
- switch (gravity) {
939
- case 1:
940
- // North
941
- left = (inWidth - outWidth + 1) / 2;
942
- break;
943
- case 2:
944
- // East
945
- left = inWidth - outWidth;
946
- top = (inHeight - outHeight + 1) / 2;
947
- break;
948
- case 3:
949
- // South
950
- left = (inWidth - outWidth + 1) / 2;
951
- top = inHeight - outHeight;
952
- break;
953
- case 4:
954
- // West
955
- top = (inHeight - outHeight + 1) / 2;
956
- break;
957
- case 5:
958
- // Northeast
959
- left = inWidth - outWidth;
960
- break;
961
- case 6:
962
- // Southeast
963
- left = inWidth - outWidth;
964
- top = inHeight - outHeight;
965
- break;
966
- case 7:
967
- // Southwest
968
- top = inHeight - outHeight;
969
- break;
970
- case 8:
971
- // Northwest
972
- break;
973
- default:
974
- // Centre
975
- left = (inWidth - outWidth + 1) / 2;
976
- top = (inHeight - outHeight + 1) / 2;
977
- }
978
- return std::make_tuple(left, top);
979
- }
980
-
981
- /*
982
- Calculate the (left, top) coordinates of the output image
983
- within the input image, applying the given x and y offsets.
984
- */
985
- std::tuple<int, int> CalculateCrop(int const inWidth, int const inHeight,
986
- int const outWidth, int const outHeight, int const x, int const y) {
987
-
988
- // default values
989
- int left = 0;
990
- int top = 0;
991
-
992
- // assign only if valid
993
- if (x < (inWidth - outWidth)) {
994
- left = x;
995
- } else if (x >= (inWidth - outWidth)) {
996
- left = inWidth - outWidth;
997
- }
998
-
999
- if (y < (inHeight - outHeight)) {
1000
- top = y;
1001
- } else if (y >= (inHeight - outHeight)) {
1002
- top = inHeight - outHeight;
1003
- }
1004
-
1005
- return std::make_tuple(left, top);
1006
- }
1007
-
1008
- /*
1009
- Are pixel values in this image 16-bit integer?
1010
- */
1011
- bool Is16Bit(VipsInterpretation const interpretation) {
1012
- return interpretation == VIPS_INTERPRETATION_RGB16 || interpretation == VIPS_INTERPRETATION_GREY16;
1013
- }
1014
-
1015
- /*
1016
- Convert RGBA value to another colourspace
1017
- */
1018
- std::vector<double> GetRgbaAsColourspace(std::vector<double> const rgba,
1019
- VipsInterpretation const interpretation, bool premultiply) {
1020
- int const bands = static_cast<int>(rgba.size());
1021
- if (bands < 3) {
1022
- return rgba;
1023
- }
1024
- VImage pixel = VImage::new_matrix(1, 1);
1025
- pixel.set("bands", bands);
1026
- pixel = pixel
1027
- .new_from_image(rgba)
1028
- .colourspace(interpretation, VImage::option()->set("source_space", VIPS_INTERPRETATION_sRGB));
1029
- if (premultiply) {
1030
- pixel = pixel.premultiply();
1031
- }
1032
- return pixel(0, 0);
1033
- }
1034
-
1035
- /*
1036
- Apply the alpha channel to a given colour
1037
- */
1038
- std::tuple<VImage, std::vector<double>> ApplyAlpha(VImage image, std::vector<double> colour, bool premultiply) {
1039
- // Scale up 8-bit values to match 16-bit input image
1040
- double const multiplier = sharp::Is16Bit(image.interpretation()) ? 256.0 : 1.0;
1041
- // Create alphaColour colour
1042
- std::vector<double> alphaColour;
1043
- if (image.bands() > 2) {
1044
- alphaColour = {
1045
- multiplier * colour[0],
1046
- multiplier * colour[1],
1047
- multiplier * colour[2]
1048
- };
1049
- } else {
1050
- // Convert sRGB to greyscale
1051
- alphaColour = { multiplier * (
1052
- 0.2126 * colour[0] +
1053
- 0.7152 * colour[1] +
1054
- 0.0722 * colour[2])
1055
- };
1056
- }
1057
- // Add alpha channel(s) to alphaColour colour
1058
- if (colour[3] < 255.0 || image.has_alpha()) {
1059
- int extraBands = image.bands() > 4 ? image.bands() - 3 : 1;
1060
- alphaColour.insert(alphaColour.end(), extraBands, colour[3] * multiplier);
1061
- }
1062
- // Ensure alphaColour colour uses correct colourspace
1063
- alphaColour = sharp::GetRgbaAsColourspace(alphaColour, image.interpretation(), premultiply);
1064
- // Add non-transparent alpha channel, if required
1065
- if (colour[3] < 255.0 && !image.has_alpha()) {
1066
- image = image.bandjoin_const({ 255 * multiplier });
1067
- }
1068
- return std::make_tuple(image, alphaColour);
1069
- }
1070
-
1071
- /*
1072
- Removes alpha channels, if any.
1073
- */
1074
- VImage RemoveAlpha(VImage image) {
1075
- while (image.bands() > 1 && image.has_alpha()) {
1076
- image = image.extract_band(0, VImage::option()->set("n", image.bands() - 1));
1077
- }
1078
- return image;
1079
- }
1080
-
1081
- /*
1082
- Ensures alpha channel, if missing.
1083
- */
1084
- VImage EnsureAlpha(VImage image, double const value) {
1085
- if (!image.has_alpha()) {
1086
- image = image.bandjoin_const({ value * vips_interpretation_max_alpha(image.interpretation()) });
1087
- }
1088
- return image;
1089
- }
1090
-
1091
- std::pair<double, double> ResolveShrink(int width, int height, int targetWidth, int targetHeight,
1092
- Canvas canvas, bool withoutEnlargement, bool withoutReduction) {
1093
- double hshrink = 1.0;
1094
- double vshrink = 1.0;
1095
-
1096
- if (targetWidth > 0 && targetHeight > 0) {
1097
- // Fixed width and height
1098
- hshrink = static_cast<double>(width) / targetWidth;
1099
- vshrink = static_cast<double>(height) / targetHeight;
1100
-
1101
- switch (canvas) {
1102
- case Canvas::CROP:
1103
- case Canvas::MIN:
1104
- if (hshrink < vshrink) {
1105
- vshrink = hshrink;
1106
- } else {
1107
- hshrink = vshrink;
1108
- }
1109
- break;
1110
- case Canvas::EMBED:
1111
- case Canvas::MAX:
1112
- if (hshrink > vshrink) {
1113
- vshrink = hshrink;
1114
- } else {
1115
- hshrink = vshrink;
1116
- }
1117
- break;
1118
- case Canvas::IGNORE_ASPECT:
1119
- break;
1120
- }
1121
- } else if (targetWidth > 0) {
1122
- // Fixed width
1123
- hshrink = static_cast<double>(width) / targetWidth;
1124
-
1125
- if (canvas != Canvas::IGNORE_ASPECT) {
1126
- // Auto height
1127
- vshrink = hshrink;
1128
- }
1129
- } else if (targetHeight > 0) {
1130
- // Fixed height
1131
- vshrink = static_cast<double>(height) / targetHeight;
1132
-
1133
- if (canvas != Canvas::IGNORE_ASPECT) {
1134
- // Auto width
1135
- hshrink = vshrink;
1136
- }
1137
- }
1138
-
1139
- // We should not reduce or enlarge the output image, if
1140
- // withoutReduction or withoutEnlargement is specified.
1141
- if (withoutReduction) {
1142
- // Equivalent of VIPS_SIZE_UP
1143
- hshrink = std::min(1.0, hshrink);
1144
- vshrink = std::min(1.0, vshrink);
1145
- } else if (withoutEnlargement) {
1146
- // Equivalent of VIPS_SIZE_DOWN
1147
- hshrink = std::max(1.0, hshrink);
1148
- vshrink = std::max(1.0, vshrink);
1149
- }
1150
-
1151
- // We don't want to shrink so much that we send an axis to 0
1152
- hshrink = std::min(hshrink, static_cast<double>(width));
1153
- vshrink = std::min(vshrink, static_cast<double>(height));
1154
-
1155
- return std::make_pair(hshrink, vshrink);
1156
- }
1157
-
1158
- /*
1159
- Ensure decoding remains sequential.
1160
- */
1161
- VImage StaySequential(VImage image, bool condition) {
1162
- if (vips_image_is_sequential(image.get_image()) && condition) {
1163
- image = image.copy_memory().copy();
1164
- image.remove(VIPS_META_SEQUENTIAL);
1165
- }
1166
- return image;
1167
- }
1168
-
1169
- /*
1170
- Does this image have a gain map?
1171
- */
1172
- bool HasGainMap(VImage image) {
1173
- return image.get_typeof("gainmap") == VIPS_TYPE_BLOB ||
1174
- image.get_typeof("gainmap-data") == VIPS_TYPE_BLOB;
1175
- }
1176
-
1177
- /*
1178
- Removes gain map, if any.
1179
- */
1180
- VImage RemoveGainMap(VImage image) {
1181
- VImage copy = image.copy();
1182
- copy.remove("gainmap");
1183
- copy.remove("gainmap-data");
1184
- return copy;
1185
- }
1186
- } // namespace sharp