@zerowidth/workbench-sdk 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (752) hide show
  1. package/README.md +27 -3
  2. package/nodes/anthropic-claude-3-5-haiku/anthropic-claude-3-5-haiku.config.json +8 -0
  3. package/nodes/anthropic-claude-3-haiku/anthropic-claude-3-haiku.config.json +8 -0
  4. package/nodes/anthropic-claude-fable-5/anthropic-claude-fable-5.config.json +172 -0
  5. package/nodes/anthropic-claude-fable-5/anthropic-claude-fable-5.process.js +138 -0
  6. package/nodes/anthropic-claude-fable-5-1/anthropic-claude-fable-5-1.config.json +172 -0
  7. package/nodes/anthropic-claude-fable-5-1/anthropic-claude-fable-5-1.process.js +138 -0
  8. package/nodes/anthropic-claude-haiku-4-5/anthropic-claude-haiku-4-5.config.json +1 -0
  9. package/nodes/anthropic-claude-opus-4/anthropic-claude-opus-4.config.json +8 -0
  10. package/nodes/anthropic-claude-opus-4-1/anthropic-claude-opus-4-1.config.json +0 -9
  11. package/nodes/anthropic-claude-opus-4-1/anthropic-claude-opus-4-1.process.js +1 -1
  12. package/nodes/anthropic-claude-opus-4-5/anthropic-claude-opus-4-5.config.json +1 -0
  13. package/nodes/anthropic-claude-opus-4-6/anthropic-claude-opus-4-6.config.json +1 -0
  14. package/nodes/anthropic-claude-opus-4-6-fast/anthropic-claude-opus-4-6-fast.config.json +8 -0
  15. package/nodes/anthropic-claude-opus-4-7/anthropic-claude-opus-4-7.config.json +2 -0
  16. package/nodes/anthropic-claude-opus-4-7-fast/anthropic-claude-opus-4-7-fast.config.json +8 -0
  17. package/nodes/anthropic-claude-opus-4-8/anthropic-claude-opus-4-8.config.json +10 -0
  18. package/nodes/anthropic-claude-opus-4-8/anthropic-claude-opus-4-8.process.js +1 -1
  19. package/nodes/anthropic-claude-opus-4-8-fast/anthropic-claude-opus-4-8-fast.config.json +8 -0
  20. package/nodes/anthropic-claude-opus-5/anthropic-claude-opus-5.config.json +180 -0
  21. package/nodes/anthropic-claude-opus-5/anthropic-claude-opus-5.process.js +138 -0
  22. package/nodes/anthropic-claude-opus-5-5/anthropic-claude-opus-5-5.config.json +180 -0
  23. package/nodes/anthropic-claude-opus-5-5/anthropic-claude-opus-5-5.process.js +138 -0
  24. package/nodes/anthropic-claude-sonnet-4/anthropic-claude-sonnet-4.config.json +1 -1
  25. package/nodes/anthropic-claude-sonnet-4-5/anthropic-claude-sonnet-4-5.config.json +1 -0
  26. package/nodes/anthropic-claude-sonnet-4-6/anthropic-claude-sonnet-4-6.config.json +1 -0
  27. package/nodes/anthropic-claude-sonnet-5/anthropic-claude-sonnet-5.config.json +172 -0
  28. package/nodes/anthropic-claude-sonnet-5/anthropic-claude-sonnet-5.process.js +138 -0
  29. package/nodes/anthropic-claude-sonnet-5-5/anthropic-claude-sonnet-5-5.config.json +180 -0
  30. package/nodes/anthropic-claude-sonnet-5-5/anthropic-claude-sonnet-5-5.process.js +138 -0
  31. package/nodes/baai-bge-base-en-v1-5/baai-bge-base-en-v1-5.config.json +1 -1
  32. package/nodes/baai-bge-large-en-v1-5/baai-bge-large-en-v1-5.config.json +1 -1
  33. package/nodes/baai-bge-m3/baai-bge-m3.config.json +1 -1
  34. package/nodes/custom-inference/custom-inference.config.json +158 -0
  35. package/nodes/custom-inference/custom-inference.process.js +117 -0
  36. package/nodes/deepseek-deepseek-chat/deepseek-deepseek-chat.config.json +3 -3
  37. package/nodes/deepseek-deepseek-chat-v3-0324/deepseek-deepseek-chat-v3-0324.config.json +24 -2
  38. package/nodes/deepseek-deepseek-chat-v3-0324/deepseek-deepseek-chat-v3-0324.process.js +2 -1
  39. package/nodes/deepseek-deepseek-chat-v3-1/deepseek-deepseek-chat-v3-1.config.json +24 -2
  40. package/nodes/deepseek-deepseek-chat-v3-1/deepseek-deepseek-chat-v3-1.process.js +2 -1
  41. package/nodes/deepseek-deepseek-r1/deepseek-deepseek-r1.config.json +1 -3
  42. package/nodes/deepseek-deepseek-r1-0528/deepseek-deepseek-r1-0528.config.json +22 -0
  43. package/nodes/deepseek-deepseek-r1-0528/deepseek-deepseek-r1-0528.process.js +2 -1
  44. package/nodes/deepseek-deepseek-r1-distill-llama-70b/deepseek-deepseek-r1-distill-llama-70b.config.json +8 -0
  45. package/nodes/deepseek-deepseek-r1-distill-qwen-32b/deepseek-deepseek-r1-distill-qwen-32b.config.json +8 -0
  46. package/nodes/deepseek-deepseek-v3-1-terminus/deepseek-deepseek-v3-1-terminus.config.json +1 -1
  47. package/nodes/deepseek-deepseek-v3-2/deepseek-deepseek-v3-2.config.json +25 -3
  48. package/nodes/deepseek-deepseek-v3-2/deepseek-deepseek-v3-2.process.js +2 -1
  49. package/nodes/deepseek-deepseek-v3-2-exp/deepseek-deepseek-v3-2-exp.config.json +24 -2
  50. package/nodes/deepseek-deepseek-v3-2-exp/deepseek-deepseek-v3-2-exp.process.js +2 -1
  51. package/nodes/deepseek-deepseek-v4-1-flash/deepseek-deepseek-v4-1-flash.config.json +236 -0
  52. package/nodes/deepseek-deepseek-v4-1-flash/deepseek-deepseek-v4-1-flash.process.js +139 -0
  53. package/nodes/deepseek-deepseek-v4-flash/deepseek-deepseek-v4-flash.config.json +6 -3
  54. package/nodes/deepseek-deepseek-v4-flash/deepseek-deepseek-v4-flash.process.js +1 -1
  55. package/nodes/deepseek-deepseek-v4-flash-0731/deepseek-deepseek-v4-flash-0731.config.json +238 -0
  56. package/nodes/deepseek-deepseek-v4-flash-0731/deepseek-deepseek-v4-flash-0731.process.js +139 -0
  57. package/nodes/deepseek-deepseek-v4-flash-vision-exp/deepseek-deepseek-v4-flash-vision-exp.config.json +236 -0
  58. package/nodes/deepseek-deepseek-v4-flash-vision-exp/deepseek-deepseek-v4-flash-vision-exp.process.js +139 -0
  59. package/nodes/deepseek-deepseek-v4-pro/deepseek-deepseek-v4-pro.config.json +5 -3
  60. package/nodes/deepseek-deepseek-v4-pro/deepseek-deepseek-v4-pro.process.js +1 -1
  61. package/nodes/deepseek-deepseek-v4-pro-0813/deepseek-deepseek-v4-pro-0813.config.json +236 -0
  62. package/nodes/deepseek-deepseek-v4-pro-0813/deepseek-deepseek-v4-pro-0813.process.js +139 -0
  63. package/nodes/google-gemini-2-5-flash/google-gemini-2-5-flash.config.json +8 -0
  64. package/nodes/google-gemini-2-5-flash-lite/google-gemini-2-5-flash-lite.config.json +8 -0
  65. package/nodes/google-gemini-2-5-flash-lite-preview-09-2025/google-gemini-2-5-flash-lite-preview-09-2025.config.json +8 -0
  66. package/nodes/google-gemini-2-5-pro/google-gemini-2-5-pro.config.json +8 -0
  67. package/nodes/google-gemini-2-5-pro-preview-05-06/google-gemini-2-5-pro-preview-05-06.config.json +8 -0
  68. package/nodes/google-gemini-3-1-flash-image/google-gemini-3-1-flash-image.config.json +151 -0
  69. package/nodes/google-gemini-3-1-flash-image/google-gemini-3-1-flash-image.process.js +57 -0
  70. package/nodes/google-gemini-3-1-flash-image-preview/google-gemini-3-1-flash-image-preview.config.json +2 -2
  71. package/nodes/google-gemini-3-1-flash-lite/google-gemini-3-1-flash-lite.config.json +1 -0
  72. package/nodes/google-gemini-3-1-flash-lite-image/google-gemini-3-1-flash-lite-image.config.json +150 -0
  73. package/nodes/google-gemini-3-1-flash-lite-image/google-gemini-3-1-flash-lite-image.process.js +57 -0
  74. package/nodes/google-gemini-3-1-flash-lite-preview/google-gemini-3-1-flash-lite-preview.config.json +1 -8
  75. package/nodes/google-gemini-3-1-flash-lite-preview/google-gemini-3-1-flash-lite-preview.process.js +1 -1
  76. package/nodes/google-gemini-3-1-pro-preview/google-gemini-3-1-pro-preview.config.json +1 -0
  77. package/nodes/google-gemini-3-1-pro-preview-customtools/google-gemini-3-1-pro-preview-customtools.config.json +2 -9
  78. package/nodes/google-gemini-3-1-pro-preview-customtools/google-gemini-3-1-pro-preview-customtools.process.js +1 -1
  79. package/nodes/google-gemini-3-5-flash/google-gemini-3-5-flash.config.json +1 -0
  80. package/nodes/google-gemini-3-5-flash-lite/google-gemini-3-5-flash-lite.config.json +194 -0
  81. package/nodes/google-gemini-3-5-flash-lite/google-gemini-3-5-flash-lite.process.js +138 -0
  82. package/nodes/google-gemini-3-6-flash/google-gemini-3-6-flash.config.json +194 -0
  83. package/nodes/google-gemini-3-6-flash/google-gemini-3-6-flash.process.js +138 -0
  84. package/nodes/google-gemini-3-7-flash/google-gemini-3-7-flash.config.json +194 -0
  85. package/nodes/google-gemini-3-7-flash/google-gemini-3-7-flash.process.js +138 -0
  86. package/nodes/google-gemini-3-8-flash/google-gemini-3-8-flash.config.json +194 -0
  87. package/nodes/google-gemini-3-8-flash/google-gemini-3-8-flash.process.js +138 -0
  88. package/nodes/google-gemini-3-flash-preview/google-gemini-3-flash-preview.config.json +1 -0
  89. package/nodes/google-gemini-3-pro-image/google-gemini-3-pro-image.config.json +202 -0
  90. package/nodes/google-gemini-3-pro-image/google-gemini-3-pro-image.process.js +142 -0
  91. package/nodes/google-gemma-3-12b-it/google-gemma-3-12b-it.config.json +2 -2
  92. package/nodes/google-gemma-3-27b-it/google-gemma-3-27b-it.config.json +23 -1
  93. package/nodes/google-gemma-3-27b-it/google-gemma-3-27b-it.process.js +2 -1
  94. package/nodes/google-gemma-3-4b-it/google-gemma-3-4b-it.config.json +2 -2
  95. package/nodes/google-gemma-3n-e4b-it/google-gemma-3n-e4b-it.config.json +8 -0
  96. package/nodes/google-gemma-4-26b-a4b-it/google-gemma-4-26b-a4b-it.config.json +2 -2
  97. package/nodes/google-gemma-4-31b-it/google-gemma-4-31b-it.config.json +2 -2
  98. package/nodes/google-gemma-4-31b-it-free/google-gemma-4-31b-it-free.config.json +0 -8
  99. package/nodes/google-gemma-4-31b-it-free/google-gemma-4-31b-it-free.process.js +1 -1
  100. package/nodes/intfloat-e5-base-v2/intfloat-e5-base-v2.config.json +1 -1
  101. package/nodes/intfloat-e5-large-v2/intfloat-e5-large-v2.config.json +1 -1
  102. package/nodes/intfloat-multilingual-e5-large/intfloat-multilingual-e5-large.config.json +1 -1
  103. package/nodes/jaredpalmer-kev-4b/jaredpalmer-kev-4b.config.json +85 -0
  104. package/nodes/jaredpalmer-kev-4b/jaredpalmer-kev-4b.process.js +33 -0
  105. package/nodes/liquid-lfm-2-24b-a2b/liquid-lfm-2-24b-a2b.config.json +8 -0
  106. package/nodes/liquid-lfm-2-5-1-2b-instruct-free/liquid-lfm-2-5-1-2b-instruct-free.config.json +8 -0
  107. package/nodes/liquid-lfm-2-5-1-2b-thinking-free/liquid-lfm-2-5-1-2b-thinking-free.config.json +8 -0
  108. package/nodes/liquid-lfm-2-5-2-6b-free/liquid-lfm-2-5-2-6b-free.config.json +235 -0
  109. package/nodes/liquid-lfm-2-5-2-6b-free/liquid-lfm-2-5-2-6b-free.process.js +139 -0
  110. package/nodes/liquid-lfm-2-5-embedding-350m-free/liquid-lfm-2-5-embedding-350m-free.config.json +90 -0
  111. package/nodes/liquid-lfm-2-5-embedding-350m-free/liquid-lfm-2-5-embedding-350m-free.process.js +36 -0
  112. package/nodes/mistralai-codestral-2508/mistralai-codestral-2508.config.json +1 -0
  113. package/nodes/mistralai-ministral-14b-2512/mistralai-ministral-14b-2512.config.json +0 -23
  114. package/nodes/mistralai-ministral-14b-2512/mistralai-ministral-14b-2512.process.js +1 -2
  115. package/nodes/mistralai-ministral-3b-2512/mistralai-ministral-3b-2512.config.json +0 -23
  116. package/nodes/mistralai-ministral-3b-2512/mistralai-ministral-3b-2512.process.js +1 -2
  117. package/nodes/mistralai-ministral-8b-2512/mistralai-ministral-8b-2512.config.json +0 -23
  118. package/nodes/mistralai-ministral-8b-2512/mistralai-ministral-8b-2512.process.js +1 -2
  119. package/nodes/mistralai-mistral-medium-3-5/mistralai-mistral-medium-3-5.config.json +1 -0
  120. package/nodes/mistralai-mistral-nemo/mistralai-mistral-nemo.config.json +23 -1
  121. package/nodes/mistralai-mistral-nemo/mistralai-mistral-nemo.process.js +2 -1
  122. package/nodes/mistralai-mistral-small-2603/mistralai-mistral-small-2603.config.json +1 -1
  123. package/nodes/mistralai-mistral-small-3-1-24b-instruct/mistralai-mistral-small-3-1-24b-instruct.config.json +79 -6
  124. package/nodes/mistralai-mistral-small-3-1-24b-instruct/mistralai-mistral-small-3-1-24b-instruct.process.js +90 -4
  125. package/nodes/mistralai-mistral-small-3-2-24b-instruct/mistralai-mistral-small-3-2-24b-instruct.config.json +25 -3
  126. package/nodes/mistralai-mistral-small-3-2-24b-instruct/mistralai-mistral-small-3-2-24b-instruct.process.js +2 -1
  127. package/nodes/mistralai-voxtral-small-24b-2507/mistralai-voxtral-small-24b-2507.config.json +1 -1
  128. package/nodes/nvidia-nemotron-3-embed-1b-free/nvidia-nemotron-3-embed-1b-free.config.json +90 -0
  129. package/nodes/nvidia-nemotron-3-embed-1b-free/nvidia-nemotron-3-embed-1b-free.process.js +36 -0
  130. package/nodes/openai-gpt-4-1106-preview/openai-gpt-4-1106-preview.config.json +8 -0
  131. package/nodes/openai-gpt-4-turbo-preview/openai-gpt-4-turbo-preview.config.json +8 -0
  132. package/nodes/openai-gpt-4o/openai-gpt-4o.config.json +1 -0
  133. package/nodes/openai-gpt-4o-2024-05-13/openai-gpt-4o-2024-05-13.config.json +1 -0
  134. package/nodes/openai-gpt-4o-2024-08-06/openai-gpt-4o-2024-08-06.config.json +1 -0
  135. package/nodes/openai-gpt-4o-2024-11-20/openai-gpt-4o-2024-11-20.config.json +1 -0
  136. package/nodes/openai-gpt-4o-mini/openai-gpt-4o-mini.config.json +1 -0
  137. package/nodes/openai-gpt-4o-mini-2024-07-18/openai-gpt-4o-mini-2024-07-18.config.json +1 -0
  138. package/nodes/openai-gpt-4o-mini-search-preview/openai-gpt-4o-mini-search-preview.config.json +8 -0
  139. package/nodes/openai-gpt-4o-search-preview/openai-gpt-4o-search-preview.config.json +8 -0
  140. package/nodes/openai-gpt-5/openai-gpt-5.config.json +1 -0
  141. package/nodes/openai-gpt-5-1/openai-gpt-5-1.config.json +1 -0
  142. package/nodes/openai-gpt-5-1-chat/openai-gpt-5-1-chat.config.json +8 -0
  143. package/nodes/openai-gpt-5-1-codex/openai-gpt-5-1-codex.config.json +1 -8
  144. package/nodes/openai-gpt-5-1-codex/openai-gpt-5-1-codex.process.js +1 -1
  145. package/nodes/openai-gpt-5-1-codex-max/openai-gpt-5-1-codex-max.config.json +1 -8
  146. package/nodes/openai-gpt-5-1-codex-max/openai-gpt-5-1-codex-max.process.js +1 -1
  147. package/nodes/openai-gpt-5-1-codex-mini/openai-gpt-5-1-codex-mini.config.json +1 -8
  148. package/nodes/openai-gpt-5-1-codex-mini/openai-gpt-5-1-codex-mini.process.js +1 -1
  149. package/nodes/openai-gpt-5-2/openai-gpt-5-2.config.json +1 -0
  150. package/nodes/openai-gpt-5-2-chat/openai-gpt-5-2-chat.config.json +0 -8
  151. package/nodes/openai-gpt-5-2-chat/openai-gpt-5-2-chat.process.js +1 -1
  152. package/nodes/openai-gpt-5-2-codex/openai-gpt-5-2-codex.config.json +1 -8
  153. package/nodes/openai-gpt-5-2-codex/openai-gpt-5-2-codex.process.js +1 -1
  154. package/nodes/openai-gpt-5-2-pro/openai-gpt-5-2-pro.config.json +1 -0
  155. package/nodes/openai-gpt-5-3-chat/openai-gpt-5-3-chat.config.json +8 -0
  156. package/nodes/openai-gpt-5-3-codex/openai-gpt-5-3-codex.config.json +1 -0
  157. package/nodes/openai-gpt-5-4/openai-gpt-5-4.config.json +1 -0
  158. package/nodes/openai-gpt-5-4-image-2/openai-gpt-5-4-image-2.config.json +1 -0
  159. package/nodes/openai-gpt-5-4-mini/openai-gpt-5-4-mini.config.json +1 -0
  160. package/nodes/openai-gpt-5-4-nano/openai-gpt-5-4-nano.config.json +1 -0
  161. package/nodes/openai-gpt-5-4-pro/openai-gpt-5-4-pro.config.json +1 -0
  162. package/nodes/openai-gpt-5-5/openai-gpt-5-5.config.json +1 -0
  163. package/nodes/openai-gpt-5-5-pro/openai-gpt-5-5-pro.config.json +1 -0
  164. package/nodes/openai-gpt-5-6-luna/openai-gpt-5-6-luna.config.json +171 -0
  165. package/nodes/openai-gpt-5-6-luna/openai-gpt-5-6-luna.process.js +138 -0
  166. package/nodes/openai-gpt-5-6-luna-pro/openai-gpt-5-6-luna-pro.config.json +171 -0
  167. package/nodes/openai-gpt-5-6-luna-pro/openai-gpt-5-6-luna-pro.process.js +138 -0
  168. package/nodes/openai-gpt-5-6-sol/openai-gpt-5-6-sol.config.json +171 -0
  169. package/nodes/openai-gpt-5-6-sol/openai-gpt-5-6-sol.process.js +138 -0
  170. package/nodes/openai-gpt-5-6-sol-pro/openai-gpt-5-6-sol-pro.config.json +171 -0
  171. package/nodes/openai-gpt-5-6-sol-pro/openai-gpt-5-6-sol-pro.process.js +138 -0
  172. package/nodes/openai-gpt-5-6-terra/openai-gpt-5-6-terra.config.json +171 -0
  173. package/nodes/openai-gpt-5-6-terra/openai-gpt-5-6-terra.process.js +138 -0
  174. package/nodes/openai-gpt-5-6-terra-pro/openai-gpt-5-6-terra-pro.config.json +171 -0
  175. package/nodes/openai-gpt-5-6-terra-pro/openai-gpt-5-6-terra-pro.process.js +138 -0
  176. package/nodes/openai-gpt-5-chat/openai-gpt-5-chat.config.json +8 -0
  177. package/nodes/openai-gpt-5-codex/openai-gpt-5-codex.config.json +8 -0
  178. package/nodes/openai-gpt-5-mini/openai-gpt-5-mini.config.json +1 -0
  179. package/nodes/openai-gpt-5-nano/openai-gpt-5-nano.config.json +1 -0
  180. package/nodes/openai-gpt-5-pro/openai-gpt-5-pro.config.json +1 -0
  181. package/nodes/openai-gpt-6-astra/openai-gpt-6-astra.config.json +171 -0
  182. package/nodes/openai-gpt-6-astra/openai-gpt-6-astra.process.js +138 -0
  183. package/nodes/openai-gpt-6-astra-pro/openai-gpt-6-astra-pro.config.json +171 -0
  184. package/nodes/openai-gpt-6-astra-pro/openai-gpt-6-astra-pro.process.js +138 -0
  185. package/nodes/openai-gpt-6-luna/openai-gpt-6-luna.config.json +171 -0
  186. package/nodes/openai-gpt-6-luna/openai-gpt-6-luna.process.js +138 -0
  187. package/nodes/openai-gpt-6-luna-pro/openai-gpt-6-luna-pro.config.json +171 -0
  188. package/nodes/openai-gpt-6-luna-pro/openai-gpt-6-luna-pro.process.js +138 -0
  189. package/nodes/openai-gpt-6-sol/openai-gpt-6-sol.config.json +171 -0
  190. package/nodes/openai-gpt-6-sol/openai-gpt-6-sol.process.js +138 -0
  191. package/nodes/openai-gpt-6-sol-pro/openai-gpt-6-sol-pro.config.json +171 -0
  192. package/nodes/openai-gpt-6-sol-pro/openai-gpt-6-sol-pro.process.js +138 -0
  193. package/nodes/openai-gpt-chat-latest/openai-gpt-chat-latest.config.json +1 -48
  194. package/nodes/openai-gpt-chat-latest/openai-gpt-chat-latest.process.js +1 -2
  195. package/nodes/openai-gpt-oss-120b/openai-gpt-oss-120b.config.json +4 -2
  196. package/nodes/openai-gpt-oss-120b-free/openai-gpt-oss-120b-free.config.json +8 -0
  197. package/nodes/openai-gpt-oss-20b/openai-gpt-oss-20b.config.json +3 -2
  198. package/nodes/openai-gpt-oss-20b-free/openai-gpt-oss-20b-free.config.json +8 -0
  199. package/nodes/openai-gpt-oss-safeguard-20b/openai-gpt-oss-safeguard-20b.config.json +1 -0
  200. package/nodes/openai-o3-deep-research/openai-o3-deep-research.config.json +8 -0
  201. package/nodes/openai-o3-mini-high/openai-o3-mini-high.config.json +1 -0
  202. package/nodes/openai-o4-mini-deep-research/openai-o4-mini-deep-research.config.json +8 -0
  203. package/nodes/openai-o4-mini-high/openai-o4-mini-high.config.json +1 -0
  204. package/nodes/qwen-qwen-2-5-72b-instruct/qwen-qwen-2-5-72b-instruct.config.json +1 -1
  205. package/nodes/qwen-qwen-2-5-7b-instruct/qwen-qwen-2-5-7b-instruct.config.json +36 -5
  206. package/nodes/qwen-qwen-2-5-7b-instruct/qwen-qwen-2-5-7b-instruct.process.js +1 -1
  207. package/nodes/qwen-qwen-2-5-coder-32b-instruct/qwen-qwen-2-5-coder-32b-instruct.config.json +9 -1
  208. package/nodes/qwen-qwen-2-5-coder-32b-instruct/qwen-qwen-2-5-coder-32b-instruct.process.js +1 -1
  209. package/nodes/qwen-qwen-plus/qwen-qwen-plus.config.json +40 -0
  210. package/nodes/qwen-qwen-plus/qwen-qwen-plus.process.js +2 -1
  211. package/nodes/qwen-qwen-plus-2025-07-28/qwen-qwen-plus-2025-07-28.config.json +47 -0
  212. package/nodes/qwen-qwen-plus-2025-07-28/qwen-qwen-plus-2025-07-28.process.js +2 -1
  213. package/nodes/qwen-qwen-plus-2025-07-28-thinking/qwen-qwen-plus-2025-07-28-thinking.config.json +8 -0
  214. package/nodes/qwen-qwen2-5-vl-72b-instruct/qwen-qwen2-5-vl-72b-instruct.config.json +25 -3
  215. package/nodes/qwen-qwen2-5-vl-72b-instruct/qwen-qwen2-5-vl-72b-instruct.process.js +2 -1
  216. package/nodes/qwen-qwen3-14b/qwen-qwen3-14b.config.json +2 -2
  217. package/nodes/qwen-qwen3-235b-a22b/qwen-qwen3-235b-a22b.config.json +25 -0
  218. package/nodes/qwen-qwen3-235b-a22b/qwen-qwen3-235b-a22b.process.js +1 -1
  219. package/nodes/qwen-qwen3-235b-a22b-2507/qwen-qwen3-235b-a22b-2507.config.json +24 -2
  220. package/nodes/qwen-qwen3-235b-a22b-2507/qwen-qwen3-235b-a22b-2507.process.js +2 -1
  221. package/nodes/qwen-qwen3-235b-a22b-thinking-2507/qwen-qwen3-235b-a22b-thinking-2507.config.json +33 -6
  222. package/nodes/qwen-qwen3-235b-a22b-thinking-2507/qwen-qwen3-235b-a22b-thinking-2507.process.js +2 -1
  223. package/nodes/qwen-qwen3-30b-a3b/qwen-qwen3-30b-a3b.config.json +2 -24
  224. package/nodes/qwen-qwen3-30b-a3b/qwen-qwen3-30b-a3b.process.js +1 -2
  225. package/nodes/qwen-qwen3-30b-a3b-instruct-2507/qwen-qwen3-30b-a3b-instruct-2507.config.json +25 -4
  226. package/nodes/qwen-qwen3-30b-a3b-instruct-2507/qwen-qwen3-30b-a3b-instruct-2507.process.js +2 -1
  227. package/nodes/qwen-qwen3-30b-a3b-thinking-2507/qwen-qwen3-30b-a3b-thinking-2507.config.json +11 -7
  228. package/nodes/qwen-qwen3-5-35b-a3b/qwen-qwen3-5-35b-a3b.config.json +2 -2
  229. package/nodes/qwen-qwen3-5-397b-a17b/qwen-qwen3-5-397b-a17b.config.json +2 -2
  230. package/nodes/qwen-qwen3-5-9b/qwen-qwen3-5-9b.config.json +1 -1
  231. package/nodes/qwen-qwen3-5-flash-02-23/qwen-qwen3-5-flash-02-23.config.json +17 -0
  232. package/nodes/qwen-qwen3-5-flash-02-23/qwen-qwen3-5-flash-02-23.process.js +1 -1
  233. package/nodes/qwen-qwen3-5-plus-02-15/qwen-qwen3-5-plus-02-15.config.json +39 -0
  234. package/nodes/qwen-qwen3-5-plus-02-15/qwen-qwen3-5-plus-02-15.process.js +2 -1
  235. package/nodes/qwen-qwen3-5-plus-20260420/qwen-qwen3-5-plus-20260420.config.json +39 -0
  236. package/nodes/qwen-qwen3-5-plus-20260420/qwen-qwen3-5-plus-20260420.process.js +2 -1
  237. package/nodes/qwen-qwen3-6-27b/qwen-qwen3-6-27b.config.json +1 -1
  238. package/nodes/qwen-qwen3-6-35b-a3b/qwen-qwen3-6-35b-a3b.config.json +1 -1
  239. package/nodes/qwen-qwen3-6-flash/qwen-qwen3-6-flash.config.json +39 -0
  240. package/nodes/qwen-qwen3-6-flash/qwen-qwen3-6-flash.process.js +2 -1
  241. package/nodes/qwen-qwen3-6-max-preview/qwen-qwen3-6-max-preview.config.json +27 -2
  242. package/nodes/qwen-qwen3-6-max-preview/qwen-qwen3-6-max-preview.process.js +1 -1
  243. package/nodes/qwen-qwen3-6-plus/qwen-qwen3-6-plus.config.json +39 -0
  244. package/nodes/qwen-qwen3-6-plus/qwen-qwen3-6-plus.process.js +2 -1
  245. package/nodes/qwen-qwen3-7-flash/qwen-qwen3-7-flash.config.json +214 -0
  246. package/nodes/qwen-qwen3-7-flash/qwen-qwen3-7-flash.process.js +139 -0
  247. package/nodes/qwen-qwen3-7-max/qwen-qwen3-7-max.config.json +19 -2
  248. package/nodes/qwen-qwen3-7-max/qwen-qwen3-7-max.process.js +1 -1
  249. package/nodes/qwen-qwen3-7-plus/qwen-qwen3-7-plus.config.json +19 -2
  250. package/nodes/qwen-qwen3-7-plus/qwen-qwen3-7-plus.process.js +1 -1
  251. package/nodes/qwen-qwen3-8-2-4t-a95b/qwen-qwen3-8-2-4t-a95b.config.json +236 -0
  252. package/nodes/qwen-qwen3-8-2-4t-a95b/qwen-qwen3-8-2-4t-a95b.process.js +139 -0
  253. package/nodes/qwen-qwen3-8-27b/qwen-qwen3-8-27b.config.json +237 -0
  254. package/nodes/qwen-qwen3-8-27b/qwen-qwen3-8-27b.process.js +139 -0
  255. package/nodes/qwen-qwen3-8-27b-free/qwen-qwen3-8-27b-free.config.json +195 -0
  256. package/nodes/qwen-qwen3-8-27b-free/qwen-qwen3-8-27b-free.process.js +138 -0
  257. package/nodes/qwen-qwen3-8-flash/qwen-qwen3-8-flash.config.json +232 -0
  258. package/nodes/qwen-qwen3-8-flash/qwen-qwen3-8-flash.process.js +139 -0
  259. package/nodes/qwen-qwen3-8-max-0902/qwen-qwen3-8-max-0902.config.json +233 -0
  260. package/nodes/qwen-qwen3-8-max-0902/qwen-qwen3-8-max-0902.process.js +139 -0
  261. package/nodes/qwen-qwen3-8-max-prime/qwen-qwen3-8-max-prime.config.json +233 -0
  262. package/nodes/qwen-qwen3-8-max-prime/qwen-qwen3-8-max-prime.process.js +139 -0
  263. package/nodes/qwen-qwen3-8-omni-flash/qwen-qwen3-8-omni-flash.config.json +232 -0
  264. package/nodes/qwen-qwen3-8-omni-flash/qwen-qwen3-8-omni-flash.process.js +139 -0
  265. package/nodes/qwen-qwen3-8b/qwen-qwen3-8b.config.json +10 -6
  266. package/nodes/qwen-qwen3-coder/qwen-qwen3-coder.config.json +25 -3
  267. package/nodes/qwen-qwen3-coder/qwen-qwen3-coder.process.js +2 -1
  268. package/nodes/qwen-qwen3-coder-30b-a3b-instruct/qwen-qwen3-coder-30b-a3b-instruct.config.json +24 -2
  269. package/nodes/qwen-qwen3-coder-30b-a3b-instruct/qwen-qwen3-coder-30b-a3b-instruct.process.js +2 -1
  270. package/nodes/qwen-qwen3-coder-flash/qwen-qwen3-coder-flash.config.json +39 -0
  271. package/nodes/qwen-qwen3-coder-flash/qwen-qwen3-coder-flash.process.js +2 -1
  272. package/nodes/qwen-qwen3-coder-free/qwen-qwen3-coder-free.config.json +8 -0
  273. package/nodes/qwen-qwen3-coder-next/qwen-qwen3-coder-next.config.json +23 -2
  274. package/nodes/qwen-qwen3-coder-next/qwen-qwen3-coder-next.process.js +2 -1
  275. package/nodes/qwen-qwen3-coder-plus/qwen-qwen3-coder-plus.config.json +47 -0
  276. package/nodes/qwen-qwen3-coder-plus/qwen-qwen3-coder-plus.process.js +2 -1
  277. package/nodes/qwen-qwen3-embedding-8b/qwen-qwen3-embedding-8b.config.json +1 -1
  278. package/nodes/qwen-qwen3-max/qwen-qwen3-max.config.json +48 -0
  279. package/nodes/qwen-qwen3-max/qwen-qwen3-max.process.js +2 -1
  280. package/nodes/qwen-qwen3-max-thinking/qwen-qwen3-max-thinking.config.json +47 -0
  281. package/nodes/qwen-qwen3-max-thinking/qwen-qwen3-max-thinking.process.js +2 -1
  282. package/nodes/qwen-qwen3-next-80b-a3b-instruct/qwen-qwen3-next-80b-a3b-instruct.config.json +23 -1
  283. package/nodes/qwen-qwen3-next-80b-a3b-instruct/qwen-qwen3-next-80b-a3b-instruct.process.js +2 -1
  284. package/nodes/qwen-qwen3-next-80b-a3b-instruct-free/qwen-qwen3-next-80b-a3b-instruct-free.config.json +8 -0
  285. package/nodes/qwen-qwen3-next-80b-a3b-thinking/qwen-qwen3-next-80b-a3b-thinking.config.json +24 -4
  286. package/nodes/qwen-qwen3-next-80b-a3b-thinking/qwen-qwen3-next-80b-a3b-thinking.process.js +2 -1
  287. package/nodes/qwen-qwen3-reranker-8b/qwen-qwen3-reranker-8b.config.json +95 -0
  288. package/nodes/qwen-qwen3-reranker-8b/qwen-qwen3-reranker-8b.process.js +60 -0
  289. package/nodes/qwen-qwen3-vl-235b-a22b-instruct/qwen-qwen3-vl-235b-a22b-instruct.config.json +24 -2
  290. package/nodes/qwen-qwen3-vl-235b-a22b-instruct/qwen-qwen3-vl-235b-a22b-instruct.process.js +2 -1
  291. package/nodes/qwen-qwen3-vl-235b-a22b-thinking/qwen-qwen3-vl-235b-a22b-thinking.config.json +33 -2
  292. package/nodes/qwen-qwen3-vl-235b-a22b-thinking/qwen-qwen3-vl-235b-a22b-thinking.process.js +2 -1
  293. package/nodes/qwen-qwen3-vl-30b-a3b-instruct/qwen-qwen3-vl-30b-a3b-instruct.config.json +24 -2
  294. package/nodes/qwen-qwen3-vl-30b-a3b-instruct/qwen-qwen3-vl-30b-a3b-instruct.process.js +2 -1
  295. package/nodes/qwen-qwen3-vl-30b-a3b-thinking/qwen-qwen3-vl-30b-a3b-thinking.config.json +33 -4
  296. package/nodes/qwen-qwen3-vl-30b-a3b-thinking/qwen-qwen3-vl-30b-a3b-thinking.process.js +2 -1
  297. package/nodes/qwen-qwen3-vl-32b-instruct/qwen-qwen3-vl-32b-instruct.config.json +49 -1
  298. package/nodes/qwen-qwen3-vl-32b-instruct/qwen-qwen3-vl-32b-instruct.process.js +2 -1
  299. package/nodes/qwen-qwen3-vl-8b-instruct/qwen-qwen3-vl-8b-instruct.config.json +33 -4
  300. package/nodes/qwen-qwen3-vl-8b-instruct/qwen-qwen3-vl-8b-instruct.process.js +2 -1
  301. package/nodes/qwen-qwen3-vl-8b-thinking/qwen-qwen3-vl-8b-thinking.config.json +50 -3
  302. package/nodes/qwen-qwen3-vl-8b-thinking/qwen-qwen3-vl-8b-thinking.process.js +2 -1
  303. package/nodes/respan-span-01/respan-span-01.config.json +83 -0
  304. package/nodes/respan-span-01/respan-span-01.process.js +71 -0
  305. package/nodes/respan-span-01-lite/respan-span-01-lite.config.json +83 -0
  306. package/nodes/respan-span-01-lite/respan-span-01-lite.process.js +71 -0
  307. package/nodes/respan-span-01-lite-free/respan-span-01-lite-free.config.json +83 -0
  308. package/nodes/respan-span-01-lite-free/respan-span-01-lite-free.process.js +71 -0
  309. package/nodes/sentence-transformers-all-minilm-l12-v2/sentence-transformers-all-minilm-l12-v2.config.json +1 -1
  310. package/nodes/sentence-transformers-all-minilm-l6-v2/sentence-transformers-all-minilm-l6-v2.config.json +1 -1
  311. package/nodes/sentence-transformers-all-mpnet-base-v2/sentence-transformers-all-mpnet-base-v2.config.json +1 -1
  312. package/nodes/sentence-transformers-multi-qa-mpnet-base-dot-v1/sentence-transformers-multi-qa-mpnet-base-dot-v1.config.json +1 -1
  313. package/nodes/sentence-transformers-paraphrase-minilm-l6-v2/sentence-transformers-paraphrase-minilm-l6-v2.config.json +1 -1
  314. package/nodes/thenlper-gte-base/thenlper-gte-base.config.json +1 -1
  315. package/nodes/thenlper-gte-large/thenlper-gte-large.config.json +1 -1
  316. package/nodes/typesafe-jev-1-13/typesafe-jev-1-13.config.json +85 -0
  317. package/nodes/typesafe-jev-1-13/typesafe-jev-1-13.process.js +33 -0
  318. package/nodes/typesafe-jev-latest/typesafe-jev-latest.config.json +86 -0
  319. package/nodes/typesafe-jev-latest/typesafe-jev-latest.process.js +33 -0
  320. package/nodes/typesafe-jev-router/typesafe-jev-router.config.json +154 -0
  321. package/nodes/typesafe-jev-router/typesafe-jev-router.process.js +138 -0
  322. package/nodes/upstage-solar-decide/upstage-solar-decide.config.json +85 -0
  323. package/nodes/upstage-solar-decide/upstage-solar-decide.process.js +33 -0
  324. package/nodes/voyageai-rerank-2-5/voyageai-rerank-2-5.config.json +95 -0
  325. package/nodes/voyageai-rerank-2-5/voyageai-rerank-2-5.process.js +60 -0
  326. package/nodes/voyageai-rerank-2-5-lite/voyageai-rerank-2-5-lite.config.json +95 -0
  327. package/nodes/voyageai-rerank-2-5-lite/voyageai-rerank-2-5-lite.process.js +60 -0
  328. package/nodes/voyageai-voyage-4/voyageai-voyage-4.config.json +90 -0
  329. package/nodes/voyageai-voyage-4/voyageai-voyage-4.process.js +36 -0
  330. package/nodes/voyageai-voyage-4-large/voyageai-voyage-4-large.config.json +90 -0
  331. package/nodes/voyageai-voyage-4-large/voyageai-voyage-4-large.process.js +36 -0
  332. package/nodes/voyageai-voyage-4-lite/voyageai-voyage-4-lite.config.json +90 -0
  333. package/nodes/voyageai-voyage-4-lite/voyageai-voyage-4-lite.process.js +36 -0
  334. package/nodes/voyageai-voyage-code-4/voyageai-voyage-code-4.config.json +90 -0
  335. package/nodes/voyageai-voyage-code-4/voyageai-voyage-code-4.process.js +36 -0
  336. package/nodes/voyageai-voyage-multimodal-3-5/voyageai-voyage-multimodal-3-5.config.json +91 -0
  337. package/nodes/voyageai-voyage-multimodal-3-5/voyageai-voyage-multimodal-3-5.process.js +36 -0
  338. package/nodes/x-ai-grok-4-20/x-ai-grok-4-20.config.json +2 -2
  339. package/nodes/x-ai-grok-4-20/x-ai-grok-4-20.process.js +1 -1
  340. package/nodes/x-ai-grok-4-20-multi-agent/x-ai-grok-4-20-multi-agent.config.json +5 -4
  341. package/nodes/x-ai-grok-4-20-multi-agent/x-ai-grok-4-20-multi-agent.process.js +1 -1
  342. package/nodes/x-ai-grok-4-3/x-ai-grok-4-3.config.json +3 -26
  343. package/nodes/x-ai-grok-4-3/x-ai-grok-4-3.process.js +2 -2
  344. package/nodes/x-ai-grok-4-5/x-ai-grok-4-5.config.json +208 -0
  345. package/nodes/x-ai-grok-4-5/x-ai-grok-4-5.process.js +139 -0
  346. package/nodes/x-ai-grok-4-6/x-ai-grok-4-6.config.json +217 -0
  347. package/nodes/x-ai-grok-4-6/x-ai-grok-4-6.process.js +139 -0
  348. package/nodes/x-ai-grok-4-7/x-ai-grok-4-7.config.json +208 -0
  349. package/nodes/x-ai-grok-4-7/x-ai-grok-4-7.process.js +139 -0
  350. package/nodes/x-ai-grok-build-0-1/x-ai-grok-build-0-1.config.json +2 -26
  351. package/nodes/x-ai-grok-build-0-1/x-ai-grok-build-0-1.process.js +2 -2
  352. package/package.json +16 -4
  353. package/src/integrations/openrouter.js +155 -18
  354. package/src/utilities/loaders.js +40 -5
  355. package/nodes/absolute/absolute.tests.json +0 -38
  356. package/nodes/absolute-value/absolute-value.tests.json +0 -17
  357. package/nodes/add/add.tests.json +0 -41
  358. package/nodes/airtable-create-record/airtable-create-record.tests.json +0 -50
  359. package/nodes/airtable-delete-record/airtable-delete-record.tests.json +0 -23
  360. package/nodes/airtable-get-record/airtable-get-record.tests.json +0 -25
  361. package/nodes/airtable-list-records/airtable-list-records.tests.json +0 -46
  362. package/nodes/airtable-update-record/airtable-update-record.tests.json +0 -44
  363. package/nodes/and-gate/and-gate.tests.json +0 -22
  364. package/nodes/anthropic-claude-3-5-haiku/anthropic-claude-3-5-haiku.tests.json +0 -80
  365. package/nodes/anthropic-claude-3-haiku/anthropic-claude-3-haiku.tests.json +0 -80
  366. package/nodes/anthropic-claude-haiku-4-5/anthropic-claude-haiku-4-5.tests.json +0 -80
  367. package/nodes/anthropic-claude-opus-4/anthropic-claude-opus-4.tests.json +0 -80
  368. package/nodes/anthropic-claude-opus-4-1/anthropic-claude-opus-4-1.tests.json +0 -80
  369. package/nodes/anthropic-claude-opus-4-5/anthropic-claude-opus-4-5.tests.json +0 -80
  370. package/nodes/anthropic-claude-opus-4-6/anthropic-claude-opus-4-6.tests.json +0 -80
  371. package/nodes/anthropic-claude-opus-4-6-fast/anthropic-claude-opus-4-6-fast.tests.json +0 -80
  372. package/nodes/anthropic-claude-opus-4-7/anthropic-claude-opus-4-7.tests.json +0 -57
  373. package/nodes/anthropic-claude-opus-4-7-fast/anthropic-claude-opus-4-7-fast.tests.json +0 -57
  374. package/nodes/anthropic-claude-opus-4-8/anthropic-claude-opus-4-8.tests.json +0 -57
  375. package/nodes/anthropic-claude-opus-4-8-fast/anthropic-claude-opus-4-8-fast.tests.json +0 -57
  376. package/nodes/anthropic-claude-sonnet-4/anthropic-claude-sonnet-4.tests.json +0 -80
  377. package/nodes/anthropic-claude-sonnet-4-5/anthropic-claude-sonnet-4-5.tests.json +0 -80
  378. package/nodes/anthropic-claude-sonnet-4-6/anthropic-claude-sonnet-4-6.tests.json +0 -80
  379. package/nodes/array-builder/array-builder.tests.json +0 -20
  380. package/nodes/array-filter/array-filter.tests.json +0 -67
  381. package/nodes/array-find/array-find.tests.json +0 -83
  382. package/nodes/array-flatten/array-flatten.tests.json +0 -79
  383. package/nodes/array-index-selector/array-index-selector.tests.json +0 -37
  384. package/nodes/array-join/array-join.tests.json +0 -41
  385. package/nodes/array-length/array-length.tests.json +0 -32
  386. package/nodes/array-map/array-map.tests.json +0 -44
  387. package/nodes/array-reverse/array-reverse.tests.json +0 -60
  388. package/nodes/array-shuffle/array-shuffle.tests.json +0 -82
  389. package/nodes/array-slice/array-slice.tests.json +0 -43
  390. package/nodes/array-sort/array-sort.tests.json +0 -95
  391. package/nodes/array-split/array-split.tests.json +0 -77
  392. package/nodes/array-unique/array-unique.tests.json +0 -96
  393. package/nodes/baai-bge-base-en-v1-5/baai-bge-base-en-v1-5.tests.json +0 -48
  394. package/nodes/baai-bge-large-en-v1-5/baai-bge-large-en-v1-5.tests.json +0 -48
  395. package/nodes/baai-bge-m3/baai-bge-m3.tests.json +0 -48
  396. package/nodes/base64-decode/base64-decode.tests.json +0 -46
  397. package/nodes/base64-encode/base64-encode.tests.json +0 -38
  398. package/nodes/boolean/boolean.tests.json +0 -47
  399. package/nodes/boolean-inverter/boolean-inverter.tests.json +0 -22
  400. package/nodes/ceil/ceil.tests.json +0 -38
  401. package/nodes/cohere-rerank-4-fast/cohere-rerank-4-fast.tests.json +0 -47
  402. package/nodes/cohere-rerank-4-pro/cohere-rerank-4-pro.tests.json +0 -47
  403. package/nodes/cohere-rerank-v3-5/cohere-rerank-v3-5.tests.json +0 -47
  404. package/nodes/combine-document-chunks/combine-document-chunks.tests.json +0 -51
  405. package/nodes/condition-check/condition-check.tests.json +0 -112
  406. package/nodes/confluence-get-page/confluence-get-page.tests.json +0 -12
  407. package/nodes/confluence-search/confluence-search.tests.json +0 -14
  408. package/nodes/conversation-to-text/conversation-to-text.tests.json +0 -134
  409. package/nodes/csv-parser/csv-parser.tests.json +0 -93
  410. package/nodes/csv-stringifier/csv-stringifier.tests.json +0 -63
  411. package/nodes/date-formatter/date-formatter.tests.json +0 -50
  412. package/nodes/dedupe-messages/dedupe-messages.tests.json +0 -149
  413. package/nodes/deepseek-deepseek-chat/deepseek-deepseek-chat.tests.json +0 -80
  414. package/nodes/deepseek-deepseek-chat-v3-0324/deepseek-deepseek-chat-v3-0324.tests.json +0 -80
  415. package/nodes/deepseek-deepseek-chat-v3-1/deepseek-deepseek-chat-v3-1.tests.json +0 -80
  416. package/nodes/deepseek-deepseek-r1/deepseek-deepseek-r1.tests.json +0 -80
  417. package/nodes/deepseek-deepseek-r1-0528/deepseek-deepseek-r1-0528.tests.json +0 -80
  418. package/nodes/deepseek-deepseek-r1-distill-llama-70b/deepseek-deepseek-r1-distill-llama-70b.tests.json +0 -80
  419. package/nodes/deepseek-deepseek-r1-distill-qwen-32b/deepseek-deepseek-r1-distill-qwen-32b.tests.json +0 -80
  420. package/nodes/deepseek-deepseek-v3-1-terminus/deepseek-deepseek-v3-1-terminus.tests.json +0 -80
  421. package/nodes/deepseek-deepseek-v3-2/deepseek-deepseek-v3-2.tests.json +0 -80
  422. package/nodes/deepseek-deepseek-v3-2-exp/deepseek-deepseek-v3-2-exp.tests.json +0 -80
  423. package/nodes/deepseek-deepseek-v4-flash/deepseek-deepseek-v4-flash.tests.json +0 -80
  424. package/nodes/deepseek-deepseek-v4-pro/deepseek-deepseek-v4-pro.tests.json +0 -80
  425. package/nodes/delay/delay.tests.json +0 -59
  426. package/nodes/delete-object-property/delete-object-property.tests.json +0 -173
  427. package/nodes/divide/divide.tests.json +0 -42
  428. package/nodes/duration-calculator/duration-calculator.tests.json +0 -124
  429. package/nodes/embedding/embedding.tests.json +0 -26
  430. package/nodes/equals/equals.tests.json +0 -111
  431. package/nodes/extract-code/extract-code.tests.json +0 -162
  432. package/nodes/extract-json/extract-json.tests.json +0 -146
  433. package/nodes/extract-text-content/extract-text-content.tests.json +0 -144
  434. package/nodes/filter-messages/filter-messages.tests.json +0 -125
  435. package/nodes/filter-tools/filter-tools.tests.json +0 -89
  436. package/nodes/firecrawl-scrape/firecrawl-scrape.tests.json +0 -57
  437. package/nodes/firecrawl-search/firecrawl-search.tests.json +0 -9
  438. package/nodes/floor/floor.tests.json +0 -38
  439. package/nodes/generate-uuid/generate-uuid.tests.json +0 -7
  440. package/nodes/get-chunk-by-index/get-chunk-by-index.tests.json +0 -51
  441. package/nodes/get-first-n-messages/get-first-n-messages.tests.json +0 -66
  442. package/nodes/get-last-n-messages/get-last-n-messages.tests.json +0 -66
  443. package/nodes/get-messages-by-role/get-messages-by-role.tests.json +0 -87
  444. package/nodes/get-messages-range/get-messages-range.tests.json +0 -104
  445. package/nodes/get-object-property/get-object-property.tests.json +0 -101
  446. package/nodes/github-create-issue/github-create-issue.tests.json +0 -15
  447. package/nodes/google-custom-search/google-custom-search.tests.json +0 -69
  448. package/nodes/google-gemini-2-5-flash/google-gemini-2-5-flash.tests.json +0 -80
  449. package/nodes/google-gemini-2-5-flash-image/google-gemini-2-5-flash-image.tests.json +0 -44
  450. package/nodes/google-gemini-2-5-flash-lite/google-gemini-2-5-flash-lite.tests.json +0 -80
  451. package/nodes/google-gemini-2-5-flash-lite-preview-09-2025/google-gemini-2-5-flash-lite-preview-09-2025.tests.json +0 -80
  452. package/nodes/google-gemini-2-5-pro/google-gemini-2-5-pro.tests.json +0 -80
  453. package/nodes/google-gemini-2-5-pro-preview/google-gemini-2-5-pro-preview.tests.json +0 -80
  454. package/nodes/google-gemini-2-5-pro-preview-05-06/google-gemini-2-5-pro-preview-05-06.tests.json +0 -80
  455. package/nodes/google-gemini-3-1-flash-image-preview/google-gemini-3-1-flash-image-preview.tests.json +0 -44
  456. package/nodes/google-gemini-3-1-flash-lite/google-gemini-3-1-flash-lite.tests.json +0 -80
  457. package/nodes/google-gemini-3-1-flash-lite-preview/google-gemini-3-1-flash-lite-preview.tests.json +0 -80
  458. package/nodes/google-gemini-3-1-pro-preview/google-gemini-3-1-pro-preview.tests.json +0 -80
  459. package/nodes/google-gemini-3-1-pro-preview-customtools/google-gemini-3-1-pro-preview-customtools.tests.json +0 -80
  460. package/nodes/google-gemini-3-5-flash/google-gemini-3-5-flash.tests.json +0 -80
  461. package/nodes/google-gemini-3-flash-preview/google-gemini-3-flash-preview.tests.json +0 -80
  462. package/nodes/google-gemini-3-pro-image-preview/google-gemini-3-pro-image-preview.tests.json +0 -44
  463. package/nodes/google-gemini-embedding-001/google-gemini-embedding-001.tests.json +0 -48
  464. package/nodes/google-gemini-embedding-2/google-gemini-embedding-2.tests.json +0 -48
  465. package/nodes/google-gemini-embedding-2-preview/google-gemini-embedding-2-preview.tests.json +0 -48
  466. package/nodes/google-gemma-2-27b-it/google-gemma-2-27b-it.tests.json +0 -80
  467. package/nodes/google-gemma-3-12b-it/google-gemma-3-12b-it.tests.json +0 -80
  468. package/nodes/google-gemma-3-27b-it/google-gemma-3-27b-it.tests.json +0 -80
  469. package/nodes/google-gemma-3-4b-it/google-gemma-3-4b-it.tests.json +0 -80
  470. package/nodes/google-gemma-3n-e4b-it/google-gemma-3n-e4b-it.tests.json +0 -44
  471. package/nodes/google-gemma-4-26b-a4b-it/google-gemma-4-26b-a4b-it.tests.json +0 -80
  472. package/nodes/google-gemma-4-26b-a4b-it-free/google-gemma-4-26b-a4b-it-free.tests.json +0 -80
  473. package/nodes/google-gemma-4-31b-it/google-gemma-4-31b-it.tests.json +0 -80
  474. package/nodes/google-gemma-4-31b-it-free/google-gemma-4-31b-it-free.tests.json +0 -80
  475. package/nodes/google-lyria-3-clip-preview/google-lyria-3-clip-preview.tests.json +0 -44
  476. package/nodes/google-lyria-3-pro-preview/google-lyria-3-pro-preview.tests.json +0 -44
  477. package/nodes/greater-than/greater-than.tests.json +0 -47
  478. package/nodes/greater-than-equal/greater-than-equal.tests.json +0 -52
  479. package/nodes/has-object-property/has-object-property.tests.json +0 -148
  480. package/nodes/hash-content/hash-content.tests.json +0 -51
  481. package/nodes/histogram/histogram.tests.json +0 -57
  482. package/nodes/histogram-fixed/histogram-fixed.tests.json +0 -62
  483. package/nodes/http-request/http-request.tests.json +0 -115
  484. package/nodes/if-else/if-else.tests.json +0 -94
  485. package/nodes/input-data/input-data.tests.json +0 -53
  486. package/nodes/intfloat-e5-base-v2/intfloat-e5-base-v2.tests.json +0 -48
  487. package/nodes/intfloat-e5-large-v2/intfloat-e5-large-v2.tests.json +0 -48
  488. package/nodes/intfloat-multilingual-e5-large/intfloat-multilingual-e5-large.tests.json +0 -48
  489. package/nodes/jira-create-issue/jira-create-issue.tests.json +0 -14
  490. package/nodes/jira-list-issues/jira-list-issues.tests.json +0 -14
  491. package/nodes/jira-update-issue/jira-update-issue.tests.json +0 -12
  492. package/nodes/json-parser/json-parser.tests.json +0 -57
  493. package/nodes/json-stringifier/json-stringifier.tests.json +0 -58
  494. package/nodes/json-to-xml/json-to-xml.tests.json +0 -103
  495. package/nodes/json-to-yaml/json-to-yaml.tests.json +0 -110
  496. package/nodes/keep-bookends/keep-bookends.tests.json +0 -185
  497. package/nodes/less-than/less-than.tests.json +0 -47
  498. package/nodes/less-than-equal/less-than-equal.tests.json +0 -52
  499. package/nodes/linear-create-issue/linear-create-issue.tests.json +0 -14
  500. package/nodes/linear-list-issues/linear-list-issues.tests.json +0 -13
  501. package/nodes/linear-update-issue/linear-update-issue.tests.json +0 -13
  502. package/nodes/liquid-lfm-2-24b-a2b/liquid-lfm-2-24b-a2b.tests.json +0 -44
  503. package/nodes/liquid-lfm-2-5-1-2b-instruct-free/liquid-lfm-2-5-1-2b-instruct-free.tests.json +0 -44
  504. package/nodes/liquid-lfm-2-5-1-2b-thinking-free/liquid-lfm-2-5-1-2b-thinking-free.tests.json +0 -44
  505. package/nodes/loop-end/loop-end.tests.json +0 -139
  506. package/nodes/loop-start/loop-start.tests.json +0 -65
  507. package/nodes/mean/mean.tests.json +0 -45
  508. package/nodes/median/median.tests.json +0 -54
  509. package/nodes/merge-consecutive-roles/merge-consecutive-roles.tests.json +0 -199
  510. package/nodes/merge-messages/merge-messages.tests.json +0 -174
  511. package/nodes/message/message.tests.json +0 -85
  512. package/nodes/message-bus/message-bus.tests.json +0 -150
  513. package/nodes/message-role-swap/message-role-swap.tests.json +0 -197
  514. package/nodes/mistralai-codestral-2508/mistralai-codestral-2508.tests.json +0 -80
  515. package/nodes/mistralai-codestral-embed-2505/mistralai-codestral-embed-2505.tests.json +0 -48
  516. package/nodes/mistralai-devstral-2512/mistralai-devstral-2512.tests.json +0 -80
  517. package/nodes/mistralai-ministral-14b-2512/mistralai-ministral-14b-2512.tests.json +0 -80
  518. package/nodes/mistralai-ministral-3b-2512/mistralai-ministral-3b-2512.tests.json +0 -80
  519. package/nodes/mistralai-ministral-8b-2512/mistralai-ministral-8b-2512.tests.json +0 -80
  520. package/nodes/mistralai-mistral-embed-2312/mistralai-mistral-embed-2312.tests.json +0 -48
  521. package/nodes/mistralai-mistral-large/mistralai-mistral-large.tests.json +0 -80
  522. package/nodes/mistralai-mistral-large-2407/mistralai-mistral-large-2407.tests.json +0 -80
  523. package/nodes/mistralai-mistral-large-2512/mistralai-mistral-large-2512.tests.json +0 -80
  524. package/nodes/mistralai-mistral-medium-3/mistralai-mistral-medium-3.tests.json +0 -80
  525. package/nodes/mistralai-mistral-medium-3-1/mistralai-mistral-medium-3-1.tests.json +0 -80
  526. package/nodes/mistralai-mistral-medium-3-5/mistralai-mistral-medium-3-5.tests.json +0 -80
  527. package/nodes/mistralai-mistral-nemo/mistralai-mistral-nemo.tests.json +0 -80
  528. package/nodes/mistralai-mistral-saba/mistralai-mistral-saba.tests.json +0 -80
  529. package/nodes/mistralai-mistral-small-24b-instruct-2501/mistralai-mistral-small-24b-instruct-2501.tests.json +0 -44
  530. package/nodes/mistralai-mistral-small-2603/mistralai-mistral-small-2603.tests.json +0 -80
  531. package/nodes/mistralai-mistral-small-3-1-24b-instruct/mistralai-mistral-small-3-1-24b-instruct.tests.json +0 -44
  532. package/nodes/mistralai-mistral-small-3-2-24b-instruct/mistralai-mistral-small-3-2-24b-instruct.tests.json +0 -80
  533. package/nodes/mistralai-mixtral-8x22b-instruct/mistralai-mixtral-8x22b-instruct.tests.json +0 -80
  534. package/nodes/mistralai-voxtral-small-24b-2507/mistralai-voxtral-small-24b-2507.tests.json +0 -80
  535. package/nodes/mode/mode.tests.json +0 -53
  536. package/nodes/modulo/modulo.tests.json +0 -66
  537. package/nodes/multiply/multiply.tests.json +0 -42
  538. package/nodes/nand-gate/nand-gate.tests.json +0 -22
  539. package/nodes/newsdata-io-archive/newsdata-io-archive.tests.json +0 -68
  540. package/nodes/newsdata-io-latest/newsdata-io-latest.tests.json +0 -74
  541. package/nodes/newsdata-io-sources/newsdata-io-sources.tests.json +0 -53
  542. package/nodes/nor-gate/nor-gate.tests.json +0 -22
  543. package/nodes/normalize-whitespace/normalize-whitespace.tests.json +0 -76
  544. package/nodes/not-equals/not-equals.tests.json +0 -77
  545. package/nodes/notion-append-blocks/notion-append-blocks.tests.json +0 -80
  546. package/nodes/notion-archive-page/notion-archive-page.tests.json +0 -26
  547. package/nodes/notion-create-page/notion-create-page.tests.json +0 -92
  548. package/nodes/notion-get-blocks/notion-get-blocks.tests.json +0 -22
  549. package/nodes/notion-get-page/notion-get-page.tests.json +0 -14
  550. package/nodes/notion-query-database/notion-query-database.tests.json +0 -52
  551. package/nodes/notion-search/notion-search.tests.json +0 -46
  552. package/nodes/notion-update-page/notion-update-page.tests.json +0 -44
  553. package/nodes/null-bomb/null-bomb.tests.json +0 -83
  554. package/nodes/number/number.tests.json +0 -46
  555. package/nodes/nvidia-llama-nemotron-embed-vl-1b-v2-free/nvidia-llama-nemotron-embed-vl-1b-v2-free.tests.json +0 -48
  556. package/nodes/nvidia-llama-nemotron-rerank-vl-1b-v2-free/nvidia-llama-nemotron-rerank-vl-1b-v2-free.tests.json +0 -47
  557. package/nodes/object-merge/object-merge.tests.json +0 -158
  558. package/nodes/openai-gpt-3-5-turbo/openai-gpt-3-5-turbo.tests.json +0 -80
  559. package/nodes/openai-gpt-3-5-turbo-0613/openai-gpt-3-5-turbo-0613.tests.json +0 -80
  560. package/nodes/openai-gpt-3-5-turbo-16k/openai-gpt-3-5-turbo-16k.tests.json +0 -80
  561. package/nodes/openai-gpt-3-5-turbo-instruct/openai-gpt-3-5-turbo-instruct.tests.json +0 -80
  562. package/nodes/openai-gpt-4/openai-gpt-4.tests.json +0 -80
  563. package/nodes/openai-gpt-4-1/openai-gpt-4-1.tests.json +0 -80
  564. package/nodes/openai-gpt-4-1-mini/openai-gpt-4-1-mini.tests.json +0 -80
  565. package/nodes/openai-gpt-4-1-nano/openai-gpt-4-1-nano.tests.json +0 -80
  566. package/nodes/openai-gpt-4-1106-preview/openai-gpt-4-1106-preview.tests.json +0 -80
  567. package/nodes/openai-gpt-4-turbo/openai-gpt-4-turbo.tests.json +0 -80
  568. package/nodes/openai-gpt-4-turbo-preview/openai-gpt-4-turbo-preview.tests.json +0 -80
  569. package/nodes/openai-gpt-4o/openai-gpt-4o.tests.json +0 -80
  570. package/nodes/openai-gpt-4o-2024-05-13/openai-gpt-4o-2024-05-13.tests.json +0 -80
  571. package/nodes/openai-gpt-4o-2024-08-06/openai-gpt-4o-2024-08-06.tests.json +0 -80
  572. package/nodes/openai-gpt-4o-2024-11-20/openai-gpt-4o-2024-11-20.tests.json +0 -80
  573. package/nodes/openai-gpt-4o-mini/openai-gpt-4o-mini.tests.json +0 -80
  574. package/nodes/openai-gpt-4o-mini-2024-07-18/openai-gpt-4o-mini-2024-07-18.tests.json +0 -80
  575. package/nodes/openai-gpt-4o-mini-search-preview/openai-gpt-4o-mini-search-preview.tests.json +0 -26
  576. package/nodes/openai-gpt-4o-search-preview/openai-gpt-4o-search-preview.tests.json +0 -26
  577. package/nodes/openai-gpt-5/openai-gpt-5.tests.json +0 -57
  578. package/nodes/openai-gpt-5-1/openai-gpt-5-1.tests.json +0 -57
  579. package/nodes/openai-gpt-5-1-chat/openai-gpt-5-1-chat.tests.json +0 -57
  580. package/nodes/openai-gpt-5-1-codex/openai-gpt-5-1-codex.tests.json +0 -57
  581. package/nodes/openai-gpt-5-1-codex-max/openai-gpt-5-1-codex-max.tests.json +0 -57
  582. package/nodes/openai-gpt-5-1-codex-mini/openai-gpt-5-1-codex-mini.tests.json +0 -57
  583. package/nodes/openai-gpt-5-2/openai-gpt-5-2.tests.json +0 -57
  584. package/nodes/openai-gpt-5-2-chat/openai-gpt-5-2-chat.tests.json +0 -57
  585. package/nodes/openai-gpt-5-2-codex/openai-gpt-5-2-codex.tests.json +0 -57
  586. package/nodes/openai-gpt-5-2-pro/openai-gpt-5-2-pro.tests.json +0 -57
  587. package/nodes/openai-gpt-5-3-chat/openai-gpt-5-3-chat.tests.json +0 -57
  588. package/nodes/openai-gpt-5-3-codex/openai-gpt-5-3-codex.tests.json +0 -57
  589. package/nodes/openai-gpt-5-4/openai-gpt-5-4.tests.json +0 -57
  590. package/nodes/openai-gpt-5-4-image-2/openai-gpt-5-4-image-2.tests.json +0 -26
  591. package/nodes/openai-gpt-5-4-mini/openai-gpt-5-4-mini.tests.json +0 -57
  592. package/nodes/openai-gpt-5-4-nano/openai-gpt-5-4-nano.tests.json +0 -57
  593. package/nodes/openai-gpt-5-4-pro/openai-gpt-5-4-pro.tests.json +0 -57
  594. package/nodes/openai-gpt-5-5/openai-gpt-5-5.tests.json +0 -57
  595. package/nodes/openai-gpt-5-5-pro/openai-gpt-5-5-pro.tests.json +0 -57
  596. package/nodes/openai-gpt-5-chat/openai-gpt-5-chat.tests.json +0 -26
  597. package/nodes/openai-gpt-5-codex/openai-gpt-5-codex.tests.json +0 -57
  598. package/nodes/openai-gpt-5-image/openai-gpt-5-image.tests.json +0 -44
  599. package/nodes/openai-gpt-5-image-mini/openai-gpt-5-image-mini.tests.json +0 -44
  600. package/nodes/openai-gpt-5-mini/openai-gpt-5-mini.tests.json +0 -57
  601. package/nodes/openai-gpt-5-nano/openai-gpt-5-nano.tests.json +0 -57
  602. package/nodes/openai-gpt-5-pro/openai-gpt-5-pro.tests.json +0 -57
  603. package/nodes/openai-gpt-audio/openai-gpt-audio.tests.json +0 -80
  604. package/nodes/openai-gpt-audio-mini/openai-gpt-audio-mini.tests.json +0 -80
  605. package/nodes/openai-gpt-chat-latest/openai-gpt-chat-latest.tests.json +0 -57
  606. package/nodes/openai-gpt-oss-120b/openai-gpt-oss-120b.tests.json +0 -80
  607. package/nodes/openai-gpt-oss-120b-free/openai-gpt-oss-120b-free.tests.json +0 -80
  608. package/nodes/openai-gpt-oss-20b/openai-gpt-oss-20b.tests.json +0 -80
  609. package/nodes/openai-gpt-oss-20b-free/openai-gpt-oss-20b-free.tests.json +0 -80
  610. package/nodes/openai-gpt-oss-safeguard-20b/openai-gpt-oss-safeguard-20b.tests.json +0 -80
  611. package/nodes/openai-o1/openai-o1.tests.json +0 -57
  612. package/nodes/openai-o1-pro/openai-o1-pro.tests.json +0 -26
  613. package/nodes/openai-o3/openai-o3.tests.json +0 -57
  614. package/nodes/openai-o3-deep-research/openai-o3-deep-research.tests.json +0 -80
  615. package/nodes/openai-o3-mini/openai-o3-mini.tests.json +0 -57
  616. package/nodes/openai-o3-mini-high/openai-o3-mini-high.tests.json +0 -57
  617. package/nodes/openai-o3-pro/openai-o3-pro.tests.json +0 -57
  618. package/nodes/openai-o4-mini/openai-o4-mini.tests.json +0 -57
  619. package/nodes/openai-o4-mini-deep-research/openai-o4-mini-deep-research.tests.json +0 -80
  620. package/nodes/openai-o4-mini-high/openai-o4-mini-high.tests.json +0 -57
  621. package/nodes/openai-omni-moderation-latest/openai-omni-moderation-latest.tests.json +0 -103
  622. package/nodes/openai-text-embedding-3-large/openai-text-embedding-3-large.tests.json +0 -48
  623. package/nodes/openai-text-embedding-3-small/openai-text-embedding-3-small.tests.json +0 -48
  624. package/nodes/openai-text-embedding-ada-002/openai-text-embedding-ada-002.tests.json +0 -48
  625. package/nodes/or-gate/or-gate.tests.json +0 -22
  626. package/nodes/parse-url/parse-url.tests.json +0 -121
  627. package/nodes/perplexity-pplx-embed-v1-0-6b/perplexity-pplx-embed-v1-0-6b.tests.json +0 -48
  628. package/nodes/perplexity-pplx-embed-v1-4b/perplexity-pplx-embed-v1-4b.tests.json +0 -48
  629. package/nodes/perplexity-sonar/perplexity-sonar.tests.json +0 -44
  630. package/nodes/perplexity-sonar-deep-research/perplexity-sonar-deep-research.tests.json +0 -80
  631. package/nodes/perplexity-sonar-pro/perplexity-sonar-pro.tests.json +0 -44
  632. package/nodes/perplexity-sonar-pro-search/perplexity-sonar-pro-search.tests.json +0 -44
  633. package/nodes/perplexity-sonar-reasoning-pro/perplexity-sonar-reasoning-pro.tests.json +0 -80
  634. package/nodes/pinecone-query/pinecone-query.tests.json +0 -12
  635. package/nodes/pinecone-upsert/pinecone-upsert.tests.json +0 -13
  636. package/nodes/power/power.tests.json +0 -42
  637. package/nodes/prompt-injection-guard/prompt-injection-guard.tests.json +0 -205
  638. package/nodes/quartiles/quartiles.tests.json +0 -69
  639. package/nodes/qwen-qwen-2-5-72b-instruct/qwen-qwen-2-5-72b-instruct.tests.json +0 -80
  640. package/nodes/qwen-qwen-2-5-7b-instruct/qwen-qwen-2-5-7b-instruct.tests.json +0 -80
  641. package/nodes/qwen-qwen-2-5-coder-32b-instruct/qwen-qwen-2-5-coder-32b-instruct.tests.json +0 -80
  642. package/nodes/qwen-qwen-plus/qwen-qwen-plus.tests.json +0 -80
  643. package/nodes/qwen-qwen-plus-2025-07-28/qwen-qwen-plus-2025-07-28.tests.json +0 -80
  644. package/nodes/qwen-qwen-plus-2025-07-28-thinking/qwen-qwen-plus-2025-07-28-thinking.tests.json +0 -80
  645. package/nodes/qwen-qwen2-5-vl-72b-instruct/qwen-qwen2-5-vl-72b-instruct.tests.json +0 -44
  646. package/nodes/qwen-qwen3-14b/qwen-qwen3-14b.tests.json +0 -80
  647. package/nodes/qwen-qwen3-235b-a22b/qwen-qwen3-235b-a22b.tests.json +0 -80
  648. package/nodes/qwen-qwen3-235b-a22b-2507/qwen-qwen3-235b-a22b-2507.tests.json +0 -80
  649. package/nodes/qwen-qwen3-235b-a22b-thinking-2507/qwen-qwen3-235b-a22b-thinking-2507.tests.json +0 -80
  650. package/nodes/qwen-qwen3-30b-a3b/qwen-qwen3-30b-a3b.tests.json +0 -80
  651. package/nodes/qwen-qwen3-30b-a3b-instruct-2507/qwen-qwen3-30b-a3b-instruct-2507.tests.json +0 -80
  652. package/nodes/qwen-qwen3-30b-a3b-thinking-2507/qwen-qwen3-30b-a3b-thinking-2507.tests.json +0 -80
  653. package/nodes/qwen-qwen3-32b/qwen-qwen3-32b.tests.json +0 -80
  654. package/nodes/qwen-qwen3-5-122b-a10b/qwen-qwen3-5-122b-a10b.tests.json +0 -80
  655. package/nodes/qwen-qwen3-5-27b/qwen-qwen3-5-27b.tests.json +0 -80
  656. package/nodes/qwen-qwen3-5-35b-a3b/qwen-qwen3-5-35b-a3b.tests.json +0 -80
  657. package/nodes/qwen-qwen3-5-397b-a17b/qwen-qwen3-5-397b-a17b.tests.json +0 -80
  658. package/nodes/qwen-qwen3-5-9b/qwen-qwen3-5-9b.tests.json +0 -80
  659. package/nodes/qwen-qwen3-5-flash-02-23/qwen-qwen3-5-flash-02-23.tests.json +0 -80
  660. package/nodes/qwen-qwen3-5-plus-02-15/qwen-qwen3-5-plus-02-15.tests.json +0 -80
  661. package/nodes/qwen-qwen3-5-plus-20260420/qwen-qwen3-5-plus-20260420.tests.json +0 -80
  662. package/nodes/qwen-qwen3-6-27b/qwen-qwen3-6-27b.tests.json +0 -80
  663. package/nodes/qwen-qwen3-6-35b-a3b/qwen-qwen3-6-35b-a3b.tests.json +0 -80
  664. package/nodes/qwen-qwen3-6-flash/qwen-qwen3-6-flash.tests.json +0 -80
  665. package/nodes/qwen-qwen3-6-max-preview/qwen-qwen3-6-max-preview.tests.json +0 -80
  666. package/nodes/qwen-qwen3-6-plus/qwen-qwen3-6-plus.tests.json +0 -80
  667. package/nodes/qwen-qwen3-7-max/qwen-qwen3-7-max.tests.json +0 -80
  668. package/nodes/qwen-qwen3-7-plus/qwen-qwen3-7-plus.tests.json +0 -80
  669. package/nodes/qwen-qwen3-8b/qwen-qwen3-8b.tests.json +0 -80
  670. package/nodes/qwen-qwen3-coder/qwen-qwen3-coder.tests.json +0 -80
  671. package/nodes/qwen-qwen3-coder-30b-a3b-instruct/qwen-qwen3-coder-30b-a3b-instruct.tests.json +0 -80
  672. package/nodes/qwen-qwen3-coder-flash/qwen-qwen3-coder-flash.tests.json +0 -80
  673. package/nodes/qwen-qwen3-coder-free/qwen-qwen3-coder-free.tests.json +0 -80
  674. package/nodes/qwen-qwen3-coder-next/qwen-qwen3-coder-next.tests.json +0 -80
  675. package/nodes/qwen-qwen3-coder-plus/qwen-qwen3-coder-plus.tests.json +0 -80
  676. package/nodes/qwen-qwen3-embedding-4b/qwen-qwen3-embedding-4b.tests.json +0 -48
  677. package/nodes/qwen-qwen3-embedding-8b/qwen-qwen3-embedding-8b.tests.json +0 -48
  678. package/nodes/qwen-qwen3-max/qwen-qwen3-max.tests.json +0 -80
  679. package/nodes/qwen-qwen3-max-thinking/qwen-qwen3-max-thinking.tests.json +0 -80
  680. package/nodes/qwen-qwen3-next-80b-a3b-instruct/qwen-qwen3-next-80b-a3b-instruct.tests.json +0 -80
  681. package/nodes/qwen-qwen3-next-80b-a3b-instruct-free/qwen-qwen3-next-80b-a3b-instruct-free.tests.json +0 -80
  682. package/nodes/qwen-qwen3-next-80b-a3b-thinking/qwen-qwen3-next-80b-a3b-thinking.tests.json +0 -80
  683. package/nodes/qwen-qwen3-vl-235b-a22b-instruct/qwen-qwen3-vl-235b-a22b-instruct.tests.json +0 -80
  684. package/nodes/qwen-qwen3-vl-235b-a22b-thinking/qwen-qwen3-vl-235b-a22b-thinking.tests.json +0 -80
  685. package/nodes/qwen-qwen3-vl-30b-a3b-instruct/qwen-qwen3-vl-30b-a3b-instruct.tests.json +0 -80
  686. package/nodes/qwen-qwen3-vl-30b-a3b-thinking/qwen-qwen3-vl-30b-a3b-thinking.tests.json +0 -80
  687. package/nodes/qwen-qwen3-vl-32b-instruct/qwen-qwen3-vl-32b-instruct.tests.json +0 -80
  688. package/nodes/qwen-qwen3-vl-8b-instruct/qwen-qwen3-vl-8b-instruct.tests.json +0 -80
  689. package/nodes/qwen-qwen3-vl-8b-thinking/qwen-qwen3-vl-8b-thinking.tests.json +0 -80
  690. package/nodes/random-error/random-error.tests.json +0 -38
  691. package/nodes/random-number/random-number.tests.json +0 -59
  692. package/nodes/range/range.tests.json +0 -68
  693. package/nodes/resend-send-email/resend-send-email.tests.json +0 -14
  694. package/nodes/response-format/response-format.tests.json +0 -233
  695. package/nodes/round/round.tests.json +0 -38
  696. package/nodes/route/route.tests.json +0 -90
  697. package/nodes/self-healing-error/self-healing-error.tests.json +0 -34
  698. package/nodes/sendgrid-send-email/sendgrid-send-email.tests.json +0 -41
  699. package/nodes/sentence-transformers-all-minilm-l12-v2/sentence-transformers-all-minilm-l12-v2.tests.json +0 -48
  700. package/nodes/sentence-transformers-all-minilm-l6-v2/sentence-transformers-all-minilm-l6-v2.tests.json +0 -48
  701. package/nodes/sentence-transformers-all-mpnet-base-v2/sentence-transformers-all-mpnet-base-v2.tests.json +0 -48
  702. package/nodes/sentence-transformers-multi-qa-mpnet-base-dot-v1/sentence-transformers-multi-qa-mpnet-base-dot-v1.tests.json +0 -48
  703. package/nodes/sentence-transformers-paraphrase-minilm-l6-v2/sentence-transformers-paraphrase-minilm-l6-v2.tests.json +0 -48
  704. package/nodes/set-object-property/set-object-property.tests.json +0 -173
  705. package/nodes/simple-agent/simple-agent.tests.json +0 -28
  706. package/nodes/slack-send-message/slack-send-message.tests.json +0 -13
  707. package/nodes/split-into-chunks/split-into-chunks.tests.json +0 -74
  708. package/nodes/standard-deviation/standard-deviation.tests.json +0 -49
  709. package/nodes/string/string.tests.json +0 -56
  710. package/nodes/string-case/string-case.tests.json +0 -44
  711. package/nodes/string-concat/string-concat.tests.json +0 -12
  712. package/nodes/string-contains/string-contains.tests.json +0 -58
  713. package/nodes/string-length/string-length.tests.json +0 -22
  714. package/nodes/string-match/string-match.tests.json +0 -82
  715. package/nodes/string-replace/string-replace.tests.json +0 -62
  716. package/nodes/string-split/string-split.tests.json +0 -26
  717. package/nodes/string-substring/string-substring.tests.json +0 -44
  718. package/nodes/string-template/string-template.tests.json +0 -115
  719. package/nodes/string-trim/string-trim.tests.json +0 -38
  720. package/nodes/strip-html/strip-html.tests.json +0 -94
  721. package/nodes/stripe-list-customers/stripe-list-customers.tests.json +0 -24
  722. package/nodes/subtract/subtract.tests.json +0 -41
  723. package/nodes/supabase-query/supabase-query.tests.json +0 -14
  724. package/nodes/switch/switch.tests.json +0 -85
  725. package/nodes/system-prompt/system-prompt.tests.json +0 -113
  726. package/nodes/temperature/temperature.tests.json +0 -47
  727. package/nodes/text-scratch-pad/text-scratch-pad.tests.json +0 -131
  728. package/nodes/text-to-conversation/text-to-conversation.tests.json +0 -132
  729. package/nodes/thenlper-gte-base/thenlper-gte-base.tests.json +0 -48
  730. package/nodes/thenlper-gte-large/thenlper-gte-large.tests.json +0 -48
  731. package/nodes/throw-error/throw-error.tests.json +0 -44
  732. package/nodes/time-adder/time-adder.tests.json +0 -158
  733. package/nodes/timestamp/timestamp.tests.json +0 -90
  734. package/nodes/token-count/token-count.tests.json +0 -163
  735. package/nodes/tokenizer/tokenizer.tests.json +0 -129
  736. package/nodes/tool-cleanup/tool-cleanup.tests.json +0 -160
  737. package/nodes/truncate-by-tokens/truncate-by-tokens.tests.json +0 -84
  738. package/nodes/truncate-by-tokens-from-start/truncate-by-tokens-from-start.tests.json +0 -84
  739. package/nodes/truncate-by-tokens-preserve-system/truncate-by-tokens-preserve-system.tests.json +0 -144
  740. package/nodes/truncate-old-tool-responses/truncate-old-tool-responses.tests.json +0 -207
  741. package/nodes/truncate-text/truncate-text.tests.json +0 -115
  742. package/nodes/twilio-send-sms/twilio-send-sms.tests.json +0 -14
  743. package/nodes/untokenizer/untokenizer.tests.json +0 -83
  744. package/nodes/word-count/word-count.tests.json +0 -100
  745. package/nodes/x-ai-grok-4-20/x-ai-grok-4-20.tests.json +0 -80
  746. package/nodes/x-ai-grok-4-20-multi-agent/x-ai-grok-4-20-multi-agent.tests.json +0 -44
  747. package/nodes/x-ai-grok-4-3/x-ai-grok-4-3.tests.json +0 -80
  748. package/nodes/x-ai-grok-build-0-1/x-ai-grok-build-0-1.tests.json +0 -80
  749. package/nodes/xml-to-json/xml-to-json.tests.json +0 -113
  750. package/nodes/xnor-gate/xnor-gate.tests.json +0 -22
  751. package/nodes/xor-gate/xor-gate.tests.json +0 -22
  752. package/nodes/yaml-to-json/yaml-to-json.tests.json +0 -112
@@ -26,7 +26,7 @@ export default async ({inputs, settings, config, nodeConfig}) => {
26
26
 
27
27
  // Build parameters object from config inputs
28
28
  const params = {};
29
- const configInputs = [{"name":"messages","display_name":"Conversation","type":"conversation or message or string","description":"Array of chat messages that make up the conversation","required":true},{"name":"system_prompt","display_name":"System Message","type":"message or string","description":"System prompt to instruct the model","default":null},{"name":"tools","display_name":"Tools","type":"tool or array of tools","description":"Array of tools to use","default":null,"allow_multiple":true},{"name":"tool_choice","display_name":"Tool Choice","type":"string","description":"Tool selection control","default":null},{"name":"response_format","display_name":"Response Format","type":"object","description":"Output format specification","default":null},{"name":"temperature","display_name":"Temperature","type":"number","description":"Controls randomness (0-2)","default":null},{"name":"top_p","display_name":"Top P","type":"number","description":"Controls diversity via nucleus sampling","default":null},{"name":"max_tokens","display_name":"Max Tokens","type":"number","description":"Maximum tokens to generate","default":null},{"name":"presence_penalty","display_name":"Presence Penalty","type":"number","description":"Encourages new topics (-2 to 2)","default":null},{"name":"seed","display_name":"Seed","type":"number","description":"Deterministic outputs","default":null}];
29
+ const configInputs = [{"name":"messages","display_name":"Conversation","type":"conversation or message or string","description":"Array of chat messages that make up the conversation","required":true},{"name":"system_prompt","display_name":"System Message","type":"message or string","description":"System prompt to instruct the model","default":null},{"name":"tools","display_name":"Tools","type":"tool or array of tools","description":"Array of tools to use","default":null,"allow_multiple":true},{"name":"tool_choice","display_name":"Tool Choice","type":"string","description":"Tool selection control","default":null},{"name":"response_format","display_name":"Response Format","type":"object","description":"Output format specification","default":null},{"name":"stop","display_name":"Stop","type":"string or array","description":"Custom stop sequences","default":null},{"name":"temperature","display_name":"Temperature","type":"number","description":"Controls randomness (0-2)","default":null},{"name":"top_p","display_name":"Top P","type":"number","description":"Controls diversity via nucleus sampling","default":null},{"name":"max_tokens","display_name":"Max Tokens","type":"number","description":"Maximum tokens to generate","default":null},{"name":"frequency_penalty","display_name":"Frequency Penalty","type":"number","description":"Reduces repetition (-2 to 2)","default":null},{"name":"presence_penalty","display_name":"Presence Penalty","type":"number","description":"Encourages new topics (-2 to 2)","default":null},{"name":"seed","display_name":"Seed","type":"number","description":"Deterministic outputs","default":null},{"name":"logprobs","display_name":"Logprobs","type":"boolean","description":"Return log probabilities of the output tokens","default":null},{"name":"top_logprobs","display_name":"Top Logprobs","type":"number","description":"Number of most likely tokens to return at each position (0-20). Requires logprobs to be enabled.","default":null}];
30
30
 
31
31
  for (const input of configInputs) {
32
32
 
@@ -124,6 +124,7 @@ export default async ({inputs, settings, config, nodeConfig}) => {
124
124
  content: response.content,
125
125
  role: response.role,
126
126
  tool_calls: response.tool_calls,
127
+ logprobs: response.logprobs,
127
128
  finish_reason: response.finish_reason,
128
129
  usage: response.usage,
129
130
  cost_total: response.cost_total,
@@ -6,12 +6,12 @@
6
6
  "provider": "qwen",
7
7
  "accepts_plugins": true,
8
8
  "model_id": "qwen/qwen3-vl-8b-instruct",
9
- "context_length": 256000,
9
+ "context_length": 262144,
10
10
  "supported_parameters": [
11
11
  "frequency_penalty",
12
12
  "logit_bias",
13
+ "logprobs",
13
14
  "max_tokens",
14
- "min_p",
15
15
  "presence_penalty",
16
16
  "repetition_penalty",
17
17
  "response_format",
@@ -22,6 +22,7 @@
22
22
  "tool_choice",
23
23
  "tools",
24
24
  "top_k",
25
+ "top_logprobs",
25
26
  "top_p"
26
27
  ],
27
28
  "inputs": [
@@ -109,6 +110,20 @@
109
110
  "type": "number",
110
111
  "description": "Deterministic outputs",
111
112
  "default": null
113
+ },
114
+ {
115
+ "name": "logprobs",
116
+ "display_name": "Logprobs",
117
+ "type": "boolean",
118
+ "description": "Return log probabilities of the output tokens",
119
+ "default": null
120
+ },
121
+ {
122
+ "name": "top_logprobs",
123
+ "display_name": "Top Logprobs",
124
+ "type": "number",
125
+ "description": "Number of most likely tokens to return at each position (0-20). Requires logprobs to be enabled.",
126
+ "default": null
112
127
  }
113
128
  ],
114
129
  "outputs": [
@@ -169,6 +184,12 @@
169
184
  "display_name": "Finish Reason",
170
185
  "type": "string",
171
186
  "description": "Why the completion finished"
187
+ },
188
+ {
189
+ "name": "logprobs",
190
+ "display_name": "Log Probabilities",
191
+ "type": "object",
192
+ "description": "Token probabilities and logprobs from the model"
172
193
  }
173
194
  ],
174
195
  "pricing": {
@@ -177,15 +198,23 @@
177
198
  {
178
199
  "key": "input_cost_per_million",
179
200
  "label": "Input Tokens (per 1M)",
180
- "cost": 0.08,
201
+ "cost": 0.117,
181
202
  "currency": "USD"
182
203
  },
183
204
  {
184
205
  "key": "output_cost_per_million",
185
206
  "label": "Output Tokens (per 1M)",
186
- "cost": 0.5,
207
+ "cost": 0.45499999999999996,
187
208
  "currency": "USD"
188
209
  }
189
210
  ]
211
+ },
212
+ "deprecated": true,
213
+ "deprecation": {
214
+ "reason": "Scheduled for removal by the provider",
215
+ "since": "2026-09-28",
216
+ "expiration_date": "2026-10-09",
217
+ "replacement": null,
218
+ "source": "openrouter"
190
219
  }
191
220
  }
@@ -26,7 +26,7 @@ export default async ({inputs, settings, config, nodeConfig}) => {
26
26
 
27
27
  // Build parameters object from config inputs
28
28
  const params = {};
29
- const configInputs = [{"name":"messages","display_name":"Conversation","type":"conversation or message or string","description":"Array of chat messages that make up the conversation","required":true},{"name":"system_prompt","display_name":"System Message","type":"message or string","description":"System prompt to instruct the model","default":null},{"name":"tools","display_name":"Tools","type":"tool or array of tools","description":"Array of tools to use","default":null,"allow_multiple":true},{"name":"tool_choice","display_name":"Tool Choice","type":"string","description":"Tool selection control","default":null},{"name":"response_format","display_name":"Response Format","type":"object","description":"Output format specification","default":null},{"name":"stop","display_name":"Stop","type":"string or array","description":"Custom stop sequences","default":null},{"name":"temperature","display_name":"Temperature","type":"number","description":"Controls randomness (0-2)","default":null},{"name":"top_p","display_name":"Top P","type":"number","description":"Controls diversity via nucleus sampling","default":null},{"name":"max_tokens","display_name":"Max Tokens","type":"number","description":"Maximum tokens to generate","default":null},{"name":"frequency_penalty","display_name":"Frequency Penalty","type":"number","description":"Reduces repetition (-2 to 2)","default":null},{"name":"presence_penalty","display_name":"Presence Penalty","type":"number","description":"Encourages new topics (-2 to 2)","default":null},{"name":"seed","display_name":"Seed","type":"number","description":"Deterministic outputs","default":null}];
29
+ const configInputs = [{"name":"messages","display_name":"Conversation","type":"conversation or message or string","description":"Array of chat messages that make up the conversation","required":true},{"name":"system_prompt","display_name":"System Message","type":"message or string","description":"System prompt to instruct the model","default":null},{"name":"tools","display_name":"Tools","type":"tool or array of tools","description":"Array of tools to use","default":null,"allow_multiple":true},{"name":"tool_choice","display_name":"Tool Choice","type":"string","description":"Tool selection control","default":null},{"name":"response_format","display_name":"Response Format","type":"object","description":"Output format specification","default":null},{"name":"stop","display_name":"Stop","type":"string or array","description":"Custom stop sequences","default":null},{"name":"temperature","display_name":"Temperature","type":"number","description":"Controls randomness (0-2)","default":null},{"name":"top_p","display_name":"Top P","type":"number","description":"Controls diversity via nucleus sampling","default":null},{"name":"max_tokens","display_name":"Max Tokens","type":"number","description":"Maximum tokens to generate","default":null},{"name":"frequency_penalty","display_name":"Frequency Penalty","type":"number","description":"Reduces repetition (-2 to 2)","default":null},{"name":"presence_penalty","display_name":"Presence Penalty","type":"number","description":"Encourages new topics (-2 to 2)","default":null},{"name":"seed","display_name":"Seed","type":"number","description":"Deterministic outputs","default":null},{"name":"logprobs","display_name":"Logprobs","type":"boolean","description":"Return log probabilities of the output tokens","default":null},{"name":"top_logprobs","display_name":"Top Logprobs","type":"number","description":"Number of most likely tokens to return at each position (0-20). Requires logprobs to be enabled.","default":null}];
30
30
 
31
31
  for (const input of configInputs) {
32
32
 
@@ -124,6 +124,7 @@ export default async ({inputs, settings, config, nodeConfig}) => {
124
124
  content: response.content,
125
125
  role: response.role,
126
126
  tool_calls: response.tool_calls,
127
+ logprobs: response.logprobs,
127
128
  finish_reason: response.finish_reason,
128
129
  usage: response.usage,
129
130
  cost_total: response.cost_total,
@@ -6,18 +6,23 @@
6
6
  "provider": "qwen",
7
7
  "accepts_plugins": true,
8
8
  "model_id": "qwen/qwen3-vl-8b-thinking",
9
- "context_length": 256000,
9
+ "context_length": 131072,
10
10
  "supported_parameters": [
11
+ "frequency_penalty",
11
12
  "include_reasoning",
13
+ "logprobs",
12
14
  "max_tokens",
13
15
  "presence_penalty",
14
16
  "reasoning",
15
17
  "response_format",
16
18
  "seed",
19
+ "stop",
17
20
  "structured_outputs",
18
21
  "temperature",
19
22
  "tool_choice",
20
23
  "tools",
24
+ "top_k",
25
+ "top_logprobs",
21
26
  "top_p"
22
27
  ],
23
28
  "inputs": [
@@ -64,6 +69,13 @@
64
69
  "description": "Output format specification",
65
70
  "default": null
66
71
  },
72
+ {
73
+ "name": "stop",
74
+ "display_name": "Stop",
75
+ "type": "string or array",
76
+ "description": "Custom stop sequences",
77
+ "default": null
78
+ },
67
79
  {
68
80
  "name": "temperature",
69
81
  "display_name": "Temperature",
@@ -85,6 +97,13 @@
85
97
  "description": "Maximum tokens to generate",
86
98
  "default": null
87
99
  },
100
+ {
101
+ "name": "frequency_penalty",
102
+ "display_name": "Frequency Penalty",
103
+ "type": "number",
104
+ "description": "Reduces repetition (-2 to 2)",
105
+ "default": null
106
+ },
88
107
  {
89
108
  "name": "presence_penalty",
90
109
  "display_name": "Presence Penalty",
@@ -98,6 +117,20 @@
98
117
  "type": "number",
99
118
  "description": "Deterministic outputs",
100
119
  "default": null
120
+ },
121
+ {
122
+ "name": "logprobs",
123
+ "display_name": "Logprobs",
124
+ "type": "boolean",
125
+ "description": "Return log probabilities of the output tokens",
126
+ "default": null
127
+ },
128
+ {
129
+ "name": "top_logprobs",
130
+ "display_name": "Top Logprobs",
131
+ "type": "number",
132
+ "description": "Number of most likely tokens to return at each position (0-20). Requires logprobs to be enabled.",
133
+ "default": null
101
134
  }
102
135
  ],
103
136
  "outputs": [
@@ -159,6 +192,12 @@
159
192
  "type": "string",
160
193
  "description": "Why the completion finished"
161
194
  },
195
+ {
196
+ "name": "logprobs",
197
+ "display_name": "Log Probabilities",
198
+ "type": "object",
199
+ "description": "Token probabilities and logprobs from the model"
200
+ },
162
201
  {
163
202
  "name": "reasoning",
164
203
  "display_name": "Reasoning",
@@ -179,15 +218,23 @@
179
218
  {
180
219
  "key": "input_cost_per_million",
181
220
  "label": "Input Tokens (per 1M)",
182
- "cost": 0.117,
221
+ "cost": 0.18,
183
222
  "currency": "USD"
184
223
  },
185
224
  {
186
225
  "key": "output_cost_per_million",
187
226
  "label": "Output Tokens (per 1M)",
188
- "cost": 1.365,
227
+ "cost": 2.0999999999999996,
189
228
  "currency": "USD"
190
229
  }
191
230
  ]
231
+ },
232
+ "deprecated": true,
233
+ "deprecation": {
234
+ "reason": "Scheduled for removal by the provider",
235
+ "since": "2026-09-28",
236
+ "expiration_date": "2026-10-09",
237
+ "replacement": null,
238
+ "source": "openrouter"
192
239
  }
193
240
  }
@@ -26,7 +26,7 @@ export default async ({inputs, settings, config, nodeConfig}) => {
26
26
 
27
27
  // Build parameters object from config inputs
28
28
  const params = {};
29
- const configInputs = [{"name":"messages","display_name":"Conversation","type":"conversation or message or string","description":"Array of chat messages that make up the conversation","required":true},{"name":"system_prompt","display_name":"System Message","type":"message or string","description":"System prompt to instruct the model","default":null},{"name":"tools","display_name":"Tools","type":"tool or array of tools","description":"Array of tools to use","default":null,"allow_multiple":true},{"name":"tool_choice","display_name":"Tool Choice","type":"string","description":"Tool selection control","default":null},{"name":"reasoning","display_name":"Reasoning","type":"boolean","description":"Enable reasoning mode","default":null},{"name":"response_format","display_name":"Response Format","type":"object","description":"Output format specification","default":null},{"name":"temperature","display_name":"Temperature","type":"number","description":"Controls randomness (0-2)","default":null},{"name":"top_p","display_name":"Top P","type":"number","description":"Controls diversity via nucleus sampling","default":null},{"name":"max_tokens","display_name":"Max Tokens","type":"number","description":"Maximum tokens to generate","default":null},{"name":"presence_penalty","display_name":"Presence Penalty","type":"number","description":"Encourages new topics (-2 to 2)","default":null},{"name":"seed","display_name":"Seed","type":"number","description":"Deterministic outputs","default":null}];
29
+ const configInputs = [{"name":"messages","display_name":"Conversation","type":"conversation or message or string","description":"Array of chat messages that make up the conversation","required":true},{"name":"system_prompt","display_name":"System Message","type":"message or string","description":"System prompt to instruct the model","default":null},{"name":"tools","display_name":"Tools","type":"tool or array of tools","description":"Array of tools to use","default":null,"allow_multiple":true},{"name":"tool_choice","display_name":"Tool Choice","type":"string","description":"Tool selection control","default":null},{"name":"reasoning","display_name":"Reasoning","type":"boolean","description":"Enable reasoning mode","default":null},{"name":"response_format","display_name":"Response Format","type":"object","description":"Output format specification","default":null},{"name":"stop","display_name":"Stop","type":"string or array","description":"Custom stop sequences","default":null},{"name":"temperature","display_name":"Temperature","type":"number","description":"Controls randomness (0-2)","default":null},{"name":"top_p","display_name":"Top P","type":"number","description":"Controls diversity via nucleus sampling","default":null},{"name":"max_tokens","display_name":"Max Tokens","type":"number","description":"Maximum tokens to generate","default":null},{"name":"frequency_penalty","display_name":"Frequency Penalty","type":"number","description":"Reduces repetition (-2 to 2)","default":null},{"name":"presence_penalty","display_name":"Presence Penalty","type":"number","description":"Encourages new topics (-2 to 2)","default":null},{"name":"seed","display_name":"Seed","type":"number","description":"Deterministic outputs","default":null},{"name":"logprobs","display_name":"Logprobs","type":"boolean","description":"Return log probabilities of the output tokens","default":null},{"name":"top_logprobs","display_name":"Top Logprobs","type":"number","description":"Number of most likely tokens to return at each position (0-20). Requires logprobs to be enabled.","default":null}];
30
30
 
31
31
  for (const input of configInputs) {
32
32
 
@@ -126,6 +126,7 @@ export default async ({inputs, settings, config, nodeConfig}) => {
126
126
  tool_calls: response.tool_calls,
127
127
  reasoning: response.reasoning,
128
128
  refusal: response.refusal,
129
+ logprobs: response.logprobs,
129
130
  finish_reason: response.finish_reason,
130
131
  usage: response.usage,
131
132
  cost_total: response.cost_total,
@@ -0,0 +1,83 @@
1
+ {
2
+ "display_name": "Respan: Span-01",
3
+ "tagline": "Answer typed questions about a state",
4
+ "description": "Span-01 is a behavior scoring model from Respan. It reads a conversation span and returns, for each plain-language behavior you define, the probability that the behavior is present. It is...\n\nOnly accepts noul questions whose instructions and criteria are plain strings. Scores a conversation span: connect a conversation that ends with an assistant reply (converted automatically), or a string.",
5
+ "category": "decision",
6
+ "provider": "respan",
7
+ "model_id": "respan/span-01",
8
+ "context_length": 0,
9
+ "supported_question_types": [
10
+ "noul"
11
+ ],
12
+ "inputs": [
13
+ {
14
+ "name": "state",
15
+ "display_name": "State",
16
+ "type": "string or object or array or array of objects or array of strings or conversation or message",
17
+ "description": "The conversation span to score: a conversation ending with an assistant reply (converted to { input, output } automatically), a single assistant message, or plain text. Other structured data is sent as JSON text.",
18
+ "required": true
19
+ },
20
+ {
21
+ "name": "questions",
22
+ "display_name": "Questions",
23
+ "type": "object",
24
+ "description": "Map of question id -> typed question. Each question has a type (\"noul\" = yes/no probability, \"choice\" = pick one option, \"score\" = rate on ordered levels), instructions, and criteria (noul: optional { true, false }; choice: { option: description|null }; score: ordered array of 2-10 level descriptions). Answers come back under the same ids.",
25
+ "required": true
26
+ }
27
+ ],
28
+ "outputs": [
29
+ {
30
+ "name": "answers",
31
+ "display_name": "Answers",
32
+ "type": "object",
33
+ "description": "Typed answer per question id. noul: { type, noul }; choice: { type, choice, probabilities, confidence }; score: { type, score, legend, probabilities, confidence }"
34
+ },
35
+ {
36
+ "name": "values",
37
+ "display_name": "Values",
38
+ "type": "object",
39
+ "description": "Shortcut map of question id -> primary value (noul probability, chosen option, or score)"
40
+ },
41
+ {
42
+ "name": "model",
43
+ "display_name": "Model",
44
+ "type": "string",
45
+ "description": "The versioned model id that answered (aliases resolve to a specific version)"
46
+ },
47
+ {
48
+ "name": "usage",
49
+ "display_name": "Token Usage",
50
+ "type": "object",
51
+ "description": "Token usage statistics"
52
+ },
53
+ {
54
+ "name": "cost_total",
55
+ "display_name": "Total Cost",
56
+ "type": "number",
57
+ "description": "Total cost for this request (USD)"
58
+ },
59
+ {
60
+ "name": "cost_itemized",
61
+ "display_name": "Itemized Cost",
62
+ "type": "array of objects",
63
+ "description": "Detailed breakdown of costs"
64
+ }
65
+ ],
66
+ "pricing": {
67
+ "reference": "https://openrouter.ai/models",
68
+ "items": [
69
+ {
70
+ "key": "input_cost_per_million",
71
+ "label": "Input Tokens (per 1M)",
72
+ "cost": 0.02,
73
+ "currency": "USD"
74
+ },
75
+ {
76
+ "key": "output_cost_per_million",
77
+ "label": "Output Tokens (per 1M)",
78
+ "cost": 0,
79
+ "currency": "USD"
80
+ }
81
+ ]
82
+ }
83
+ }
@@ -0,0 +1,71 @@
1
+ // This model scores a conversation span: { input: [messages], output: assistantMessage },
2
+ // where every message has string content. Convert workbench conversation/message
3
+ // shapes into that; plain strings pass through; other data is sent as JSON text.
4
+ const SPAN_ROLES = { system: 'system', developer: 'system', user: 'user', assistant: 'assistant', tool: 'tool' };
5
+ const contentToText = (content) => {
6
+ if (content === null || content === undefined) return '';
7
+ if (typeof content === 'string') return content;
8
+ if (Array.isArray(content)) {
9
+ return content
10
+ .map(part => typeof part === 'string' ? part : (part?.text ?? (part?.type === 'image_url' ? '[image]' : JSON.stringify(part))))
11
+ .join('\n');
12
+ }
13
+ return JSON.stringify(content);
14
+ };
15
+ const isMessage = (m) => m !== null && typeof m === 'object' && !Array.isArray(m) && typeof m.role === 'string';
16
+ const toSpanMessage = (m) => {
17
+ const text = contentToText(m.content);
18
+ return {
19
+ role: SPAN_ROLES[m.role] || 'user',
20
+ content: text || (m.tool_calls ? JSON.stringify(m.tool_calls) : '')
21
+ };
22
+ };
23
+ const toSpanState = (state) => {
24
+ if (typeof state === 'string') return state;
25
+ if (isMessage(state) || (Array.isArray(state) && state.length > 0 && state.every(isMessage))) {
26
+ const messages = Array.isArray(state) ? state : [state];
27
+ const last = messages[messages.length - 1];
28
+ if (last.role !== 'assistant') {
29
+ throw new Error(`this model scores a conversation span that ends with an assistant reply, but the last message has role "${last.role}". Connect a conversation ending in an assistant message, or a string.`);
30
+ }
31
+ return { input: messages.slice(0, -1).map(toSpanMessage), output: toSpanMessage(last) };
32
+ }
33
+ if (state !== null && typeof state === 'object' && !Array.isArray(state) && Array.isArray(state.input) && isMessage(state.output)) {
34
+ return state; // already a span
35
+ }
36
+ return JSON.stringify(state);
37
+ };
38
+
39
+ export default async ({inputs, settings, config, nodeConfig}) => {
40
+ try {
41
+ // Get OpenRouter integration from engine
42
+ const openrouter = config.integrations?.openrouter;
43
+ if (!openrouter) {
44
+ throw new Error("OpenRouter integration not found");
45
+ }
46
+
47
+ const response = await openrouter.systemOne({
48
+ model: "respan/span-01",
49
+ state: toSpanState(inputs.state),
50
+ questions: inputs.questions
51
+ }, nodeConfig, config);
52
+
53
+ // Primary value per answer type, for easy wiring downstream
54
+ const values = {};
55
+ for (const [id, answer] of Object.entries(response.answers || {})) {
56
+ values[id] = answer?.[answer?.type] ?? null;
57
+ }
58
+
59
+ return {
60
+ answers: response.answers,
61
+ values,
62
+ model: response.model,
63
+ usage: response.usage,
64
+ cost_total: response.cost_total,
65
+ cost_itemized: response.cost_itemized
66
+ };
67
+ } catch (error) {
68
+ console.log('error', error);
69
+ throw new Error(`Respan: Span-01 node error: ${error.message}`);
70
+ }
71
+ };
@@ -0,0 +1,83 @@
1
+ {
2
+ "display_name": "Respan: Span-01 Lite",
3
+ "tagline": "Answer typed questions about a state",
4
+ "description": "Span-01 Lite is the free, lighter tier of Span-01, a behavior scoring model from Respan. It returns, for each plain-language behavior you define, the probability that the behavior is present...\n\nOnly accepts noul questions whose instructions and criteria are plain strings. Scores a conversation span: connect a conversation that ends with an assistant reply (converted automatically), or a string.",
5
+ "category": "decision",
6
+ "provider": "respan",
7
+ "model_id": "respan/span-01-lite",
8
+ "context_length": 0,
9
+ "supported_question_types": [
10
+ "noul"
11
+ ],
12
+ "inputs": [
13
+ {
14
+ "name": "state",
15
+ "display_name": "State",
16
+ "type": "string or object or array or array of objects or array of strings or conversation or message",
17
+ "description": "The conversation span to score: a conversation ending with an assistant reply (converted to { input, output } automatically), a single assistant message, or plain text. Other structured data is sent as JSON text.",
18
+ "required": true
19
+ },
20
+ {
21
+ "name": "questions",
22
+ "display_name": "Questions",
23
+ "type": "object",
24
+ "description": "Map of question id -> typed question. Each question has a type (\"noul\" = yes/no probability, \"choice\" = pick one option, \"score\" = rate on ordered levels), instructions, and criteria (noul: optional { true, false }; choice: { option: description|null }; score: ordered array of 2-10 level descriptions). Answers come back under the same ids.",
25
+ "required": true
26
+ }
27
+ ],
28
+ "outputs": [
29
+ {
30
+ "name": "answers",
31
+ "display_name": "Answers",
32
+ "type": "object",
33
+ "description": "Typed answer per question id. noul: { type, noul }; choice: { type, choice, probabilities, confidence }; score: { type, score, legend, probabilities, confidence }"
34
+ },
35
+ {
36
+ "name": "values",
37
+ "display_name": "Values",
38
+ "type": "object",
39
+ "description": "Shortcut map of question id -> primary value (noul probability, chosen option, or score)"
40
+ },
41
+ {
42
+ "name": "model",
43
+ "display_name": "Model",
44
+ "type": "string",
45
+ "description": "The versioned model id that answered (aliases resolve to a specific version)"
46
+ },
47
+ {
48
+ "name": "usage",
49
+ "display_name": "Token Usage",
50
+ "type": "object",
51
+ "description": "Token usage statistics"
52
+ },
53
+ {
54
+ "name": "cost_total",
55
+ "display_name": "Total Cost",
56
+ "type": "number",
57
+ "description": "Total cost for this request (USD)"
58
+ },
59
+ {
60
+ "name": "cost_itemized",
61
+ "display_name": "Itemized Cost",
62
+ "type": "array of objects",
63
+ "description": "Detailed breakdown of costs"
64
+ }
65
+ ],
66
+ "pricing": {
67
+ "reference": "https://openrouter.ai/models",
68
+ "items": [
69
+ {
70
+ "key": "input_cost_per_million",
71
+ "label": "Input Tokens (per 1M)",
72
+ "cost": 0,
73
+ "currency": "USD"
74
+ },
75
+ {
76
+ "key": "output_cost_per_million",
77
+ "label": "Output Tokens (per 1M)",
78
+ "cost": 0,
79
+ "currency": "USD"
80
+ }
81
+ ]
82
+ }
83
+ }
@@ -0,0 +1,71 @@
1
+ // This model scores a conversation span: { input: [messages], output: assistantMessage },
2
+ // where every message has string content. Convert workbench conversation/message
3
+ // shapes into that; plain strings pass through; other data is sent as JSON text.
4
+ const SPAN_ROLES = { system: 'system', developer: 'system', user: 'user', assistant: 'assistant', tool: 'tool' };
5
+ const contentToText = (content) => {
6
+ if (content === null || content === undefined) return '';
7
+ if (typeof content === 'string') return content;
8
+ if (Array.isArray(content)) {
9
+ return content
10
+ .map(part => typeof part === 'string' ? part : (part?.text ?? (part?.type === 'image_url' ? '[image]' : JSON.stringify(part))))
11
+ .join('\n');
12
+ }
13
+ return JSON.stringify(content);
14
+ };
15
+ const isMessage = (m) => m !== null && typeof m === 'object' && !Array.isArray(m) && typeof m.role === 'string';
16
+ const toSpanMessage = (m) => {
17
+ const text = contentToText(m.content);
18
+ return {
19
+ role: SPAN_ROLES[m.role] || 'user',
20
+ content: text || (m.tool_calls ? JSON.stringify(m.tool_calls) : '')
21
+ };
22
+ };
23
+ const toSpanState = (state) => {
24
+ if (typeof state === 'string') return state;
25
+ if (isMessage(state) || (Array.isArray(state) && state.length > 0 && state.every(isMessage))) {
26
+ const messages = Array.isArray(state) ? state : [state];
27
+ const last = messages[messages.length - 1];
28
+ if (last.role !== 'assistant') {
29
+ throw new Error(`this model scores a conversation span that ends with an assistant reply, but the last message has role "${last.role}". Connect a conversation ending in an assistant message, or a string.`);
30
+ }
31
+ return { input: messages.slice(0, -1).map(toSpanMessage), output: toSpanMessage(last) };
32
+ }
33
+ if (state !== null && typeof state === 'object' && !Array.isArray(state) && Array.isArray(state.input) && isMessage(state.output)) {
34
+ return state; // already a span
35
+ }
36
+ return JSON.stringify(state);
37
+ };
38
+
39
+ export default async ({inputs, settings, config, nodeConfig}) => {
40
+ try {
41
+ // Get OpenRouter integration from engine
42
+ const openrouter = config.integrations?.openrouter;
43
+ if (!openrouter) {
44
+ throw new Error("OpenRouter integration not found");
45
+ }
46
+
47
+ const response = await openrouter.systemOne({
48
+ model: "respan/span-01-lite",
49
+ state: toSpanState(inputs.state),
50
+ questions: inputs.questions
51
+ }, nodeConfig, config);
52
+
53
+ // Primary value per answer type, for easy wiring downstream
54
+ const values = {};
55
+ for (const [id, answer] of Object.entries(response.answers || {})) {
56
+ values[id] = answer?.[answer?.type] ?? null;
57
+ }
58
+
59
+ return {
60
+ answers: response.answers,
61
+ values,
62
+ model: response.model,
63
+ usage: response.usage,
64
+ cost_total: response.cost_total,
65
+ cost_itemized: response.cost_itemized
66
+ };
67
+ } catch (error) {
68
+ console.log('error', error);
69
+ throw new Error(`Respan: Span-01 Lite node error: ${error.message}`);
70
+ }
71
+ };