@workglow/ai-provider 0.0.121 → 0.0.122

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 (541) hide show
  1. package/README.md +30 -67
  2. package/dist/common/HfModelSearch.d.ts +32 -0
  3. package/dist/common/HfModelSearch.d.ts.map +1 -0
  4. package/dist/common/PipelineTaskMapping.d.ts +12 -0
  5. package/dist/common/PipelineTaskMapping.d.ts.map +1 -0
  6. package/dist/{anthropic → provider-anthropic}/AnthropicProvider.d.ts +2 -14
  7. package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -0
  8. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +16 -0
  9. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -0
  10. package/dist/provider-anthropic/common/Anthropic_Client.d.ts +13 -0
  11. package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -0
  12. package/dist/provider-anthropic/common/Anthropic_Constants.d.ts.map +1 -0
  13. package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts +10 -0
  14. package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts.map +1 -0
  15. package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts +12 -0
  16. package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -0
  17. package/dist/provider-anthropic/common/Anthropic_ModelInfo.d.ts +9 -0
  18. package/dist/provider-anthropic/common/Anthropic_ModelInfo.d.ts.map +1 -0
  19. package/dist/{anthropic → provider-anthropic}/common/Anthropic_ModelSchema.d.ts +31 -31
  20. package/dist/provider-anthropic/common/Anthropic_ModelSchema.d.ts.map +1 -0
  21. package/dist/provider-anthropic/common/Anthropic_ModelSearch.d.ts +8 -0
  22. package/dist/provider-anthropic/common/Anthropic_ModelSearch.d.ts.map +1 -0
  23. package/dist/provider-anthropic/common/Anthropic_StructuredGeneration.d.ts +10 -0
  24. package/dist/provider-anthropic/common/Anthropic_StructuredGeneration.d.ts.map +1 -0
  25. package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts +10 -0
  26. package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts.map +1 -0
  27. package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts +10 -0
  28. package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts.map +1 -0
  29. package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts +10 -0
  30. package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts.map +1 -0
  31. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts +10 -0
  32. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts.map +1 -0
  33. package/dist/{anthropic → provider-anthropic}/index.d.ts +1 -3
  34. package/dist/provider-anthropic/index.d.ts.map +1 -0
  35. package/dist/{index-60ev6k93.js → provider-anthropic/index.js} +43 -11
  36. package/dist/provider-anthropic/index.js.map +13 -0
  37. package/dist/provider-anthropic/registerAnthropic.d.ts +10 -0
  38. package/dist/provider-anthropic/registerAnthropic.d.ts.map +1 -0
  39. package/dist/provider-anthropic/registerAnthropicInline.d.ts +8 -0
  40. package/dist/provider-anthropic/registerAnthropicInline.d.ts.map +1 -0
  41. package/dist/provider-anthropic/registerAnthropicWorker.d.ts +7 -0
  42. package/dist/provider-anthropic/registerAnthropicWorker.d.ts.map +1 -0
  43. package/dist/provider-anthropic/runtime.d.ts +16 -0
  44. package/dist/provider-anthropic/runtime.d.ts.map +1 -0
  45. package/dist/{anthropic/index.js → provider-anthropic/runtime.js} +291 -177
  46. package/dist/provider-anthropic/runtime.js.map +24 -0
  47. package/dist/{web-browser → provider-chrome}/WebBrowserProvider.d.ts +2 -15
  48. package/dist/provider-chrome/WebBrowserProvider.d.ts.map +1 -0
  49. package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts +16 -0
  50. package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts.map +1 -0
  51. package/dist/provider-chrome/common/WebBrowser_ChromeHelpers.d.ts +31 -0
  52. package/dist/provider-chrome/common/WebBrowser_ChromeHelpers.d.ts.map +1 -0
  53. package/dist/provider-chrome/common/WebBrowser_Constants.d.ts.map +1 -0
  54. package/dist/provider-chrome/common/WebBrowser_JobRunFns.d.ts +10 -0
  55. package/dist/provider-chrome/common/WebBrowser_JobRunFns.d.ts.map +1 -0
  56. package/dist/provider-chrome/common/WebBrowser_ModelInfo.d.ts +9 -0
  57. package/dist/provider-chrome/common/WebBrowser_ModelInfo.d.ts.map +1 -0
  58. package/dist/{web-browser → provider-chrome}/common/WebBrowser_ModelSchema.d.ts +31 -31
  59. package/dist/provider-chrome/common/WebBrowser_ModelSchema.d.ts.map +1 -0
  60. package/dist/provider-chrome/common/WebBrowser_ModelSearch.d.ts +8 -0
  61. package/dist/provider-chrome/common/WebBrowser_ModelSearch.d.ts.map +1 -0
  62. package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts +10 -0
  63. package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts.map +1 -0
  64. package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts +9 -0
  65. package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts.map +1 -0
  66. package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts +10 -0
  67. package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts.map +1 -0
  68. package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts +10 -0
  69. package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts.map +1 -0
  70. package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts +10 -0
  71. package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts.map +1 -0
  72. package/dist/{web-browser → provider-chrome}/index.d.ts +1 -3
  73. package/dist/provider-chrome/index.d.ts.map +1 -0
  74. package/dist/provider-chrome/index.js +132 -0
  75. package/dist/provider-chrome/index.js.map +13 -0
  76. package/dist/provider-chrome/registerWebBrowser.d.ts +10 -0
  77. package/dist/provider-chrome/registerWebBrowser.d.ts.map +1 -0
  78. package/dist/provider-chrome/registerWebBrowserInline.d.ts +8 -0
  79. package/dist/provider-chrome/registerWebBrowserInline.d.ts.map +1 -0
  80. package/dist/provider-chrome/registerWebBrowserWorker.d.ts +7 -0
  81. package/dist/provider-chrome/registerWebBrowserWorker.d.ts.map +1 -0
  82. package/dist/provider-chrome/runtime.d.ts +14 -0
  83. package/dist/provider-chrome/runtime.d.ts.map +1 -0
  84. package/dist/{web-browser/index.js → provider-chrome/runtime.js} +260 -235
  85. package/dist/provider-chrome/runtime.js.map +23 -0
  86. package/dist/{google-gemini → provider-gemini}/GoogleGeminiProvider.d.ts +2 -15
  87. package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -0
  88. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +16 -0
  89. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -0
  90. package/dist/provider-gemini/common/Gemini_Client.d.ts +10 -0
  91. package/dist/provider-gemini/common/Gemini_Client.d.ts.map +1 -0
  92. package/dist/provider-gemini/common/Gemini_Constants.d.ts.map +1 -0
  93. package/dist/provider-gemini/common/Gemini_CountTokens.d.ts +10 -0
  94. package/dist/provider-gemini/common/Gemini_CountTokens.d.ts.map +1 -0
  95. package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts +13 -0
  96. package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -0
  97. package/dist/provider-gemini/common/Gemini_ModelInfo.d.ts +9 -0
  98. package/dist/provider-gemini/common/Gemini_ModelInfo.d.ts.map +1 -0
  99. package/dist/{google-gemini → provider-gemini}/common/Gemini_ModelSchema.d.ts +31 -31
  100. package/dist/provider-gemini/common/Gemini_ModelSchema.d.ts.map +1 -0
  101. package/dist/provider-gemini/common/Gemini_ModelSearch.d.ts +8 -0
  102. package/dist/provider-gemini/common/Gemini_ModelSearch.d.ts.map +1 -0
  103. package/dist/provider-gemini/common/Gemini_Schema.d.ts +11 -0
  104. package/dist/provider-gemini/common/Gemini_Schema.d.ts.map +1 -0
  105. package/dist/provider-gemini/common/Gemini_StructuredGeneration.d.ts +10 -0
  106. package/dist/provider-gemini/common/Gemini_StructuredGeneration.d.ts.map +1 -0
  107. package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts +9 -0
  108. package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts.map +1 -0
  109. package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts +10 -0
  110. package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts.map +1 -0
  111. package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts +10 -0
  112. package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts.map +1 -0
  113. package/dist/provider-gemini/common/Gemini_TextSummary.d.ts +10 -0
  114. package/dist/provider-gemini/common/Gemini_TextSummary.d.ts.map +1 -0
  115. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts +10 -0
  116. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts.map +1 -0
  117. package/dist/{google-gemini → provider-gemini}/index.d.ts +1 -3
  118. package/dist/provider-gemini/index.d.ts.map +1 -0
  119. package/dist/{index-8651nz8y.js → provider-gemini/index.js} +43 -11
  120. package/dist/provider-gemini/index.js.map +13 -0
  121. package/dist/provider-gemini/registerGemini.d.ts +10 -0
  122. package/dist/provider-gemini/registerGemini.d.ts.map +1 -0
  123. package/dist/provider-gemini/registerGeminiInline.d.ts +8 -0
  124. package/dist/provider-gemini/registerGeminiInline.d.ts.map +1 -0
  125. package/dist/{anthropic/Anthropic_Worker.d.ts → provider-gemini/registerGeminiWorker.d.ts} +2 -2
  126. package/dist/provider-gemini/registerGeminiWorker.d.ts.map +1 -0
  127. package/dist/provider-gemini/runtime.d.ts +16 -0
  128. package/dist/provider-gemini/runtime.d.ts.map +1 -0
  129. package/dist/{google-gemini/index.js → provider-gemini/runtime.js} +281 -173
  130. package/dist/provider-gemini/runtime.js.map +26 -0
  131. package/dist/provider-hf-inference/HfInferenceProvider.d.ts +2 -19
  132. package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
  133. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +16 -0
  134. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -0
  135. package/dist/provider-hf-inference/common/HFI_Client.d.ts +12 -0
  136. package/dist/provider-hf-inference/common/HFI_Client.d.ts.map +1 -0
  137. package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts +2 -11
  138. package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
  139. package/dist/provider-hf-inference/common/HFI_ModelInfo.d.ts +9 -0
  140. package/dist/provider-hf-inference/common/HFI_ModelInfo.d.ts.map +1 -0
  141. package/dist/provider-hf-inference/common/HFI_ModelSchema.d.ts +31 -31
  142. package/dist/provider-hf-inference/common/HFI_ModelSchema.d.ts.map +1 -1
  143. package/dist/provider-hf-inference/common/HFI_ModelSearch.d.ts +8 -0
  144. package/dist/provider-hf-inference/common/HFI_ModelSearch.d.ts.map +1 -0
  145. package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts +9 -0
  146. package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts.map +1 -0
  147. package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts +10 -0
  148. package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts.map +1 -0
  149. package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts +10 -0
  150. package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts.map +1 -0
  151. package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts +10 -0
  152. package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts.map +1 -0
  153. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts +10 -0
  154. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts.map +1 -0
  155. package/dist/provider-hf-inference/index.d.ts +1 -3
  156. package/dist/provider-hf-inference/index.d.ts.map +1 -1
  157. package/dist/provider-hf-inference/index.js +98 -411
  158. package/dist/provider-hf-inference/index.js.map +7 -5
  159. package/dist/provider-hf-inference/registerHfInference.d.ts +10 -0
  160. package/dist/provider-hf-inference/registerHfInference.d.ts.map +1 -0
  161. package/dist/provider-hf-inference/registerHfInferenceInline.d.ts +8 -0
  162. package/dist/provider-hf-inference/registerHfInferenceInline.d.ts.map +1 -0
  163. package/dist/provider-hf-inference/registerHfInferenceWorker.d.ts +7 -0
  164. package/dist/provider-hf-inference/registerHfInferenceWorker.d.ts.map +1 -0
  165. package/dist/provider-hf-inference/runtime.d.ts +16 -0
  166. package/dist/provider-hf-inference/runtime.d.ts.map +1 -0
  167. package/dist/provider-hf-inference/runtime.js +592 -0
  168. package/dist/provider-hf-inference/runtime.js.map +25 -0
  169. package/dist/{hf-transformers → provider-hf-transformers}/HuggingFaceTransformersProvider.d.ts +2 -21
  170. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -0
  171. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +16 -0
  172. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -0
  173. package/dist/provider-hf-transformers/common/HFT_BackgroundRemoval.d.ts +12 -0
  174. package/dist/provider-hf-transformers/common/HFT_BackgroundRemoval.d.ts.map +1 -0
  175. package/dist/{hf-transformers → provider-hf-transformers}/common/HFT_Constants.d.ts +25 -23
  176. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -0
  177. package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts +10 -0
  178. package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts.map +1 -0
  179. package/dist/provider-hf-transformers/common/HFT_Download.d.ts +13 -0
  180. package/dist/provider-hf-transformers/common/HFT_Download.d.ts.map +1 -0
  181. package/dist/provider-hf-transformers/common/HFT_ImageClassification.d.ts +13 -0
  182. package/dist/provider-hf-transformers/common/HFT_ImageClassification.d.ts.map +1 -0
  183. package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts +12 -0
  184. package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts.map +1 -0
  185. package/dist/provider-hf-transformers/common/HFT_ImageHelpers.d.ts +11 -0
  186. package/dist/provider-hf-transformers/common/HFT_ImageHelpers.d.ts.map +1 -0
  187. package/dist/provider-hf-transformers/common/HFT_ImageSegmentation.d.ts +12 -0
  188. package/dist/provider-hf-transformers/common/HFT_ImageSegmentation.d.ts.map +1 -0
  189. package/dist/provider-hf-transformers/common/HFT_ImageToText.d.ts +12 -0
  190. package/dist/provider-hf-transformers/common/HFT_ImageToText.d.ts.map +1 -0
  191. package/dist/provider-hf-transformers/common/HFT_InlineLifecycle.d.ts +7 -0
  192. package/dist/provider-hf-transformers/common/HFT_InlineLifecycle.d.ts.map +1 -0
  193. package/dist/{hf-transformers → provider-hf-transformers}/common/HFT_JobRunFns.d.ts +673 -789
  194. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -0
  195. package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts +9 -0
  196. package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts.map +1 -0
  197. package/dist/{hf-transformers → provider-hf-transformers}/common/HFT_ModelSchema.d.ts +37 -37
  198. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -0
  199. package/dist/provider-hf-transformers/common/HFT_ModelSearch.d.ts +8 -0
  200. package/dist/provider-hf-transformers/common/HFT_ModelSearch.d.ts.map +1 -0
  201. package/dist/provider-hf-transformers/common/HFT_ObjectDetection.d.ts +13 -0
  202. package/dist/provider-hf-transformers/common/HFT_ObjectDetection.d.ts.map +1 -0
  203. package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts +23 -0
  204. package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -0
  205. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +32 -0
  206. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -0
  207. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts +24 -0
  208. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts.map +1 -0
  209. package/dist/provider-hf-transformers/common/HFT_StructuredGeneration.d.ts +10 -0
  210. package/dist/provider-hf-transformers/common/HFT_StructuredGeneration.d.ts.map +1 -0
  211. package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts +9 -0
  212. package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -0
  213. package/dist/provider-hf-transformers/common/HFT_TextEmbedding.d.ts +13 -0
  214. package/dist/provider-hf-transformers/common/HFT_TextEmbedding.d.ts.map +1 -0
  215. package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts +9 -0
  216. package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts.map +1 -0
  217. package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts +14 -0
  218. package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts.map +1 -0
  219. package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts +9 -0
  220. package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts.map +1 -0
  221. package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts +9 -0
  222. package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts.map +1 -0
  223. package/dist/provider-hf-transformers/common/HFT_TextOutput.d.ts +8 -0
  224. package/dist/provider-hf-transformers/common/HFT_TextOutput.d.ts.map +1 -0
  225. package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts +14 -0
  226. package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -0
  227. package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts +14 -0
  228. package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts.map +1 -0
  229. package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts +14 -0
  230. package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -0
  231. package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts +14 -0
  232. package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -0
  233. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts +10 -0
  234. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts.map +1 -0
  235. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts +40 -0
  236. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +1 -0
  237. package/dist/provider-hf-transformers/common/HFT_Unload.d.ts +13 -0
  238. package/dist/provider-hf-transformers/common/HFT_Unload.d.ts.map +1 -0
  239. package/dist/{hf-transformers → provider-hf-transformers}/index.d.ts +4 -2
  240. package/dist/provider-hf-transformers/index.d.ts.map +1 -0
  241. package/dist/provider-hf-transformers/index.js +513 -0
  242. package/dist/provider-hf-transformers/index.js.map +16 -0
  243. package/dist/provider-hf-transformers/registerHuggingFaceTransformers.d.ts +14 -0
  244. package/dist/provider-hf-transformers/registerHuggingFaceTransformers.d.ts.map +1 -0
  245. package/dist/provider-hf-transformers/registerHuggingFaceTransformersInline.d.ts +15 -0
  246. package/dist/provider-hf-transformers/registerHuggingFaceTransformersInline.d.ts.map +1 -0
  247. package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts +7 -0
  248. package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts.map +1 -0
  249. package/dist/provider-hf-transformers/runtime.d.ts +21 -0
  250. package/dist/provider-hf-transformers/runtime.d.ts.map +1 -0
  251. package/dist/{index-j4g81r4k.js → provider-hf-transformers/runtime.js} +1561 -927
  252. package/dist/provider-hf-transformers/runtime.js.map +49 -0
  253. package/dist/provider-llamacpp/LlamaCppProvider.d.ts +2 -15
  254. package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
  255. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +16 -0
  256. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -0
  257. package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts +10 -0
  258. package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts.map +1 -0
  259. package/dist/provider-llamacpp/common/LlamaCpp_Download.d.ts +9 -0
  260. package/dist/provider-llamacpp/common/LlamaCpp_Download.d.ts.map +1 -0
  261. package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts +2 -18
  262. package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
  263. package/dist/provider-llamacpp/common/LlamaCpp_ModelInfo.d.ts +9 -0
  264. package/dist/provider-llamacpp/common/LlamaCpp_ModelInfo.d.ts.map +1 -0
  265. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts +31 -31
  266. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
  267. package/dist/provider-llamacpp/common/LlamaCpp_ModelSearch.d.ts +8 -0
  268. package/dist/provider-llamacpp/common/LlamaCpp_ModelSearch.d.ts.map +1 -0
  269. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts +31 -0
  270. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts.map +1 -0
  271. package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts +10 -0
  272. package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts.map +1 -0
  273. package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts +9 -0
  274. package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts.map +1 -0
  275. package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts +10 -0
  276. package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts.map +1 -0
  277. package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts +10 -0
  278. package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts.map +1 -0
  279. package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts +10 -0
  280. package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts.map +1 -0
  281. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts +10 -0
  282. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts.map +1 -0
  283. package/dist/provider-llamacpp/common/LlamaCpp_Unload.d.ts +9 -0
  284. package/dist/provider-llamacpp/common/LlamaCpp_Unload.d.ts.map +1 -0
  285. package/dist/provider-llamacpp/index.d.ts +1 -3
  286. package/dist/provider-llamacpp/index.d.ts.map +1 -1
  287. package/dist/provider-llamacpp/index.js +121 -725
  288. package/dist/provider-llamacpp/index.js.map +7 -5
  289. package/dist/provider-llamacpp/registerLlamaCpp.d.ts +10 -0
  290. package/dist/provider-llamacpp/registerLlamaCpp.d.ts.map +1 -0
  291. package/dist/provider-llamacpp/registerLlamaCppInline.d.ts +8 -0
  292. package/dist/provider-llamacpp/registerLlamaCppInline.d.ts.map +1 -0
  293. package/dist/provider-llamacpp/registerLlamaCppWorker.d.ts +7 -0
  294. package/dist/provider-llamacpp/registerLlamaCppWorker.d.ts.map +1 -0
  295. package/dist/provider-llamacpp/runtime.d.ts +16 -0
  296. package/dist/provider-llamacpp/runtime.d.ts.map +1 -0
  297. package/dist/provider-llamacpp/runtime.js +929 -0
  298. package/dist/provider-llamacpp/runtime.js.map +29 -0
  299. package/dist/provider-ollama/OllamaProvider.d.ts +2 -15
  300. package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
  301. package/dist/provider-ollama/OllamaQueuedProvider.d.ts +16 -0
  302. package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -0
  303. package/dist/provider-ollama/common/Ollama_Client.browser.d.ts +13 -0
  304. package/dist/provider-ollama/common/Ollama_Client.browser.d.ts.map +1 -0
  305. package/dist/provider-ollama/common/Ollama_Client.d.ts +13 -0
  306. package/dist/provider-ollama/common/Ollama_Client.d.ts.map +1 -0
  307. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +362 -11
  308. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
  309. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +361 -11
  310. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
  311. package/dist/provider-ollama/common/Ollama_ModelInfo.d.ts +11 -0
  312. package/dist/provider-ollama/common/Ollama_ModelInfo.d.ts.map +1 -0
  313. package/dist/provider-ollama/common/Ollama_ModelSchema.d.ts +30 -30
  314. package/dist/provider-ollama/common/Ollama_ModelSchema.d.ts.map +1 -1
  315. package/dist/provider-ollama/common/Ollama_ModelSearch.d.ts +11 -0
  316. package/dist/provider-ollama/common/Ollama_ModelSearch.d.ts.map +1 -0
  317. package/dist/provider-ollama/common/Ollama_ModelUtil.d.ts +8 -0
  318. package/dist/provider-ollama/common/Ollama_ModelUtil.d.ts.map +1 -0
  319. package/dist/provider-ollama/common/Ollama_TextEmbedding.d.ts +11 -0
  320. package/dist/provider-ollama/common/Ollama_TextEmbedding.d.ts.map +1 -0
  321. package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts +12 -0
  322. package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts.map +1 -0
  323. package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts +12 -0
  324. package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts.map +1 -0
  325. package/dist/provider-ollama/common/Ollama_TextSummary.d.ts +12 -0
  326. package/dist/provider-ollama/common/Ollama_TextSummary.d.ts.map +1 -0
  327. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts +16 -0
  328. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts.map +1 -0
  329. package/dist/provider-ollama/index.browser.d.ts +1 -3
  330. package/dist/provider-ollama/index.browser.d.ts.map +1 -1
  331. package/dist/provider-ollama/index.browser.js +18 -396
  332. package/dist/provider-ollama/index.browser.js.map +6 -7
  333. package/dist/provider-ollama/index.d.ts +1 -3
  334. package/dist/provider-ollama/index.d.ts.map +1 -1
  335. package/dist/provider-ollama/index.js +93 -382
  336. package/dist/provider-ollama/index.js.map +7 -5
  337. package/dist/provider-ollama/registerOllama.d.ts +10 -0
  338. package/dist/provider-ollama/registerOllama.d.ts.map +1 -0
  339. package/dist/provider-ollama/registerOllamaInline.browser.d.ts +8 -0
  340. package/dist/provider-ollama/registerOllamaInline.browser.d.ts.map +1 -0
  341. package/dist/provider-ollama/registerOllamaInline.d.ts +8 -0
  342. package/dist/provider-ollama/registerOllamaInline.d.ts.map +1 -0
  343. package/dist/provider-ollama/registerOllamaWorker.browser.d.ts +7 -0
  344. package/dist/provider-ollama/registerOllamaWorker.browser.d.ts.map +1 -0
  345. package/dist/{google-gemini/Gemini_Worker.d.ts → provider-ollama/registerOllamaWorker.d.ts} +2 -2
  346. package/dist/provider-ollama/registerOllamaWorker.d.ts.map +1 -0
  347. package/dist/provider-ollama/runtime.browser.d.ts +16 -0
  348. package/dist/provider-ollama/runtime.browser.d.ts.map +1 -0
  349. package/dist/provider-ollama/runtime.browser.js +528 -0
  350. package/dist/provider-ollama/runtime.browser.js.map +24 -0
  351. package/dist/provider-ollama/runtime.d.ts +16 -0
  352. package/dist/provider-ollama/runtime.d.ts.map +1 -0
  353. package/dist/provider-ollama/runtime.js +538 -0
  354. package/dist/provider-ollama/runtime.js.map +24 -0
  355. package/dist/provider-openai/OpenAiProvider.d.ts +2 -19
  356. package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
  357. package/dist/provider-openai/OpenAiQueuedProvider.d.ts +16 -0
  358. package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -0
  359. package/dist/provider-openai/common/OpenAI_Client.d.ts +10 -0
  360. package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -0
  361. package/dist/provider-openai/common/OpenAI_CountTokens.d.ts +10 -0
  362. package/dist/provider-openai/common/OpenAI_CountTokens.d.ts.map +1 -0
  363. package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts +2 -15
  364. package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
  365. package/dist/provider-openai/common/OpenAI_ModelInfo.d.ts +9 -0
  366. package/dist/provider-openai/common/OpenAI_ModelInfo.d.ts.map +1 -0
  367. package/dist/provider-openai/common/OpenAI_ModelSchema.d.ts +31 -31
  368. package/dist/provider-openai/common/OpenAI_ModelSchema.d.ts.map +1 -1
  369. package/dist/provider-openai/common/OpenAI_ModelSearch.d.ts +8 -0
  370. package/dist/provider-openai/common/OpenAI_ModelSearch.d.ts.map +1 -0
  371. package/dist/provider-openai/common/OpenAI_StructuredGeneration.d.ts +10 -0
  372. package/dist/provider-openai/common/OpenAI_StructuredGeneration.d.ts.map +1 -0
  373. package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts +9 -0
  374. package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts.map +1 -0
  375. package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts +10 -0
  376. package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts.map +1 -0
  377. package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts +10 -0
  378. package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts.map +1 -0
  379. package/dist/provider-openai/common/OpenAI_TextSummary.d.ts +10 -0
  380. package/dist/provider-openai/common/OpenAI_TextSummary.d.ts.map +1 -0
  381. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts +10 -0
  382. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts.map +1 -0
  383. package/dist/provider-openai/index.d.ts +1 -3
  384. package/dist/provider-openai/index.d.ts.map +1 -1
  385. package/dist/provider-openai/index.js +108 -519
  386. package/dist/provider-openai/index.js.map +7 -5
  387. package/dist/provider-openai/registerOpenAi.d.ts +10 -0
  388. package/dist/provider-openai/registerOpenAi.d.ts.map +1 -0
  389. package/dist/provider-openai/registerOpenAiInline.d.ts +8 -0
  390. package/dist/provider-openai/registerOpenAiInline.d.ts.map +1 -0
  391. package/dist/{ggml/model/GgmlLocalModel.d.ts → provider-openai/registerOpenAiWorker.d.ts} +2 -2
  392. package/dist/provider-openai/registerOpenAiWorker.d.ts.map +1 -0
  393. package/dist/provider-openai/runtime.d.ts +16 -0
  394. package/dist/provider-openai/runtime.d.ts.map +1 -0
  395. package/dist/provider-openai/runtime.js +662 -0
  396. package/dist/provider-openai/runtime.js.map +25 -0
  397. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts +24 -0
  398. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts.map +1 -0
  399. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +16 -0
  400. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -0
  401. package/dist/provider-tf-mediapipe/common/TFMP_Client.d.ts +8 -0
  402. package/dist/provider-tf-mediapipe/common/TFMP_Client.d.ts.map +1 -0
  403. package/dist/{tf-mediapipe → provider-tf-mediapipe}/common/TFMP_Constants.d.ts +1 -0
  404. package/dist/provider-tf-mediapipe/common/TFMP_Constants.d.ts.map +1 -0
  405. package/dist/provider-tf-mediapipe/common/TFMP_Download.d.ts +9 -0
  406. package/dist/provider-tf-mediapipe/common/TFMP_Download.d.ts.map +1 -0
  407. package/dist/provider-tf-mediapipe/common/TFMP_FaceDetector.d.ts +9 -0
  408. package/dist/provider-tf-mediapipe/common/TFMP_FaceDetector.d.ts.map +1 -0
  409. package/dist/provider-tf-mediapipe/common/TFMP_FaceLandmarker.d.ts +9 -0
  410. package/dist/provider-tf-mediapipe/common/TFMP_FaceLandmarker.d.ts.map +1 -0
  411. package/dist/provider-tf-mediapipe/common/TFMP_GestureRecognizer.d.ts +9 -0
  412. package/dist/provider-tf-mediapipe/common/TFMP_GestureRecognizer.d.ts.map +1 -0
  413. package/dist/provider-tf-mediapipe/common/TFMP_HandLandmarker.d.ts +9 -0
  414. package/dist/provider-tf-mediapipe/common/TFMP_HandLandmarker.d.ts.map +1 -0
  415. package/dist/provider-tf-mediapipe/common/TFMP_ImageClassification.d.ts +9 -0
  416. package/dist/provider-tf-mediapipe/common/TFMP_ImageClassification.d.ts.map +1 -0
  417. package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts +9 -0
  418. package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts.map +1 -0
  419. package/dist/provider-tf-mediapipe/common/TFMP_ImageSegmentation.d.ts +9 -0
  420. package/dist/provider-tf-mediapipe/common/TFMP_ImageSegmentation.d.ts.map +1 -0
  421. package/dist/{tf-mediapipe → provider-tf-mediapipe}/common/TFMP_JobRunFns.d.ts +340 -408
  422. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -0
  423. package/dist/provider-tf-mediapipe/common/TFMP_ModelInfo.d.ts +9 -0
  424. package/dist/provider-tf-mediapipe/common/TFMP_ModelInfo.d.ts.map +1 -0
  425. package/dist/{tf-mediapipe → provider-tf-mediapipe}/common/TFMP_ModelSchema.d.ts +40 -37
  426. package/dist/provider-tf-mediapipe/common/TFMP_ModelSchema.d.ts.map +1 -0
  427. package/dist/provider-tf-mediapipe/common/TFMP_ModelSearch.d.ts +9 -0
  428. package/dist/provider-tf-mediapipe/common/TFMP_ModelSearch.d.ts.map +1 -0
  429. package/dist/provider-tf-mediapipe/common/TFMP_ObjectDetection.d.ts +9 -0
  430. package/dist/provider-tf-mediapipe/common/TFMP_ObjectDetection.d.ts.map +1 -0
  431. package/dist/provider-tf-mediapipe/common/TFMP_PoseLandmarker.d.ts +9 -0
  432. package/dist/provider-tf-mediapipe/common/TFMP_PoseLandmarker.d.ts.map +1 -0
  433. package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts +43 -0
  434. package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts.map +1 -0
  435. package/dist/provider-tf-mediapipe/common/TFMP_TextClassification.d.ts +9 -0
  436. package/dist/provider-tf-mediapipe/common/TFMP_TextClassification.d.ts.map +1 -0
  437. package/dist/provider-tf-mediapipe/common/TFMP_TextEmbedding.d.ts +9 -0
  438. package/dist/provider-tf-mediapipe/common/TFMP_TextEmbedding.d.ts.map +1 -0
  439. package/dist/provider-tf-mediapipe/common/TFMP_TextLanguageDetection.d.ts +9 -0
  440. package/dist/provider-tf-mediapipe/common/TFMP_TextLanguageDetection.d.ts.map +1 -0
  441. package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts +9 -0
  442. package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts.map +1 -0
  443. package/dist/{tf-mediapipe → provider-tf-mediapipe}/index.d.ts +1 -3
  444. package/dist/provider-tf-mediapipe/index.d.ts.map +1 -0
  445. package/dist/provider-tf-mediapipe/index.js +129 -0
  446. package/dist/provider-tf-mediapipe/index.js.map +13 -0
  447. package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipe.d.ts +10 -0
  448. package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipe.d.ts.map +1 -0
  449. package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeInline.d.ts +8 -0
  450. package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeInline.d.ts.map +1 -0
  451. package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeWorker.d.ts +7 -0
  452. package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeWorker.d.ts.map +1 -0
  453. package/dist/provider-tf-mediapipe/runtime.d.ts +16 -0
  454. package/dist/provider-tf-mediapipe/runtime.d.ts.map +1 -0
  455. package/dist/{tf-mediapipe/index.js → provider-tf-mediapipe/runtime.js} +417 -380
  456. package/dist/provider-tf-mediapipe/runtime.js.map +33 -0
  457. package/package.json +66 -40
  458. package/dist/HFT_JobRunFns-8hcpea4c.js +0 -80
  459. package/dist/HFT_JobRunFns-8hcpea4c.js.map +0 -9
  460. package/dist/anthropic/AnthropicProvider.d.ts.map +0 -1
  461. package/dist/anthropic/Anthropic_Worker.d.ts.map +0 -1
  462. package/dist/anthropic/common/Anthropic_Constants.d.ts.map +0 -1
  463. package/dist/anthropic/common/Anthropic_JobRunFns.d.ts +0 -24
  464. package/dist/anthropic/common/Anthropic_JobRunFns.d.ts.map +0 -1
  465. package/dist/anthropic/common/Anthropic_ModelSchema.d.ts.map +0 -1
  466. package/dist/anthropic/index.d.ts.map +0 -1
  467. package/dist/anthropic/index.js.map +0 -11
  468. package/dist/ggml/model/GgmlLocalModel.d.ts.map +0 -1
  469. package/dist/google-gemini/Gemini_Worker.d.ts.map +0 -1
  470. package/dist/google-gemini/GoogleGeminiProvider.d.ts.map +0 -1
  471. package/dist/google-gemini/common/Gemini_Constants.d.ts.map +0 -1
  472. package/dist/google-gemini/common/Gemini_JobRunFns.d.ts +0 -25
  473. package/dist/google-gemini/common/Gemini_JobRunFns.d.ts.map +0 -1
  474. package/dist/google-gemini/common/Gemini_ModelSchema.d.ts.map +0 -1
  475. package/dist/google-gemini/index.d.ts.map +0 -1
  476. package/dist/google-gemini/index.js.map +0 -11
  477. package/dist/hf-transformers/HFT_Worker.d.ts +0 -7
  478. package/dist/hf-transformers/HFT_Worker.d.ts.map +0 -1
  479. package/dist/hf-transformers/HuggingFaceTransformersProvider.d.ts.map +0 -1
  480. package/dist/hf-transformers/common/HFT_Constants.d.ts.map +0 -1
  481. package/dist/hf-transformers/common/HFT_JobRunFns.d.ts.map +0 -1
  482. package/dist/hf-transformers/common/HFT_ModelSchema.d.ts.map +0 -1
  483. package/dist/hf-transformers/index.d.ts.map +0 -1
  484. package/dist/hf-transformers/index.js +0 -116
  485. package/dist/hf-transformers/index.js.map +0 -10
  486. package/dist/index-60ev6k93.js.map +0 -12
  487. package/dist/index-6j5pq722.js +0 -11
  488. package/dist/index-6j5pq722.js.map +0 -9
  489. package/dist/index-8651nz8y.js.map +0 -12
  490. package/dist/index-j4g81r4k.js.map +0 -10
  491. package/dist/index-pkd79j8b.js +0 -58
  492. package/dist/index-pkd79j8b.js.map +0 -10
  493. package/dist/index-q2t627d5.js +0 -88
  494. package/dist/index-q2t627d5.js.map +0 -12
  495. package/dist/index-tp5s7355.js +0 -77
  496. package/dist/index-tp5s7355.js.map +0 -12
  497. package/dist/index-v72vr07f.js +0 -81
  498. package/dist/index-v72vr07f.js.map +0 -12
  499. package/dist/index-wr57rwyx.js +0 -104
  500. package/dist/index-wr57rwyx.js.map +0 -12
  501. package/dist/index-zqq3kw0n.js +0 -171
  502. package/dist/index-zqq3kw0n.js.map +0 -11
  503. package/dist/index.browser-6j5pq722.js +0 -11
  504. package/dist/index.browser-6j5pq722.js.map +0 -9
  505. package/dist/index.d.ts +0 -33
  506. package/dist/index.d.ts.map +0 -1
  507. package/dist/index.js +0 -316
  508. package/dist/index.js.map +0 -15
  509. package/dist/provider-hf-inference/HFI_Worker.d.ts +0 -7
  510. package/dist/provider-hf-inference/HFI_Worker.d.ts.map +0 -1
  511. package/dist/provider-llamacpp/LlamaCpp_Worker.d.ts +0 -7
  512. package/dist/provider-llamacpp/LlamaCpp_Worker.d.ts.map +0 -1
  513. package/dist/provider-ollama/Ollama_Worker.browser.d.ts +0 -7
  514. package/dist/provider-ollama/Ollama_Worker.browser.d.ts.map +0 -1
  515. package/dist/provider-ollama/Ollama_Worker.d.ts +0 -7
  516. package/dist/provider-ollama/Ollama_Worker.d.ts.map +0 -1
  517. package/dist/provider-openai/OpenAI_Worker.d.ts +0 -7
  518. package/dist/provider-openai/OpenAI_Worker.d.ts.map +0 -1
  519. package/dist/tf-mediapipe/TFMP_Worker.d.ts +0 -7
  520. package/dist/tf-mediapipe/TFMP_Worker.d.ts.map +0 -1
  521. package/dist/tf-mediapipe/TensorFlowMediaPipeProvider.d.ts +0 -41
  522. package/dist/tf-mediapipe/TensorFlowMediaPipeProvider.d.ts.map +0 -1
  523. package/dist/tf-mediapipe/common/TFMP_Constants.d.ts.map +0 -1
  524. package/dist/tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +0 -1
  525. package/dist/tf-mediapipe/common/TFMP_ModelSchema.d.ts.map +0 -1
  526. package/dist/tf-mediapipe/index.d.ts.map +0 -1
  527. package/dist/tf-mediapipe/index.js.map +0 -14
  528. package/dist/types.d.ts +0 -7
  529. package/dist/types.d.ts.map +0 -1
  530. package/dist/web-browser/WebBrowserProvider.d.ts.map +0 -1
  531. package/dist/web-browser/WebBrowser_Worker.d.ts +0 -7
  532. package/dist/web-browser/WebBrowser_Worker.d.ts.map +0 -1
  533. package/dist/web-browser/common/WebBrowser_Constants.d.ts.map +0 -1
  534. package/dist/web-browser/common/WebBrowser_JobRunFns.d.ts +0 -20
  535. package/dist/web-browser/common/WebBrowser_JobRunFns.d.ts.map +0 -1
  536. package/dist/web-browser/common/WebBrowser_ModelSchema.d.ts.map +0 -1
  537. package/dist/web-browser/index.d.ts.map +0 -1
  538. package/dist/web-browser/index.js.map +0 -14
  539. /package/dist/{anthropic → provider-anthropic}/common/Anthropic_Constants.d.ts +0 -0
  540. /package/dist/{web-browser → provider-chrome}/common/WebBrowser_Constants.d.ts +0 -0
  541. /package/dist/{google-gemini → provider-gemini}/common/Gemini_Constants.d.ts +0 -0
package/dist/index.js DELETED
@@ -1,316 +0,0 @@
1
- import {
2
- ANTHROPIC,
3
- AnthropicModelConfigSchema,
4
- AnthropicModelRecordSchema,
5
- AnthropicModelSchema,
6
- AnthropicProvider
7
- } from "./index-60ev6k93.js";
8
- import {
9
- GOOGLE_GEMINI,
10
- GeminiModelConfigSchema,
11
- GeminiModelRecordSchema,
12
- GeminiModelSchema,
13
- GoogleGeminiProvider
14
- } from "./index-8651nz8y.js";
15
- import {
16
- HuggingFaceTransformersProvider
17
- } from "./index-pkd79j8b.js";
18
- import {
19
- AudioPipelineUseCase,
20
- HF_TRANSFORMERS_ONNX,
21
- HTF_CACHE_NAME,
22
- HfTransformersOnnxModelConfigSchema,
23
- HfTransformersOnnxModelRecordSchema,
24
- HfTransformersOnnxModelSchema,
25
- MultimodalPipelineUseCase,
26
- PipelineUseCase,
27
- QuantizationDataType,
28
- TextPipelineUseCase,
29
- VisionPipelineUseCase
30
- } from "./index-zqq3kw0n.js";
31
- import {
32
- LLAMACPP_DEFAULT_MODELS_DIR,
33
- LOCAL_LLAMACPP,
34
- LlamaCppModelConfigSchema,
35
- LlamaCppModelRecordSchema,
36
- LlamaCppModelSchema,
37
- LlamaCppProvider
38
- } from "./index-wr57rwyx.js";
39
- import {
40
- HF_INFERENCE,
41
- HfInferenceModelConfigSchema,
42
- HfInferenceModelRecordSchema,
43
- HfInferenceModelSchema,
44
- HfInferenceProvider
45
- } from "./index-v72vr07f.js";
46
- import {
47
- OLLAMA,
48
- OLLAMA_DEFAULT_BASE_URL,
49
- OllamaModelConfigSchema,
50
- OllamaModelRecordSchema,
51
- OllamaModelSchema,
52
- OllamaProvider
53
- } from "./index-tp5s7355.js";
54
- import {
55
- OPENAI,
56
- OpenAiModelConfigSchema,
57
- OpenAiModelRecordSchema,
58
- OpenAiModelSchema,
59
- OpenAiProvider
60
- } from "./index-q2t627d5.js";
61
- import"./index-6j5pq722.js";
62
- // src/tf-mediapipe/common/TFMP_Constants.ts
63
- var TENSORFLOW_MEDIAPIPE = "TENSORFLOW_MEDIAPIPE";
64
- var TextPipelineTask = {
65
- "text-embedder": "text-embedder",
66
- "text-classifier": "text-classifier",
67
- "text-language-detector": "text-language-detector",
68
- "genai-text": "genai-text",
69
- "audio-classifier": "audio-classifier",
70
- "audio-embedder": "audio-embedder",
71
- "vision-face-detector": "vision-face-detector",
72
- "vision-face-landmarker": "vision-face-landmarker",
73
- "vision-face-stylizer": "vision-face-stylizer",
74
- "vision-gesture-recognizer": "vision-gesture-recognizer",
75
- "vision-hand-landmarker": "vision-hand-landmarker",
76
- "vision-holistic-landmarker": "vision-holistic-landmarker",
77
- "vision-image-classifier": "vision-image-classifier",
78
- "vision-image-embedder": "vision-image-embedder",
79
- "vision-image-segmenter": "vision-image-segmenter",
80
- "vision-image-interactive-segmenter": "vision-image-interactive-segmenter",
81
- "vision-object-detector": "vision-object-detector",
82
- "vision-pose-landmarker": "vision-pose-landmarker"
83
- };
84
- // src/web-browser/common/WebBrowser_Constants.ts
85
- var WEB_BROWSER = "WEB_BROWSER";
86
- var WebBrowserPipelineTask = {
87
- summarizer: "summarizer",
88
- "language-detector": "language-detector",
89
- translator: "translator",
90
- prompt: "prompt",
91
- rewriter: "rewriter"
92
- };
93
- // src/tf-mediapipe/common/TFMP_ModelSchema.ts
94
- import { ModelConfigSchema, ModelRecordSchema } from "@workglow/ai";
95
- var TFMPModelSchema = {
96
- type: "object",
97
- properties: {
98
- provider: {
99
- const: TENSORFLOW_MEDIAPIPE,
100
- description: "Discriminator: TensorFlow MediaPipe backend."
101
- },
102
- provider_config: {
103
- type: "object",
104
- description: "TensorFlow MediaPipe-specific options.",
105
- properties: {
106
- model_path: {
107
- type: "string",
108
- description: "Filesystem path or URI for the ONNX model."
109
- },
110
- task_engine: {
111
- type: "string",
112
- enum: ["text", "audio", "vision", "genai"],
113
- description: "Task engine for the MediaPipe model."
114
- },
115
- pipeline: {
116
- type: "string",
117
- enum: Object.values(TextPipelineTask),
118
- description: "Pipeline task type for the MediaPipe model."
119
- }
120
- },
121
- required: ["model_path", "task_engine", "pipeline"],
122
- additionalProperties: false
123
- }
124
- },
125
- required: ["provider", "provider_config"],
126
- additionalProperties: true
127
- };
128
- var TFMPModelRecordSchema = {
129
- type: "object",
130
- properties: {
131
- ...ModelRecordSchema.properties,
132
- ...TFMPModelSchema.properties
133
- },
134
- required: [...ModelRecordSchema.required, ...TFMPModelSchema.required],
135
- additionalProperties: false
136
- };
137
- var TFMPModelConfigSchema = {
138
- type: "object",
139
- properties: {
140
- ...ModelConfigSchema.properties,
141
- ...TFMPModelSchema.properties
142
- },
143
- required: [...ModelConfigSchema.required, ...TFMPModelSchema.required],
144
- additionalProperties: false
145
- };
146
- // src/web-browser/common/WebBrowser_ModelSchema.ts
147
- import { ModelConfigSchema as ModelConfigSchema2, ModelRecordSchema as ModelRecordSchema2 } from "@workglow/ai";
148
- var WebBrowserModelSchema = {
149
- type: "object",
150
- properties: {
151
- provider: {
152
- const: WEB_BROWSER,
153
- description: "Discriminator: Chrome Built-in AI (Gemini Nano)."
154
- },
155
- provider_config: {
156
- type: "object",
157
- description: "Chrome Built-in AI configuration.",
158
- properties: {
159
- summary_type: {
160
- type: "string",
161
- enum: ["tl;dr", "key-points", "teaser", "headline"],
162
- description: "Summarization style (Summarizer API only)."
163
- },
164
- summary_length: {
165
- type: "string",
166
- enum: ["short", "medium", "long"],
167
- description: "Desired summary length (Summarizer API only)."
168
- },
169
- summary_format: {
170
- type: "string",
171
- enum: ["plain-text", "markdown"],
172
- description: "Output format for summaries (Summarizer API only)."
173
- },
174
- rewriter_tone: {
175
- type: "string",
176
- enum: ["as-is", "more-formal", "more-casual"],
177
- description: "Tone for rewriting (Rewriter API only)."
178
- },
179
- rewriter_length: {
180
- type: "string",
181
- enum: ["as-is", "shorter", "longer"],
182
- description: "Length adjustment for rewriting (Rewriter API only)."
183
- }
184
- },
185
- required: [],
186
- additionalProperties: false
187
- }
188
- },
189
- required: ["provider", "provider_config"],
190
- additionalProperties: true
191
- };
192
- var WebBrowserModelRecordSchema = {
193
- type: "object",
194
- properties: {
195
- ...ModelRecordSchema2.properties,
196
- ...WebBrowserModelSchema.properties
197
- },
198
- required: [...ModelRecordSchema2.required, ...WebBrowserModelSchema.required],
199
- additionalProperties: false
200
- };
201
- var WebBrowserModelConfigSchema = {
202
- type: "object",
203
- properties: {
204
- ...ModelConfigSchema2.properties,
205
- ...WebBrowserModelSchema.properties
206
- },
207
- required: [...ModelConfigSchema2.required, ...WebBrowserModelSchema.required],
208
- additionalProperties: false
209
- };
210
- // src/tf-mediapipe/TensorFlowMediaPipeProvider.ts
211
- import { AiProvider } from "@workglow/ai";
212
- class TensorFlowMediaPipeProvider extends AiProvider {
213
- name = TENSORFLOW_MEDIAPIPE;
214
- isLocal = true;
215
- supportsBrowser = true;
216
- taskTypes = [
217
- "DownloadModelTask",
218
- "UnloadModelTask",
219
- "ModelInfoTask",
220
- "TextEmbeddingTask",
221
- "TextLanguageDetectionTask",
222
- "TextClassificationTask",
223
- "ImageSegmentationTask",
224
- "ImageEmbeddingTask",
225
- "ImageClassificationTask",
226
- "ObjectDetectionTask",
227
- "GestureRecognizerTask",
228
- "HandLandmarkerTask",
229
- "FaceDetectorTask",
230
- "FaceLandmarkerTask",
231
- "PoseLandmarkerTask"
232
- ];
233
- constructor(tasks, reactiveTasks) {
234
- super(tasks, undefined, reactiveTasks);
235
- }
236
- }
237
- // src/web-browser/WebBrowserProvider.ts
238
- import {
239
- AiProvider as AiProvider2
240
- } from "@workglow/ai";
241
- class WebBrowserProvider extends AiProvider2 {
242
- name = WEB_BROWSER;
243
- isLocal = true;
244
- supportsBrowser = true;
245
- taskTypes = [
246
- "ModelInfoTask",
247
- "TextSummaryTask",
248
- "TextLanguageDetectionTask",
249
- "TextTranslationTask",
250
- "TextGenerationTask",
251
- "TextRewriterTask"
252
- ];
253
- constructor(tasks, streamTasks, reactiveTasks) {
254
- super(tasks, streamTasks, reactiveTasks);
255
- }
256
- }
257
- export {
258
- WebBrowserProvider,
259
- WebBrowserPipelineTask,
260
- WebBrowserModelSchema,
261
- WebBrowserModelRecordSchema,
262
- WebBrowserModelConfigSchema,
263
- WEB_BROWSER,
264
- VisionPipelineUseCase,
265
- TextPipelineUseCase,
266
- TextPipelineTask,
267
- TensorFlowMediaPipeProvider,
268
- TFMPModelSchema,
269
- TFMPModelRecordSchema,
270
- TFMPModelConfigSchema,
271
- TENSORFLOW_MEDIAPIPE,
272
- QuantizationDataType,
273
- PipelineUseCase,
274
- OpenAiProvider,
275
- OpenAiModelSchema,
276
- OpenAiModelRecordSchema,
277
- OpenAiModelConfigSchema,
278
- OllamaProvider,
279
- OllamaModelSchema,
280
- OllamaModelRecordSchema,
281
- OllamaModelConfigSchema,
282
- OPENAI,
283
- OLLAMA_DEFAULT_BASE_URL,
284
- OLLAMA,
285
- MultimodalPipelineUseCase,
286
- LlamaCppProvider,
287
- LlamaCppModelSchema,
288
- LlamaCppModelRecordSchema,
289
- LlamaCppModelConfigSchema,
290
- LOCAL_LLAMACPP,
291
- LLAMACPP_DEFAULT_MODELS_DIR,
292
- HuggingFaceTransformersProvider,
293
- HfTransformersOnnxModelSchema,
294
- HfTransformersOnnxModelRecordSchema,
295
- HfTransformersOnnxModelConfigSchema,
296
- HfInferenceProvider,
297
- HfInferenceModelSchema,
298
- HfInferenceModelRecordSchema,
299
- HfInferenceModelConfigSchema,
300
- HTF_CACHE_NAME,
301
- HF_TRANSFORMERS_ONNX,
302
- HF_INFERENCE,
303
- GoogleGeminiProvider,
304
- GeminiModelSchema,
305
- GeminiModelRecordSchema,
306
- GeminiModelConfigSchema,
307
- GOOGLE_GEMINI,
308
- AudioPipelineUseCase,
309
- AnthropicProvider,
310
- AnthropicModelSchema,
311
- AnthropicModelRecordSchema,
312
- AnthropicModelConfigSchema,
313
- ANTHROPIC
314
- };
315
-
316
- //# debugId=DA4C6EECCF0011FD64756E2164756E21
package/dist/index.js.map DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/tf-mediapipe/common/TFMP_Constants.ts", "../src/web-browser/common/WebBrowser_Constants.ts", "../src/tf-mediapipe/common/TFMP_ModelSchema.ts", "../src/web-browser/common/WebBrowser_ModelSchema.ts", "../src/tf-mediapipe/TensorFlowMediaPipeProvider.ts", "../src/web-browser/WebBrowserProvider.ts"],
4
- "sourcesContent": [
5
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const TENSORFLOW_MEDIAPIPE = \"TENSORFLOW_MEDIAPIPE\";\n\nexport type TextPipelineTask =\n | \"text-embedder\"\n | \"text-classifier\"\n | \"text-language-detector\"\n | \"genai-text\"\n | \"audio-classifier\"\n | \"audio-embedder\"\n | \"vision-face-detector\"\n | \"vision-face-landmarker\"\n | \"vision-face-stylizer\"\n | \"vision-gesture-recognizer\"\n | \"vision-hand-landmarker\"\n | \"vision-holistic-landmarker\"\n | \"vision-image-classifier\"\n | \"vision-image-embedder\"\n | \"vision-image-segmenter\"\n | \"vision-image-interactive-segmenter\"\n | \"vision-object-detector\"\n | \"vision-pose-landmarker\";\n\nexport const TextPipelineTask = {\n \"text-embedder\": \"text-embedder\",\n \"text-classifier\": \"text-classifier\",\n \"text-language-detector\": \"text-language-detector\",\n \"genai-text\": \"genai-text\",\n \"audio-classifier\": \"audio-classifier\",\n \"audio-embedder\": \"audio-embedder\",\n \"vision-face-detector\": \"vision-face-detector\",\n \"vision-face-landmarker\": \"vision-face-landmarker\",\n \"vision-face-stylizer\": \"vision-face-stylizer\",\n \"vision-gesture-recognizer\": \"vision-gesture-recognizer\",\n \"vision-hand-landmarker\": \"vision-hand-landmarker\",\n \"vision-holistic-landmarker\": \"vision-holistic-landmarker\",\n \"vision-image-classifier\": \"vision-image-classifier\",\n \"vision-image-embedder\": \"vision-image-embedder\",\n \"vision-image-segmenter\": \"vision-image-segmenter\",\n \"vision-image-interactive-segmenter\": \"vision-image-interactive-segmenter\",\n \"vision-object-detector\": \"vision-object-detector\",\n \"vision-pose-landmarker\": \"vision-pose-landmarker\",\n} as const satisfies Record<TextPipelineTask, TextPipelineTask>;\n",
6
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const WEB_BROWSER = \"WEB_BROWSER\";\n\nexport type WebBrowserPipelineTask =\n | \"summarizer\"\n | \"language-detector\"\n | \"translator\"\n | \"prompt\"\n | \"rewriter\";\n\nexport const WebBrowserPipelineTask = {\n summarizer: \"summarizer\",\n \"language-detector\": \"language-detector\",\n translator: \"translator\",\n prompt: \"prompt\",\n rewriter: \"rewriter\",\n} as const satisfies Record<WebBrowserPipelineTask, WebBrowserPipelineTask>;\n",
7
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util\";\nimport { TENSORFLOW_MEDIAPIPE, TextPipelineTask } from \"../common/TFMP_Constants\";\n\nexport const TFMPModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: TENSORFLOW_MEDIAPIPE,\n description: \"Discriminator: TensorFlow MediaPipe backend.\",\n },\n provider_config: {\n type: \"object\",\n description: \"TensorFlow MediaPipe-specific options.\",\n properties: {\n model_path: {\n type: \"string\",\n description: \"Filesystem path or URI for the ONNX model.\",\n },\n task_engine: {\n type: \"string\",\n enum: [\"text\", \"audio\", \"vision\", \"genai\"],\n description: \"Task engine for the MediaPipe model.\",\n },\n pipeline: {\n type: \"string\",\n enum: Object.values(TextPipelineTask),\n description: \"Pipeline task type for the MediaPipe model.\",\n },\n },\n required: [\"model_path\", \"task_engine\", \"pipeline\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const TFMPModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...TFMPModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...TFMPModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type TFMPModelRecord = FromSchema<typeof TFMPModelRecordSchema>;\n\nexport const TFMPModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...TFMPModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...TFMPModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type TFMPModelConfig = FromSchema<typeof TFMPModelConfigSchema>;\n",
8
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util\";\nimport { WEB_BROWSER } from \"./WebBrowser_Constants\";\n\nexport const WebBrowserModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: WEB_BROWSER,\n description: \"Discriminator: Chrome Built-in AI (Gemini Nano).\",\n },\n provider_config: {\n type: \"object\",\n description: \"Chrome Built-in AI configuration.\",\n properties: {\n summary_type: {\n type: \"string\",\n enum: [\"tl;dr\", \"key-points\", \"teaser\", \"headline\"],\n description: \"Summarization style (Summarizer API only).\",\n },\n summary_length: {\n type: \"string\",\n enum: [\"short\", \"medium\", \"long\"],\n description: \"Desired summary length (Summarizer API only).\",\n },\n summary_format: {\n type: \"string\",\n enum: [\"plain-text\", \"markdown\"],\n description: \"Output format for summaries (Summarizer API only).\",\n },\n rewriter_tone: {\n type: \"string\",\n enum: [\"as-is\", \"more-formal\", \"more-casual\"],\n description: \"Tone for rewriting (Rewriter API only).\",\n },\n rewriter_length: {\n type: \"string\",\n enum: [\"as-is\", \"shorter\", \"longer\"],\n description: \"Length adjustment for rewriting (Rewriter API only).\",\n },\n },\n required: [],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const WebBrowserModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...WebBrowserModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...WebBrowserModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type WebBrowserModelRecord = FromSchema<typeof WebBrowserModelRecordSchema>;\n\nexport const WebBrowserModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...WebBrowserModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...WebBrowserModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type WebBrowserModelConfig = FromSchema<typeof WebBrowserModelConfigSchema>;\n",
9
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn } from \"@workglow/ai\";\nimport { TENSORFLOW_MEDIAPIPE } from \"./common/TFMP_Constants\";\nimport type { TFMPModelConfig } from \"./common/TFMP_ModelSchema\";\n\n/**\n * AI provider for TensorFlow MediaPipe models.\n *\n * Supports text, vision, and gesture recognition tasks via @mediapipe packages.\n *\n * Task run functions are injected via the constructor so that the heavy\n * `@mediapipe/*` libraries are only imported where actually needed\n * (inline mode, worker server), not on the main thread in worker mode.\n *\n * @example\n * ```typescript\n * // Worker mode (main thread) -- lightweight, no heavy imports:\n * await new TensorFlowMediaPipeProvider().register({\n * mode: \"worker\",\n * worker: new Worker(new URL(\"./worker_tfmp.ts\", import.meta.url), { type: \"module\" }),\n * });\n *\n * // Inline mode -- caller provides the tasks:\n * import { TFMP_TASKS } from \"@workglow/ai-provider/tf-mediapipe\";\n * await new TensorFlowMediaPipeProvider(TFMP_TASKS).register({ mode: \"inline\" });\n *\n * // Worker side -- caller provides the tasks:\n * import { TFMP_TASKS } from \"@workglow/ai-provider/tf-mediapipe\";\n * new TensorFlowMediaPipeProvider(TFMP_TASKS).registerOnWorkerServer(workerServer);\n * ```\n */\nexport class TensorFlowMediaPipeProvider extends AiProvider<TFMPModelConfig> {\n readonly name = TENSORFLOW_MEDIAPIPE;\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"DownloadModelTask\",\n \"UnloadModelTask\",\n \"ModelInfoTask\",\n \"TextEmbeddingTask\",\n \"TextLanguageDetectionTask\",\n \"TextClassificationTask\",\n \"ImageSegmentationTask\",\n \"ImageEmbeddingTask\",\n \"ImageClassificationTask\",\n \"ObjectDetectionTask\",\n \"GestureRecognizerTask\",\n \"HandLandmarkerTask\",\n \"FaceDetectorTask\",\n \"FaceLandmarkerTask\",\n \"PoseLandmarkerTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, TFMPModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, TFMPModelConfig>>\n ) {\n super(tasks, undefined, reactiveTasks);\n }\n}\n",
10
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n AiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai\";\nimport { WEB_BROWSER } from \"./common/WebBrowser_Constants\";\nimport type { WebBrowserModelConfig } from \"./common/WebBrowser_ModelSchema\";\n\n/**\n * AI provider for Chrome Built-in AI APIs (Gemini Nano on-device).\n *\n * Browser-only provider — no external SDK needed, the APIs are browser globals.\n *\n * Supports summarization, language detection, translation, text generation\n * (Prompt API), and text rewriting via Chrome's Built-in AI APIs.\n *\n * Task run functions are injected via the constructor so that the provider\n * class itself has no runtime dependency on Chrome globals (it can be\n * instantiated on the main thread in worker mode without errors).\n *\n * @example\n * ```typescript\n * // Worker mode (main thread) -- lightweight, no heavy imports:\n * await new WebBrowserProvider().register({\n * mode: \"worker\",\n * worker: new Worker(new URL(\"./worker_web_browser.ts\", import.meta.url), { type: \"module\" }),\n * });\n *\n * // Inline mode -- caller provides the tasks:\n * import { WEB_BROWSER_TASKS, WEB_BROWSER_STREAM_TASKS } from \"@workglow/ai-provider/web-browser\";\n * await new WebBrowserProvider(WEB_BROWSER_TASKS, WEB_BROWSER_STREAM_TASKS).register({ mode: \"inline\" });\n * ```\n */\nexport class WebBrowserProvider extends AiProvider<WebBrowserModelConfig> {\n readonly name = WEB_BROWSER;\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"ModelInfoTask\",\n \"TextSummaryTask\",\n \"TextLanguageDetectionTask\",\n \"TextTranslationTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, WebBrowserModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, WebBrowserModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, WebBrowserModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n"
11
- ],
12
- "mappings": "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",
13
- "debugId": "DA4C6EECCF0011FD64756E2164756E21",
14
- "names": []
15
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function HFI_WORKER_JOBRUN_REGISTER(): void;
7
- //# sourceMappingURL=HFI_Worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HFI_Worker.d.ts","sourceRoot":"","sources":["../../src/provider-hf-inference/HFI_Worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAgB,0BAA0B,SAKzC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function LLAMACPP_WORKER_JOBRUN_REGISTER(): void;
7
- //# sourceMappingURL=LlamaCpp_Worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LlamaCpp_Worker.d.ts","sourceRoot":"","sources":["../../src/provider-llamacpp/LlamaCpp_Worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,wBAAgB,+BAA+B,SAS9C"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function OLLAMA_WORKER_JOBRUN_REGISTER(): void;
7
- //# sourceMappingURL=Ollama_Worker.browser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ollama_Worker.browser.d.ts","sourceRoot":"","sources":["../../src/provider-ollama/Ollama_Worker.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAgB,6BAA6B,SAK5C"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function OLLAMA_WORKER_JOBRUN_REGISTER(): void;
7
- //# sourceMappingURL=Ollama_Worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ollama_Worker.d.ts","sourceRoot":"","sources":["../../src/provider-ollama/Ollama_Worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAgB,6BAA6B,SAK5C"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function OPENAI_WORKER_JOBRUN_REGISTER(): void;
7
- //# sourceMappingURL=OpenAI_Worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenAI_Worker.d.ts","sourceRoot":"","sources":["../../src/provider-openai/OpenAI_Worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,wBAAgB,6BAA6B,SAS5C"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function TFMP_WORKER_JOBRUN_REGISTER(): void;
7
- //# sourceMappingURL=TFMP_Worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TFMP_Worker.d.ts","sourceRoot":"","sources":["../../src/tf-mediapipe/TFMP_Worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAgB,2BAA2B,SAK1C"}
@@ -1,41 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { AiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn } from "@workglow/ai";
7
- import type { TFMPModelConfig } from "./common/TFMP_ModelSchema";
8
- /**
9
- * AI provider for TensorFlow MediaPipe models.
10
- *
11
- * Supports text, vision, and gesture recognition tasks via @mediapipe packages.
12
- *
13
- * Task run functions are injected via the constructor so that the heavy
14
- * `@mediapipe/*` libraries are only imported where actually needed
15
- * (inline mode, worker server), not on the main thread in worker mode.
16
- *
17
- * @example
18
- * ```typescript
19
- * // Worker mode (main thread) -- lightweight, no heavy imports:
20
- * await new TensorFlowMediaPipeProvider().register({
21
- * mode: "worker",
22
- * worker: new Worker(new URL("./worker_tfmp.ts", import.meta.url), { type: "module" }),
23
- * });
24
- *
25
- * // Inline mode -- caller provides the tasks:
26
- * import { TFMP_TASKS } from "@workglow/ai-provider/tf-mediapipe";
27
- * await new TensorFlowMediaPipeProvider(TFMP_TASKS).register({ mode: "inline" });
28
- *
29
- * // Worker side -- caller provides the tasks:
30
- * import { TFMP_TASKS } from "@workglow/ai-provider/tf-mediapipe";
31
- * new TensorFlowMediaPipeProvider(TFMP_TASKS).registerOnWorkerServer(workerServer);
32
- * ```
33
- */
34
- export declare class TensorFlowMediaPipeProvider extends AiProvider<TFMPModelConfig> {
35
- readonly name = "TENSORFLOW_MEDIAPIPE";
36
- readonly isLocal = true;
37
- readonly supportsBrowser = true;
38
- readonly taskTypes: readonly ["DownloadModelTask", "UnloadModelTask", "ModelInfoTask", "TextEmbeddingTask", "TextLanguageDetectionTask", "TextClassificationTask", "ImageSegmentationTask", "ImageEmbeddingTask", "ImageClassificationTask", "ObjectDetectionTask", "GestureRecognizerTask", "HandLandmarkerTask", "FaceDetectorTask", "FaceLandmarkerTask", "PoseLandmarkerTask"];
39
- constructor(tasks?: Record<string, AiProviderRunFn<any, any, TFMPModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, TFMPModelConfig>>);
40
- }
41
- //# sourceMappingURL=TensorFlowMediaPipeProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TensorFlowMediaPipeProvider.d.ts","sourceRoot":"","sources":["../../src/tf-mediapipe/TensorFlowMediaPipeProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,uBAAuB,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,2BAA4B,SAAQ,UAAU,CAAC,eAAe,CAAC;IAC1E,QAAQ,CAAC,IAAI,0BAAwB;IACrC,QAAQ,CAAC,OAAO,QAAQ;IACxB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,iWAgBP;gBAGT,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,EAClE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;CAIrF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TFMP_Constants.d.ts","sourceRoot":"","sources":["../../../src/tf-mediapipe/common/TFMP_Constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,iBAAiB,GACjB,wBAAwB,GACxB,YAAY,GACZ,kBAAkB,GAClB,gBAAgB,GAChB,sBAAsB,GACtB,wBAAwB,GACxB,sBAAsB,GACtB,2BAA2B,GAC3B,wBAAwB,GACxB,4BAA4B,GAC5B,yBAAyB,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,oCAAoC,GACpC,wBAAwB,GACxB,wBAAwB,CAAC;AAE7B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CAmBkC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TFMP_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/tf-mediapipe/common/TFMP_JobRunFns.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TFMP_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/tf-mediapipe/common/TFMP_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGlE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCa,CAAC;AAE1C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQO,CAAC;AAE1C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQO,CAAC;AAE1C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tf-mediapipe/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC"}
@@ -1,14 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/tf-mediapipe/common/TFMP_Constants.ts", "../src/tf-mediapipe/common/TFMP_JobRunFns.ts", "../src/tf-mediapipe/common/TFMP_ModelSchema.ts", "../src/tf-mediapipe/TensorFlowMediaPipeProvider.ts", "../src/tf-mediapipe/TFMP_Worker.ts"],
4
- "sourcesContent": [
5
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const TENSORFLOW_MEDIAPIPE = \"TENSORFLOW_MEDIAPIPE\";\n\nexport type TextPipelineTask =\n | \"text-embedder\"\n | \"text-classifier\"\n | \"text-language-detector\"\n | \"genai-text\"\n | \"audio-classifier\"\n | \"audio-embedder\"\n | \"vision-face-detector\"\n | \"vision-face-landmarker\"\n | \"vision-face-stylizer\"\n | \"vision-gesture-recognizer\"\n | \"vision-hand-landmarker\"\n | \"vision-holistic-landmarker\"\n | \"vision-image-classifier\"\n | \"vision-image-embedder\"\n | \"vision-image-segmenter\"\n | \"vision-image-interactive-segmenter\"\n | \"vision-object-detector\"\n | \"vision-pose-landmarker\";\n\nexport const TextPipelineTask = {\n \"text-embedder\": \"text-embedder\",\n \"text-classifier\": \"text-classifier\",\n \"text-language-detector\": \"text-language-detector\",\n \"genai-text\": \"genai-text\",\n \"audio-classifier\": \"audio-classifier\",\n \"audio-embedder\": \"audio-embedder\",\n \"vision-face-detector\": \"vision-face-detector\",\n \"vision-face-landmarker\": \"vision-face-landmarker\",\n \"vision-face-stylizer\": \"vision-face-stylizer\",\n \"vision-gesture-recognizer\": \"vision-gesture-recognizer\",\n \"vision-hand-landmarker\": \"vision-hand-landmarker\",\n \"vision-holistic-landmarker\": \"vision-holistic-landmarker\",\n \"vision-image-classifier\": \"vision-image-classifier\",\n \"vision-image-embedder\": \"vision-image-embedder\",\n \"vision-image-segmenter\": \"vision-image-segmenter\",\n \"vision-image-interactive-segmenter\": \"vision-image-interactive-segmenter\",\n \"vision-object-detector\": \"vision-object-detector\",\n \"vision-pose-landmarker\": \"vision-pose-landmarker\",\n} as const satisfies Record<TextPipelineTask, TextPipelineTask>;\n",
6
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n FaceDetectorTaskInput,\n FaceDetectorTaskOutput,\n FaceLandmarkerTaskInput,\n FaceLandmarkerTaskOutput,\n GestureRecognizerTaskInput,\n GestureRecognizerTaskOutput,\n HandLandmarkerTaskInput,\n HandLandmarkerTaskOutput,\n ImageClassificationTaskInput,\n ImageClassificationTaskOutput,\n ImageEmbeddingTaskInput,\n ImageEmbeddingTaskOutput,\n ImageSegmentationTaskInput,\n ImageSegmentationTaskOutput,\n ObjectDetectionTaskInput,\n ObjectDetectionTaskOutput,\n PoseLandmarkerTaskInput,\n PoseLandmarkerTaskOutput,\n TextClassificationTaskInput,\n TextClassificationTaskOutput,\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\n\nlet _textSdk: typeof import(\"@mediapipe/tasks-text\") | undefined;\nasync function loadMediaPipeTextSDK() {\n if (!_textSdk) {\n try {\n _textSdk = await import(\"@mediapipe/tasks-text\");\n } catch {\n throw new Error(\n \"@mediapipe/tasks-text is required for MediaPipe text tasks. Install it with: bun add @mediapipe/tasks-text\"\n );\n }\n }\n return _textSdk;\n}\n\nlet _visionSdk: typeof import(\"@mediapipe/tasks-vision\") | undefined;\nasync function loadMediaPipeVisionSDK() {\n if (!_visionSdk) {\n try {\n _visionSdk = await import(\"@mediapipe/tasks-vision\");\n } catch {\n throw new Error(\n \"@mediapipe/tasks-vision is required for MediaPipe vision tasks. Install it with: bun add @mediapipe/tasks-vision\"\n );\n }\n }\n return _visionSdk;\n}\n\ninterface TFMPWasmFileset {\n /** The path to the Wasm loader script. */\n wasmLoaderPath: string;\n /** The path to the Wasm binary. */\n wasmBinaryPath: string;\n /** The optional path to the asset loader script. */\n assetLoaderPath?: string;\n /** The optional path to the assets binary. */\n assetBinaryPath?: string;\n}\n\n/**\n * Cache for WASM filesets by task engine (text, audio, vision, genai).\n * Multiple models may share the same WASM fileset.\n */\nconst wasm_tasks = new Map<string, TFMPWasmFileset>();\n\n/**\n * Reference counts tracking how many models are using each WASM fileset.\n * When count reaches 0, the WASM fileset can be safely unloaded.\n */\nconst wasm_reference_counts = new Map<string, number>();\n\n/**\n * Helper function to get a WASM task for a model\n */\nconst getWasmTask = async (\n model: TFMPModelConfig,\n onProgress: (progress: number, message?: string, details?: any) => void,\n signal: AbortSignal\n): Promise<TFMPWasmFileset> => {\n const task_engine = model.provider_config.task_engine;\n\n if (wasm_tasks.has(task_engine)) {\n return wasm_tasks.get(task_engine)!;\n }\n\n if (signal.aborted) {\n throw new PermanentJobError(\"Aborted job\");\n }\n\n onProgress(0.1, \"Loading WASM task\");\n\n const { FilesetResolver } = await loadMediaPipeTextSDK();\n let wasmFileset: TFMPWasmFileset;\n\n switch (task_engine) {\n case \"text\":\n wasmFileset = await FilesetResolver.forTextTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm\"\n );\n break;\n case \"audio\":\n wasmFileset = await FilesetResolver.forAudioTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-audio@latest/wasm\"\n );\n break;\n case \"vision\":\n wasmFileset = await FilesetResolver.forVisionTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm\"\n );\n break;\n case \"genai\":\n wasmFileset = await FilesetResolver.forGenAiTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-genai@latest/wasm\"\n );\n break;\n default:\n throw new PermanentJobError(\"Invalid task engine\");\n }\n\n wasm_tasks.set(task_engine, wasmFileset);\n return wasmFileset;\n};\n\ntype TaskConstructor = {\n createFromOptions(wasmFileset: TFMPWasmFileset, options: Record<string, unknown>): Promise<any>;\n};\n\ntype TaskInstance = {\n close(): void;\n [key: string]: any;\n};\n\ninterface CachedModelTask {\n readonly task: TaskInstance;\n readonly options: Record<string, unknown>;\n readonly task_engine: string;\n}\n\nconst modelTaskCache = new Map<string, CachedModelTask[]>();\n\n/**\n * Checks if two option objects are deeply equal.\n */\nconst optionsMatch = (opts1: Record<string, unknown>, opts2: Record<string, unknown>): boolean => {\n const keys1 = Object.keys(opts1).sort();\n const keys2 = Object.keys(opts2).sort();\n\n if (keys1.length !== keys2.length) return false;\n\n return keys1.every((key) => {\n const val1 = opts1[key];\n const val2 = opts2[key];\n\n if (Array.isArray(val1) && Array.isArray(val2)) {\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n\n return val1 === val2;\n });\n};\n\nconst getModelTask = async (\n model: TFMPModelConfig,\n options: Record<string, unknown>,\n onProgress: (progress: number, message?: string, details?: any) => void,\n signal: AbortSignal,\n TaskType: TaskConstructor\n): Promise<any> => {\n const model_path = model.provider_config.model_path;\n const task_engine = model.provider_config.task_engine;\n\n // Check if we have a cached instance with matching options\n const cachedTasks = modelTaskCache.get(model_path);\n if (cachedTasks) {\n const matchedTask = cachedTasks.find((cached) => optionsMatch(cached.options, options));\n if (matchedTask) {\n return matchedTask.task;\n }\n }\n\n // Load WASM if needed\n const wasmFileset = await getWasmTask(model, onProgress, signal);\n\n onProgress(0.2, \"Creating model task\");\n\n // Create new model instance\n const task = await (TaskType as any).createFromOptions(wasmFileset, {\n baseOptions: {\n modelAssetPath: model_path,\n },\n ...options,\n });\n\n // Cache the task with its options and task engine\n const cachedTask: CachedModelTask = { task, options, task_engine };\n if (!modelTaskCache.has(model_path)) {\n modelTaskCache.set(model_path, []);\n }\n modelTaskCache.get(model_path)!.push(cachedTask);\n\n // Increment WASM reference count for this cached task\n wasm_reference_counts.set(task_engine, (wasm_reference_counts.get(task_engine) || 0) + 1);\n\n return task;\n};\n\n/**\n * Core implementation for downloading and caching a MediaPipe TFJS model.\n * This is shared between inline and worker implementations.\n */\nexport const TFMP_Download: AiProviderRunFn<\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n let task: TaskInstance;\n switch (model?.provider_config.pipeline) {\n // Text pipelines\n case \"text-embedder\": {\n const { TextEmbedder } = await loadMediaPipeTextSDK();\n task = await getModelTask(model, {}, onProgress, signal, TextEmbedder);\n break;\n }\n case \"text-classifier\": {\n const { TextClassifier } = await loadMediaPipeTextSDK();\n task = await getModelTask(model, {}, onProgress, signal, TextClassifier);\n break;\n }\n case \"text-language-detector\": {\n const { LanguageDetector } = await loadMediaPipeTextSDK();\n task = await getModelTask(model, {}, onProgress, signal, LanguageDetector);\n break;\n }\n // Vision pipelines\n case \"vision-image-classifier\": {\n const { ImageClassifier } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ImageClassifier);\n break;\n }\n case \"vision-image-embedder\": {\n const { ImageEmbedder } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ImageEmbedder);\n break;\n }\n case \"vision-image-segmenter\": {\n const { ImageSegmenter } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ImageSegmenter);\n break;\n }\n case \"vision-object-detector\": {\n const { ObjectDetector } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ObjectDetector);\n break;\n }\n case \"vision-face-detector\": {\n const { FaceDetector } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, FaceDetector);\n break;\n }\n case \"vision-face-landmarker\": {\n const { FaceLandmarker } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, FaceLandmarker);\n break;\n }\n case \"vision-gesture-recognizer\": {\n const { GestureRecognizer } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, GestureRecognizer);\n break;\n }\n case \"vision-hand-landmarker\": {\n const { HandLandmarker } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, HandLandmarker);\n break;\n }\n case \"vision-pose-landmarker\": {\n const { PoseLandmarker } = await loadMediaPipeVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, PoseLandmarker);\n break;\n }\n default:\n throw new PermanentJobError(\n `Invalid pipeline: ${model?.provider_config.pipeline}. Supported pipelines: text-embedder, text-classifier, text-language-detector, vision-image-classifier, vision-image-embedder, vision-image-segmenter, vision-object-detector, vision-face-detector, vision-face-landmarker, vision-gesture-recognizer, vision-hand-landmarker, vision-pose-landmarker`\n );\n }\n onProgress(0.9, \"Pipeline loaded\");\n task.close(); // Close the task to release the resources, but it is still in the browser cache\n // Decrease reference count for WASM fileset for this cached task since this is a fake model cache entry\n const task_engine = model?.provider_config.task_engine;\n wasm_reference_counts.set(task_engine, wasm_reference_counts.get(task_engine)! - 1);\n\n return {\n model: input.model,\n };\n};\n\n/**\n * Core implementation for text embedding using MediaPipe TFJS.\n * This is shared between inline and worker implementations.\n */\nexport const TFMP_TextEmbedding: AiProviderRunFn<\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { TextEmbedder } = await loadMediaPipeTextSDK();\n const textEmbedder = await getModelTask(model!, {}, onProgress, signal, TextEmbedder);\n\n // Handle array of texts\n if (Array.isArray(input.text)) {\n const embeddings = input.text.map((text) => {\n const result = textEmbedder.embed(text);\n\n if (!result.embeddings?.[0]?.floatEmbedding) {\n throw new PermanentJobError(\"Failed to generate embedding: Empty result\");\n }\n\n return Float32Array.from(result.embeddings[0].floatEmbedding);\n });\n\n return {\n vector: embeddings,\n };\n }\n\n // Handle single text\n const result = textEmbedder.embed(input.text);\n\n if (!result.embeddings?.[0]?.floatEmbedding) {\n throw new PermanentJobError(\"Failed to generate embedding: Empty result\");\n }\n\n const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);\n\n return {\n vector: embedding,\n };\n};\n\n/**\n * Core implementation for text classification using MediaPipe TFJS.\n * This is shared between inline and worker implementations.\n */\nexport const TFMP_TextClassification: AiProviderRunFn<\n TextClassificationTaskInput,\n TextClassificationTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { TextClassifier } = await loadMediaPipeTextSDK();\n const TextClassification = await getModelTask(\n model!,\n {\n maxCategories: input.maxCategories,\n // scoreThreshold: input.scoreThreshold,\n // allowList: input.allowList,\n // blockList: input.blockList,\n },\n onProgress,\n signal,\n TextClassifier\n );\n const result = TextClassification.classify(input.text);\n\n if (!result.classifications?.[0]?.categories) {\n throw new PermanentJobError(\"Failed to classify text: Empty result\");\n }\n\n const categories = result.classifications[0].categories.map((category: any) => ({\n label: category.categoryName,\n score: category.score,\n }));\n\n return {\n categories,\n };\n};\n\n/**\n * Core implementation for language detection using MediaPipe TFJS.\n * This is shared between inline and worker implementations.\n */\nexport const TFMP_TextLanguageDetection: AiProviderRunFn<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const maxLanguages = input.maxLanguages === 0 ? -1 : input.maxLanguages;\n\n const { LanguageDetector } = await loadMediaPipeTextSDK();\n const textLanguageDetector = await getModelTask(\n model!,\n {\n maxLanguages,\n // scoreThreshold: input.scoreThreshold,\n // allowList: input.allowList,\n // blockList: input.blockList,\n },\n onProgress,\n signal,\n LanguageDetector\n );\n const result = textLanguageDetector.detect(input.text);\n\n if (!result.languages?.[0]?.languageCode) {\n throw new PermanentJobError(\"Failed to detect language: Empty result\");\n }\n\n const languages = result.languages.map((language: any) => ({\n language: language.languageCode,\n score: language.probability,\n }));\n\n return {\n languages,\n };\n};\n\n/**\n * Core implementation for unloading a MediaPipe TFJS model.\n * This is shared between inline and worker implementations.\n *\n * When a model is unloaded, this function:\n * 1. Disposes of all cached model instances for the given model path\n * 2. Decrements the reference count for the associated WASM fileset for each instance\n * 3. If no other models are using the WASM fileset (count reaches 0), unloads the WASM\n */\nexport const TFMP_Unload: AiProviderRunFn<\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const model_path = model!.provider_config.model_path;\n onProgress(10, \"Unloading model\");\n // Dispose of all cached model tasks if they exist\n if (modelTaskCache.has(model_path)) {\n const cachedTasks = modelTaskCache.get(model_path)!;\n\n for (const cachedTask of cachedTasks) {\n const task = cachedTask.task;\n if (\"close\" in task && typeof task.close === \"function\") task.close();\n\n // Decrease reference count for WASM fileset for this cached task\n const task_engine = cachedTask.task_engine;\n const currentCount = wasm_reference_counts.get(task_engine) || 0;\n const newCount = currentCount - 1;\n\n if (newCount <= 0) {\n // No more models using this WASM fileset, unload it\n wasm_tasks.delete(task_engine);\n wasm_reference_counts.delete(task_engine);\n } else {\n wasm_reference_counts.set(task_engine, newCount);\n }\n }\n\n modelTaskCache.delete(model_path);\n }\n\n return {\n model: input.model,\n };\n};\n\n/**\n * Core implementation for image segmentation using MediaPipe.\n */\nexport const TFMP_ImageSegmentation: AiProviderRunFn<\n ImageSegmentationTaskInput,\n ImageSegmentationTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ImageSegmenter } = await loadMediaPipeVisionSDK();\n const imageSegmenter = await getModelTask(model!, {}, onProgress, signal, ImageSegmenter);\n const result = imageSegmenter.segment(input.image as any);\n\n if (!result.categoryMask) {\n throw new PermanentJobError(\"Failed to segment image: Empty result\");\n }\n\n // MediaPipe returns a single mask, create a placeholder result\n const masks = [\n {\n label: \"segment\",\n score: 1.0,\n mask: {\n data: result.categoryMask.canvas,\n width: result.categoryMask.width,\n height: result.categoryMask.height,\n },\n },\n ];\n\n return {\n masks,\n };\n};\n\n/**\n * Core implementation for image embedding using MediaPipe.\n */\nexport const TFMP_ImageEmbedding: AiProviderRunFn<\n ImageEmbeddingTaskInput,\n ImageEmbeddingTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ImageEmbedder } = await loadMediaPipeVisionSDK();\n const imageEmbedder = await getModelTask(model!, {}, onProgress, signal, ImageEmbedder);\n const result = imageEmbedder.embed(input.image as any);\n\n if (!result.embeddings?.[0]?.floatEmbedding) {\n throw new PermanentJobError(\"Failed to generate embedding: Empty result\");\n }\n\n const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);\n\n return {\n vector: embedding,\n } as ImageEmbeddingTaskOutput;\n};\n\n/**\n * Core implementation for image classification using MediaPipe.\n */\nexport const TFMP_ImageClassification: AiProviderRunFn<\n ImageClassificationTaskInput,\n ImageClassificationTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ImageClassifier } = await loadMediaPipeVisionSDK();\n const imageClassifier = await getModelTask(\n model!,\n {\n maxResults: (input as any).maxCategories,\n },\n onProgress,\n signal,\n ImageClassifier\n );\n const result = imageClassifier.classify(input.image as any);\n\n if (!result.classifications?.[0]?.categories) {\n throw new PermanentJobError(\"Failed to classify image: Empty result\");\n }\n\n const categories = result.classifications[0].categories.map((category: any) => ({\n label: category.categoryName,\n score: category.score,\n }));\n\n return {\n categories,\n };\n};\n\n/**\n * Core implementation for object detection using MediaPipe.\n */\nexport const TFMP_ObjectDetection: AiProviderRunFn<\n ObjectDetectionTaskInput,\n ObjectDetectionTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ObjectDetector } = await loadMediaPipeVisionSDK();\n const objectDetector = await getModelTask(\n model!,\n {\n scoreThreshold: (input as any).threshold,\n },\n onProgress,\n signal,\n ObjectDetector\n );\n const result = objectDetector.detect(input.image as any);\n\n if (!result.detections) {\n throw new PermanentJobError(\"Failed to detect objects: Empty result\");\n }\n\n const detections = result.detections.map((detection: any) => ({\n label: detection.categories?.[0]?.categoryName || \"unknown\",\n score: detection.categories?.[0]?.score || 0,\n box: {\n x: detection.boundingBox?.originX || 0,\n y: detection.boundingBox?.originY || 0,\n width: detection.boundingBox?.width || 0,\n height: detection.boundingBox?.height || 0,\n },\n }));\n\n return {\n detections,\n };\n};\n\n/**\n * Core implementation for gesture recognition using MediaPipe.\n */\nexport const TFMP_GestureRecognizer: AiProviderRunFn<\n GestureRecognizerTaskInput,\n GestureRecognizerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { GestureRecognizer } = await loadMediaPipeVisionSDK();\n const gestureRecognizer = await getModelTask(\n model!,\n {\n numHands: (input as any).numHands,\n minHandDetectionConfidence: (input as any).minHandDetectionConfidence,\n minHandPresenceConfidence: (input as any).minHandPresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n },\n onProgress,\n signal,\n GestureRecognizer\n );\n const result = gestureRecognizer.recognize(input.image as any);\n\n if (!result.gestures || !result.landmarks) {\n throw new PermanentJobError(\"Failed to recognize gestures: Empty result\");\n }\n\n const hands = result.gestures.map((gestures: any, index: number) => ({\n gestures: gestures.map((g: any) => ({\n label: g.categoryName,\n score: g.score,\n })),\n handedness: result.handedness[index].map((h: any) => ({\n label: h.categoryName,\n score: h.score,\n })),\n landmarks: result.landmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n worldLandmarks: result.worldLandmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n }));\n\n return {\n hands,\n };\n};\n\n/**\n * Core implementation for hand landmark detection using MediaPipe.\n */\nexport const TFMP_HandLandmarker: AiProviderRunFn<\n HandLandmarkerTaskInput,\n HandLandmarkerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { HandLandmarker } = await loadMediaPipeVisionSDK();\n const handLandmarker = await getModelTask(\n model!,\n {\n numHands: (input as any).numHands,\n minHandDetectionConfidence: (input as any).minHandDetectionConfidence,\n minHandPresenceConfidence: (input as any).minHandPresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n },\n onProgress,\n signal,\n HandLandmarker\n );\n const result = handLandmarker.detect(input.image as any);\n\n if (!result.landmarks) {\n throw new PermanentJobError(\"Failed to detect hand landmarks: Empty result\");\n }\n\n const hands = result.landmarks.map((landmarks: any, index: number) => ({\n handedness: result.handedness[index].map((h: any) => ({\n label: h.categoryName,\n score: h.score,\n })),\n landmarks: landmarks.map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n worldLandmarks: result.worldLandmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n }));\n\n return {\n hands,\n };\n};\n\n/**\n * Core implementation for face detection using MediaPipe.\n */\nexport const TFMP_FaceDetector: AiProviderRunFn<\n FaceDetectorTaskInput,\n FaceDetectorTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { FaceDetector } = await loadMediaPipeVisionSDK();\n const faceDetector = await getModelTask(\n model!,\n {\n minDetectionConfidence: (input as any).minDetectionConfidence,\n minSuppressionThreshold: (input as any).minSuppressionThreshold,\n },\n onProgress,\n signal,\n FaceDetector\n );\n const result = faceDetector.detect(input.image as any);\n\n if (!result.detections) {\n throw new PermanentJobError(\"Failed to detect faces: Empty result\");\n }\n\n const faces = result.detections.map((detection: any) => ({\n box: {\n x: detection.boundingBox?.originX || 0,\n y: detection.boundingBox?.originY || 0,\n width: detection.boundingBox?.width || 0,\n height: detection.boundingBox?.height || 0,\n },\n keypoints:\n detection.keypoints?.map((kp: any) => ({\n x: kp.x,\n y: kp.y,\n label: kp.label,\n })) || [],\n score: detection.categories?.[0]?.score || 0,\n }));\n\n return {\n faces,\n };\n};\n\n/**\n * Core implementation for face landmark detection using MediaPipe.\n */\nexport const TFMP_FaceLandmarker: AiProviderRunFn<\n FaceLandmarkerTaskInput,\n FaceLandmarkerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { FaceLandmarker } = await loadMediaPipeVisionSDK();\n const faceLandmarker = await getModelTask(\n model!,\n {\n numFaces: (input as any).numFaces,\n minFaceDetectionConfidence: (input as any).minFaceDetectionConfidence,\n minFacePresenceConfidence: (input as any).minFacePresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n outputFaceBlendshapes: (input as any).outputFaceBlendshapes,\n outputFacialTransformationMatrixes: (input as any).outputFacialTransformationMatrixes,\n },\n onProgress,\n signal,\n FaceLandmarker\n );\n const result = faceLandmarker.detect(input.image as any);\n\n if (!result.faceLandmarks) {\n throw new PermanentJobError(\"Failed to detect face landmarks: Empty result\");\n }\n\n const faces = result.faceLandmarks.map((landmarks: any, index: number) => {\n const face: any = {\n landmarks: landmarks.map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n };\n\n if (result.faceBlendshapes && result.faceBlendshapes[index]) {\n face.blendshapes = result.faceBlendshapes[index].categories.map((b: any) => ({\n label: b.categoryName,\n score: b.score,\n }));\n }\n\n if (result.facialTransformationMatrixes && result.facialTransformationMatrixes[index]) {\n face.transformationMatrix = Array.from(result.facialTransformationMatrixes[index].data);\n }\n\n return face;\n });\n\n return {\n faces,\n };\n};\n\n/**\n * Core implementation for pose landmark detection using MediaPipe.\n */\nexport const TFMP_PoseLandmarker: AiProviderRunFn<\n PoseLandmarkerTaskInput,\n PoseLandmarkerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { PoseLandmarker } = await loadMediaPipeVisionSDK();\n const poseLandmarker = await getModelTask(\n model!,\n {\n numPoses: (input as any).numPoses,\n minPoseDetectionConfidence: (input as any).minPoseDetectionConfidence,\n minPosePresenceConfidence: (input as any).minPosePresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n outputSegmentationMasks: (input as any).outputSegmentationMasks,\n },\n onProgress,\n signal,\n PoseLandmarker\n );\n const result = poseLandmarker.detect(input.image as any);\n\n if (!result.landmarks) {\n throw new PermanentJobError(\"Failed to detect pose landmarks: Empty result\");\n }\n\n const poses = result.landmarks.map((landmarks: any, index: number) => {\n const pose: any = {\n landmarks: landmarks.map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n visibility: l.visibility,\n presence: l.presence,\n })),\n worldLandmarks: result.worldLandmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n visibility: l.visibility,\n presence: l.presence,\n })),\n };\n\n if (result.segmentationMasks && result.segmentationMasks[index]) {\n const mask = result.segmentationMasks[index];\n pose.segmentationMask = {\n data: mask.canvas || mask,\n width: mask.width,\n height: mask.height,\n };\n }\n\n return pose;\n });\n\n return {\n poses,\n };\n};\n\n// ========================================================================\n// Model info\n// ========================================================================\n\nexport const TFMP_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n TFMPModelConfig\n> = async (input, model) => {\n const model_path = model!.provider_config.model_path;\n const is_loaded = modelTaskCache.has(model_path);\n\n return {\n model: input.model,\n is_local: true,\n is_remote: false,\n supports_browser: true,\n supports_node: false,\n is_cached: is_loaded,\n is_loaded,\n file_sizes: null,\n };\n};\n\n/**\n * All TensorFlow MediaPipe task run functions, keyed by task type name.\n * Pass this to `new TensorFlowMediaPipeProvider(TFMP_TASKS)` when the\n * actual run function implementations are needed (inline mode, worker server).\n */\nexport const TFMP_TASKS = {\n DownloadModelTask: TFMP_Download,\n UnloadModelTask: TFMP_Unload,\n ModelInfoTask: TFMP_ModelInfo,\n TextEmbeddingTask: TFMP_TextEmbedding,\n TextLanguageDetectionTask: TFMP_TextLanguageDetection,\n TextClassificationTask: TFMP_TextClassification,\n ImageSegmentationTask: TFMP_ImageSegmentation,\n ImageEmbeddingTask: TFMP_ImageEmbedding,\n ImageClassificationTask: TFMP_ImageClassification,\n ObjectDetectionTask: TFMP_ObjectDetection,\n GestureRecognizerTask: TFMP_GestureRecognizer,\n HandLandmarkerTask: TFMP_HandLandmarker,\n FaceDetectorTask: TFMP_FaceDetector,\n FaceLandmarkerTask: TFMP_FaceLandmarker,\n PoseLandmarkerTask: TFMP_PoseLandmarker,\n} as const;\n",
7
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util\";\nimport { TENSORFLOW_MEDIAPIPE, TextPipelineTask } from \"../common/TFMP_Constants\";\n\nexport const TFMPModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: TENSORFLOW_MEDIAPIPE,\n description: \"Discriminator: TensorFlow MediaPipe backend.\",\n },\n provider_config: {\n type: \"object\",\n description: \"TensorFlow MediaPipe-specific options.\",\n properties: {\n model_path: {\n type: \"string\",\n description: \"Filesystem path or URI for the ONNX model.\",\n },\n task_engine: {\n type: \"string\",\n enum: [\"text\", \"audio\", \"vision\", \"genai\"],\n description: \"Task engine for the MediaPipe model.\",\n },\n pipeline: {\n type: \"string\",\n enum: Object.values(TextPipelineTask),\n description: \"Pipeline task type for the MediaPipe model.\",\n },\n },\n required: [\"model_path\", \"task_engine\", \"pipeline\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const TFMPModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...TFMPModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...TFMPModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type TFMPModelRecord = FromSchema<typeof TFMPModelRecordSchema>;\n\nexport const TFMPModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...TFMPModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...TFMPModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type TFMPModelConfig = FromSchema<typeof TFMPModelConfigSchema>;\n",
8
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn } from \"@workglow/ai\";\nimport { TENSORFLOW_MEDIAPIPE } from \"./common/TFMP_Constants\";\nimport type { TFMPModelConfig } from \"./common/TFMP_ModelSchema\";\n\n/**\n * AI provider for TensorFlow MediaPipe models.\n *\n * Supports text, vision, and gesture recognition tasks via @mediapipe packages.\n *\n * Task run functions are injected via the constructor so that the heavy\n * `@mediapipe/*` libraries are only imported where actually needed\n * (inline mode, worker server), not on the main thread in worker mode.\n *\n * @example\n * ```typescript\n * // Worker mode (main thread) -- lightweight, no heavy imports:\n * await new TensorFlowMediaPipeProvider().register({\n * mode: \"worker\",\n * worker: new Worker(new URL(\"./worker_tfmp.ts\", import.meta.url), { type: \"module\" }),\n * });\n *\n * // Inline mode -- caller provides the tasks:\n * import { TFMP_TASKS } from \"@workglow/ai-provider/tf-mediapipe\";\n * await new TensorFlowMediaPipeProvider(TFMP_TASKS).register({ mode: \"inline\" });\n *\n * // Worker side -- caller provides the tasks:\n * import { TFMP_TASKS } from \"@workglow/ai-provider/tf-mediapipe\";\n * new TensorFlowMediaPipeProvider(TFMP_TASKS).registerOnWorkerServer(workerServer);\n * ```\n */\nexport class TensorFlowMediaPipeProvider extends AiProvider<TFMPModelConfig> {\n readonly name = TENSORFLOW_MEDIAPIPE;\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"DownloadModelTask\",\n \"UnloadModelTask\",\n \"ModelInfoTask\",\n \"TextEmbeddingTask\",\n \"TextLanguageDetectionTask\",\n \"TextClassificationTask\",\n \"ImageSegmentationTask\",\n \"ImageEmbeddingTask\",\n \"ImageClassificationTask\",\n \"ObjectDetectionTask\",\n \"GestureRecognizerTask\",\n \"HandLandmarkerTask\",\n \"FaceDetectorTask\",\n \"FaceLandmarkerTask\",\n \"PoseLandmarkerTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, TFMPModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, TFMPModelConfig>>\n ) {\n super(tasks, undefined, reactiveTasks);\n }\n}\n",
9
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getLogger, globalServiceRegistry, WORKER_SERVER } from \"@workglow/util\";\nimport { TFMP_TASKS } from \"./common/TFMP_JobRunFns\";\nimport { TensorFlowMediaPipeProvider } from \"./TensorFlowMediaPipeProvider\";\n\nexport function TFMP_WORKER_JOBRUN_REGISTER() {\n const workerServer = globalServiceRegistry.get(WORKER_SERVER);\n new TensorFlowMediaPipeProvider(TFMP_TASKS).registerOnWorkerServer(workerServer);\n workerServer.sendReady();\n getLogger().info(\"TFMP_WORKER_JOBRUN registered\");\n}\n"
10
- ],
11
- "mappings": "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",
12
- "debugId": "032077646512DCA964756E2164756E21",
13
- "names": []
14
- }