agent-nuvira 2.7.3 → 3.0.1

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 (369) 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/cli/chat.d.ts +55 -1
  21. package/dist/cli/chat.d.ts.map +1 -1
  22. package/dist/cli/chat.js +278 -72
  23. package/dist/cli/chat.js.map +1 -1
  24. package/dist/cli/cli-program.d.ts +6 -0
  25. package/dist/cli/cli-program.d.ts.map +1 -0
  26. package/dist/cli/cli-program.js +242 -0
  27. package/dist/cli/cli-program.js.map +1 -0
  28. package/dist/cli/edit.d.ts.map +1 -1
  29. package/dist/cli/edit.js +18 -3
  30. package/dist/cli/edit.js.map +1 -1
  31. package/dist/cli/execute.d.ts.map +1 -1
  32. package/dist/cli/execute.js +29 -5
  33. package/dist/cli/execute.js.map +1 -1
  34. package/dist/cli/failover-runner.d.ts +13 -0
  35. package/dist/cli/failover-runner.d.ts.map +1 -1
  36. package/dist/cli/failover-runner.js +11 -0
  37. package/dist/cli/failover-runner.js.map +1 -1
  38. package/dist/cli/gateway.d.ts +16 -0
  39. package/dist/cli/gateway.d.ts.map +1 -1
  40. package/dist/cli/gateway.js +108 -2
  41. package/dist/cli/gateway.js.map +1 -1
  42. package/dist/cli/loop-executor.d.ts.map +1 -1
  43. package/dist/cli/loop-executor.js +245 -12
  44. package/dist/cli/loop-executor.js.map +1 -1
  45. package/dist/cli/plan.d.ts.map +1 -1
  46. package/dist/cli/plan.js +20 -6
  47. package/dist/cli/plan.js.map +1 -1
  48. package/dist/cli/process-control.d.ts +10 -0
  49. package/dist/cli/process-control.d.ts.map +1 -1
  50. package/dist/cli/process-control.js +73 -7
  51. package/dist/cli/process-control.js.map +1 -1
  52. package/dist/cli/router.d.ts +16 -5
  53. package/dist/cli/router.d.ts.map +1 -1
  54. package/dist/cli/router.js +31 -206
  55. package/dist/cli/router.js.map +1 -1
  56. package/dist/config/paths.d.ts +23 -0
  57. package/dist/config/paths.d.ts.map +1 -1
  58. package/dist/config/paths.js +30 -0
  59. package/dist/config/paths.js.map +1 -1
  60. package/dist/config/provider-env.d.ts +37 -0
  61. package/dist/config/provider-env.d.ts.map +1 -0
  62. package/dist/config/provider-env.js +86 -0
  63. package/dist/config/provider-env.js.map +1 -0
  64. package/dist/context/history.d.ts.map +1 -1
  65. package/dist/context/history.js +24 -8
  66. package/dist/context/history.js.map +1 -1
  67. package/dist/context/session-recall.d.ts +30 -0
  68. package/dist/context/session-recall.d.ts.map +1 -1
  69. package/dist/context/session-recall.js +61 -0
  70. package/dist/context/session-recall.js.map +1 -1
  71. package/dist/file.js +0 -1
  72. package/dist/file.js.map +1 -1
  73. package/dist/gateway/adapters.d.ts +10 -0
  74. package/dist/gateway/adapters.d.ts.map +1 -1
  75. package/dist/gateway/adapters.js +4 -1
  76. package/dist/gateway/adapters.js.map +1 -1
  77. package/dist/gateway/dedup.d.ts +105 -0
  78. package/dist/gateway/dedup.d.ts.map +1 -0
  79. package/dist/gateway/dedup.js +160 -0
  80. package/dist/gateway/dedup.js.map +1 -0
  81. package/dist/gateway/heartbeat.d.ts +99 -0
  82. package/dist/gateway/heartbeat.d.ts.map +1 -0
  83. package/dist/gateway/heartbeat.js +122 -0
  84. package/dist/gateway/heartbeat.js.map +1 -0
  85. package/dist/gateway/inbox.d.ts +14 -1
  86. package/dist/gateway/inbox.d.ts.map +1 -1
  87. package/dist/gateway/inbox.js.map +1 -1
  88. package/dist/gateway/platform-config.d.ts +5 -0
  89. package/dist/gateway/platform-config.d.ts.map +1 -1
  90. package/dist/gateway/platform-config.js +8 -13
  91. package/dist/gateway/platform-config.js.map +1 -1
  92. package/dist/gateway/registry.d.ts +47 -0
  93. package/dist/gateway/registry.d.ts.map +1 -1
  94. package/dist/gateway/registry.js +227 -21
  95. package/dist/gateway/registry.js.map +1 -1
  96. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  97. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  98. package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
  99. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  100. package/dist/gateway/whatsapp/bridge.d.ts +4 -2
  101. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  102. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  103. package/dist/index.js +1 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/inference/factory.d.ts +16 -0
  106. package/dist/inference/factory.d.ts.map +1 -1
  107. package/dist/inference/factory.js +42 -0
  108. package/dist/inference/factory.js.map +1 -1
  109. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  110. package/dist/inference/gemini-adapter.js +3 -0
  111. package/dist/inference/gemini-adapter.js.map +1 -1
  112. package/dist/inference/interface.d.ts +12 -0
  113. package/dist/inference/interface.d.ts.map +1 -1
  114. package/dist/inference/local-adapter.d.ts +2 -0
  115. package/dist/inference/local-adapter.d.ts.map +1 -1
  116. package/dist/inference/local-adapter.js +36 -5
  117. package/dist/inference/local-adapter.js.map +1 -1
  118. package/dist/inference/native-tools.d.ts +8 -0
  119. package/dist/inference/native-tools.d.ts.map +1 -1
  120. package/dist/inference/native-tools.js +14 -3
  121. package/dist/inference/native-tools.js.map +1 -1
  122. package/dist/inference/tool-call-utils.d.ts +92 -7
  123. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  124. package/dist/inference/tool-call-utils.js +203 -13
  125. package/dist/inference/tool-call-utils.js.map +1 -1
  126. package/dist/learning/auto-router.d.ts.map +1 -1
  127. package/dist/learning/auto-router.js +90 -5
  128. package/dist/learning/auto-router.js.map +1 -1
  129. package/dist/learning/context-budget.d.ts +133 -0
  130. package/dist/learning/context-budget.d.ts.map +1 -0
  131. package/dist/learning/context-budget.js +196 -0
  132. package/dist/learning/context-budget.js.map +1 -0
  133. package/dist/learning/cost-tracker.d.ts.map +1 -1
  134. package/dist/learning/cost-tracker.js +20 -8
  135. package/dist/learning/cost-tracker.js.map +1 -1
  136. package/dist/learning/eval-framework.d.ts.map +1 -1
  137. package/dist/learning/eval-framework.js +6 -2
  138. package/dist/learning/eval-framework.js.map +1 -1
  139. package/dist/learning/failure-bookkeeping.d.ts +19 -0
  140. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  141. package/dist/learning/failure-bookkeeping.js +67 -2
  142. package/dist/learning/failure-bookkeeping.js.map +1 -1
  143. package/dist/learning/feedback.d.ts.map +1 -1
  144. package/dist/learning/feedback.js +19 -8
  145. package/dist/learning/feedback.js.map +1 -1
  146. package/dist/learning/model-harness.d.ts +76 -0
  147. package/dist/learning/model-harness.d.ts.map +1 -0
  148. package/dist/learning/model-harness.js +119 -0
  149. package/dist/learning/model-harness.js.map +1 -0
  150. package/dist/learning/model-selection.d.ts +15 -0
  151. package/dist/learning/model-selection.d.ts.map +1 -1
  152. package/dist/learning/model-selection.js +27 -1
  153. package/dist/learning/model-selection.js.map +1 -1
  154. package/dist/learning/provider-fallback.d.ts +12 -0
  155. package/dist/learning/provider-fallback.d.ts.map +1 -1
  156. package/dist/learning/provider-fallback.js +74 -0
  157. package/dist/learning/provider-fallback.js.map +1 -1
  158. package/dist/learning/provider-revival.d.ts +106 -0
  159. package/dist/learning/provider-revival.d.ts.map +1 -0
  160. package/dist/learning/provider-revival.js +154 -0
  161. package/dist/learning/provider-revival.js.map +1 -0
  162. package/dist/learning/resilient-call.d.ts.map +1 -1
  163. package/dist/learning/resilient-call.js +48 -3
  164. package/dist/learning/resilient-call.js.map +1 -1
  165. package/dist/nlu/conversation-gate.d.ts +37 -0
  166. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  167. package/dist/nlu/conversation-gate.js +49 -0
  168. package/dist/nlu/conversation-gate.js.map +1 -1
  169. package/dist/nlu/schema.d.ts +2 -2
  170. package/dist/observability/dag-bridge.d.ts +69 -0
  171. package/dist/observability/dag-bridge.d.ts.map +1 -0
  172. package/dist/observability/dag-bridge.js +56 -0
  173. package/dist/observability/dag-bridge.js.map +1 -0
  174. package/dist/observability/event-bus.d.ts +5 -10
  175. package/dist/observability/event-bus.d.ts.map +1 -1
  176. package/dist/observability/event-bus.js +10 -42
  177. package/dist/observability/event-bus.js.map +1 -1
  178. package/dist/skills/execution-audit.d.ts.map +1 -1
  179. package/dist/skills/execution-audit.js +17 -5
  180. package/dist/skills/execution-audit.js.map +1 -1
  181. package/dist/skills/sandbox-executor.d.ts +12 -1
  182. package/dist/skills/sandbox-executor.d.ts.map +1 -1
  183. package/dist/skills/sandbox-executor.js +28 -6
  184. package/dist/skills/sandbox-executor.js.map +1 -1
  185. package/dist/skills/secret-capture.d.ts +45 -1
  186. package/dist/skills/secret-capture.d.ts.map +1 -1
  187. package/dist/skills/secret-capture.js +82 -19
  188. package/dist/skills/secret-capture.js.map +1 -1
  189. package/dist/skills/skill-env-inventory.d.ts +79 -0
  190. package/dist/skills/skill-env-inventory.d.ts.map +1 -0
  191. package/dist/skills/skill-env-inventory.js +167 -0
  192. package/dist/skills/skill-env-inventory.js.map +1 -0
  193. package/dist/skills/skill-executor.d.ts +2 -0
  194. package/dist/skills/skill-executor.d.ts.map +1 -1
  195. package/dist/skills/skill-executor.js +19 -24
  196. package/dist/skills/skill-executor.js.map +1 -1
  197. package/dist/tools/ask-user.d.ts +14 -1
  198. package/dist/tools/ask-user.d.ts.map +1 -1
  199. package/dist/tools/ask-user.js +25 -1
  200. package/dist/tools/ask-user.js.map +1 -1
  201. package/dist/tools/followup-utils.d.ts +64 -0
  202. package/dist/tools/followup-utils.d.ts.map +1 -0
  203. package/dist/tools/followup-utils.js +158 -0
  204. package/dist/tools/followup-utils.js.map +1 -0
  205. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  206. package/dist/tools/loop-skill-hint.js +22 -1
  207. package/dist/tools/loop-skill-hint.js.map +1 -1
  208. package/dist/tools/memory-tools.d.ts +35 -0
  209. package/dist/tools/memory-tools.d.ts.map +1 -1
  210. package/dist/tools/memory-tools.js +76 -0
  211. package/dist/tools/memory-tools.js.map +1 -1
  212. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  213. package/dist/tools/pipeline-tool.js +8 -3
  214. package/dist/tools/pipeline-tool.js.map +1 -1
  215. package/dist/tools/registry.d.ts +25 -12
  216. package/dist/tools/registry.d.ts.map +1 -1
  217. package/dist/tools/registry.js +31 -6
  218. package/dist/tools/registry.js.map +1 -1
  219. package/dist/tools/skill-tool.d.ts.map +1 -1
  220. package/dist/tools/skill-tool.js +52 -5
  221. package/dist/tools/skill-tool.js.map +1 -1
  222. package/dist/tools/tool-loop.d.ts +63 -1
  223. package/dist/tools/tool-loop.d.ts.map +1 -1
  224. package/dist/tools/tool-loop.js +305 -66
  225. package/dist/tools/tool-loop.js.map +1 -1
  226. package/dist/tools/toolsets.d.ts +19 -3
  227. package/dist/tools/toolsets.d.ts.map +1 -1
  228. package/dist/tools/toolsets.js +21 -5
  229. package/dist/tools/toolsets.js.map +1 -1
  230. package/dist/utils/env.d.ts.map +1 -1
  231. package/dist/utils/env.js +9 -13
  232. package/dist/utils/env.js.map +1 -1
  233. package/dist/web-dashboard/chat-console.d.ts +13 -1
  234. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  235. package/dist/web-dashboard/chat-console.js +16 -2
  236. package/dist/web-dashboard/chat-console.js.map +1 -1
  237. package/dist/web-dashboard/hub-data.d.ts +2 -0
  238. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  239. package/dist/web-dashboard/hub-data.js +4 -0
  240. package/dist/web-dashboard/hub-data.js.map +1 -1
  241. package/dist/web-dashboard/server.d.ts +6 -0
  242. package/dist/web-dashboard/server.d.ts.map +1 -1
  243. package/dist/web-dashboard/server.js +192 -3
  244. package/dist/web-dashboard/server.js.map +1 -1
  245. package/dist/web-dashboard/src/types.d.ts +31 -1
  246. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  247. package/package.json +11 -1
  248. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  249. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  250. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  251. package/src/web-dashboard/public/index.html +2 -2
  252. package/dist/example.d.ts +0 -1
  253. package/dist/example.d.ts.map +0 -1
  254. package/dist/example.js +0 -3
  255. package/dist/example.js.map +0 -1
  256. package/dist/fresh.d.ts +0 -2
  257. package/dist/fresh.d.ts.map +0 -1
  258. package/dist/fresh.js +0 -2
  259. package/dist/fresh.js.map +0 -1
  260. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  261. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  262. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  263. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  264. package/dist/memory/background-sync.d.ts +0 -107
  265. package/dist/memory/background-sync.d.ts.map +0 -1
  266. package/dist/memory/background-sync.js +0 -242
  267. package/dist/memory/background-sync.js.map +0 -1
  268. package/dist/memory/cross-session.d.ts +0 -68
  269. package/dist/memory/cross-session.d.ts.map +0 -1
  270. package/dist/memory/cross-session.js +0 -153
  271. package/dist/memory/cross-session.js.map +0 -1
  272. package/dist/memory/drift-detector.d.ts +0 -76
  273. package/dist/memory/drift-detector.d.ts.map +0 -1
  274. package/dist/memory/drift-detector.js +0 -216
  275. package/dist/memory/drift-detector.js.map +0 -1
  276. package/dist/memory/enhanced-manager.d.ts +0 -105
  277. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  278. package/dist/memory/enhanced-manager.js +0 -280
  279. package/dist/memory/enhanced-manager.js.map +0 -1
  280. package/dist/memory/session-extraction.d.ts +0 -93
  281. package/dist/memory/session-extraction.d.ts.map +0 -1
  282. package/dist/memory/session-extraction.js +0 -290
  283. package/dist/memory/session-extraction.js.map +0 -1
  284. package/dist/memory/sqlite-store.d.ts +0 -208
  285. package/dist/memory/sqlite-store.d.ts.map +0 -1
  286. package/dist/memory/sqlite-store.js +0 -556
  287. package/dist/memory/sqlite-store.js.map +0 -1
  288. package/dist/skills/daytona-executor.d.ts +0 -78
  289. package/dist/skills/daytona-executor.d.ts.map +0 -1
  290. package/dist/skills/daytona-executor.js +0 -256
  291. package/dist/skills/daytona-executor.js.map +0 -1
  292. package/dist/skills/modal-executor.d.ts +0 -81
  293. package/dist/skills/modal-executor.d.ts.map +0 -1
  294. package/dist/skills/modal-executor.js +0 -285
  295. package/dist/skills/modal-executor.js.map +0 -1
  296. package/dist/sync/inventory.d.ts +0 -1
  297. package/dist/sync/inventory.d.ts.map +0 -1
  298. package/dist/sync/inventory.js +0 -3
  299. package/dist/sync/inventory.js.map +0 -1
  300. package/dist/sync/validate.d.ts +0 -1
  301. package/dist/sync/validate.d.ts.map +0 -1
  302. package/dist/sync/validate.js +0 -3
  303. package/dist/sync/validate.js.map +0 -1
  304. package/dist/test.d.ts +0 -2
  305. package/dist/test.d.ts.map +0 -1
  306. package/dist/test.js +0 -3
  307. package/dist/test.js.map +0 -1
  308. package/dist/tools/browser-tool.d.ts +0 -206
  309. package/dist/tools/browser-tool.d.ts.map +0 -1
  310. package/dist/tools/browser-tool.js +0 -726
  311. package/dist/tools/browser-tool.js.map +0 -1
  312. package/dist/tools/delegate-tool.d.ts +0 -109
  313. package/dist/tools/delegate-tool.d.ts.map +0 -1
  314. package/dist/tools/delegate-tool.js +0 -185
  315. package/dist/tools/delegate-tool.js.map +0 -1
  316. package/dist/tools/delegation-state.d.ts +0 -87
  317. package/dist/tools/delegation-state.d.ts.map +0 -1
  318. package/dist/tools/delegation-state.js +0 -278
  319. package/dist/tools/delegation-state.js.map +0 -1
  320. package/dist/tools/desktop-ui.d.ts +0 -148
  321. package/dist/tools/desktop-ui.d.ts.map +0 -1
  322. package/dist/tools/desktop-ui.js +0 -486
  323. package/dist/tools/desktop-ui.js.map +0 -1
  324. package/dist/tools/image-video-tool.d.ts +0 -88
  325. package/dist/tools/image-video-tool.d.ts.map +0 -1
  326. package/dist/tools/image-video-tool.js +0 -276
  327. package/dist/tools/image-video-tool.js.map +0 -1
  328. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  329. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  330. package/dist/tools/kanban-cron-tools.js +0 -197
  331. package/dist/tools/kanban-cron-tools.js.map +0 -1
  332. package/dist/tools/messaging-tool.d.ts +0 -127
  333. package/dist/tools/messaging-tool.d.ts.map +0 -1
  334. package/dist/tools/messaging-tool.js +0 -314
  335. package/dist/tools/messaging-tool.js.map +0 -1
  336. package/dist/tools/modality/generic-caller.d.ts +0 -43
  337. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  338. package/dist/tools/modality/generic-caller.js +0 -254
  339. package/dist/tools/modality/generic-caller.js.map +0 -1
  340. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  341. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  342. package/dist/tools/modality/modality-catalog.js +0 -445
  343. package/dist/tools/modality/modality-catalog.js.map +0 -1
  344. package/dist/tools/modality/tool-router.d.ts +0 -81
  345. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  346. package/dist/tools/modality/tool-router.js +0 -84
  347. package/dist/tools/modality/tool-router.js.map +0 -1
  348. package/dist/tools/security-tools.d.ts +0 -107
  349. package/dist/tools/security-tools.d.ts.map +0 -1
  350. package/dist/tools/security-tools.js +0 -264
  351. package/dist/tools/security-tools.js.map +0 -1
  352. package/dist/tools/ssh-tool.d.ts +0 -130
  353. package/dist/tools/ssh-tool.d.ts.map +0 -1
  354. package/dist/tools/ssh-tool.js +0 -328
  355. package/dist/tools/ssh-tool.js.map +0 -1
  356. package/dist/tools/tts-tool.d.ts +0 -91
  357. package/dist/tools/tts-tool.d.ts.map +0 -1
  358. package/dist/tools/tts-tool.js +0 -406
  359. package/dist/tools/tts-tool.js.map +0 -1
  360. package/dist/utils/shell-detection.d.ts +0 -124
  361. package/dist/utils/shell-detection.d.ts.map +0 -1
  362. package/dist/utils/shell-detection.js +0 -305
  363. package/dist/utils/shell-detection.js.map +0 -1
  364. package/dist/utils/windows-paths.d.ts +0 -185
  365. package/dist/utils/windows-paths.d.ts.map +0 -1
  366. package/dist/utils/windows-paths.js +0 -472
  367. package/dist/utils/windows-paths.js.map +0 -1
  368. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  369. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
@@ -1,406 +0,0 @@
1
- /**
2
- * TTS Tool — Text-to-Speech with multiple provider support.
3
- *
4
- * This provides TTS capabilities:
5
- * - Multiple TTS engines (OpenAI, Google, Azure, ElevenLabs)
6
- * - Voice selection
7
- * - SSML support
8
- * - Streaming TTS
9
- * - Language support
10
- * - Audio format selection
11
- * - Speed/pitch control
12
- * - Volume control
13
- *
14
- * Better than Hermes:
15
- * - Multiple provider support
16
- * - Built-in voice selection
17
- * - SSML support
18
- * - Streaming capability
19
- * - Integration with skill system
20
- */
21
- import { writeFile, readFile } from 'node:fs/promises';
22
- // ─── TTS Providers ───────────────────────────────────────────────────────
23
- /**
24
- * OpenAI TTS provider.
25
- */
26
- async function openaiTTS(text, config) {
27
- const startTime = Date.now();
28
- try {
29
- const response = await fetch('https://api.openai.com/v1/audio/speech', {
30
- method: 'POST',
31
- headers: {
32
- 'Authorization': `Bearer ${config.apiKey}`,
33
- 'Content-Type': 'application/json',
34
- },
35
- body: JSON.stringify({
36
- model: 'tts-1',
37
- input: text,
38
- voice: config.voiceId ?? 'alloy',
39
- response_format: config.audioFormat ?? 'mp3',
40
- speed: config.speed ?? 1.0,
41
- }),
42
- });
43
- if (!response.ok) {
44
- throw new Error(`OpenAI TTS failed: ${response.statusText}`);
45
- }
46
- const audioBuffer = Buffer.from(await response.arrayBuffer());
47
- return {
48
- success: true,
49
- audioBuffer,
50
- durationMs: Date.now() - startTime,
51
- provider: 'openai',
52
- voiceId: config.voiceId ?? 'alloy',
53
- };
54
- }
55
- catch (err) {
56
- return {
57
- success: false,
58
- error: err instanceof Error ? err.message : String(err),
59
- durationMs: Date.now() - startTime,
60
- provider: 'openai',
61
- };
62
- }
63
- }
64
- /**
65
- * Google TTS provider.
66
- */
67
- async function googleTTS(text, config) {
68
- const startTime = Date.now();
69
- try {
70
- const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${config.apiKey}`;
71
- const response = await fetch(url, {
72
- method: 'POST',
73
- headers: {
74
- 'Content-Type': 'application/json',
75
- },
76
- body: JSON.stringify({
77
- input: {
78
- text,
79
- ssml: config.ssml ? 'SSML' : undefined,
80
- },
81
- voice: {
82
- languageCode: config.language ?? 'en-US',
83
- name: config.voiceId,
84
- ssmlGender: 'NEUTRAL',
85
- },
86
- audioConfig: {
87
- audioEncoding: config.audioFormat === 'wav' ? 'LINEAR16' : 'MP3',
88
- speakingRate: config.speed ?? 1.0,
89
- pitch: config.pitch ?? 0.0,
90
- volumeGainDb: config.volumeGainDb ?? 0.0,
91
- },
92
- }),
93
- });
94
- if (!response.ok) {
95
- throw new Error(`Google TTS failed: ${response.statusText}`);
96
- }
97
- const result = (await response.json());
98
- const audioBuffer = Buffer.from(result.audioContent, 'base64');
99
- return {
100
- success: true,
101
- audioBuffer,
102
- durationMs: Date.now() - startTime,
103
- provider: 'google',
104
- voiceId: config.voiceId,
105
- };
106
- }
107
- catch (err) {
108
- return {
109
- success: false,
110
- error: err instanceof Error ? err.message : String(err),
111
- durationMs: Date.now() - startTime,
112
- provider: 'google',
113
- };
114
- }
115
- }
116
- /**
117
- * Azure TTS provider.
118
- */
119
- async function azureTTS(text, config) {
120
- const startTime = Date.now();
121
- try {
122
- const region = 'eastus'; // Default region
123
- const url = `https://${region}.tts.speech.microsoft.com/cognitiveservices/v1`;
124
- const response = await fetch(url, {
125
- method: 'POST',
126
- headers: {
127
- 'Ocp-Apim-Subscription-Key': config.apiKey,
128
- 'Content-Type': 'application/ssml+xml',
129
- 'X-Microsoft-OutputFormat': 'audio-16khz-128kbitrate-mono-mp3',
130
- },
131
- body: `<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='${config.language ?? 'en-US'}'>
132
- <voice name='${config.voiceId ?? 'en-US-JennyNeural'}'>
133
- ${text}
134
- </voice>
135
- </speak>`,
136
- });
137
- if (!response.ok) {
138
- throw new Error(`Azure TTS failed: ${response.statusText}`);
139
- }
140
- const audioBuffer = Buffer.from(await response.arrayBuffer());
141
- return {
142
- success: true,
143
- audioBuffer,
144
- durationMs: Date.now() - startTime,
145
- provider: 'azure',
146
- voiceId: config.voiceId ?? 'en-US-JennyNeural',
147
- };
148
- }
149
- catch (err) {
150
- return {
151
- success: false,
152
- error: err instanceof Error ? err.message : String(err),
153
- durationMs: Date.now() - startTime,
154
- provider: 'azure',
155
- };
156
- }
157
- }
158
- /**
159
- * ElevenLabs TTS provider.
160
- */
161
- async function elevenlabsTTS(text, config) {
162
- const startTime = Date.now();
163
- try {
164
- const voiceId = config.voiceId ?? '21m00Tcm4TlvDq8ikWAM'; // Rachel
165
- const url = `https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`;
166
- const response = await fetch(url, {
167
- method: 'POST',
168
- headers: {
169
- 'xi-api-key': config.apiKey,
170
- 'Content-Type': 'application/json',
171
- },
172
- body: JSON.stringify({
173
- text,
174
- model_id: 'eleven_monolingual_v1',
175
- voice_settings: {
176
- stability: 0.5,
177
- similarity_boost: 0.75,
178
- },
179
- }),
180
- });
181
- if (!response.ok) {
182
- throw new Error(`ElevenLabs TTS failed: ${response.statusText}`);
183
- }
184
- const audioBuffer = Buffer.from(await response.arrayBuffer());
185
- return {
186
- success: true,
187
- audioBuffer,
188
- durationMs: Date.now() - startTime,
189
- provider: 'elevenlabs',
190
- voiceId,
191
- };
192
- }
193
- catch (err) {
194
- return {
195
- success: false,
196
- error: err instanceof Error ? err.message : String(err),
197
- durationMs: Date.now() - startTime,
198
- provider: 'elevenlabs',
199
- };
200
- }
201
- }
202
- // ─── Main TTS Function ──────────────────────────────────────────────────
203
- /**
204
- * Convert text to speech using the specified provider.
205
- */
206
- export async function textToSpeech(text, config, outputPath) {
207
- // Select provider
208
- let result;
209
- switch (config.provider) {
210
- case 'openai':
211
- result = await openaiTTS(text, config);
212
- break;
213
- case 'google':
214
- result = await googleTTS(text, config);
215
- break;
216
- case 'azure':
217
- result = await azureTTS(text, config);
218
- break;
219
- case 'elevenlabs':
220
- result = await elevenlabsTTS(text, config);
221
- break;
222
- default:
223
- return {
224
- success: false,
225
- error: `Unknown TTS provider: ${config.provider}`,
226
- durationMs: 0,
227
- provider: config.provider,
228
- };
229
- }
230
- // Save to file if path specified
231
- if (result.success && result.audioBuffer && outputPath) {
232
- await writeFile(outputPath, result.audioBuffer);
233
- result.audioPath = outputPath;
234
- }
235
- return result;
236
- }
237
- /**
238
- * Get available voices for a provider.
239
- */
240
- export async function getAvailableVoices(provider, apiKey) {
241
- try {
242
- switch (provider) {
243
- case 'openai': {
244
- // OpenAI has limited voices
245
- return [
246
- { id: 'alloy', name: 'Alloy' },
247
- { id: 'echo', name: 'Echo' },
248
- { id: 'fable', name: 'Fable' },
249
- { id: 'onyx', name: 'Onyx' },
250
- { id: 'nova', name: 'Nova' },
251
- { id: 'shimmer', name: 'Shimmer' },
252
- ];
253
- }
254
- case 'google': {
255
- const response = await fetch(`https://texttospeech.googleapis.com/v1/voices?key=${apiKey}`);
256
- const data = (await response.json());
257
- return data.voices?.map((v) => ({
258
- id: v.name,
259
- name: v.name,
260
- language: v.languageCodes?.[0],
261
- })) ?? [];
262
- }
263
- case 'azure': {
264
- // Azure voices require region-specific API
265
- return [
266
- { id: 'en-US-JennyNeural', name: 'Jenny', language: 'en-US' },
267
- { id: 'en-US-GuyNeural', name: 'Guy', language: 'en-US' },
268
- { id: 'en-US-AriaNeural', name: 'Aria', language: 'en-US' },
269
- ];
270
- }
271
- case 'elevenlabs': {
272
- const response = await fetch('https://api.elevenlabs.io/v1/voices', {
273
- headers: { 'xi-api-key': apiKey },
274
- });
275
- const data = (await response.json());
276
- return data.voices?.map((v) => ({
277
- id: v.voice_id,
278
- name: v.name,
279
- language: v.labels?.language,
280
- })) ?? [];
281
- }
282
- default:
283
- return [];
284
- }
285
- }
286
- catch {
287
- return [];
288
- }
289
- }
290
- /**
291
- * Convert speech to text using the specified provider.
292
- */
293
- export async function speechToText(audioPath, config) {
294
- const startTime = Date.now();
295
- try {
296
- const audioBuffer = await readFile(audioPath);
297
- switch (config.provider) {
298
- case 'openai': {
299
- const formData = new FormData();
300
- formData.append('file', new Blob([audioBuffer]), 'audio.wav');
301
- formData.append('model', config.model ?? 'whisper-1');
302
- if (config.language) {
303
- formData.append('language', config.language);
304
- }
305
- const response = await fetch('https://api.openai.com/v1/audio/transcriptions', {
306
- method: 'POST',
307
- headers: {
308
- 'Authorization': `Bearer ${config.apiKey}`,
309
- },
310
- body: formData,
311
- });
312
- if (!response.ok) {
313
- throw new Error(`OpenAI STT failed: ${response.statusText}`);
314
- }
315
- const result = (await response.json());
316
- return {
317
- success: true,
318
- text: result.text,
319
- language: config.language,
320
- durationMs: Date.now() - startTime,
321
- provider: 'openai',
322
- };
323
- }
324
- case 'google': {
325
- const url = `https://speech.googleapis.com/v1/speech:recognize?key=${config.apiKey}`;
326
- const response = await fetch(url, {
327
- method: 'POST',
328
- headers: {
329
- 'Content-Type': 'application/json',
330
- },
331
- body: JSON.stringify({
332
- config: {
333
- encoding: 'LINEAR16',
334
- sampleRateHertz: 16000,
335
- languageCode: config.language ?? 'en-US',
336
- },
337
- audio: {
338
- content: audioBuffer.toString('base64'),
339
- },
340
- }),
341
- });
342
- if (!response.ok) {
343
- throw new Error(`Google STT failed: ${response.statusText}`);
344
- }
345
- const result = (await response.json());
346
- const text = result.results
347
- ?.map((r) => r.alternatives?.[0]?.transcript)
348
- .join(' ');
349
- return {
350
- success: true,
351
- text,
352
- language: config.language,
353
- durationMs: Date.now() - startTime,
354
- provider: 'google',
355
- };
356
- }
357
- case 'azure': {
358
- const region = 'eastus';
359
- const url = `https://${region}.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=${config.language ?? 'en-US'}`;
360
- const response = await fetch(url, {
361
- method: 'POST',
362
- headers: {
363
- 'Ocp-Apim-Subscription-Key': config.apiKey,
364
- 'Content-Type': 'audio/wav; codecs=audio/pcm; samplerate=16000',
365
- },
366
- body: audioBuffer,
367
- });
368
- if (!response.ok) {
369
- throw new Error(`Azure STT failed: ${response.statusText}`);
370
- }
371
- const result = (await response.json());
372
- return {
373
- success: true,
374
- text: result.DisplayText,
375
- language: config.language,
376
- durationMs: Date.now() - startTime,
377
- provider: 'azure',
378
- };
379
- }
380
- default:
381
- return {
382
- success: false,
383
- error: `Unknown STT provider: ${config.provider}`,
384
- durationMs: Date.now() - startTime,
385
- provider: config.provider,
386
- };
387
- }
388
- }
389
- catch (err) {
390
- return {
391
- success: false,
392
- error: err instanceof Error ? err.message : String(err),
393
- durationMs: Date.now() - startTime,
394
- provider: config.provider,
395
- };
396
- }
397
- }
398
- // ─── Export All ──────────────────────────────────────────────────────────
399
- export default {
400
- // TTS
401
- textToSpeech,
402
- getAvailableVoices,
403
- // STT
404
- speechToText,
405
- };
406
- //# sourceMappingURL=tts-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tts-tool.js","sourceRoot":"","sources":["../../src/tools/tts-tool.ts"],"names":[],"mappings":"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"}
@@ -1,124 +0,0 @@
1
- /**
2
- * Shell Detection — Detect and use correct shell for platform.
3
- *
4
- * This provides shell detection and execution:
5
- * - Auto-detect available shells
6
- * - PowerShell 7+ support
7
- * - CMD support
8
- * - Bash/Zsh support
9
- * - Shell-specific command formatting
10
- * - Error stream handling
11
- * - Output encoding
12
- *
13
- * Better than Hermes:
14
- * - Automatic shell detection
15
- * - Shell-specific error handling
16
- * - Output encoding support
17
- * - Integration with skill system
18
- */
19
- export type ShellType = 'powershell' | 'pwsh' | 'cmd' | 'bash' | 'zsh' | 'fish' | 'unknown';
20
- export interface ShellInfo {
21
- /** Shell type */
22
- type: ShellType;
23
- /** Shell executable path */
24
- path: string;
25
- /** Shell version */
26
- version?: string;
27
- /** Whether shell is available */
28
- available: boolean;
29
- }
30
- export interface ShellExecutionResult {
31
- /** Exit code */
32
- exitCode: number;
33
- /** Standard output */
34
- stdout: string;
35
- /** Standard error */
36
- stderr: string;
37
- /** Execution duration in milliseconds */
38
- durationMs: number;
39
- /** Shell used */
40
- shell: ShellType;
41
- }
42
- /**
43
- * Detect available shells on the system.
44
- */
45
- export declare function detectShells(): Promise<ShellInfo[]>;
46
- /**
47
- * Get the default shell for the current platform.
48
- */
49
- export declare function getDefaultShell(): ShellType;
50
- /**
51
- * Get the best available shell.
52
- */
53
- export declare function getBestShell(): Promise<ShellInfo>;
54
- /**
55
- * Execute a command in a shell.
56
- */
57
- export declare function executeShellCommand(command: string, args?: string[], options?: {
58
- cwd?: string;
59
- env?: Record<string, string>;
60
- timeout?: number;
61
- shell?: ShellType;
62
- }): Promise<ShellExecutionResult>;
63
- /**
64
- * Build shell-specific command.
65
- */
66
- declare function buildShellCommand(shell: ShellType, command: string, args: string[]): {
67
- execCommand: string;
68
- execArgs: string[];
69
- };
70
- /**
71
- * Execute a PowerShell script block.
72
- */
73
- export declare function executePowerShellScript(script: string, options?: {
74
- cwd?: string;
75
- env?: Record<string, string>;
76
- timeout?: number;
77
- executionPolicy?: 'Restricted' | 'AllSigned' | 'RemoteSigned' | 'Unrestricted';
78
- }): Promise<ShellExecutionResult>;
79
- /**
80
- * Execute a PowerShell script file.
81
- */
82
- export declare function executePowerShellFile(filePath: string, args?: string[], options?: {
83
- cwd?: string;
84
- env?: Record<string, string>;
85
- timeout?: number;
86
- }): Promise<ShellExecutionResult>;
87
- /**
88
- * Execute a CMD command.
89
- */
90
- export declare function executeCMDCommand(command: string, args?: string[], options?: {
91
- cwd?: string;
92
- env?: Record<string, string>;
93
- timeout?: number;
94
- }): Promise<ShellExecutionResult>;
95
- /**
96
- * Execute a Bash script.
97
- */
98
- export declare function executeBashScript(script: string, options?: {
99
- cwd?: string;
100
- env?: Record<string, string>;
101
- timeout?: number;
102
- }): Promise<ShellExecutionResult>;
103
- /**
104
- * Execute a Bash script file.
105
- */
106
- export declare function executeBashFile(filePath: string, args?: string[], options?: {
107
- cwd?: string;
108
- env?: Record<string, string>;
109
- timeout?: number;
110
- }): Promise<ShellExecutionResult>;
111
- declare const _default: {
112
- detectShells: typeof detectShells;
113
- getDefaultShell: typeof getDefaultShell;
114
- getBestShell: typeof getBestShell;
115
- executeShellCommand: typeof executeShellCommand;
116
- buildShellCommand: typeof buildShellCommand;
117
- executePowerShellScript: typeof executePowerShellScript;
118
- executePowerShellFile: typeof executePowerShellFile;
119
- executeCMDCommand: typeof executeCMDCommand;
120
- executeBashScript: typeof executeBashScript;
121
- executeBashFile: typeof executeBashFile;
122
- };
123
- export default _default;
124
- //# sourceMappingURL=shell-detection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell-detection.d.ts","sourceRoot":"","sources":["../../src/utils/shell-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5F,MAAM,WAAW,SAAS;IACxB,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB;AAID;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CA4BzD;AA0BD;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAa3C;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CA6BvD;AAID;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACd,GACL,OAAO,CAAC,oBAAoB,CAAC,CAgE/B;AAED;;GAEG;AACH,iBAAS,iBAAiB,CACxB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkC7C;AAID;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;CAC3E,GACL,OAAO,CAAC,oBAAoB,CAAC,CAqB/B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,oBAAoB,CAAC,CAgB/B;AAID;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAID;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,oBAAoB,CAAC,CAW/B;;;;;;;;;;;;;AAID,wBAoBE"}