@yugoo-design/dsh-design-knowledge-ladybug 0.2.8 → 0.2.11

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 (316) hide show
  1. package/licenses/dsh-distribution.json +11 -11
  2. package/licenses/prebuilt-embedding/SOURCE.json +1320 -0
  3. package/licenses/prebuilt-embedding/onnxruntime-1.21.0.LICENSE +21 -0
  4. package/licenses/prebuilt-embedding/onnxruntime-1.21.0.ThirdPartyNotices.txt +6082 -0
  5. package/node_modules/@huggingface/transformers/LICENSE +202 -0
  6. package/node_modules/@huggingface/transformers/README.md +467 -0
  7. package/node_modules/@huggingface/transformers/dist/transformers.node.cjs +37966 -0
  8. package/node_modules/@huggingface/transformers/dist/transformers.node.cjs.map +1 -0
  9. package/node_modules/@huggingface/transformers/dist/transformers.node.mjs +38699 -0
  10. package/node_modules/@huggingface/transformers/dist/transformers.node.mjs.map +1 -0
  11. package/node_modules/@huggingface/transformers/package.json +90 -0
  12. package/node_modules/@huggingface/transformers/types/backends/onnx.d.ts +37 -0
  13. package/node_modules/@huggingface/transformers/types/backends/onnx.d.ts.map +1 -0
  14. package/node_modules/@huggingface/transformers/types/base/feature_extraction_utils.d.ts +41 -0
  15. package/node_modules/@huggingface/transformers/types/base/feature_extraction_utils.d.ts.map +1 -0
  16. package/node_modules/@huggingface/transformers/types/base/image_processors_utils.d.ts +332 -0
  17. package/node_modules/@huggingface/transformers/types/base/image_processors_utils.d.ts.map +1 -0
  18. package/node_modules/@huggingface/transformers/types/base/processing_utils.d.ts +89 -0
  19. package/node_modules/@huggingface/transformers/types/base/processing_utils.d.ts.map +1 -0
  20. package/node_modules/@huggingface/transformers/types/configs.d.ts +93 -0
  21. package/node_modules/@huggingface/transformers/types/configs.d.ts.map +1 -0
  22. package/node_modules/@huggingface/transformers/types/env.d.ts +112 -0
  23. package/node_modules/@huggingface/transformers/types/env.d.ts.map +1 -0
  24. package/node_modules/@huggingface/transformers/types/generation/configuration_utils.d.ts +326 -0
  25. package/node_modules/@huggingface/transformers/types/generation/configuration_utils.d.ts.map +1 -0
  26. package/node_modules/@huggingface/transformers/types/generation/logits_process.d.ts +364 -0
  27. package/node_modules/@huggingface/transformers/types/generation/logits_process.d.ts.map +1 -0
  28. package/node_modules/@huggingface/transformers/types/generation/logits_sampler.d.ts +51 -0
  29. package/node_modules/@huggingface/transformers/types/generation/logits_sampler.d.ts.map +1 -0
  30. package/node_modules/@huggingface/transformers/types/generation/parameters.d.ts +47 -0
  31. package/node_modules/@huggingface/transformers/types/generation/parameters.d.ts.map +1 -0
  32. package/node_modules/@huggingface/transformers/types/generation/stopping_criteria.d.ts +81 -0
  33. package/node_modules/@huggingface/transformers/types/generation/stopping_criteria.d.ts.map +1 -0
  34. package/node_modules/@huggingface/transformers/types/generation/streamers.d.ts +88 -0
  35. package/node_modules/@huggingface/transformers/types/generation/streamers.d.ts.map +1 -0
  36. package/node_modules/@huggingface/transformers/types/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.d.ts +25 -0
  37. package/node_modules/@huggingface/transformers/types/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.d.ts.map +1 -0
  38. package/node_modules/@huggingface/transformers/types/models/auto/feature_extraction_auto.d.ts +5 -0
  39. package/node_modules/@huggingface/transformers/types/models/auto/feature_extraction_auto.d.ts.map +1 -0
  40. package/node_modules/@huggingface/transformers/types/models/auto/image_processing_auto.d.ts +5 -0
  41. package/node_modules/@huggingface/transformers/types/models/auto/image_processing_auto.d.ts.map +1 -0
  42. package/node_modules/@huggingface/transformers/types/models/auto/processing_auto.d.ts +39 -0
  43. package/node_modules/@huggingface/transformers/types/models/auto/processing_auto.d.ts.map +1 -0
  44. package/node_modules/@huggingface/transformers/types/models/beit/image_processing_beit.d.ts +4 -0
  45. package/node_modules/@huggingface/transformers/types/models/beit/image_processing_beit.d.ts.map +1 -0
  46. package/node_modules/@huggingface/transformers/types/models/bit/image_processing_bit.d.ts +4 -0
  47. package/node_modules/@huggingface/transformers/types/models/bit/image_processing_bit.d.ts.map +1 -0
  48. package/node_modules/@huggingface/transformers/types/models/chinese_clip/image_processing_chinese_clip.d.ts +4 -0
  49. package/node_modules/@huggingface/transformers/types/models/chinese_clip/image_processing_chinese_clip.d.ts.map +1 -0
  50. package/node_modules/@huggingface/transformers/types/models/clap/feature_extraction_clap.d.ts +57 -0
  51. package/node_modules/@huggingface/transformers/types/models/clap/feature_extraction_clap.d.ts.map +1 -0
  52. package/node_modules/@huggingface/transformers/types/models/clip/image_processing_clip.d.ts +6 -0
  53. package/node_modules/@huggingface/transformers/types/models/clip/image_processing_clip.d.ts.map +1 -0
  54. package/node_modules/@huggingface/transformers/types/models/convnext/image_processing_convnext.d.ts +12 -0
  55. package/node_modules/@huggingface/transformers/types/models/convnext/image_processing_convnext.d.ts.map +1 -0
  56. package/node_modules/@huggingface/transformers/types/models/dac/feature_extraction_dac.d.ts +4 -0
  57. package/node_modules/@huggingface/transformers/types/models/dac/feature_extraction_dac.d.ts.map +1 -0
  58. package/node_modules/@huggingface/transformers/types/models/deit/image_processing_deit.d.ts +6 -0
  59. package/node_modules/@huggingface/transformers/types/models/deit/image_processing_deit.d.ts.map +1 -0
  60. package/node_modules/@huggingface/transformers/types/models/detr/image_processing_detr.d.ts +42 -0
  61. package/node_modules/@huggingface/transformers/types/models/detr/image_processing_detr.d.ts.map +1 -0
  62. package/node_modules/@huggingface/transformers/types/models/dinov3_vit/image_processing_dinov3_vit.d.ts +4 -0
  63. package/node_modules/@huggingface/transformers/types/models/dinov3_vit/image_processing_dinov3_vit.d.ts.map +1 -0
  64. package/node_modules/@huggingface/transformers/types/models/donut/image_processing_donut.d.ts +7 -0
  65. package/node_modules/@huggingface/transformers/types/models/donut/image_processing_donut.d.ts.map +1 -0
  66. package/node_modules/@huggingface/transformers/types/models/dpt/image_processing_dpt.d.ts +6 -0
  67. package/node_modules/@huggingface/transformers/types/models/dpt/image_processing_dpt.d.ts.map +1 -0
  68. package/node_modules/@huggingface/transformers/types/models/efficientnet/image_processing_efficientnet.d.ts +6 -0
  69. package/node_modules/@huggingface/transformers/types/models/efficientnet/image_processing_efficientnet.d.ts.map +1 -0
  70. package/node_modules/@huggingface/transformers/types/models/encodec/feature_extraction_encodec.d.ts +13 -0
  71. package/node_modules/@huggingface/transformers/types/models/encodec/feature_extraction_encodec.d.ts.map +1 -0
  72. package/node_modules/@huggingface/transformers/types/models/feature_extractors.d.ts +16 -0
  73. package/node_modules/@huggingface/transformers/types/models/feature_extractors.d.ts.map +1 -0
  74. package/node_modules/@huggingface/transformers/types/models/florence2/processing_florence2.d.ts +39 -0
  75. package/node_modules/@huggingface/transformers/types/models/florence2/processing_florence2.d.ts.map +1 -0
  76. package/node_modules/@huggingface/transformers/types/models/gemma3n/feature_extraction_gemma3n.d.ts +35 -0
  77. package/node_modules/@huggingface/transformers/types/models/gemma3n/feature_extraction_gemma3n.d.ts.map +1 -0
  78. package/node_modules/@huggingface/transformers/types/models/gemma3n/processing_gemma3n.d.ts +31 -0
  79. package/node_modules/@huggingface/transformers/types/models/gemma3n/processing_gemma3n.d.ts.map +1 -0
  80. package/node_modules/@huggingface/transformers/types/models/glpn/image_processing_glpn.d.ts +4 -0
  81. package/node_modules/@huggingface/transformers/types/models/glpn/image_processing_glpn.d.ts.map +1 -0
  82. package/node_modules/@huggingface/transformers/types/models/grounding_dino/image_processing_grounding_dino.d.ts +20 -0
  83. package/node_modules/@huggingface/transformers/types/models/grounding_dino/image_processing_grounding_dino.d.ts.map +1 -0
  84. package/node_modules/@huggingface/transformers/types/models/grounding_dino/processing_grounding_dino.d.ts +27 -0
  85. package/node_modules/@huggingface/transformers/types/models/grounding_dino/processing_grounding_dino.d.ts.map +1 -0
  86. package/node_modules/@huggingface/transformers/types/models/idefics3/image_processing_idefics3.d.ts +40 -0
  87. package/node_modules/@huggingface/transformers/types/models/idefics3/image_processing_idefics3.d.ts.map +1 -0
  88. package/node_modules/@huggingface/transformers/types/models/idefics3/processing_idefics3.d.ts +19 -0
  89. package/node_modules/@huggingface/transformers/types/models/idefics3/processing_idefics3.d.ts.map +1 -0
  90. package/node_modules/@huggingface/transformers/types/models/image_processors.d.ts +44 -0
  91. package/node_modules/@huggingface/transformers/types/models/image_processors.d.ts.map +1 -0
  92. package/node_modules/@huggingface/transformers/types/models/janus/image_processing_janus.d.ts +7 -0
  93. package/node_modules/@huggingface/transformers/types/models/janus/image_processing_janus.d.ts.map +1 -0
  94. package/node_modules/@huggingface/transformers/types/models/janus/processing_janus.d.ts +77 -0
  95. package/node_modules/@huggingface/transformers/types/models/janus/processing_janus.d.ts.map +1 -0
  96. package/node_modules/@huggingface/transformers/types/models/jina_clip/image_processing_jina_clip.d.ts +5 -0
  97. package/node_modules/@huggingface/transformers/types/models/jina_clip/image_processing_jina_clip.d.ts.map +1 -0
  98. package/node_modules/@huggingface/transformers/types/models/jina_clip/processing_jina_clip.d.ts +9 -0
  99. package/node_modules/@huggingface/transformers/types/models/jina_clip/processing_jina_clip.d.ts.map +1 -0
  100. package/node_modules/@huggingface/transformers/types/models/llava/processing_llava.d.ts +12 -0
  101. package/node_modules/@huggingface/transformers/types/models/llava/processing_llava.d.ts.map +1 -0
  102. package/node_modules/@huggingface/transformers/types/models/llava_onevision/image_processing_llava_onevision.d.ts +4 -0
  103. package/node_modules/@huggingface/transformers/types/models/llava_onevision/image_processing_llava_onevision.d.ts.map +1 -0
  104. package/node_modules/@huggingface/transformers/types/models/mask2former/image_processing_mask2former.d.ts +4 -0
  105. package/node_modules/@huggingface/transformers/types/models/mask2former/image_processing_mask2former.d.ts.map +1 -0
  106. package/node_modules/@huggingface/transformers/types/models/maskformer/image_processing_maskformer.d.ts +22 -0
  107. package/node_modules/@huggingface/transformers/types/models/maskformer/image_processing_maskformer.d.ts.map +1 -0
  108. package/node_modules/@huggingface/transformers/types/models/mgp_str/processing_mgp_str.d.ts +64 -0
  109. package/node_modules/@huggingface/transformers/types/models/mgp_str/processing_mgp_str.d.ts.map +1 -0
  110. package/node_modules/@huggingface/transformers/types/models/mobilenet_v1/image_processing_mobilenet_v1.d.ts +6 -0
  111. package/node_modules/@huggingface/transformers/types/models/mobilenet_v1/image_processing_mobilenet_v1.d.ts.map +1 -0
  112. package/node_modules/@huggingface/transformers/types/models/mobilenet_v2/image_processing_mobilenet_v2.d.ts +6 -0
  113. package/node_modules/@huggingface/transformers/types/models/mobilenet_v2/image_processing_mobilenet_v2.d.ts.map +1 -0
  114. package/node_modules/@huggingface/transformers/types/models/mobilenet_v3/image_processing_mobilenet_v3.d.ts +6 -0
  115. package/node_modules/@huggingface/transformers/types/models/mobilenet_v3/image_processing_mobilenet_v3.d.ts.map +1 -0
  116. package/node_modules/@huggingface/transformers/types/models/mobilenet_v4/image_processing_mobilenet_v4.d.ts +6 -0
  117. package/node_modules/@huggingface/transformers/types/models/mobilenet_v4/image_processing_mobilenet_v4.d.ts.map +1 -0
  118. package/node_modules/@huggingface/transformers/types/models/mobilevit/image_processing_mobilevit.d.ts +6 -0
  119. package/node_modules/@huggingface/transformers/types/models/mobilevit/image_processing_mobilevit.d.ts.map +1 -0
  120. package/node_modules/@huggingface/transformers/types/models/moonshine/feature_extraction_moonshine.d.ts +13 -0
  121. package/node_modules/@huggingface/transformers/types/models/moonshine/feature_extraction_moonshine.d.ts.map +1 -0
  122. package/node_modules/@huggingface/transformers/types/models/moonshine/processing_moonshine.d.ts +17 -0
  123. package/node_modules/@huggingface/transformers/types/models/moonshine/processing_moonshine.d.ts.map +1 -0
  124. package/node_modules/@huggingface/transformers/types/models/nougat/image_processing_nougat.d.ts +4 -0
  125. package/node_modules/@huggingface/transformers/types/models/nougat/image_processing_nougat.d.ts.map +1 -0
  126. package/node_modules/@huggingface/transformers/types/models/owlv2/image_processing_owlv2.d.ts +4 -0
  127. package/node_modules/@huggingface/transformers/types/models/owlv2/image_processing_owlv2.d.ts.map +1 -0
  128. package/node_modules/@huggingface/transformers/types/models/owlvit/image_processing_owlvit.d.ts +10 -0
  129. package/node_modules/@huggingface/transformers/types/models/owlvit/image_processing_owlvit.d.ts.map +1 -0
  130. package/node_modules/@huggingface/transformers/types/models/owlvit/processing_owlvit.d.ts +8 -0
  131. package/node_modules/@huggingface/transformers/types/models/owlvit/processing_owlvit.d.ts.map +1 -0
  132. package/node_modules/@huggingface/transformers/types/models/paligemma/processing_paligemma.d.ts +12 -0
  133. package/node_modules/@huggingface/transformers/types/models/paligemma/processing_paligemma.d.ts.map +1 -0
  134. package/node_modules/@huggingface/transformers/types/models/parakeet/feature_extraction_parakeet.d.ts +22 -0
  135. package/node_modules/@huggingface/transformers/types/models/parakeet/feature_extraction_parakeet.d.ts.map +1 -0
  136. package/node_modules/@huggingface/transformers/types/models/phi3_v/image_processing_phi3_v.d.ts +17 -0
  137. package/node_modules/@huggingface/transformers/types/models/phi3_v/image_processing_phi3_v.d.ts.map +1 -0
  138. package/node_modules/@huggingface/transformers/types/models/phi3_v/processing_phi3_v.d.ts +21 -0
  139. package/node_modules/@huggingface/transformers/types/models/phi3_v/processing_phi3_v.d.ts.map +1 -0
  140. package/node_modules/@huggingface/transformers/types/models/pixtral/image_processing_pixtral.d.ts +4 -0
  141. package/node_modules/@huggingface/transformers/types/models/pixtral/image_processing_pixtral.d.ts.map +1 -0
  142. package/node_modules/@huggingface/transformers/types/models/pixtral/processing_pixtral.d.ts +12 -0
  143. package/node_modules/@huggingface/transformers/types/models/pixtral/processing_pixtral.d.ts.map +1 -0
  144. package/node_modules/@huggingface/transformers/types/models/processors.d.ts +25 -0
  145. package/node_modules/@huggingface/transformers/types/models/processors.d.ts.map +1 -0
  146. package/node_modules/@huggingface/transformers/types/models/pvt/image_processing_pvt.d.ts +4 -0
  147. package/node_modules/@huggingface/transformers/types/models/pvt/image_processing_pvt.d.ts.map +1 -0
  148. package/node_modules/@huggingface/transformers/types/models/pyannote/feature_extraction_pyannote.d.ts +31 -0
  149. package/node_modules/@huggingface/transformers/types/models/pyannote/feature_extraction_pyannote.d.ts.map +1 -0
  150. package/node_modules/@huggingface/transformers/types/models/pyannote/processing_pyannote.d.ts +19 -0
  151. package/node_modules/@huggingface/transformers/types/models/pyannote/processing_pyannote.d.ts.map +1 -0
  152. package/node_modules/@huggingface/transformers/types/models/qwen2_vl/image_processing_qwen2_vl.d.ts +11 -0
  153. package/node_modules/@huggingface/transformers/types/models/qwen2_vl/image_processing_qwen2_vl.d.ts.map +1 -0
  154. package/node_modules/@huggingface/transformers/types/models/qwen2_vl/processing_qwen2_vl.d.ts +17 -0
  155. package/node_modules/@huggingface/transformers/types/models/qwen2_vl/processing_qwen2_vl.d.ts.map +1 -0
  156. package/node_modules/@huggingface/transformers/types/models/rt_detr/image_processing_rt_detr.d.ts +8 -0
  157. package/node_modules/@huggingface/transformers/types/models/rt_detr/image_processing_rt_detr.d.ts.map +1 -0
  158. package/node_modules/@huggingface/transformers/types/models/sam/image_processing_sam.d.ts +103 -0
  159. package/node_modules/@huggingface/transformers/types/models/sam/image_processing_sam.d.ts.map +1 -0
  160. package/node_modules/@huggingface/transformers/types/models/sam/processing_sam.d.ts +9 -0
  161. package/node_modules/@huggingface/transformers/types/models/sam/processing_sam.d.ts.map +1 -0
  162. package/node_modules/@huggingface/transformers/types/models/sam2/image_processing_sam2.d.ts +2 -0
  163. package/node_modules/@huggingface/transformers/types/models/sam2/image_processing_sam2.d.ts.map +1 -0
  164. package/node_modules/@huggingface/transformers/types/models/sam2/processing_sam2.d.ts +6 -0
  165. package/node_modules/@huggingface/transformers/types/models/sam2/processing_sam2.d.ts.map +1 -0
  166. package/node_modules/@huggingface/transformers/types/models/sam3/image_processing_sam3.d.ts +2 -0
  167. package/node_modules/@huggingface/transformers/types/models/sam3/image_processing_sam3.d.ts.map +1 -0
  168. package/node_modules/@huggingface/transformers/types/models/sapiens/image_processing_sapiens.d.ts +10 -0
  169. package/node_modules/@huggingface/transformers/types/models/sapiens/image_processing_sapiens.d.ts.map +1 -0
  170. package/node_modules/@huggingface/transformers/types/models/seamless_m4t/feature_extraction_seamless_m4t.d.ts +34 -0
  171. package/node_modules/@huggingface/transformers/types/models/seamless_m4t/feature_extraction_seamless_m4t.d.ts.map +1 -0
  172. package/node_modules/@huggingface/transformers/types/models/segformer/image_processing_segformer.d.ts +10 -0
  173. package/node_modules/@huggingface/transformers/types/models/segformer/image_processing_segformer.d.ts.map +1 -0
  174. package/node_modules/@huggingface/transformers/types/models/siglip/image_processing_siglip.d.ts +4 -0
  175. package/node_modules/@huggingface/transformers/types/models/siglip/image_processing_siglip.d.ts.map +1 -0
  176. package/node_modules/@huggingface/transformers/types/models/smolvlm/image_processing_smolvlm.d.ts +2 -0
  177. package/node_modules/@huggingface/transformers/types/models/smolvlm/image_processing_smolvlm.d.ts.map +1 -0
  178. package/node_modules/@huggingface/transformers/types/models/smolvlm/processing_smolvlm.d.ts +2 -0
  179. package/node_modules/@huggingface/transformers/types/models/smolvlm/processing_smolvlm.d.ts.map +1 -0
  180. package/node_modules/@huggingface/transformers/types/models/snac/feature_extraction_snac.d.ts +4 -0
  181. package/node_modules/@huggingface/transformers/types/models/snac/feature_extraction_snac.d.ts.map +1 -0
  182. package/node_modules/@huggingface/transformers/types/models/speecht5/feature_extraction_speecht5.d.ts +4 -0
  183. package/node_modules/@huggingface/transformers/types/models/speecht5/feature_extraction_speecht5.d.ts.map +1 -0
  184. package/node_modules/@huggingface/transformers/types/models/speecht5/processing_speecht5.d.ts +14 -0
  185. package/node_modules/@huggingface/transformers/types/models/speecht5/processing_speecht5.d.ts.map +1 -0
  186. package/node_modules/@huggingface/transformers/types/models/swin2sr/image_processing_swin2sr.d.ts +5 -0
  187. package/node_modules/@huggingface/transformers/types/models/swin2sr/image_processing_swin2sr.d.ts.map +1 -0
  188. package/node_modules/@huggingface/transformers/types/models/ultravox/processing_ultravox.d.ts +16 -0
  189. package/node_modules/@huggingface/transformers/types/models/ultravox/processing_ultravox.d.ts.map +1 -0
  190. package/node_modules/@huggingface/transformers/types/models/vit/image_processing_vit.d.ts +6 -0
  191. package/node_modules/@huggingface/transformers/types/models/vit/image_processing_vit.d.ts.map +1 -0
  192. package/node_modules/@huggingface/transformers/types/models/vitmatte/image_processing_vitmatte.d.ts +12 -0
  193. package/node_modules/@huggingface/transformers/types/models/vitmatte/image_processing_vitmatte.d.ts.map +1 -0
  194. package/node_modules/@huggingface/transformers/types/models/vitpose/image_processing_vitpose.d.ts +26 -0
  195. package/node_modules/@huggingface/transformers/types/models/vitpose/image_processing_vitpose.d.ts.map +1 -0
  196. package/node_modules/@huggingface/transformers/types/models/voxtral/processing_voxtral.d.ts +16 -0
  197. package/node_modules/@huggingface/transformers/types/models/voxtral/processing_voxtral.d.ts.map +1 -0
  198. package/node_modules/@huggingface/transformers/types/models/wav2vec2/feature_extraction_wav2vec2.d.ts +19 -0
  199. package/node_modules/@huggingface/transformers/types/models/wav2vec2/feature_extraction_wav2vec2.d.ts.map +1 -0
  200. package/node_modules/@huggingface/transformers/types/models/wav2vec2/processing_wav2vec2.d.ts +14 -0
  201. package/node_modules/@huggingface/transformers/types/models/wav2vec2/processing_wav2vec2.d.ts.map +1 -0
  202. package/node_modules/@huggingface/transformers/types/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.d.ts +14 -0
  203. package/node_modules/@huggingface/transformers/types/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.d.ts.map +1 -0
  204. package/node_modules/@huggingface/transformers/types/models/wespeaker/feature_extraction_wespeaker.d.ts +23 -0
  205. package/node_modules/@huggingface/transformers/types/models/wespeaker/feature_extraction_wespeaker.d.ts.map +1 -0
  206. package/node_modules/@huggingface/transformers/types/models/whisper/common_whisper.d.ts +8 -0
  207. package/node_modules/@huggingface/transformers/types/models/whisper/common_whisper.d.ts.map +1 -0
  208. package/node_modules/@huggingface/transformers/types/models/whisper/feature_extraction_whisper.d.ts +23 -0
  209. package/node_modules/@huggingface/transformers/types/models/whisper/feature_extraction_whisper.d.ts.map +1 -0
  210. package/node_modules/@huggingface/transformers/types/models/whisper/generation_whisper.d.ts +76 -0
  211. package/node_modules/@huggingface/transformers/types/models/whisper/generation_whisper.d.ts.map +1 -0
  212. package/node_modules/@huggingface/transformers/types/models/whisper/processing_whisper.d.ts +17 -0
  213. package/node_modules/@huggingface/transformers/types/models/whisper/processing_whisper.d.ts.map +1 -0
  214. package/node_modules/@huggingface/transformers/types/models/yolos/image_processing_yolos.d.ts +10 -0
  215. package/node_modules/@huggingface/transformers/types/models/yolos/image_processing_yolos.d.ts.map +1 -0
  216. package/node_modules/@huggingface/transformers/types/models.d.ts +4396 -0
  217. package/node_modules/@huggingface/transformers/types/models.d.ts.map +1 -0
  218. package/node_modules/@huggingface/transformers/types/ops/registry.d.ts +13 -0
  219. package/node_modules/@huggingface/transformers/types/ops/registry.d.ts.map +1 -0
  220. package/node_modules/@huggingface/transformers/types/pipelines.d.ts +2433 -0
  221. package/node_modules/@huggingface/transformers/types/pipelines.d.ts.map +1 -0
  222. package/node_modules/@huggingface/transformers/types/tokenizers.d.ts +1002 -0
  223. package/node_modules/@huggingface/transformers/types/tokenizers.d.ts.map +1 -0
  224. package/node_modules/@huggingface/transformers/types/transformers.d.ts +27 -0
  225. package/node_modules/@huggingface/transformers/types/transformers.d.ts.map +1 -0
  226. package/node_modules/@huggingface/transformers/types/tsconfig.tsbuildinfo +1 -0
  227. package/node_modules/@huggingface/transformers/types/utils/audio.d.ts +160 -0
  228. package/node_modules/@huggingface/transformers/types/utils/audio.d.ts.map +1 -0
  229. package/node_modules/@huggingface/transformers/types/utils/constants.d.ts +8 -0
  230. package/node_modules/@huggingface/transformers/types/utils/constants.d.ts.map +1 -0
  231. package/node_modules/@huggingface/transformers/types/utils/core.d.ts +231 -0
  232. package/node_modules/@huggingface/transformers/types/utils/core.d.ts.map +1 -0
  233. package/node_modules/@huggingface/transformers/types/utils/data-structures.d.ts +294 -0
  234. package/node_modules/@huggingface/transformers/types/utils/data-structures.d.ts.map +1 -0
  235. package/node_modules/@huggingface/transformers/types/utils/devices.d.ts +18 -0
  236. package/node_modules/@huggingface/transformers/types/utils/devices.d.ts.map +1 -0
  237. package/node_modules/@huggingface/transformers/types/utils/dtypes.d.ts +20 -0
  238. package/node_modules/@huggingface/transformers/types/utils/dtypes.d.ts.map +1 -0
  239. package/node_modules/@huggingface/transformers/types/utils/generic.d.ts +11 -0
  240. package/node_modules/@huggingface/transformers/types/utils/generic.d.ts.map +1 -0
  241. package/node_modules/@huggingface/transformers/types/utils/hub.d.ts +175 -0
  242. package/node_modules/@huggingface/transformers/types/utils/hub.d.ts.map +1 -0
  243. package/node_modules/@huggingface/transformers/types/utils/image.d.ts +141 -0
  244. package/node_modules/@huggingface/transformers/types/utils/image.d.ts.map +1 -0
  245. package/node_modules/@huggingface/transformers/types/utils/maths.d.ts +282 -0
  246. package/node_modules/@huggingface/transformers/types/utils/maths.d.ts.map +1 -0
  247. package/node_modules/@huggingface/transformers/types/utils/tensor.d.ts +490 -0
  248. package/node_modules/@huggingface/transformers/types/utils/tensor.d.ts.map +1 -0
  249. package/node_modules/@huggingface/transformers/types/utils/video.d.ts +37 -0
  250. package/node_modules/@huggingface/transformers/types/utils/video.d.ts.map +1 -0
  251. package/node_modules/onnxruntime-node/README.md +51 -0
  252. package/node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/libonnxruntime.1.21.0.dylib +0 -0
  253. package/node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/onnxruntime_binding.node +0 -0
  254. package/node_modules/onnxruntime-node/bin/napi-v3/linux/x64/libonnxruntime.so.1 +0 -0
  255. package/node_modules/onnxruntime-node/bin/napi-v3/linux/x64/libonnxruntime.so.1.21.0 +0 -0
  256. package/node_modules/onnxruntime-node/bin/napi-v3/linux/x64/libonnxruntime_providers_shared.so +0 -0
  257. package/node_modules/onnxruntime-node/bin/napi-v3/linux/x64/onnxruntime_binding.node +0 -0
  258. package/node_modules/onnxruntime-node/bin/napi-v3/win32/x64/DirectML.dll +0 -0
  259. package/node_modules/onnxruntime-node/bin/napi-v3/win32/x64/onnxruntime.dll +0 -0
  260. package/node_modules/onnxruntime-node/bin/napi-v3/win32/x64/onnxruntime_binding.node +0 -0
  261. package/node_modules/onnxruntime-node/dist/backend.d.ts +9 -0
  262. package/node_modules/onnxruntime-node/dist/backend.js +79 -0
  263. package/node_modules/onnxruntime-node/dist/backend.js.map +1 -0
  264. package/node_modules/onnxruntime-node/dist/binding.d.ts +40 -0
  265. package/node_modules/onnxruntime-node/dist/binding.js +41 -0
  266. package/node_modules/onnxruntime-node/dist/binding.js.map +1 -0
  267. package/node_modules/onnxruntime-node/dist/index.d.ts +2 -0
  268. package/node_modules/onnxruntime-node/dist/index.js +31 -0
  269. package/node_modules/onnxruntime-node/dist/index.js.map +1 -0
  270. package/node_modules/onnxruntime-node/dist/version.d.ts +1 -0
  271. package/node_modules/onnxruntime-node/dist/version.js +9 -0
  272. package/node_modules/onnxruntime-node/dist/version.js.map +1 -0
  273. package/node_modules/onnxruntime-node/lib/backend.ts +81 -0
  274. package/node_modules/onnxruntime-node/lib/binding.ts +84 -0
  275. package/node_modules/onnxruntime-node/lib/index.ts +15 -0
  276. package/node_modules/onnxruntime-node/lib/version.ts +7 -0
  277. package/node_modules/onnxruntime-node/package.json +53 -0
  278. package/node_modules/onnxruntime-node/script/build.js +148 -0
  279. package/node_modules/onnxruntime-node/script/build.ts +130 -0
  280. package/node_modules/onnxruntime-node/script/install.js +199 -0
  281. package/node_modules/onnxruntime-node/script/prepack.js +42 -0
  282. package/node_modules/onnxruntime-node/script/prepack.ts +20 -0
  283. package/node_modules/sharp/LICENSE +191 -0
  284. package/node_modules/sharp/README.md +118 -0
  285. package/node_modules/sharp/install/build.js +38 -0
  286. package/node_modules/sharp/install/check.js +14 -0
  287. package/node_modules/sharp/lib/channel.js +177 -0
  288. package/node_modules/sharp/lib/colour.js +195 -0
  289. package/node_modules/sharp/lib/composite.js +212 -0
  290. package/node_modules/sharp/lib/constructor.js +499 -0
  291. package/node_modules/sharp/lib/index.d.ts +1971 -0
  292. package/node_modules/sharp/lib/index.js +16 -0
  293. package/node_modules/sharp/lib/input.js +809 -0
  294. package/node_modules/sharp/lib/is.js +143 -0
  295. package/node_modules/sharp/lib/libvips.js +207 -0
  296. package/node_modules/sharp/lib/operation.js +1016 -0
  297. package/node_modules/sharp/lib/output.js +1666 -0
  298. package/node_modules/sharp/lib/resize.js +595 -0
  299. package/node_modules/sharp/lib/sharp.js +121 -0
  300. package/node_modules/sharp/lib/utility.js +291 -0
  301. package/node_modules/sharp/package.json +201 -0
  302. package/node_modules/sharp/src/binding.gyp +298 -0
  303. package/node_modules/sharp/src/common.cc +1130 -0
  304. package/node_modules/sharp/src/common.h +402 -0
  305. package/node_modules/sharp/src/metadata.cc +346 -0
  306. package/node_modules/sharp/src/metadata.h +90 -0
  307. package/node_modules/sharp/src/operations.cc +499 -0
  308. package/node_modules/sharp/src/operations.h +137 -0
  309. package/node_modules/sharp/src/pipeline.cc +1814 -0
  310. package/node_modules/sharp/src/pipeline.h +408 -0
  311. package/node_modules/sharp/src/sharp.cc +43 -0
  312. package/node_modules/sharp/src/stats.cc +186 -0
  313. package/node_modules/sharp/src/stats.h +62 -0
  314. package/node_modules/sharp/src/utilities.cc +288 -0
  315. package/node_modules/sharp/src/utilities.h +22 -0
  316. package/package.json +23 -4
@@ -0,0 +1,346 @@
1
+ /*!
2
+ Copyright 2013 Lovell Fuller and others.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ #include <cmath>
7
+ #include <numeric>
8
+ #include <string>
9
+ #include <utility>
10
+ #include <vector>
11
+
12
+ #include <napi.h>
13
+ #include <vips/vips8>
14
+
15
+ #include "./common.h"
16
+ #include "./metadata.h"
17
+
18
+ static void* readPNGComment(VipsImage *image, const char *field, GValue *value, void *p);
19
+
20
+ class MetadataWorker : public Napi::AsyncWorker {
21
+ public:
22
+ MetadataWorker(Napi::Function callback, MetadataBaton *baton, Napi::Function debuglog) :
23
+ Napi::AsyncWorker(callback), baton(baton), debuglog(Napi::Persistent(debuglog)) {}
24
+ ~MetadataWorker() {}
25
+
26
+ void Execute() {
27
+ // Decrement queued task counter
28
+ sharp::counterQueue--;
29
+
30
+ vips::VImage image;
31
+ sharp::ImageType imageType = sharp::ImageType::UNKNOWN;
32
+ try {
33
+ std::tie(image, imageType) = OpenInput(baton->input);
34
+ } catch (vips::VError const &err) {
35
+ (baton->err).append(err.what());
36
+ }
37
+ if (imageType != sharp::ImageType::UNKNOWN) {
38
+ // Image type
39
+ baton->format = sharp::ImageTypeId(imageType);
40
+ // VipsImage attributes
41
+ baton->width = image.width();
42
+ baton->height = image.height();
43
+ baton->space = vips_enum_nick(VIPS_TYPE_INTERPRETATION, image.interpretation());
44
+ baton->channels = image.bands();
45
+ baton->depth = vips_enum_nick(VIPS_TYPE_BAND_FORMAT, image.format());
46
+ if (sharp::HasDensity(image)) {
47
+ baton->density = sharp::GetDensity(image);
48
+ }
49
+ if (image.get_typeof("jpeg-chroma-subsample") == VIPS_TYPE_REF_STRING) {
50
+ baton->chromaSubsampling = image.get_string("jpeg-chroma-subsample");
51
+ }
52
+ if (image.get_typeof("interlaced") == G_TYPE_INT) {
53
+ baton->isProgressive = image.get_int("interlaced") == 1;
54
+ }
55
+ if (image.get_typeof(VIPS_META_PALETTE) == G_TYPE_INT) {
56
+ baton->isPalette = image.get_int(VIPS_META_PALETTE);
57
+ }
58
+ if (image.get_typeof(VIPS_META_BITS_PER_SAMPLE) == G_TYPE_INT) {
59
+ baton->bitsPerSample = image.get_int(VIPS_META_BITS_PER_SAMPLE);
60
+ }
61
+ if (image.get_typeof(VIPS_META_N_PAGES) == G_TYPE_INT) {
62
+ baton->pages = image.get_int(VIPS_META_N_PAGES);
63
+ }
64
+ if (image.get_typeof(VIPS_META_PAGE_HEIGHT) == G_TYPE_INT) {
65
+ baton->pageHeight = image.get_int(VIPS_META_PAGE_HEIGHT);
66
+ }
67
+ if (image.get_typeof("loop") == G_TYPE_INT) {
68
+ baton->loop = image.get_int("loop");
69
+ }
70
+ if (image.get_typeof("delay") == VIPS_TYPE_ARRAY_INT) {
71
+ baton->delay = image.get_array_int("delay");
72
+ }
73
+ if (image.get_typeof("heif-primary") == G_TYPE_INT) {
74
+ baton->pagePrimary = image.get_int("heif-primary");
75
+ }
76
+ if (image.get_typeof("heif-compression") == VIPS_TYPE_REF_STRING) {
77
+ baton->compression = image.get_string("heif-compression");
78
+ }
79
+ if (image.get_typeof(VIPS_META_RESOLUTION_UNIT) == VIPS_TYPE_REF_STRING) {
80
+ baton->resolutionUnit = image.get_string(VIPS_META_RESOLUTION_UNIT);
81
+ }
82
+ if (image.get_typeof("magick-format") == VIPS_TYPE_REF_STRING) {
83
+ baton->formatMagick = image.get_string("magick-format");
84
+ }
85
+ if (image.get_typeof("openslide.level-count") == VIPS_TYPE_REF_STRING) {
86
+ int const levels = std::stoi(image.get_string("openslide.level-count"));
87
+ for (int l = 0; l < levels; l++) {
88
+ std::string prefix = "openslide.level[" + std::to_string(l) + "].";
89
+ int const width = std::stoi(image.get_string((prefix + "width").data()));
90
+ int const height = std::stoi(image.get_string((prefix + "height").data()));
91
+ baton->levels.push_back(std::pair<int, int>(width, height));
92
+ }
93
+ }
94
+ if (image.get_typeof(VIPS_META_N_SUBIFDS) == G_TYPE_INT) {
95
+ baton->subifds = image.get_int(VIPS_META_N_SUBIFDS);
96
+ }
97
+ baton->hasProfile = sharp::HasProfile(image);
98
+ if (image.get_typeof("background") == VIPS_TYPE_ARRAY_DOUBLE) {
99
+ baton->background = image.get_array_double("background");
100
+ }
101
+ // Derived attributes
102
+ baton->hasAlpha = image.has_alpha();
103
+ baton->orientation = sharp::ExifOrientation(image);
104
+ // EXIF
105
+ if (image.get_typeof(VIPS_META_EXIF_NAME) == VIPS_TYPE_BLOB) {
106
+ size_t exifLength;
107
+ void const *exif = image.get_blob(VIPS_META_EXIF_NAME, &exifLength);
108
+ baton->exif = static_cast<char*>(g_malloc(exifLength));
109
+ memcpy(baton->exif, exif, exifLength);
110
+ baton->exifLength = exifLength;
111
+ }
112
+ // ICC profile
113
+ if (image.get_typeof(VIPS_META_ICC_NAME) == VIPS_TYPE_BLOB) {
114
+ size_t iccLength;
115
+ void const *icc = image.get_blob(VIPS_META_ICC_NAME, &iccLength);
116
+ baton->icc = static_cast<char*>(g_malloc(iccLength));
117
+ memcpy(baton->icc, icc, iccLength);
118
+ baton->iccLength = iccLength;
119
+ }
120
+ // IPTC
121
+ if (image.get_typeof(VIPS_META_IPTC_NAME) == VIPS_TYPE_BLOB) {
122
+ size_t iptcLength;
123
+ void const *iptc = image.get_blob(VIPS_META_IPTC_NAME, &iptcLength);
124
+ baton->iptc = static_cast<char *>(g_malloc(iptcLength));
125
+ memcpy(baton->iptc, iptc, iptcLength);
126
+ baton->iptcLength = iptcLength;
127
+ }
128
+ // XMP
129
+ if (image.get_typeof(VIPS_META_XMP_NAME) == VIPS_TYPE_BLOB) {
130
+ size_t xmpLength;
131
+ void const *xmp = image.get_blob(VIPS_META_XMP_NAME, &xmpLength);
132
+ baton->xmp = static_cast<char *>(g_malloc(xmpLength));
133
+ memcpy(baton->xmp, xmp, xmpLength);
134
+ baton->xmpLength = xmpLength;
135
+ }
136
+ // TIFFTAG_PHOTOSHOP
137
+ if (image.get_typeof(VIPS_META_PHOTOSHOP_NAME) == VIPS_TYPE_BLOB) {
138
+ size_t tifftagPhotoshopLength;
139
+ void const *tifftagPhotoshop = image.get_blob(VIPS_META_PHOTOSHOP_NAME, &tifftagPhotoshopLength);
140
+ baton->tifftagPhotoshop = static_cast<char *>(g_malloc(tifftagPhotoshopLength));
141
+ memcpy(baton->tifftagPhotoshop, tifftagPhotoshop, tifftagPhotoshopLength);
142
+ baton->tifftagPhotoshopLength = tifftagPhotoshopLength;
143
+ }
144
+ // PNG comments
145
+ vips_image_map(image.get_image(), readPNGComment, &baton->comments);
146
+ }
147
+
148
+ // Clean up
149
+ vips_error_clear();
150
+ vips_thread_shutdown();
151
+ }
152
+
153
+ void OnOK() {
154
+ Napi::Env env = Env();
155
+ Napi::HandleScope scope(env);
156
+
157
+ // Handle warnings
158
+ std::string warning = sharp::VipsWarningPop();
159
+ while (!warning.empty()) {
160
+ debuglog.Call(Receiver().Value(), { Napi::String::New(env, warning) });
161
+ warning = sharp::VipsWarningPop();
162
+ }
163
+
164
+ if (baton->err.empty()) {
165
+ Napi::Object info = Napi::Object::New(env);
166
+ info.Set("format", baton->format);
167
+ if (baton->input->bufferLength > 0) {
168
+ info.Set("size", baton->input->bufferLength);
169
+ }
170
+ info.Set("width", baton->width);
171
+ info.Set("height", baton->height);
172
+ info.Set("space", baton->space);
173
+ info.Set("channels", baton->channels);
174
+ info.Set("depth", baton->depth);
175
+ if (baton->density > 0) {
176
+ info.Set("density", baton->density);
177
+ }
178
+ if (!baton->chromaSubsampling.empty()) {
179
+ info.Set("chromaSubsampling", baton->chromaSubsampling);
180
+ }
181
+ info.Set("isProgressive", baton->isProgressive);
182
+ info.Set("isPalette", baton->isPalette);
183
+ if (baton->bitsPerSample > 0) {
184
+ info.Set("bitsPerSample", baton->bitsPerSample);
185
+ if (baton->isPalette) {
186
+ // Deprecated, remove with libvips 8.17.0
187
+ info.Set("paletteBitDepth", baton->bitsPerSample);
188
+ }
189
+ }
190
+ if (baton->pages > 0) {
191
+ info.Set("pages", baton->pages);
192
+ }
193
+ if (baton->pageHeight > 0) {
194
+ info.Set("pageHeight", baton->pageHeight);
195
+ }
196
+ if (baton->loop >= 0) {
197
+ info.Set("loop", baton->loop);
198
+ }
199
+ if (!baton->delay.empty()) {
200
+ int i = 0;
201
+ Napi::Array delay = Napi::Array::New(env, static_cast<size_t>(baton->delay.size()));
202
+ for (int const d : baton->delay) {
203
+ delay.Set(i++, d);
204
+ }
205
+ info.Set("delay", delay);
206
+ }
207
+ if (baton->pagePrimary > -1) {
208
+ info.Set("pagePrimary", baton->pagePrimary);
209
+ }
210
+ if (!baton->compression.empty()) {
211
+ info.Set("compression", baton->compression);
212
+ }
213
+ if (!baton->resolutionUnit.empty()) {
214
+ info.Set("resolutionUnit", baton->resolutionUnit == "in" ? "inch" : baton->resolutionUnit);
215
+ }
216
+ if (!baton->formatMagick.empty()) {
217
+ info.Set("formatMagick", baton->formatMagick);
218
+ }
219
+ if (!baton->levels.empty()) {
220
+ int i = 0;
221
+ Napi::Array levels = Napi::Array::New(env, static_cast<size_t>(baton->levels.size()));
222
+ for (const auto& [width, height] : baton->levels) {
223
+ Napi::Object level = Napi::Object::New(env);
224
+ level.Set("width", width);
225
+ level.Set("height", height);
226
+ levels.Set(i++, level);
227
+ }
228
+ info.Set("levels", levels);
229
+ }
230
+ if (baton->subifds > 0) {
231
+ info.Set("subifds", baton->subifds);
232
+ }
233
+ if (!baton->background.empty()) {
234
+ Napi::Object background = Napi::Object::New(env);
235
+ if (baton->background.size() == 3) {
236
+ background.Set("r", baton->background[0]);
237
+ background.Set("g", baton->background[1]);
238
+ background.Set("b", baton->background[2]);
239
+ } else {
240
+ background.Set("gray", round(baton->background[0] * 100 / 255));
241
+ }
242
+ info.Set("background", background);
243
+ }
244
+ info.Set("hasProfile", baton->hasProfile);
245
+ info.Set("hasAlpha", baton->hasAlpha);
246
+ if (baton->orientation > 0) {
247
+ info.Set("orientation", baton->orientation);
248
+ }
249
+ Napi::Object autoOrient = Napi::Object::New(env);
250
+ info.Set("autoOrient", autoOrient);
251
+ if (baton->orientation >= 5) {
252
+ autoOrient.Set("width", baton->height);
253
+ autoOrient.Set("height", baton->width);
254
+ } else {
255
+ autoOrient.Set("width", baton->width);
256
+ autoOrient.Set("height", baton->height);
257
+ }
258
+ if (baton->exifLength > 0) {
259
+ info.Set("exif", Napi::Buffer<char>::NewOrCopy(env, baton->exif, baton->exifLength, sharp::FreeCallback));
260
+ }
261
+ if (baton->iccLength > 0) {
262
+ info.Set("icc", Napi::Buffer<char>::NewOrCopy(env, baton->icc, baton->iccLength, sharp::FreeCallback));
263
+ }
264
+ if (baton->iptcLength > 0) {
265
+ info.Set("iptc", Napi::Buffer<char>::NewOrCopy(env, baton->iptc, baton->iptcLength, sharp::FreeCallback));
266
+ }
267
+ if (baton->xmpLength > 0) {
268
+ if (g_utf8_validate(static_cast<char const *>(baton->xmp), baton->xmpLength, nullptr)) {
269
+ info.Set("xmpAsString",
270
+ Napi::String::New(env, static_cast<char const *>(baton->xmp), baton->xmpLength));
271
+ }
272
+ info.Set("xmp", Napi::Buffer<char>::NewOrCopy(env, baton->xmp, baton->xmpLength, sharp::FreeCallback));
273
+ }
274
+ if (baton->tifftagPhotoshopLength > 0) {
275
+ info.Set("tifftagPhotoshop",
276
+ Napi::Buffer<char>::NewOrCopy(env, baton->tifftagPhotoshop,
277
+ baton->tifftagPhotoshopLength, sharp::FreeCallback));
278
+ }
279
+ if (baton->comments.size() > 0) {
280
+ int i = 0;
281
+ Napi::Array comments = Napi::Array::New(env, baton->comments.size());
282
+ for (const auto& [keyword, text] : baton->comments) {
283
+ Napi::Object comment = Napi::Object::New(env);
284
+ comment.Set("keyword", keyword);
285
+ comment.Set("text", text);
286
+ comments.Set(i++, comment);
287
+ }
288
+ info.Set("comments", comments);
289
+ }
290
+ Callback().Call(Receiver().Value(), { env.Null(), info });
291
+ } else {
292
+ Callback().Call(Receiver().Value(), { Napi::Error::New(env, sharp::TrimEnd(baton->err)).Value() });
293
+ }
294
+
295
+ delete baton->input;
296
+ delete baton;
297
+ }
298
+
299
+ private:
300
+ MetadataBaton* baton;
301
+ Napi::FunctionReference debuglog;
302
+ };
303
+
304
+ /*
305
+ metadata(options, callback)
306
+ */
307
+ Napi::Value metadata(const Napi::CallbackInfo& info) {
308
+ // V8 objects are converted to non-V8 types held in the baton struct
309
+ MetadataBaton *baton = new MetadataBaton;
310
+ Napi::Object options = info[size_t(0)].As<Napi::Object>();
311
+
312
+ // Input
313
+ baton->input = sharp::CreateInputDescriptor(options.Get("input").As<Napi::Object>());
314
+
315
+ // Function to notify of libvips warnings
316
+ Napi::Function debuglog = options.Get("debuglog").As<Napi::Function>();
317
+
318
+ // Join queue for worker thread
319
+ Napi::Function callback = info[size_t(1)].As<Napi::Function>();
320
+ MetadataWorker *worker = new MetadataWorker(callback, baton, debuglog);
321
+ worker->Receiver().Set("options", options);
322
+ worker->Queue();
323
+
324
+ // Increment queued task counter
325
+ sharp::counterQueue++;
326
+
327
+ return info.Env().Undefined();
328
+ }
329
+
330
+ const char *PNG_COMMENT_START = "png-comment-";
331
+ const int PNG_COMMENT_START_LEN = strlen(PNG_COMMENT_START);
332
+
333
+ static void* readPNGComment(VipsImage *image, const char *field, GValue *value, void *p) {
334
+ MetadataComments *comments = static_cast<MetadataComments *>(p);
335
+
336
+ if (vips_isprefix(PNG_COMMENT_START, field)) {
337
+ const char *keyword = strchr(field + PNG_COMMENT_START_LEN, '-');
338
+ const char *str;
339
+ if (keyword != NULL && !vips_image_get_string(image, field, &str)) {
340
+ keyword++; // Skip the hyphen
341
+ comments->push_back(std::make_pair(keyword, str));
342
+ }
343
+ }
344
+
345
+ return NULL;
346
+ }
@@ -0,0 +1,90 @@
1
+ /*!
2
+ Copyright 2013 Lovell Fuller and others.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ #ifndef SRC_METADATA_H_
7
+ #define SRC_METADATA_H_
8
+
9
+ #include <string>
10
+ #include <vector>
11
+ #include <napi.h>
12
+
13
+ #include "./common.h"
14
+
15
+ typedef std::vector<std::pair<std::string, std::string>> MetadataComments;
16
+
17
+ struct MetadataBaton {
18
+ // Input
19
+ sharp::InputDescriptor *input;
20
+ // Output
21
+ std::string format;
22
+ int width;
23
+ int height;
24
+ std::string space;
25
+ int channels;
26
+ std::string depth;
27
+ int density;
28
+ std::string chromaSubsampling;
29
+ bool isProgressive;
30
+ bool isPalette;
31
+ int bitsPerSample;
32
+ int pages;
33
+ int pageHeight;
34
+ int loop;
35
+ std::vector<int> delay;
36
+ int pagePrimary;
37
+ std::string compression;
38
+ std::string resolutionUnit;
39
+ std::string formatMagick;
40
+ std::vector<std::pair<int, int>> levels;
41
+ int subifds;
42
+ std::vector<double> background;
43
+ bool hasProfile;
44
+ bool hasAlpha;
45
+ int orientation;
46
+ char *exif;
47
+ size_t exifLength;
48
+ char *icc;
49
+ size_t iccLength;
50
+ char *iptc;
51
+ size_t iptcLength;
52
+ char *xmp;
53
+ size_t xmpLength;
54
+ char *tifftagPhotoshop;
55
+ size_t tifftagPhotoshopLength;
56
+ MetadataComments comments;
57
+ std::string err;
58
+
59
+ MetadataBaton():
60
+ input(nullptr),
61
+ width(0),
62
+ height(0),
63
+ channels(0),
64
+ density(0),
65
+ isProgressive(false),
66
+ isPalette(false),
67
+ bitsPerSample(0),
68
+ pages(0),
69
+ pageHeight(0),
70
+ loop(-1),
71
+ pagePrimary(-1),
72
+ subifds(0),
73
+ hasProfile(false),
74
+ hasAlpha(false),
75
+ orientation(0),
76
+ exif(nullptr),
77
+ exifLength(0),
78
+ icc(nullptr),
79
+ iccLength(0),
80
+ iptc(nullptr),
81
+ iptcLength(0),
82
+ xmp(nullptr),
83
+ xmpLength(0),
84
+ tifftagPhotoshop(nullptr),
85
+ tifftagPhotoshopLength(0) {}
86
+ };
87
+
88
+ Napi::Value metadata(const Napi::CallbackInfo& info);
89
+
90
+ #endif // SRC_METADATA_H_