agent-nuvira 2.7.2 → 3.0.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 (402) hide show
  1. package/dist/agents/agents/writer-tool-calling.d.ts +14 -0
  2. package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
  3. package/dist/agents/agents/writer-tool-calling.js +20 -0
  4. package/dist/agents/agents/writer-tool-calling.js.map +1 -1
  5. package/dist/agents/agents/writer.d.ts.map +1 -1
  6. package/dist/agents/agents/writer.js +15 -4
  7. package/dist/agents/agents/writer.js.map +1 -1
  8. package/dist/agents/edit-module.d.ts +7 -0
  9. package/dist/agents/edit-module.d.ts.map +1 -1
  10. package/dist/agents/edit-module.js +21 -6
  11. package/dist/agents/edit-module.js.map +1 -1
  12. package/dist/agents/orchestrator.d.ts +40 -0
  13. package/dist/agents/orchestrator.d.ts.map +1 -1
  14. package/dist/agents/orchestrator.js +116 -27
  15. package/dist/agents/orchestrator.js.map +1 -1
  16. package/dist/agents/tool-calling-agent.d.ts +19 -0
  17. package/dist/agents/tool-calling-agent.d.ts.map +1 -1
  18. package/dist/agents/tool-calling-agent.js +42 -2
  19. package/dist/agents/tool-calling-agent.js.map +1 -1
  20. package/dist/auth-api.d.ts +2 -0
  21. package/dist/auth-api.d.ts.map +1 -0
  22. package/dist/auth-api.js +61 -0
  23. package/dist/auth-api.js.map +1 -0
  24. package/dist/auth.test.d.ts +1 -0
  25. package/dist/auth.test.d.ts.map +1 -0
  26. package/dist/auth.test.js +3 -0
  27. package/dist/auth.test.js.map +1 -0
  28. package/dist/cli/chat.d.ts +66 -1
  29. package/dist/cli/chat.d.ts.map +1 -1
  30. package/dist/cli/chat.js +323 -77
  31. package/dist/cli/chat.js.map +1 -1
  32. package/dist/cli/cli-program.d.ts +6 -0
  33. package/dist/cli/cli-program.d.ts.map +1 -0
  34. package/dist/cli/cli-program.js +222 -0
  35. package/dist/cli/cli-program.js.map +1 -0
  36. package/dist/cli/edit.d.ts.map +1 -1
  37. package/dist/cli/edit.js +18 -3
  38. package/dist/cli/edit.js.map +1 -1
  39. package/dist/cli/execute.d.ts.map +1 -1
  40. package/dist/cli/execute.js +29 -5
  41. package/dist/cli/execute.js.map +1 -1
  42. package/dist/cli/failover-runner.d.ts +13 -0
  43. package/dist/cli/failover-runner.d.ts.map +1 -1
  44. package/dist/cli/failover-runner.js +11 -0
  45. package/dist/cli/failover-runner.js.map +1 -1
  46. package/dist/cli/gateway.d.ts +16 -0
  47. package/dist/cli/gateway.d.ts.map +1 -1
  48. package/dist/cli/gateway.js +108 -2
  49. package/dist/cli/gateway.js.map +1 -1
  50. package/dist/cli/loop-executor.d.ts.map +1 -1
  51. package/dist/cli/loop-executor.js +296 -20
  52. package/dist/cli/loop-executor.js.map +1 -1
  53. package/dist/cli/plan.d.ts.map +1 -1
  54. package/dist/cli/plan.js +20 -6
  55. package/dist/cli/plan.js.map +1 -1
  56. package/dist/cli/process-control.d.ts +10 -0
  57. package/dist/cli/process-control.d.ts.map +1 -1
  58. package/dist/cli/process-control.js +73 -7
  59. package/dist/cli/process-control.js.map +1 -1
  60. package/dist/cli/router.d.ts +16 -5
  61. package/dist/cli/router.d.ts.map +1 -1
  62. package/dist/cli/router.js +31 -206
  63. package/dist/cli/router.js.map +1 -1
  64. package/dist/config/paths.d.ts +23 -0
  65. package/dist/config/paths.d.ts.map +1 -1
  66. package/dist/config/paths.js +30 -0
  67. package/dist/config/paths.js.map +1 -1
  68. package/dist/config/provider-env.d.ts +37 -0
  69. package/dist/config/provider-env.d.ts.map +1 -0
  70. package/dist/config/provider-env.js +86 -0
  71. package/dist/config/provider-env.js.map +1 -0
  72. package/dist/context/history.d.ts.map +1 -1
  73. package/dist/context/history.js +24 -8
  74. package/dist/context/history.js.map +1 -1
  75. package/dist/context/session-recall.d.ts +30 -0
  76. package/dist/context/session-recall.d.ts.map +1 -1
  77. package/dist/context/session-recall.js +61 -0
  78. package/dist/context/session-recall.js.map +1 -1
  79. package/dist/file.js +0 -1
  80. package/dist/file.js.map +1 -1
  81. package/dist/gateway/adapters.d.ts +10 -0
  82. package/dist/gateway/adapters.d.ts.map +1 -1
  83. package/dist/gateway/adapters.js +4 -1
  84. package/dist/gateway/adapters.js.map +1 -1
  85. package/dist/gateway/dedup.d.ts +105 -0
  86. package/dist/gateway/dedup.d.ts.map +1 -0
  87. package/dist/gateway/dedup.js +160 -0
  88. package/dist/gateway/dedup.js.map +1 -0
  89. package/dist/gateway/heartbeat.d.ts +99 -0
  90. package/dist/gateway/heartbeat.d.ts.map +1 -0
  91. package/dist/gateway/heartbeat.js +122 -0
  92. package/dist/gateway/heartbeat.js.map +1 -0
  93. package/dist/gateway/inbox.d.ts +14 -1
  94. package/dist/gateway/inbox.d.ts.map +1 -1
  95. package/dist/gateway/inbox.js.map +1 -1
  96. package/dist/gateway/platform-config.d.ts +5 -0
  97. package/dist/gateway/platform-config.d.ts.map +1 -1
  98. package/dist/gateway/platform-config.js +8 -13
  99. package/dist/gateway/platform-config.js.map +1 -1
  100. package/dist/gateway/registry.d.ts +65 -0
  101. package/dist/gateway/registry.d.ts.map +1 -1
  102. package/dist/gateway/registry.js +307 -32
  103. package/dist/gateway/registry.js.map +1 -1
  104. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  105. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  106. package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
  107. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  108. package/dist/gateway/whatsapp/bridge.d.ts +4 -2
  109. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  110. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  111. package/dist/index.js +1 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/inference/factory.d.ts +16 -0
  114. package/dist/inference/factory.d.ts.map +1 -1
  115. package/dist/inference/factory.js +42 -0
  116. package/dist/inference/factory.js.map +1 -1
  117. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  118. package/dist/inference/gemini-adapter.js +3 -0
  119. package/dist/inference/gemini-adapter.js.map +1 -1
  120. package/dist/inference/interface.d.ts +12 -0
  121. package/dist/inference/interface.d.ts.map +1 -1
  122. package/dist/inference/local-adapter.d.ts +2 -0
  123. package/dist/inference/local-adapter.d.ts.map +1 -1
  124. package/dist/inference/local-adapter.js +36 -5
  125. package/dist/inference/local-adapter.js.map +1 -1
  126. package/dist/inference/model-catalog.d.ts +8 -0
  127. package/dist/inference/model-catalog.d.ts.map +1 -1
  128. package/dist/inference/model-catalog.js +40 -0
  129. package/dist/inference/model-catalog.js.map +1 -1
  130. package/dist/inference/model-probe.d.ts +7 -0
  131. package/dist/inference/model-probe.d.ts.map +1 -1
  132. package/dist/inference/model-probe.js +25 -7
  133. package/dist/inference/model-probe.js.map +1 -1
  134. package/dist/inference/native-tools.d.ts +8 -0
  135. package/dist/inference/native-tools.d.ts.map +1 -1
  136. package/dist/inference/native-tools.js +14 -3
  137. package/dist/inference/native-tools.js.map +1 -1
  138. package/dist/inference/tool-call-utils.d.ts +66 -7
  139. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  140. package/dist/inference/tool-call-utils.js +134 -13
  141. package/dist/inference/tool-call-utils.js.map +1 -1
  142. package/dist/learning/auto-router.d.ts +21 -0
  143. package/dist/learning/auto-router.d.ts.map +1 -1
  144. package/dist/learning/auto-router.js +282 -21
  145. package/dist/learning/auto-router.js.map +1 -1
  146. package/dist/learning/context-budget.d.ts +133 -0
  147. package/dist/learning/context-budget.d.ts.map +1 -0
  148. package/dist/learning/context-budget.js +196 -0
  149. package/dist/learning/context-budget.js.map +1 -0
  150. package/dist/learning/cost-tracker.d.ts.map +1 -1
  151. package/dist/learning/cost-tracker.js +20 -8
  152. package/dist/learning/cost-tracker.js.map +1 -1
  153. package/dist/learning/eval-framework.d.ts.map +1 -1
  154. package/dist/learning/eval-framework.js +6 -2
  155. package/dist/learning/eval-framework.js.map +1 -1
  156. package/dist/learning/failure-bookkeeping.d.ts +41 -0
  157. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  158. package/dist/learning/failure-bookkeeping.js +122 -4
  159. package/dist/learning/failure-bookkeeping.js.map +1 -1
  160. package/dist/learning/feedback.d.ts.map +1 -1
  161. package/dist/learning/feedback.js +19 -8
  162. package/dist/learning/feedback.js.map +1 -1
  163. package/dist/learning/model-first-router.d.ts.map +1 -1
  164. package/dist/learning/model-first-router.js +5 -11
  165. package/dist/learning/model-first-router.js.map +1 -1
  166. package/dist/learning/model-harness.d.ts +76 -0
  167. package/dist/learning/model-harness.d.ts.map +1 -0
  168. package/dist/learning/model-harness.js +119 -0
  169. package/dist/learning/model-harness.js.map +1 -0
  170. package/dist/learning/model-registry.d.ts +29 -0
  171. package/dist/learning/model-registry.d.ts.map +1 -1
  172. package/dist/learning/model-registry.js +129 -3
  173. package/dist/learning/model-registry.js.map +1 -1
  174. package/dist/learning/model-scoring.d.ts.map +1 -1
  175. package/dist/learning/model-scoring.js +6 -1
  176. package/dist/learning/model-scoring.js.map +1 -1
  177. package/dist/learning/model-selection.d.ts +15 -0
  178. package/dist/learning/model-selection.d.ts.map +1 -1
  179. package/dist/learning/model-selection.js +40 -1
  180. package/dist/learning/model-selection.js.map +1 -1
  181. package/dist/learning/provider-fallback.d.ts +12 -0
  182. package/dist/learning/provider-fallback.d.ts.map +1 -1
  183. package/dist/learning/provider-fallback.js +84 -0
  184. package/dist/learning/provider-fallback.js.map +1 -1
  185. package/dist/learning/provider-revival.d.ts +106 -0
  186. package/dist/learning/provider-revival.d.ts.map +1 -0
  187. package/dist/learning/provider-revival.js +154 -0
  188. package/dist/learning/provider-revival.js.map +1 -0
  189. package/dist/learning/quota-ledger.d.ts +64 -3
  190. package/dist/learning/quota-ledger.d.ts.map +1 -1
  191. package/dist/learning/quota-ledger.js +122 -9
  192. package/dist/learning/quota-ledger.js.map +1 -1
  193. package/dist/learning/resilient-call.d.ts +98 -0
  194. package/dist/learning/resilient-call.d.ts.map +1 -1
  195. package/dist/learning/resilient-call.js +252 -46
  196. package/dist/learning/resilient-call.js.map +1 -1
  197. package/dist/nlu/conversation-gate.d.ts +37 -0
  198. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  199. package/dist/nlu/conversation-gate.js +49 -0
  200. package/dist/nlu/conversation-gate.js.map +1 -1
  201. package/dist/nlu/schema.d.ts +4 -4
  202. package/dist/observability/dag-bridge.d.ts +69 -0
  203. package/dist/observability/dag-bridge.d.ts.map +1 -0
  204. package/dist/observability/dag-bridge.js +56 -0
  205. package/dist/observability/dag-bridge.js.map +1 -0
  206. package/dist/observability/event-bus.d.ts +5 -10
  207. package/dist/observability/event-bus.d.ts.map +1 -1
  208. package/dist/observability/event-bus.js +10 -42
  209. package/dist/observability/event-bus.js.map +1 -1
  210. package/dist/routes/auth.d.ts +3 -0
  211. package/dist/routes/auth.d.ts.map +1 -0
  212. package/dist/routes/auth.js +41 -36
  213. package/dist/routes/auth.js.map +1 -0
  214. package/dist/skills/execution-audit.d.ts.map +1 -1
  215. package/dist/skills/execution-audit.js +17 -5
  216. package/dist/skills/execution-audit.js.map +1 -1
  217. package/dist/skills/sandbox-executor.d.ts +12 -1
  218. package/dist/skills/sandbox-executor.d.ts.map +1 -1
  219. package/dist/skills/sandbox-executor.js +28 -6
  220. package/dist/skills/sandbox-executor.js.map +1 -1
  221. package/dist/skills/secret-capture.d.ts +45 -1
  222. package/dist/skills/secret-capture.d.ts.map +1 -1
  223. package/dist/skills/secret-capture.js +82 -19
  224. package/dist/skills/secret-capture.js.map +1 -1
  225. package/dist/skills/skill-env-inventory.d.ts +79 -0
  226. package/dist/skills/skill-env-inventory.d.ts.map +1 -0
  227. package/dist/skills/skill-env-inventory.js +167 -0
  228. package/dist/skills/skill-env-inventory.js.map +1 -0
  229. package/dist/skills/skill-executor.d.ts +2 -0
  230. package/dist/skills/skill-executor.d.ts.map +1 -1
  231. package/dist/skills/skill-executor.js +19 -24
  232. package/dist/skills/skill-executor.js.map +1 -1
  233. package/dist/tools/ask-user.d.ts +14 -1
  234. package/dist/tools/ask-user.d.ts.map +1 -1
  235. package/dist/tools/ask-user.js +25 -1
  236. package/dist/tools/ask-user.js.map +1 -1
  237. package/dist/tools/followup-utils.d.ts +64 -0
  238. package/dist/tools/followup-utils.d.ts.map +1 -0
  239. package/dist/tools/followup-utils.js +158 -0
  240. package/dist/tools/followup-utils.js.map +1 -0
  241. package/dist/tools/memory-tools.d.ts +35 -0
  242. package/dist/tools/memory-tools.d.ts.map +1 -1
  243. package/dist/tools/memory-tools.js +76 -0
  244. package/dist/tools/memory-tools.js.map +1 -1
  245. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  246. package/dist/tools/pipeline-tool.js +8 -3
  247. package/dist/tools/pipeline-tool.js.map +1 -1
  248. package/dist/tools/registry.d.ts +25 -12
  249. package/dist/tools/registry.d.ts.map +1 -1
  250. package/dist/tools/registry.js +31 -6
  251. package/dist/tools/registry.js.map +1 -1
  252. package/dist/tools/skill-tool.d.ts.map +1 -1
  253. package/dist/tools/skill-tool.js +52 -5
  254. package/dist/tools/skill-tool.js.map +1 -1
  255. package/dist/tools/tool-loop.d.ts +63 -1
  256. package/dist/tools/tool-loop.d.ts.map +1 -1
  257. package/dist/tools/tool-loop.js +305 -66
  258. package/dist/tools/tool-loop.js.map +1 -1
  259. package/dist/tools/toolsets.d.ts +19 -3
  260. package/dist/tools/toolsets.d.ts.map +1 -1
  261. package/dist/tools/toolsets.js +21 -5
  262. package/dist/tools/toolsets.js.map +1 -1
  263. package/dist/utils/env.d.ts.map +1 -1
  264. package/dist/utils/env.js +9 -13
  265. package/dist/utils/env.js.map +1 -1
  266. package/dist/web-dashboard/chat-console.d.ts +13 -1
  267. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  268. package/dist/web-dashboard/chat-console.js +16 -2
  269. package/dist/web-dashboard/chat-console.js.map +1 -1
  270. package/dist/web-dashboard/hub-data.d.ts +2 -0
  271. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  272. package/dist/web-dashboard/hub-data.js +4 -0
  273. package/dist/web-dashboard/hub-data.js.map +1 -1
  274. package/dist/web-dashboard/server.d.ts +6 -0
  275. package/dist/web-dashboard/server.d.ts.map +1 -1
  276. package/dist/web-dashboard/server.js +196 -3
  277. package/dist/web-dashboard/server.js.map +1 -1
  278. package/dist/web-dashboard/src/types.d.ts +31 -1
  279. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  280. package/package.json +11 -1
  281. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  282. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  283. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  284. package/src/web-dashboard/public/index.html +2 -2
  285. package/dist/example.d.ts +0 -1
  286. package/dist/example.d.ts.map +0 -1
  287. package/dist/example.js +0 -3
  288. package/dist/example.js.map +0 -1
  289. package/dist/fresh.d.ts +0 -2
  290. package/dist/fresh.d.ts.map +0 -1
  291. package/dist/fresh.js +0 -2
  292. package/dist/fresh.js.map +0 -1
  293. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  294. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  295. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  296. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  297. package/dist/memory/background-sync.d.ts +0 -107
  298. package/dist/memory/background-sync.d.ts.map +0 -1
  299. package/dist/memory/background-sync.js +0 -242
  300. package/dist/memory/background-sync.js.map +0 -1
  301. package/dist/memory/cross-session.d.ts +0 -68
  302. package/dist/memory/cross-session.d.ts.map +0 -1
  303. package/dist/memory/cross-session.js +0 -153
  304. package/dist/memory/cross-session.js.map +0 -1
  305. package/dist/memory/drift-detector.d.ts +0 -76
  306. package/dist/memory/drift-detector.d.ts.map +0 -1
  307. package/dist/memory/drift-detector.js +0 -216
  308. package/dist/memory/drift-detector.js.map +0 -1
  309. package/dist/memory/enhanced-manager.d.ts +0 -105
  310. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  311. package/dist/memory/enhanced-manager.js +0 -280
  312. package/dist/memory/enhanced-manager.js.map +0 -1
  313. package/dist/memory/session-extraction.d.ts +0 -93
  314. package/dist/memory/session-extraction.d.ts.map +0 -1
  315. package/dist/memory/session-extraction.js +0 -290
  316. package/dist/memory/session-extraction.js.map +0 -1
  317. package/dist/memory/sqlite-store.d.ts +0 -208
  318. package/dist/memory/sqlite-store.d.ts.map +0 -1
  319. package/dist/memory/sqlite-store.js +0 -556
  320. package/dist/memory/sqlite-store.js.map +0 -1
  321. package/dist/skills/daytona-executor.d.ts +0 -78
  322. package/dist/skills/daytona-executor.d.ts.map +0 -1
  323. package/dist/skills/daytona-executor.js +0 -256
  324. package/dist/skills/daytona-executor.js.map +0 -1
  325. package/dist/skills/modal-executor.d.ts +0 -81
  326. package/dist/skills/modal-executor.d.ts.map +0 -1
  327. package/dist/skills/modal-executor.js +0 -285
  328. package/dist/skills/modal-executor.js.map +0 -1
  329. package/dist/sync/inventory.d.ts +0 -1
  330. package/dist/sync/inventory.d.ts.map +0 -1
  331. package/dist/sync/inventory.js +0 -3
  332. package/dist/sync/inventory.js.map +0 -1
  333. package/dist/sync/validate.d.ts +0 -1
  334. package/dist/sync/validate.d.ts.map +0 -1
  335. package/dist/sync/validate.js +0 -3
  336. package/dist/sync/validate.js.map +0 -1
  337. package/dist/test.d.ts +0 -2
  338. package/dist/test.d.ts.map +0 -1
  339. package/dist/test.js +0 -3
  340. package/dist/test.js.map +0 -1
  341. package/dist/tools/browser-tool.d.ts +0 -206
  342. package/dist/tools/browser-tool.d.ts.map +0 -1
  343. package/dist/tools/browser-tool.js +0 -726
  344. package/dist/tools/browser-tool.js.map +0 -1
  345. package/dist/tools/delegate-tool.d.ts +0 -109
  346. package/dist/tools/delegate-tool.d.ts.map +0 -1
  347. package/dist/tools/delegate-tool.js +0 -185
  348. package/dist/tools/delegate-tool.js.map +0 -1
  349. package/dist/tools/delegation-state.d.ts +0 -87
  350. package/dist/tools/delegation-state.d.ts.map +0 -1
  351. package/dist/tools/delegation-state.js +0 -278
  352. package/dist/tools/delegation-state.js.map +0 -1
  353. package/dist/tools/desktop-ui.d.ts +0 -148
  354. package/dist/tools/desktop-ui.d.ts.map +0 -1
  355. package/dist/tools/desktop-ui.js +0 -486
  356. package/dist/tools/desktop-ui.js.map +0 -1
  357. package/dist/tools/image-video-tool.d.ts +0 -88
  358. package/dist/tools/image-video-tool.d.ts.map +0 -1
  359. package/dist/tools/image-video-tool.js +0 -276
  360. package/dist/tools/image-video-tool.js.map +0 -1
  361. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  362. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  363. package/dist/tools/kanban-cron-tools.js +0 -197
  364. package/dist/tools/kanban-cron-tools.js.map +0 -1
  365. package/dist/tools/messaging-tool.d.ts +0 -127
  366. package/dist/tools/messaging-tool.d.ts.map +0 -1
  367. package/dist/tools/messaging-tool.js +0 -314
  368. package/dist/tools/messaging-tool.js.map +0 -1
  369. package/dist/tools/modality/generic-caller.d.ts +0 -43
  370. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  371. package/dist/tools/modality/generic-caller.js +0 -254
  372. package/dist/tools/modality/generic-caller.js.map +0 -1
  373. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  374. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  375. package/dist/tools/modality/modality-catalog.js +0 -445
  376. package/dist/tools/modality/modality-catalog.js.map +0 -1
  377. package/dist/tools/modality/tool-router.d.ts +0 -81
  378. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  379. package/dist/tools/modality/tool-router.js +0 -84
  380. package/dist/tools/modality/tool-router.js.map +0 -1
  381. package/dist/tools/security-tools.d.ts +0 -107
  382. package/dist/tools/security-tools.d.ts.map +0 -1
  383. package/dist/tools/security-tools.js +0 -264
  384. package/dist/tools/security-tools.js.map +0 -1
  385. package/dist/tools/ssh-tool.d.ts +0 -130
  386. package/dist/tools/ssh-tool.d.ts.map +0 -1
  387. package/dist/tools/ssh-tool.js +0 -328
  388. package/dist/tools/ssh-tool.js.map +0 -1
  389. package/dist/tools/tts-tool.d.ts +0 -91
  390. package/dist/tools/tts-tool.d.ts.map +0 -1
  391. package/dist/tools/tts-tool.js +0 -406
  392. package/dist/tools/tts-tool.js.map +0 -1
  393. package/dist/utils/shell-detection.d.ts +0 -124
  394. package/dist/utils/shell-detection.d.ts.map +0 -1
  395. package/dist/utils/shell-detection.js +0 -305
  396. package/dist/utils/shell-detection.js.map +0 -1
  397. package/dist/utils/windows-paths.d.ts +0 -185
  398. package/dist/utils/windows-paths.d.ts.map +0 -1
  399. package/dist/utils/windows-paths.js +0 -472
  400. package/dist/utils/windows-paths.js.map +0 -1
  401. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  402. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
@@ -1,445 +0,0 @@
1
- /**
2
- * ModalityCatalog — data-driven provider definitions for modality tools.
3
- *
4
- * This is the modality equivalent of `provider-catalog.ts` for LLMs.
5
- * Instead of hardcoding providers in tool-router.ts, we define them as data
6
- * objects that can be extended via config without code changes.
7
- *
8
- * Design principles:
9
- * 1. Data over code — providers are data objects, not if/else blocks
10
- * 2. User-configurable — add providers via config, no code changes
11
- * 3. Generic API caller — uses requestBuilder + responseParser
12
- * 4. Consistent scoring — same pattern as LLM routing
13
- *
14
- * Usage:
15
- * const providers = getModalityProviders('image');
16
- * const best = selectBestModalityProvider(providers, context);
17
- * const result = await callModalityProvider(best, prompt, opts);
18
- */
19
- import { logger } from '../../utils/logger.js';
20
- import { envBuff } from '../../config/paths.js';
21
- // ─── Built-in Providers ─────────────────────────────────────────────────────
22
- /**
23
- * Built-in image generation providers.
24
- */
25
- const IMAGE_PROVIDERS = [
26
- {
27
- id: 'pollinations',
28
- name: 'Pollinations.ai (Free)',
29
- modality: 'image',
30
- apiType: 'pollinations',
31
- baseUrl: 'https://image.pollinations.ai/prompt',
32
- costPerUnit: 0,
33
- quality: 0.7,
34
- speed: 0.5,
35
- models: ['stable-diffusion'],
36
- available: true, // Always available (no key needed)
37
- timeoutMs: 30000,
38
- requestBuilder: (prompt, opts) => ({
39
- prompt,
40
- width: opts.width ?? 1024,
41
- height: opts.height ?? 1024,
42
- }),
43
- responseParser: (data) => ({
44
- ok: true,
45
- data: data.buffer,
46
- durationMs: data.durationMs || 0,
47
- }),
48
- },
49
- {
50
- id: 'dalle',
51
- name: 'DALL-E 3 (OpenAI)',
52
- modality: 'image',
53
- apiType: 'openai',
54
- baseUrl: 'https://api.openai.com/v1',
55
- envVar: 'OPENAI_API_KEY',
56
- endpoint: '/images/generations',
57
- costPerUnit: 0.04, // ~$0.04 per image
58
- quality: 0.95,
59
- speed: 0.6,
60
- models: ['dall-e-3', 'dall-e-2'],
61
- defaultModel: 'dall-e-3',
62
- available: !!process.env.OPENAI_API_KEY,
63
- timeoutMs: 60000,
64
- requestBuilder: (prompt, opts) => ({
65
- model: opts.model || 'dall-e-3',
66
- prompt,
67
- n: 1,
68
- size: `${opts.width ?? 1024}x${opts.height ?? 1024}`,
69
- }),
70
- responseParser: (data) => ({
71
- ok: true,
72
- data: data.data?.[0]?.url,
73
- durationMs: data.durationMs || 0,
74
- }),
75
- },
76
- {
77
- id: 'stability',
78
- name: 'Stable Diffusion (Stability AI)',
79
- modality: 'image',
80
- apiType: 'rest',
81
- baseUrl: 'https://api.stability.ai/v1',
82
- envVar: 'STABILITY_API_KEY',
83
- endpoint: '/generation/stable-diffusion-xl/text-to-image',
84
- costPerUnit: 0.002, // ~$0.002 per generation
85
- quality: 0.85,
86
- speed: 0.7,
87
- models: ['stable-diffusion-xl-1024-v1-0'],
88
- defaultModel: 'stable-diffusion-xl-1024-v1-0',
89
- available: !!process.env.STABILITY_API_KEY,
90
- timeoutMs: 30000,
91
- requestBuilder: (prompt, opts) => ({
92
- text_prompts: [{ text: prompt }],
93
- cfg_scale: 7,
94
- height: opts.height ?? 1024,
95
- width: opts.width ?? 1024,
96
- }),
97
- responseParser: (data) => ({
98
- ok: true,
99
- data: Buffer.from(data.artifacts?.[0]?.base64 || '', 'base64'),
100
- durationMs: data.durationMs || 0,
101
- }),
102
- },
103
- {
104
- id: 'comfyui',
105
- name: 'Local ComfyUI / Stable Diffusion',
106
- modality: 'image',
107
- apiType: 'local',
108
- baseUrl: envBuff('IMAGE_API_URL') || 'http://localhost:7860',
109
- costPerUnit: 0,
110
- quality: 0.9,
111
- speed: 0.8,
112
- models: ['local'],
113
- available: !!envBuff('IMAGE_API_URL'),
114
- timeoutMs: 30000,
115
- requestBuilder: (prompt, opts) => ({
116
- prompt,
117
- width: opts.width ?? 1024,
118
- height: opts.height ?? 1024,
119
- }),
120
- responseParser: (data) => ({
121
- ok: true,
122
- data: data.buffer,
123
- durationMs: data.durationMs || 0,
124
- }),
125
- },
126
- ];
127
- /**
128
- * Built-in TTS providers.
129
- */
130
- const TTS_PROVIDERS = [
131
- {
132
- id: 'openai-tts',
133
- name: 'OpenAI TTS',
134
- modality: 'tts',
135
- apiType: 'openai',
136
- baseUrl: 'https://api.openai.com/v1',
137
- envVar: 'OPENAI_API_KEY',
138
- endpoint: '/audio/speech',
139
- costPerUnit: 0.000015, // ~$15 per 1M chars
140
- quality: 0.9,
141
- speed: 0.8,
142
- models: ['tts-1', 'tts-1-hd'],
143
- defaultModel: 'tts-1',
144
- available: !!process.env.OPENAI_API_KEY,
145
- timeoutMs: 30000,
146
- requestBuilder: (prompt, opts) => ({
147
- model: opts.model || 'tts-1',
148
- input: prompt,
149
- voice: opts.voice || 'alloy',
150
- }),
151
- responseParser: (data) => ({
152
- ok: true,
153
- data: data.buffer,
154
- durationMs: data.durationMs || 0,
155
- }),
156
- },
157
- {
158
- id: 'elevenlabs',
159
- name: 'ElevenLabs',
160
- modality: 'tts',
161
- apiType: 'rest',
162
- baseUrl: 'https://api.elevenlabs.io/v1',
163
- envVar: 'ELEVENLABS_API_KEY',
164
- endpoint: '/text-to-speech/21m00Tcm4TlvDq8ikWAM',
165
- costPerUnit: 0.000030, // ~$30 per 1M chars
166
- quality: 0.95,
167
- speed: 0.7,
168
- models: ['eleven_monolingual_v1', 'eleven_multilingual_v1'],
169
- defaultModel: 'eleven_monolingual_v1',
170
- available: !!process.env.ELEVENLABS_API_KEY,
171
- timeoutMs: 30000,
172
- requestBuilder: (prompt, opts) => ({
173
- text: prompt,
174
- model_id: opts.model || 'eleven_monolingual_v1',
175
- }),
176
- responseParser: (data) => ({
177
- ok: true,
178
- data: data.buffer,
179
- durationMs: data.durationMs || 0,
180
- }),
181
- },
182
- ];
183
- /**
184
- * Built-in video generation providers.
185
- */
186
- const VIDEO_PROVIDERS = [
187
- {
188
- id: 'fal',
189
- name: 'FAL AI',
190
- modality: 'video',
191
- apiType: 'rest',
192
- baseUrl: 'https://fal.run',
193
- envVar: 'FAL_KEY',
194
- endpoint: '/fal-ai/flux/video',
195
- costPerUnit: 0.05, // ~$0.05 per video
196
- quality: 0.85,
197
- speed: 0.6,
198
- models: ['fal-ai/flux/video'],
199
- defaultModel: 'fal-ai/flux/video',
200
- available: !!process.env.FAL_KEY,
201
- timeoutMs: 120000,
202
- requestBuilder: (prompt, opts) => ({
203
- prompt,
204
- duration: opts.duration ?? 4,
205
- aspect_ratio: '16:9',
206
- }),
207
- responseParser: (data) => ({
208
- ok: true,
209
- data: data.video_url,
210
- durationMs: data.durationMs || 0,
211
- }),
212
- },
213
- {
214
- id: 'runway',
215
- name: 'Runway ML',
216
- modality: 'video',
217
- apiType: 'rest',
218
- baseUrl: 'https://api.runwayml.com/v1',
219
- envVar: 'RUNWAY_API_KEY',
220
- endpoint: '/generation',
221
- costPerUnit: 0.10, // ~$0.10 per video
222
- quality: 0.95,
223
- speed: 0.5,
224
- models: ['gen-3'],
225
- defaultModel: 'gen-3',
226
- available: !!process.env.RUNWAY_API_KEY,
227
- timeoutMs: 180000,
228
- requestBuilder: (prompt, opts) => ({
229
- prompt,
230
- duration: opts.duration ?? 4,
231
- resolution: opts.resolution ?? '720p',
232
- }),
233
- responseParser: (data) => ({
234
- ok: true,
235
- data: data.video_url,
236
- durationMs: data.durationMs || 0,
237
- }),
238
- },
239
- ];
240
- /**
241
- * Built-in transcription providers.
242
- */
243
- const TRANSCRIPTION_PROVIDERS = [
244
- {
245
- id: 'openai-whisper',
246
- name: 'OpenAI Whisper API',
247
- modality: 'transcription',
248
- apiType: 'openai',
249
- baseUrl: 'https://api.openai.com/v1',
250
- envVar: 'OPENAI_API_KEY',
251
- endpoint: '/audio/transcriptions',
252
- costPerUnit: 0.006, // ~$0.006 per minute
253
- quality: 0.95,
254
- speed: 0.9,
255
- models: ['whisper-1'],
256
- defaultModel: 'whisper-1',
257
- available: !!process.env.OPENAI_API_KEY,
258
- timeoutMs: 60000,
259
- requestBuilder: (prompt, opts) => ({
260
- model: opts.model || 'whisper-1',
261
- file: prompt, // Will be handled specially for file uploads
262
- language: opts.language,
263
- }),
264
- responseParser: (data) => ({
265
- ok: true,
266
- text: data.text,
267
- durationMs: data.durationMs || 0,
268
- }),
269
- },
270
- ];
271
- // ─── Provider Registry ──────────────────────────────────────────────────────
272
- /** All built-in providers by modality. */
273
- const PROVIDERS_BY_MODALITY = {
274
- image: IMAGE_PROVIDERS,
275
- tts: TTS_PROVIDERS,
276
- video: VIDEO_PROVIDERS,
277
- transcription: TRANSCRIPTION_PROVIDERS,
278
- };
279
- /** User-configured providers (from config). */
280
- const userConfiguredProviders = [];
281
- /**
282
- * Get all providers for a modality (built-in + user-configured).
283
- */
284
- export function getModalityProviders(modality) {
285
- const builtIn = PROVIDERS_BY_MODALITY[modality] || [];
286
- const configured = userConfiguredProviders.filter(p => p.modality === modality);
287
- return [...builtIn, ...configured];
288
- }
289
- /**
290
- * Get all available providers for a modality (has API key or is keyless).
291
- */
292
- export function getAvailableModalityProviders(modality) {
293
- return getModalityProviders(modality).filter(p => p.available);
294
- }
295
- /**
296
- * Get a specific provider by ID.
297
- */
298
- export function getModalityProvider(id) {
299
- return getModalityProviders('image') // Check all modalities
300
- .concat(getModalityProviders('tts'))
301
- .concat(getModalityProviders('video'))
302
- .concat(getModalityProviders('transcription'))
303
- .find(p => p.id === id);
304
- }
305
- // ─── Provider Configuration ─────────────────────────────────────────────────
306
- /**
307
- * Add a user-configured provider.
308
- * Called when user sets config like:
309
- * nuvira config set modality.image.replicate.apiKey=xxxxx
310
- */
311
- export function addModalityProvider(provider) {
312
- // Check if already exists
313
- const existing = userConfiguredProviders.findIndex(p => p.id === provider.id);
314
- if (existing >= 0) {
315
- userConfiguredProviders[existing] = provider;
316
- }
317
- else {
318
- userConfiguredProviders.push(provider);
319
- }
320
- logger.info(`[modality-catalog] Added provider: ${provider.id} (${provider.name})`);
321
- }
322
- /**
323
- * Remove a user-configured provider.
324
- */
325
- export function removeModalityProvider(id) {
326
- const index = userConfiguredProviders.findIndex(p => p.id === id);
327
- if (index >= 0) {
328
- userConfiguredProviders.splice(index, 1);
329
- logger.info(`[modality-catalog] Removed provider: ${id}`);
330
- return true;
331
- }
332
- return false;
333
- }
334
- /**
335
- * Load user-configured providers from config.
336
- */
337
- export function loadUserConfiguredProviders(config) {
338
- const modalityConfig = config.modality;
339
- if (!modalityConfig)
340
- return;
341
- for (const [modality, providers] of Object.entries(modalityConfig)) {
342
- if (!['image', 'tts', 'video', 'transcription'].includes(modality))
343
- continue;
344
- if (typeof providers !== 'object' || providers === null)
345
- continue;
346
- for (const [providerId, providerConfig] of Object.entries(providers)) {
347
- if (typeof providerConfig !== 'object' || providerConfig === null)
348
- continue;
349
- const cfg = providerConfig;
350
- // Build provider from config
351
- const provider = {
352
- id: providerId,
353
- name: cfg.name || providerId,
354
- modality: modality,
355
- apiType: cfg.apiType || 'rest',
356
- baseUrl: cfg.baseUrl || '',
357
- envVar: cfg.envVar,
358
- endpoint: cfg.endpoint,
359
- costPerUnit: cfg.costPerUnit || 0,
360
- quality: cfg.quality || 0.7,
361
- speed: cfg.speed || 0.7,
362
- models: Array.isArray(cfg.models) ? cfg.models : [],
363
- defaultModel: cfg.defaultModel,
364
- available: !!(cfg.apiKey || (cfg.envVar && typeof cfg.envVar === 'string' && process.env[cfg.envVar])),
365
- timeoutMs: cfg.timeoutMs || 30000,
366
- requestBuilder: (prompt, opts) => ({
367
- prompt,
368
- model: opts.model || cfg.defaultModel,
369
- ...opts,
370
- }),
371
- responseParser: (data) => ({
372
- ok: true,
373
- data: data.data || data.url || data.text,
374
- durationMs: data.durationMs || 0,
375
- }),
376
- };
377
- addModalityProvider(provider);
378
- }
379
- }
380
- }
381
- // ─── Provider Scoring ───────────────────────────────────────────────────────
382
- /**
383
- * Score a modality provider for routing.
384
- */
385
- export function scoreModalityProvider(provider, context = {}) {
386
- const maxCost = context.maxCost || 0.10; // Default max cost
387
- // Cost score: lower cost = higher score
388
- const costScore = Math.max(0, 1 - (provider.costPerUnit / maxCost));
389
- // Quality score: direct mapping
390
- const qualityScore = provider.quality;
391
- // Speed score: direct mapping
392
- const speedScore = provider.speed;
393
- // Availability score: available = 1, unavailable = 0
394
- const availabilityScore = provider.available ? 1 : 0;
395
- // Weighted combination
396
- const weights = {
397
- cost: context.priorityQuality ? 0.20 : 0.35,
398
- quality: context.priorityQuality ? 0.45 : 0.30,
399
- speed: context.prioritySpeed ? 0.35 : 0.20,
400
- availability: 0.15,
401
- };
402
- return (costScore * weights.cost +
403
- qualityScore * weights.quality +
404
- speedScore * weights.speed +
405
- availabilityScore * weights.availability);
406
- }
407
- /**
408
- * Select the best modality provider for a task.
409
- */
410
- export function selectBestModalityProvider(modality, context = {}) {
411
- const providers = getAvailableModalityProviders(modality);
412
- if (providers.length === 0)
413
- return null;
414
- const scored = providers.map(p => ({
415
- provider: p,
416
- score: scoreModalityProvider(p, context),
417
- }));
418
- scored.sort((a, b) => b.score - a.score);
419
- return scored[0].provider;
420
- }
421
- // ─── Status ─────────────────────────────────────────────────────────────────
422
- /**
423
- * Get status of all modality providers (for dashboard display).
424
- */
425
- export function getModalityProviderStatus() {
426
- const status = {
427
- image: [],
428
- tts: [],
429
- video: [],
430
- transcription: [],
431
- };
432
- for (const modality of ['image', 'tts', 'video', 'transcription']) {
433
- const providers = getModalityProviders(modality);
434
- status[modality] = providers.map(p => ({
435
- id: p.id,
436
- name: p.name,
437
- available: p.available,
438
- costPerUnit: p.costPerUnit,
439
- quality: p.quality,
440
- speed: p.speed,
441
- }));
442
- }
443
- return status;
444
- }
445
- //# sourceMappingURL=modality-catalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modality-catalog.js","sourceRoot":"","sources":["../../../src/tools/modality/modality-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Tool-Router — Intelligent routing for modality tools (image/audio/video).
3
- *
4
- * This is the adaptive version that uses:
5
- * 1. ModalityCatalog — data-driven provider definitions
6
- * 2. GenericCaller — handles API calls with provider-specific parsers
7
- * 3. Consistent scoring — same pattern as LLM routing
8
- *
9
- * Users can add new providers via config:
10
- * nuvira config set modality.image.replicate.apiKey=r8_xxxxx
11
- * nuvira config set modality.image.replicate.baseUrl=https://api.replicate.com/v1
12
- *
13
- * No code changes required — just config.
14
- *
15
- * Usage:
16
- * const result = await routeImageGeneration('a cat', { width: 1024, height: 1024 });
17
- * const result = await routeTTS('Hello world');
18
- * const result = await routeVideoGeneration('A cat walking');
19
- */
20
- import { type ModalityType, type ModalityProvider, type ModalityOptions, type ModalityResponse } from './modality-catalog.js';
21
- export { getModalityProviderStatus } from './modality-catalog.js';
22
- /**
23
- * Initialize the tool router with user config.
24
- * Call this once at startup to load user-configured providers.
25
- */
26
- export declare function initToolRouter(config: Record<string, unknown>): void;
27
- export interface ImageGenRouteOptions extends ModalityOptions {
28
- width?: number;
29
- height?: number;
30
- cwd?: string;
31
- }
32
- /**
33
- * Route image generation to the best available backend with failover.
34
- */
35
- export declare function routeImageGeneration(prompt: string, opts?: ImageGenRouteOptions, config?: Record<string, unknown>): Promise<ModalityResponse & {
36
- backend: string;
37
- }>;
38
- /**
39
- * Route TTS to the best available backend with failover.
40
- */
41
- export declare function routeTTS(text: string, opts?: {
42
- voice?: string;
43
- model?: string;
44
- cwd?: string;
45
- }, config?: Record<string, unknown>): Promise<ModalityResponse & {
46
- backend: string;
47
- }>;
48
- /**
49
- * Route video generation to the best available backend with failover.
50
- */
51
- export declare function routeVideoGeneration(prompt: string, opts?: {
52
- duration?: number;
53
- resolution?: string;
54
- cwd?: string;
55
- }, config?: Record<string, unknown>): Promise<ModalityResponse & {
56
- backend: string;
57
- }>;
58
- /**
59
- * Route transcription to the best available backend with failover.
60
- */
61
- export declare function routeTranscription(audioPath: string, opts?: {
62
- language?: string;
63
- cwd?: string;
64
- }, config?: Record<string, unknown>): Promise<ModalityResponse & {
65
- text?: string;
66
- backend: string;
67
- }>;
68
- /**
69
- * Add a custom provider at runtime.
70
- * Useful for testing or dynamic provider registration.
71
- */
72
- export declare function addCustomProvider(provider: ModalityProvider): void;
73
- /**
74
- * Get all providers for a modality (for display in dashboard).
75
- */
76
- export declare function getAllProviders(modality: ModalityType): ModalityProvider[];
77
- /**
78
- * Get available providers for a modality.
79
- */
80
- export declare function getAvailableProviders(modality: ModalityType): ModalityProvider[];
81
- //# sourceMappingURL=tool-router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-router.d.ts","sourceRoot":"","sources":["../../../src/tools/modality/tool-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAMtB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEpE;AAID,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,oBAAyB,EAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAGjD;AAID;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,EAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAGjD;AAID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,EACnE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAGjD;AAID;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,EAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,gBAAgB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAGhE;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAGlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAE1E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAEhF"}
@@ -1,84 +0,0 @@
1
- /**
2
- * Tool-Router — Intelligent routing for modality tools (image/audio/video).
3
- *
4
- * This is the adaptive version that uses:
5
- * 1. ModalityCatalog — data-driven provider definitions
6
- * 2. GenericCaller — handles API calls with provider-specific parsers
7
- * 3. Consistent scoring — same pattern as LLM routing
8
- *
9
- * Users can add new providers via config:
10
- * nuvira config set modality.image.replicate.apiKey=r8_xxxxx
11
- * nuvira config set modality.image.replicate.baseUrl=https://api.replicate.com/v1
12
- *
13
- * No code changes required — just config.
14
- *
15
- * Usage:
16
- * const result = await routeImageGeneration('a cat', { width: 1024, height: 1024 });
17
- * const result = await routeTTS('Hello world');
18
- * const result = await routeVideoGeneration('A cat walking');
19
- */
20
- import { getModalityProviders, getAvailableModalityProviders, loadUserConfiguredProviders, } from './modality-catalog.js';
21
- import { callModalityWithFailover } from './generic-caller.js';
22
- // ─── Re-exports ─────────────────────────────────────────────────────────────
23
- export { getModalityProviderStatus } from './modality-catalog.js';
24
- // ─── Configuration ──────────────────────────────────────────────────────────
25
- /**
26
- * Initialize the tool router with user config.
27
- * Call this once at startup to load user-configured providers.
28
- */
29
- export function initToolRouter(config) {
30
- loadUserConfiguredProviders(config);
31
- }
32
- /**
33
- * Route image generation to the best available backend with failover.
34
- */
35
- export async function routeImageGeneration(prompt, opts = {}, config) {
36
- const result = await callModalityWithFailover('image', prompt, opts, config);
37
- return { ...result, backend: result.provider };
38
- }
39
- // ─── TTS ────────────────────────────────────────────────────────────────────
40
- /**
41
- * Route TTS to the best available backend with failover.
42
- */
43
- export async function routeTTS(text, opts = {}, config) {
44
- const result = await callModalityWithFailover('tts', text, opts, config);
45
- return { ...result, backend: result.provider };
46
- }
47
- // ─── Video Generation ──────────────────────────────────────────────────────
48
- /**
49
- * Route video generation to the best available backend with failover.
50
- */
51
- export async function routeVideoGeneration(prompt, opts = {}, config) {
52
- const result = await callModalityWithFailover('video', prompt, opts, config);
53
- return { ...result, backend: result.provider };
54
- }
55
- // ─── Transcription ──────────────────────────────────────────────────────────
56
- /**
57
- * Route transcription to the best available backend with failover.
58
- */
59
- export async function routeTranscription(audioPath, opts = {}, config) {
60
- const result = await callModalityWithFailover('transcription', audioPath, opts, config);
61
- return { ...result, backend: result.provider };
62
- }
63
- // ─── Provider Management ────────────────────────────────────────────────────
64
- /**
65
- * Add a custom provider at runtime.
66
- * Useful for testing or dynamic provider registration.
67
- */
68
- export function addCustomProvider(provider) {
69
- const { addModalityProvider } = require('./modality-catalog.js');
70
- addModalityProvider(provider);
71
- }
72
- /**
73
- * Get all providers for a modality (for display in dashboard).
74
- */
75
- export function getAllProviders(modality) {
76
- return getModalityProviders(modality);
77
- }
78
- /**
79
- * Get available providers for a modality.
80
- */
81
- export function getAvailableProviders(modality) {
82
- return getAvailableModalityProviders(modality);
83
- }
84
- //# sourceMappingURL=tool-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-router.js","sourceRoot":"","sources":["../../../src/tools/modality/tool-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAKL,oBAAoB,EACpB,6BAA6B,EAE7B,2BAA2B,GAE5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAwB,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAErF,+EAA+E;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAA+B;IAC5D,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAUD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,OAA6B,EAAE,EAC/B,MAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,OAAyD,EAAE,EAC3D,MAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,OAAiE,EAAE,EACnE,MAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,OAA4C,EAAE,EAC9C,MAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxF,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACjE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsB;IACpD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAsB;IAC1D,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC"}