agent-nuvira 2.7.3 → 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 (366) 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 +239 -63
  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 +222 -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 +66 -7
  123. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  124. package/dist/inference/tool-call-utils.js +134 -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/memory-tools.d.ts +35 -0
  206. package/dist/tools/memory-tools.d.ts.map +1 -1
  207. package/dist/tools/memory-tools.js +76 -0
  208. package/dist/tools/memory-tools.js.map +1 -1
  209. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  210. package/dist/tools/pipeline-tool.js +8 -3
  211. package/dist/tools/pipeline-tool.js.map +1 -1
  212. package/dist/tools/registry.d.ts +25 -12
  213. package/dist/tools/registry.d.ts.map +1 -1
  214. package/dist/tools/registry.js +31 -6
  215. package/dist/tools/registry.js.map +1 -1
  216. package/dist/tools/skill-tool.d.ts.map +1 -1
  217. package/dist/tools/skill-tool.js +52 -5
  218. package/dist/tools/skill-tool.js.map +1 -1
  219. package/dist/tools/tool-loop.d.ts +63 -1
  220. package/dist/tools/tool-loop.d.ts.map +1 -1
  221. package/dist/tools/tool-loop.js +305 -66
  222. package/dist/tools/tool-loop.js.map +1 -1
  223. package/dist/tools/toolsets.d.ts +19 -3
  224. package/dist/tools/toolsets.d.ts.map +1 -1
  225. package/dist/tools/toolsets.js +21 -5
  226. package/dist/tools/toolsets.js.map +1 -1
  227. package/dist/utils/env.d.ts.map +1 -1
  228. package/dist/utils/env.js +9 -13
  229. package/dist/utils/env.js.map +1 -1
  230. package/dist/web-dashboard/chat-console.d.ts +13 -1
  231. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  232. package/dist/web-dashboard/chat-console.js +16 -2
  233. package/dist/web-dashboard/chat-console.js.map +1 -1
  234. package/dist/web-dashboard/hub-data.d.ts +2 -0
  235. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  236. package/dist/web-dashboard/hub-data.js +4 -0
  237. package/dist/web-dashboard/hub-data.js.map +1 -1
  238. package/dist/web-dashboard/server.d.ts +6 -0
  239. package/dist/web-dashboard/server.d.ts.map +1 -1
  240. package/dist/web-dashboard/server.js +192 -3
  241. package/dist/web-dashboard/server.js.map +1 -1
  242. package/dist/web-dashboard/src/types.d.ts +31 -1
  243. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  244. package/package.json +11 -1
  245. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  246. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  247. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  248. package/src/web-dashboard/public/index.html +2 -2
  249. package/dist/example.d.ts +0 -1
  250. package/dist/example.d.ts.map +0 -1
  251. package/dist/example.js +0 -3
  252. package/dist/example.js.map +0 -1
  253. package/dist/fresh.d.ts +0 -2
  254. package/dist/fresh.d.ts.map +0 -1
  255. package/dist/fresh.js +0 -2
  256. package/dist/fresh.js.map +0 -1
  257. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  258. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  259. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  260. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  261. package/dist/memory/background-sync.d.ts +0 -107
  262. package/dist/memory/background-sync.d.ts.map +0 -1
  263. package/dist/memory/background-sync.js +0 -242
  264. package/dist/memory/background-sync.js.map +0 -1
  265. package/dist/memory/cross-session.d.ts +0 -68
  266. package/dist/memory/cross-session.d.ts.map +0 -1
  267. package/dist/memory/cross-session.js +0 -153
  268. package/dist/memory/cross-session.js.map +0 -1
  269. package/dist/memory/drift-detector.d.ts +0 -76
  270. package/dist/memory/drift-detector.d.ts.map +0 -1
  271. package/dist/memory/drift-detector.js +0 -216
  272. package/dist/memory/drift-detector.js.map +0 -1
  273. package/dist/memory/enhanced-manager.d.ts +0 -105
  274. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  275. package/dist/memory/enhanced-manager.js +0 -280
  276. package/dist/memory/enhanced-manager.js.map +0 -1
  277. package/dist/memory/session-extraction.d.ts +0 -93
  278. package/dist/memory/session-extraction.d.ts.map +0 -1
  279. package/dist/memory/session-extraction.js +0 -290
  280. package/dist/memory/session-extraction.js.map +0 -1
  281. package/dist/memory/sqlite-store.d.ts +0 -208
  282. package/dist/memory/sqlite-store.d.ts.map +0 -1
  283. package/dist/memory/sqlite-store.js +0 -556
  284. package/dist/memory/sqlite-store.js.map +0 -1
  285. package/dist/skills/daytona-executor.d.ts +0 -78
  286. package/dist/skills/daytona-executor.d.ts.map +0 -1
  287. package/dist/skills/daytona-executor.js +0 -256
  288. package/dist/skills/daytona-executor.js.map +0 -1
  289. package/dist/skills/modal-executor.d.ts +0 -81
  290. package/dist/skills/modal-executor.d.ts.map +0 -1
  291. package/dist/skills/modal-executor.js +0 -285
  292. package/dist/skills/modal-executor.js.map +0 -1
  293. package/dist/sync/inventory.d.ts +0 -1
  294. package/dist/sync/inventory.d.ts.map +0 -1
  295. package/dist/sync/inventory.js +0 -3
  296. package/dist/sync/inventory.js.map +0 -1
  297. package/dist/sync/validate.d.ts +0 -1
  298. package/dist/sync/validate.d.ts.map +0 -1
  299. package/dist/sync/validate.js +0 -3
  300. package/dist/sync/validate.js.map +0 -1
  301. package/dist/test.d.ts +0 -2
  302. package/dist/test.d.ts.map +0 -1
  303. package/dist/test.js +0 -3
  304. package/dist/test.js.map +0 -1
  305. package/dist/tools/browser-tool.d.ts +0 -206
  306. package/dist/tools/browser-tool.d.ts.map +0 -1
  307. package/dist/tools/browser-tool.js +0 -726
  308. package/dist/tools/browser-tool.js.map +0 -1
  309. package/dist/tools/delegate-tool.d.ts +0 -109
  310. package/dist/tools/delegate-tool.d.ts.map +0 -1
  311. package/dist/tools/delegate-tool.js +0 -185
  312. package/dist/tools/delegate-tool.js.map +0 -1
  313. package/dist/tools/delegation-state.d.ts +0 -87
  314. package/dist/tools/delegation-state.d.ts.map +0 -1
  315. package/dist/tools/delegation-state.js +0 -278
  316. package/dist/tools/delegation-state.js.map +0 -1
  317. package/dist/tools/desktop-ui.d.ts +0 -148
  318. package/dist/tools/desktop-ui.d.ts.map +0 -1
  319. package/dist/tools/desktop-ui.js +0 -486
  320. package/dist/tools/desktop-ui.js.map +0 -1
  321. package/dist/tools/image-video-tool.d.ts +0 -88
  322. package/dist/tools/image-video-tool.d.ts.map +0 -1
  323. package/dist/tools/image-video-tool.js +0 -276
  324. package/dist/tools/image-video-tool.js.map +0 -1
  325. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  326. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  327. package/dist/tools/kanban-cron-tools.js +0 -197
  328. package/dist/tools/kanban-cron-tools.js.map +0 -1
  329. package/dist/tools/messaging-tool.d.ts +0 -127
  330. package/dist/tools/messaging-tool.d.ts.map +0 -1
  331. package/dist/tools/messaging-tool.js +0 -314
  332. package/dist/tools/messaging-tool.js.map +0 -1
  333. package/dist/tools/modality/generic-caller.d.ts +0 -43
  334. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  335. package/dist/tools/modality/generic-caller.js +0 -254
  336. package/dist/tools/modality/generic-caller.js.map +0 -1
  337. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  338. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  339. package/dist/tools/modality/modality-catalog.js +0 -445
  340. package/dist/tools/modality/modality-catalog.js.map +0 -1
  341. package/dist/tools/modality/tool-router.d.ts +0 -81
  342. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  343. package/dist/tools/modality/tool-router.js +0 -84
  344. package/dist/tools/modality/tool-router.js.map +0 -1
  345. package/dist/tools/security-tools.d.ts +0 -107
  346. package/dist/tools/security-tools.d.ts.map +0 -1
  347. package/dist/tools/security-tools.js +0 -264
  348. package/dist/tools/security-tools.js.map +0 -1
  349. package/dist/tools/ssh-tool.d.ts +0 -130
  350. package/dist/tools/ssh-tool.d.ts.map +0 -1
  351. package/dist/tools/ssh-tool.js +0 -328
  352. package/dist/tools/ssh-tool.js.map +0 -1
  353. package/dist/tools/tts-tool.d.ts +0 -91
  354. package/dist/tools/tts-tool.d.ts.map +0 -1
  355. package/dist/tools/tts-tool.js +0 -406
  356. package/dist/tools/tts-tool.js.map +0 -1
  357. package/dist/utils/shell-detection.d.ts +0 -124
  358. package/dist/utils/shell-detection.d.ts.map +0 -1
  359. package/dist/utils/shell-detection.js +0 -305
  360. package/dist/utils/shell-detection.js.map +0 -1
  361. package/dist/utils/windows-paths.d.ts +0 -185
  362. package/dist/utils/windows-paths.d.ts.map +0 -1
  363. package/dist/utils/windows-paths.js +0 -472
  364. package/dist/utils/windows-paths.js.map +0 -1
  365. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  366. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
@@ -1,486 +0,0 @@
1
- /**
2
- * Desktop UI — Screen capture, mouse/keyboard control.
3
- *
4
- * This provides desktop automation:
5
- * - Screen capture (full screen or region)
6
- * - Mouse control (click, move, drag, scroll)
7
- * - Keyboard control (type, hotkeys, shortcuts)
8
- * - Window management (focus, resize, move, close)
9
- * - Application launch
10
- * - OCR integration
11
- * - Clipboard access
12
- * - Multi-monitor support
13
- *
14
- * Better than Hermes:
15
- * - Cross-platform support
16
- * - Built-in OCR
17
- * - Multi-monitor support
18
- * - Integration with skill system
19
- */
20
- import { spawn } from 'node:child_process';
21
- import { join } from 'node:path';
22
- import { tmpdir } from 'node:os';
23
- import { platform } from 'node:os';
24
- import { randomBytes } from 'node:crypto';
25
- // ─── Platform Detection ──────────────────────────────────────────────────
26
- function isMacOS() {
27
- return platform() === 'darwin';
28
- }
29
- function isWindows() {
30
- return platform() === 'win32';
31
- }
32
- function isLinux() {
33
- return platform() === 'linux';
34
- }
35
- // ─── Screen Capture ──────────────────────────────────────────────────────
36
- /**
37
- * Capture the screen.
38
- */
39
- export async function captureScreen(options = {}) {
40
- const startTime = Date.now();
41
- try {
42
- const outputPath = options.path ?? join(tmpdir(), `screen-${randomBytes(4).toString('hex')}.png`);
43
- if (isMacOS()) {
44
- // macOS: use screencapture
45
- const args = ['-x']; // No sound
46
- if (options.region) {
47
- args.push('-R', `${options.region.x},${options.region.y},${options.region.width},${options.region.height}`);
48
- }
49
- args.push(outputPath);
50
- await runCommand('screencapture', args);
51
- }
52
- else if (isWindows()) {
53
- // Windows: use PowerShell
54
- const psScript = `
55
- Add-Type -AssemblyName System.Windows.Forms
56
- $screen = [System.Windows.Forms.Screen]::PrimaryScreen
57
- $bitmap = New-Object System.Drawing.Bitmap($screen.Bounds.Width, $screen.Bounds.Height)
58
- $graphics = [System.Drawing.Graphics]::FromImage($bitmap)
59
- $graphics.CopyFromScreen($screen.Bounds.Location, [System.Drawing.Point]::Empty, $screen.Bounds.Size)
60
- $bitmap.Save('${outputPath}')
61
- $graphics.Dispose()
62
- $bitmap.Dispose()
63
- `;
64
- await runCommand('powershell', ['-Command', psScript]);
65
- }
66
- else if (isLinux()) {
67
- // Linux: use scrot or import
68
- try {
69
- await runCommand('scrot', [outputPath]);
70
- }
71
- catch {
72
- await runCommand('import', ['-window', 'root', outputPath]);
73
- }
74
- }
75
- return {
76
- success: true,
77
- data: { path: outputPath },
78
- durationMs: Date.now() - startTime,
79
- };
80
- }
81
- catch (err) {
82
- return {
83
- success: false,
84
- error: err instanceof Error ? err.message : String(err),
85
- durationMs: Date.now() - startTime,
86
- };
87
- }
88
- }
89
- // ─── Mouse Control ───────────────────────────────────────────────────────
90
- /**
91
- * Click at coordinates.
92
- */
93
- export async function mouseClick(options) {
94
- const startTime = Date.now();
95
- try {
96
- if (isMacOS()) {
97
- // macOS: use cliclick
98
- const button = options.button === 'right' ? 'rc' : 'c';
99
- await runCommand('cliclick', [`${button}:${options.x},${options.y}`]);
100
- }
101
- else if (isWindows()) {
102
- // Windows: use PowerShell
103
- const psScript = `
104
- Add-Type -AssemblyName System.Windows.Forms
105
- [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(${options.x}, ${options.y})
106
- $mouse = New-Object -ComObject WScript.Shell
107
- if ('${options.button}' -eq 'right') {
108
- $mouse.SendKeys('{RIGHTCLICK}')
109
- } else {
110
- $mouse.SendKeys('{CLICK}')
111
- }
112
- `;
113
- await runCommand('powershell', ['-Command', psScript]);
114
- }
115
- else if (isLinux()) {
116
- // Linux: use xdotool
117
- const button = options.button === 'right' ? 3 : 1;
118
- await runCommand('xdotool', ['mousemove', String(options.x), String(options.y), 'click', String(button)]);
119
- }
120
- return {
121
- success: true,
122
- data: { x: options.x, y: options.y, button: options.button ?? 'left' },
123
- durationMs: Date.now() - startTime,
124
- };
125
- }
126
- catch (err) {
127
- return {
128
- success: false,
129
- error: err instanceof Error ? err.message : String(err),
130
- durationMs: Date.now() - startTime,
131
- };
132
- }
133
- }
134
- /**
135
- * Move mouse to coordinates.
136
- */
137
- export async function mouseMove(options) {
138
- const startTime = Date.now();
139
- try {
140
- if (isMacOS()) {
141
- await runCommand('cliclick', [`m:${options.x},${options.y}`]);
142
- }
143
- else if (isWindows()) {
144
- const psScript = `
145
- Add-Type -AssemblyName System.Windows.Forms
146
- [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(${options.x}, ${options.y})
147
- `;
148
- await runCommand('powershell', ['-Command', psScript]);
149
- }
150
- else if (isLinux()) {
151
- await runCommand('xdotool', ['mousemove', String(options.x), String(options.y)]);
152
- }
153
- return {
154
- success: true,
155
- data: { x: options.x, y: options.y },
156
- durationMs: Date.now() - startTime,
157
- };
158
- }
159
- catch (err) {
160
- return {
161
- success: false,
162
- error: err instanceof Error ? err.message : String(err),
163
- durationMs: Date.now() - startTime,
164
- };
165
- }
166
- }
167
- /**
168
- * Scroll at coordinates.
169
- */
170
- export async function mouseScroll(x, y, deltaX, deltaY) {
171
- const startTime = Date.now();
172
- try {
173
- if (isMacOS()) {
174
- await runCommand('cliclick', [`scroll:${deltaY > 0 ? 'down' : 'up'}:${Math.abs(deltaY)}`]);
175
- }
176
- else if (isWindows()) {
177
- const psScript = `
178
- Add-Type -AssemblyName System.Windows.Forms
179
- [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(${x}, ${y})
180
- [System.Windows.Forms.SendMouseWheel](${deltaY * 120})
181
- `;
182
- await runCommand('powershell', ['-Command', psScript]);
183
- }
184
- else if (isLinux()) {
185
- await runCommand('xdotool', ['mousemove', String(x), String(y), 'click', '4', String(deltaY > 0 ? 5 : 4)]);
186
- }
187
- return {
188
- success: true,
189
- data: { x, y, deltaX, deltaY },
190
- durationMs: Date.now() - startTime,
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
- };
199
- }
200
- }
201
- // ─── Keyboard Control ────────────────────────────────────────────────────
202
- /**
203
- * Type text.
204
- */
205
- export async function typeText(options) {
206
- const startTime = Date.now();
207
- try {
208
- if (isMacOS()) {
209
- await runCommand('cliclick', [`t:${options.text}`]);
210
- }
211
- else if (isWindows()) {
212
- const psScript = `
213
- Add-Type -AssemblyName System.Windows.Forms
214
- [System.Windows.Forms.SendKeys]::SendWait('${options.text.replace(/'/g, "''")}')
215
- `;
216
- await runCommand('powershell', ['-Command', psScript]);
217
- }
218
- else if (isLinux()) {
219
- await runCommand('xdotool', ['type', '--clearmodifiers', options.text]);
220
- }
221
- return {
222
- success: true,
223
- data: { text: options.text },
224
- durationMs: Date.now() - startTime,
225
- };
226
- }
227
- catch (err) {
228
- return {
229
- success: false,
230
- error: err instanceof Error ? err.message : String(err),
231
- durationMs: Date.now() - startTime,
232
- };
233
- }
234
- }
235
- /**
236
- * Press hotkey combination.
237
- */
238
- export async function pressHotkey(options) {
239
- const startTime = Date.now();
240
- try {
241
- if (isMacOS()) {
242
- const keys = options.keys.join('+');
243
- await runCommand('cliclick', [`kp:${keys}`]);
244
- }
245
- else if (isWindows()) {
246
- const keys = options.keys.map(k => `{${k.toUpperCase()}}`).join('');
247
- const psScript = `
248
- Add-Type -AssemblyName System.Windows.Forms
249
- [System.Windows.Forms.SendKeys]::SendWait('${keys}')
250
- `;
251
- await runCommand('powershell', ['-Command', psScript]);
252
- }
253
- else if (isLinux()) {
254
- const keys = options.keys.join('+');
255
- await runCommand('xdotool', ['key', '--clearmodifiers', keys]);
256
- }
257
- return {
258
- success: true,
259
- data: { keys: options.keys },
260
- durationMs: Date.now() - startTime,
261
- };
262
- }
263
- catch (err) {
264
- return {
265
- success: false,
266
- error: err instanceof Error ? err.message : String(err),
267
- durationMs: Date.now() - startTime,
268
- };
269
- }
270
- }
271
- // ─── Window Management ───────────────────────────────────────────────────
272
- /**
273
- * Get list of open windows.
274
- */
275
- export async function listWindows() {
276
- const startTime = Date.now();
277
- try {
278
- let windows = [];
279
- if (isMacOS()) {
280
- // macOS: use osascript
281
- const script = `
282
- tell application "System Events"
283
- set windowList to {}
284
- repeat with proc in (every process whose visible is true)
285
- set procName to name of proc
286
- repeat with win in (every window of proc)
287
- set end of windowList to {title of win, procName, position of win, size of win}
288
- end repeat
289
- end repeat
290
- end tell
291
- `;
292
- const result = await runCommand('osascript', ['-e', script]);
293
- // Parse output
294
- windows = parseMacWindows(result);
295
- }
296
- else if (isWindows()) {
297
- // Windows: use PowerShell
298
- const psScript = `
299
- Get-Process | Where-Object {$_.MainWindowTitle -ne ""} | ForEach-Object {
300
- "$($_.MainWindowTitle)|$($_.ProcessName)|$($_.MainWindowBounds)"
301
- }
302
- `;
303
- const result = await runCommand('powershell', ['-Command', psScript]);
304
- windows = parseWindowsWindows(result);
305
- }
306
- else if (isLinux()) {
307
- // Linux: use wmctrl
308
- const result = await runCommand('wmctrl', ['-l']);
309
- windows = parseLinuxWindows(result);
310
- }
311
- return {
312
- success: true,
313
- data: windows,
314
- durationMs: Date.now() - startTime,
315
- };
316
- }
317
- catch (err) {
318
- return {
319
- success: false,
320
- error: err instanceof Error ? err.message : String(err),
321
- durationMs: Date.now() - startTime,
322
- };
323
- }
324
- }
325
- /**
326
- * Focus a window by title.
327
- */
328
- export async function focusWindow(title) {
329
- const startTime = Date.now();
330
- try {
331
- if (isMacOS()) {
332
- const script = `
333
- tell application "System Events"
334
- set frontmost of process "${title}" to true
335
- end tell
336
- `;
337
- await runCommand('osascript', ['-e', script]);
338
- }
339
- else if (isWindows()) {
340
- const psScript = `
341
- $proc = Get-Process -Name "${title}" -ErrorAction SilentlyContinue
342
- if ($proc) {
343
- [Microsoft.VisualBasic.Interaction]::AppActivate($proc.Id)
344
- }
345
- `;
346
- await runCommand('powershell', ['-Command', psScript]);
347
- }
348
- else if (isLinux()) {
349
- await runCommand('wmctrl', ['-a', title]);
350
- }
351
- return {
352
- success: true,
353
- data: { title },
354
- durationMs: Date.now() - startTime,
355
- };
356
- }
357
- catch (err) {
358
- return {
359
- success: false,
360
- error: err instanceof Error ? err.message : String(err),
361
- durationMs: Date.now() - startTime,
362
- };
363
- }
364
- }
365
- // ─── Clipboard ───────────────────────────────────────────────────────────
366
- /**
367
- * Get clipboard content.
368
- */
369
- export async function getClipboard() {
370
- const startTime = Date.now();
371
- try {
372
- let content = '';
373
- if (isMacOS()) {
374
- content = await runCommand('pbpaste', []);
375
- }
376
- else if (isWindows()) {
377
- const psScript = 'Get-Clipboard';
378
- content = await runCommand('powershell', ['-Command', psScript]);
379
- }
380
- else if (isLinux()) {
381
- content = await runCommand('xclip', ['-selection', 'clipboard', '-o']);
382
- }
383
- return {
384
- success: true,
385
- data: content.trim(),
386
- durationMs: Date.now() - startTime,
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
- };
395
- }
396
- }
397
- /**
398
- * Set clipboard content.
399
- */
400
- export async function setClipboard(text) {
401
- const startTime = Date.now();
402
- try {
403
- if (isMacOS()) {
404
- await runCommand('pbcopy', [], text);
405
- }
406
- else if (isWindows()) {
407
- const psScript = `Set-Clipboard -Value "${text.replace(/"/g, '""')}"`;
408
- await runCommand('powershell', ['-Command', psScript]);
409
- }
410
- else if (isLinux()) {
411
- await runCommand('xclip', ['-selection', 'clipboard'], text);
412
- }
413
- return {
414
- success: true,
415
- data: { text },
416
- durationMs: Date.now() - startTime,
417
- };
418
- }
419
- catch (err) {
420
- return {
421
- success: false,
422
- error: err instanceof Error ? err.message : String(err),
423
- durationMs: Date.now() - startTime,
424
- };
425
- }
426
- }
427
- // ─── Helpers ─────────────────────────────────────────────────────────────
428
- async function runCommand(command, args, stdin) {
429
- return new Promise((resolve, reject) => {
430
- const child = spawn(command, args, {
431
- stdio: ['pipe', 'pipe', 'pipe'],
432
- });
433
- let stdout = '';
434
- let stderr = '';
435
- child.stdout?.on('data', (data) => {
436
- stdout += data.toString();
437
- });
438
- child.stderr?.on('data', (data) => {
439
- stderr += data.toString();
440
- });
441
- if (stdin) {
442
- child.stdin?.write(stdin);
443
- child.stdin?.end();
444
- }
445
- child.on('close', (code) => {
446
- if (code === 0) {
447
- resolve(stdout);
448
- }
449
- else {
450
- reject(new Error(stderr || `Command failed with exit code ${code}`));
451
- }
452
- });
453
- child.on('error', reject);
454
- });
455
- }
456
- function parseMacWindows(output) {
457
- // Parse macOS window list
458
- return [];
459
- }
460
- function parseWindowsWindows(output) {
461
- // Parse Windows window list
462
- return [];
463
- }
464
- function parseLinuxWindows(output) {
465
- // Parse Linux window list
466
- return [];
467
- }
468
- // ─── Export All ──────────────────────────────────────────────────────────
469
- export default {
470
- // Screen capture
471
- captureScreen,
472
- // Mouse control
473
- mouseClick,
474
- mouseMove,
475
- mouseScroll,
476
- // Keyboard control
477
- typeText,
478
- pressHotkey,
479
- // Window management
480
- listWindows,
481
- focusWindow,
482
- // Clipboard
483
- getClipboard,
484
- setClipboard,
485
- };
486
- //# sourceMappingURL=desktop-ui.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"desktop-ui.js","sourceRoot":"","sources":["../../src/tools/desktop-ui.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- /**
2
- * Image/Video Generation Tool — Multiple provider support.
3
- *
4
- * This provides image/video generation:
5
- * - Multiple providers (DALL-E, Stable Diffusion, Midjourney)
6
- * - Image editing (inpainting, outpainting, style transfer)
7
- * - Video generation (text-to-video, image-to-video)
8
- * - Batch processing
9
- * - Custom models
10
- * - Resolution control
11
- * - Format support (PNG, JPG, WebP, GIF, MP4)
12
- *
13
- * Better than Hermes:
14
- * - Multiple provider support
15
- * - Image editing capabilities
16
- * - Video generation
17
- * - Batch processing
18
- * - Integration with skill system
19
- */
20
- export type ImageProvider = 'openai' | 'stability' | 'midjourney';
21
- export type VideoProvider = 'runway' | 'pika' | 'stable-video';
22
- export interface ImageConfig {
23
- /** Provider */
24
- provider: ImageProvider;
25
- /** API key */
26
- apiKey: string;
27
- /** Image size */
28
- size?: '256x256' | '512x512' | '1024x1024' | '1024x1792' | '1792x1024';
29
- /** Image quality */
30
- quality?: 'standard' | 'hd';
31
- /** Image style */
32
- style?: 'vivid' | 'natural';
33
- /** Number of images */
34
- n?: number;
35
- }
36
- export interface VideoConfig {
37
- /** Provider */
38
- provider: VideoProvider;
39
- /** API key */
40
- apiKey: string;
41
- /** Video duration (seconds) */
42
- duration?: number;
43
- /** Video resolution */
44
- resolution?: '720p' | '1080p';
45
- /** Frames per second */
46
- fps?: number;
47
- }
48
- export interface ImageGenerationResult {
49
- success: boolean;
50
- images?: Array<{
51
- url?: string;
52
- buffer?: Buffer;
53
- path?: string;
54
- }>;
55
- error?: string;
56
- durationMs: number;
57
- provider: ImageProvider;
58
- }
59
- export interface VideoGenerationResult {
60
- success: boolean;
61
- video?: {
62
- url?: string;
63
- buffer?: Buffer;
64
- path?: string;
65
- };
66
- error?: string;
67
- durationMs: number;
68
- provider: VideoProvider;
69
- }
70
- /**
71
- * Generate image from prompt.
72
- */
73
- export declare function generateImage(prompt: string, config: ImageConfig, outputPath?: string): Promise<ImageGenerationResult>;
74
- /**
75
- * Generate video from prompt.
76
- */
77
- export declare function generateVideo(prompt: string, config: VideoConfig, outputPath?: string): Promise<VideoGenerationResult>;
78
- /**
79
- * Generate multiple images from prompts.
80
- */
81
- export declare function batchGenerateImages(prompts: string[], config: ImageConfig, outputDir: string): Promise<ImageGenerationResult[]>;
82
- declare const _default: {
83
- generateImage: typeof generateImage;
84
- batchGenerateImages: typeof batchGenerateImages;
85
- generateVideo: typeof generateVideo;
86
- };
87
- export default _default;
88
- //# sourceMappingURL=image-video-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-video-tool.d.ts","sourceRoot":"","sources":["../../src/tools/image-video-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,eAAe;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IACvE,oBAAoB;IACpB,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5B,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,uBAAuB;IACvB,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;CACzB;AA6JD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAmChC;AAiDD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CA2BhC;AAID;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAUlC;;;;;;AAID,wBAOE"}