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,107 +0,0 @@
1
- /**
2
- * Security Tools — Code analysis, threat detection, and security scanning.
3
- *
4
- * This provides security capabilities:
5
- * - AST-based code analysis
6
- * - Pattern matching for malicious code
7
- * - Dependency scanning
8
- * - Secret detection
9
- * - License checking
10
- * - Code quality metrics
11
- * - Security scoring
12
- * - Quarantine system
13
- * - Audit trail
14
- * - Real-time monitoring
15
- *
16
- * Better than Hermes:
17
- * - Built-in AST analysis
18
- * - Multi-language support
19
- * - Real-time monitoring
20
- * - Integration with skill system
21
- */
22
- export type ThreatLevel = 'low' | 'medium' | 'high' | 'critical';
23
- export interface SecurityIssue {
24
- /** Issue ID */
25
- id: string;
26
- /** Issue type */
27
- type: 'secret' | 'vulnerability' | 'malicious' | 'quality' | 'license';
28
- /** Threat level */
29
- level: ThreatLevel;
30
- /** Issue description */
31
- description: string;
32
- /** File path */
33
- file: string;
34
- /** Line number */
35
- line?: number;
36
- /** Code snippet */
37
- snippet?: string;
38
- /** Recommendation */
39
- recommendation: string;
40
- }
41
- export interface SecurityScanResult {
42
- /** Whether scan passed */
43
- passed: boolean;
44
- /** Security score (0-100) */
45
- score: number;
46
- /** Issues found */
47
- issues: SecurityIssue[];
48
- /** Scan duration */
49
- durationMs: number;
50
- /** Files scanned */
51
- filesScanned: number;
52
- }
53
- export interface DependencyInfo {
54
- /** Package name */
55
- name: string;
56
- /** Version */
57
- version: string;
58
- /** Known vulnerabilities */
59
- vulnerabilities: Array<{
60
- id: string;
61
- severity: ThreatLevel;
62
- description: string;
63
- fix?: string;
64
- }>;
65
- }
66
- /**
67
- * Detect secrets in code.
68
- */
69
- export declare function detectSecrets(code: string, filePath: string): SecurityIssue[];
70
- /**
71
- * Detect malicious patterns in code.
72
- */
73
- export declare function detectMaliciousPatterns(code: string, filePath: string): SecurityIssue[];
74
- /**
75
- * Scan dependencies for vulnerabilities.
76
- */
77
- export declare function scanDependencies(packageJsonPath: string): Promise<DependencyInfo[]>;
78
- /**
79
- * Check license in code.
80
- */
81
- export declare function checkLicense(code: string, filePath: string): SecurityIssue[];
82
- /**
83
- * Check code quality.
84
- */
85
- export declare function checkCodeQuality(code: string, filePath: string): SecurityIssue[];
86
- /**
87
- * Calculate security score.
88
- */
89
- export declare function calculateSecurityScore(issues: SecurityIssue[]): number;
90
- /**
91
- * Perform comprehensive security scan.
92
- */
93
- export declare function securityScan(files: Array<{
94
- path: string;
95
- content: string;
96
- }>): Promise<SecurityScanResult>;
97
- declare const _default: {
98
- detectSecrets: typeof detectSecrets;
99
- detectMaliciousPatterns: typeof detectMaliciousPatterns;
100
- scanDependencies: typeof scanDependencies;
101
- checkLicense: typeof checkLicense;
102
- checkCodeQuality: typeof checkCodeQuality;
103
- calculateSecurityScore: typeof calculateSecurityScore;
104
- securityScan: typeof securityScan;
105
- };
106
- export default _default;
107
- //# sourceMappingURL=security-tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-tools.d.ts","sourceRoot":"","sources":["../../src/tools/security-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,IAAI,EAAE,QAAQ,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IACvE,mBAAmB;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oBAAoB;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,eAAe,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,WAAW,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAgBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAyB7E;AAiBD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAyBvF;AAID;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC,CAuB3B;AAgBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAmB5E;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAwChF;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAqBtE;AAID;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;;;;;;;;;;AAID,wBAqBE"}
@@ -1,264 +0,0 @@
1
- /**
2
- * Security Tools — Code analysis, threat detection, and security scanning.
3
- *
4
- * This provides security capabilities:
5
- * - AST-based code analysis
6
- * - Pattern matching for malicious code
7
- * - Dependency scanning
8
- * - Secret detection
9
- * - License checking
10
- * - Code quality metrics
11
- * - Security scoring
12
- * - Quarantine system
13
- * - Audit trail
14
- * - Real-time monitoring
15
- *
16
- * Better than Hermes:
17
- * - Built-in AST analysis
18
- * - Multi-language support
19
- * - Real-time monitoring
20
- * - Integration with skill system
21
- */
22
- import { readFile } from 'node:fs/promises';
23
- import { createHash } from 'node:crypto';
24
- // ─── Secret Detection ────────────────────────────────────────────────────
25
- const SECRET_PATTERNS = [
26
- { pattern: /(?:api[_-]?key|apikey)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'API Key' },
27
- { pattern: /(?:secret|password|passwd|pwd)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'Secret/Password' },
28
- { pattern: /(?:token|access[_-]?token)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'Token' },
29
- { pattern: /(?:private[_-]?key)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'Private Key' },
30
- { pattern: /(?:aws[_-]?access[_-]?key[_-]?id)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'AWS Key' },
31
- { pattern: /(?:ghp|gho|ghu|ghs|ghr)_[a-zA-Z0-9]{36}/g, type: 'GitHub Token' },
32
- { pattern: /sk-[a-zA-Z0-9]{48}/g, type: 'OpenAI API Key' },
33
- { pattern: /xox[baprs]-[a-zA-Z0-9-]+/g, type: 'Slack Token' },
34
- { pattern: /AKIA[0-9A-Z]{16}/g, type: 'AWS Access Key' },
35
- ];
36
- /**
37
- * Detect secrets in code.
38
- */
39
- export function detectSecrets(code, filePath) {
40
- const issues = [];
41
- for (const { pattern, type } of SECRET_PATTERNS) {
42
- const regex = new RegExp(pattern.source, pattern.flags);
43
- let match;
44
- while ((match = regex.exec(code)) !== null) {
45
- const line = code.substring(0, match.index).split('\n').length;
46
- const snippet = code.split('\n')[line - 1]?.trim() ?? '';
47
- issues.push({
48
- id: `secret-${createHash('sha256').update(match[0]).digest('hex').slice(0, 8)}`,
49
- type: 'secret',
50
- level: 'high',
51
- description: `Hardcoded ${type} detected`,
52
- file: filePath,
53
- line,
54
- snippet: snippet.substring(0, 100),
55
- recommendation: 'Move secrets to environment variables or a secrets manager',
56
- });
57
- }
58
- }
59
- return issues;
60
- }
61
- // ─── Malicious Pattern Detection ─────────────────────────────────────────
62
- const MALICIOUS_PATTERNS = [
63
- { pattern: /eval\s*\(/gi, type: 'Code Injection', level: 'high' },
64
- { pattern: /exec\s*\(/gi, type: 'Command Injection', level: 'high' },
65
- { pattern: /subprocess\.(?:call|run|Popen)\s*\(/gi, type: 'Command Execution', level: 'medium' },
66
- { pattern: /os\.system\s*\(/gi, type: 'System Command', level: 'high' },
67
- { pattern: /__import__\s*\(/gi, type: 'Dynamic Import', level: 'medium' },
68
- { pattern: /require\s*\(\s*['"]child_process['"]\s*\)/gi, type: 'Child Process', level: 'medium' },
69
- { pattern: /fetch\s*\(\s*['"]https?:\/\/[^'"]+['"]/gi, type: 'External Request', level: 'low' },
70
- { pattern: /XMLHttpRequest/gi, type: 'HTTP Request', level: 'low' },
71
- { pattern: /document\.cookie/gi, type: 'Cookie Access', level: 'medium' },
72
- { pattern: /localStorage/gi, type: 'Local Storage', level: 'low' },
73
- ];
74
- /**
75
- * Detect malicious patterns in code.
76
- */
77
- export function detectMaliciousPatterns(code, filePath) {
78
- const issues = [];
79
- for (const { pattern, type, level } of MALICIOUS_PATTERNS) {
80
- const regex = new RegExp(pattern.source, pattern.flags);
81
- let match;
82
- while ((match = regex.exec(code)) !== null) {
83
- const line = code.substring(0, match.index).split('\n').length;
84
- const snippet = code.split('\n')[line - 1]?.trim() ?? '';
85
- issues.push({
86
- id: `malicious-${createHash('sha256').update(match[0]).digest('hex').slice(0, 8)}`,
87
- type: 'malicious',
88
- level,
89
- description: `Potentially malicious pattern: ${type}`,
90
- file: filePath,
91
- line,
92
- snippet: snippet.substring(0, 100),
93
- recommendation: `Review this ${type.toLowerCase()} for safety`,
94
- });
95
- }
96
- }
97
- return issues;
98
- }
99
- // ─── Dependency Scanning ─────────────────────────────────────────────────
100
- /**
101
- * Scan dependencies for vulnerabilities.
102
- */
103
- export async function scanDependencies(packageJsonPath) {
104
- try {
105
- const content = await readFile(packageJsonPath, 'utf-8');
106
- const pkg = JSON.parse(content);
107
- const dependencies = [];
108
- // Check both dependencies and devDependencies
109
- for (const [name, version] of Object.entries({
110
- ...pkg.dependencies,
111
- ...pkg.devDependencies,
112
- })) {
113
- dependencies.push({
114
- name,
115
- version: version,
116
- vulnerabilities: [], // Would need NVD API integration
117
- });
118
- }
119
- return dependencies;
120
- }
121
- catch {
122
- return [];
123
- }
124
- }
125
- // ─── License Checking ────────────────────────────────────────────────────
126
- const LICENSE_PATTERNS = [
127
- { pattern: /MIT License/i, name: 'MIT', risk: 'low' },
128
- { pattern: /Apache License/i, name: 'Apache-2.0', risk: 'low' },
129
- { pattern: /GNU General Public License/i, name: 'GPL', risk: 'medium' },
130
- { pattern: /GNU Lesser General Public License/i, name: 'LGPL', risk: 'medium' },
131
- { pattern: /BSD License/i, name: 'BSD', risk: 'low' },
132
- { pattern: /ISC License/i, name: 'ISC', risk: 'low' },
133
- { pattern: /Mozilla Public License/i, name: 'MPL', risk: 'medium' },
134
- { pattern: /Creative Commons/i, name: 'CC', risk: 'medium' },
135
- { pattern: /Proprietary/i, name: 'Proprietary', risk: 'high' },
136
- ];
137
- /**
138
- * Check license in code.
139
- */
140
- export function checkLicense(code, filePath) {
141
- const issues = [];
142
- for (const { pattern, name, risk } of LICENSE_PATTERNS) {
143
- if (pattern.test(code)) {
144
- if (risk === 'high') {
145
- issues.push({
146
- id: `license-${createHash('sha256').update(name).digest('hex').slice(0, 8)}`,
147
- type: 'license',
148
- level: 'medium',
149
- description: `Potentially restrictive license: ${name}`,
150
- file: filePath,
151
- recommendation: 'Review license terms before using',
152
- });
153
- }
154
- }
155
- }
156
- return issues;
157
- }
158
- // ─── Code Quality ────────────────────────────────────────────────────────
159
- /**
160
- * Check code quality.
161
- */
162
- export function checkCodeQuality(code, filePath) {
163
- const issues = [];
164
- // Check for TODO/FIXME/HACK
165
- const todoPattern = /(?:TODO|FIXME|HACK|XXX)\s*[:=]?\s*(.+)/gi;
166
- let match;
167
- while ((match = todoPattern.exec(code)) !== null) {
168
- const line = code.substring(0, match.index).split('\n').length;
169
- issues.push({
170
- id: `quality-todo-${line}`,
171
- type: 'quality',
172
- level: 'low',
173
- description: `Code comment indicates incomplete work: ${match[0].substring(0, 50)}`,
174
- file: filePath,
175
- line,
176
- recommendation: 'Address the TODO/FIXME before production',
177
- });
178
- }
179
- // Check for console.log (in production code)
180
- if (filePath.endsWith('.ts') || filePath.endsWith('.js')) {
181
- const consolePattern = /console\.(?:log|debug|info)\s*\(/g;
182
- while ((match = consolePattern.exec(code)) !== null) {
183
- const line = code.substring(0, match.index).split('\n').length;
184
- issues.push({
185
- id: `quality-console-${line}`,
186
- type: 'quality',
187
- level: 'low',
188
- description: 'Console statement in production code',
189
- file: filePath,
190
- line,
191
- recommendation: 'Remove console statements or use a logger',
192
- });
193
- }
194
- }
195
- return issues;
196
- }
197
- // ─── Security Scoring ────────────────────────────────────────────────────
198
- /**
199
- * Calculate security score.
200
- */
201
- export function calculateSecurityScore(issues) {
202
- let score = 100;
203
- for (const issue of issues) {
204
- switch (issue.level) {
205
- case 'critical':
206
- score -= 25;
207
- break;
208
- case 'high':
209
- score -= 15;
210
- break;
211
- case 'medium':
212
- score -= 10;
213
- break;
214
- case 'low':
215
- score -= 5;
216
- break;
217
- }
218
- }
219
- return Math.max(0, score);
220
- }
221
- // ─── Main Scan Function ──────────────────────────────────────────────────
222
- /**
223
- * Perform comprehensive security scan.
224
- */
225
- export async function securityScan(files) {
226
- const startTime = Date.now();
227
- const allIssues = [];
228
- for (const file of files) {
229
- // Detect secrets
230
- allIssues.push(...detectSecrets(file.content, file.path));
231
- // Detect malicious patterns
232
- allIssues.push(...detectMaliciousPatterns(file.content, file.path));
233
- // Check license
234
- allIssues.push(...checkLicense(file.content, file.path));
235
- // Check code quality
236
- allIssues.push(...checkCodeQuality(file.content, file.path));
237
- }
238
- const score = calculateSecurityScore(allIssues);
239
- return {
240
- passed: score >= 70,
241
- score,
242
- issues: allIssues,
243
- durationMs: Date.now() - startTime,
244
- filesScanned: files.length,
245
- };
246
- }
247
- // ─── Export All ──────────────────────────────────────────────────────────
248
- export default {
249
- // Secret detection
250
- detectSecrets,
251
- // Malicious pattern detection
252
- detectMaliciousPatterns,
253
- // Dependency scanning
254
- scanDependencies,
255
- // License checking
256
- checkLicense,
257
- // Code quality
258
- checkCodeQuality,
259
- // Security scoring
260
- calculateSecurityScore,
261
- // Main scan
262
- securityScan,
263
- };
264
- //# sourceMappingURL=security-tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-tools.js","sourceRoot":"","sources":["../../src/tools/security-tools.ts"],"names":[],"mappings":"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"}
@@ -1,130 +0,0 @@
1
- /**
2
- * SSH Tool — Remote server execution via SSH.
3
- *
4
- * This provides SSH capabilities:
5
- * - Connect to remote servers
6
- * - Execute commands remotely
7
- * - File transfer (SCP/SFTP)
8
- * - Port forwarding (tunnels)
9
- * - Key management
10
- * - Agent forwarding
11
- * - Jump hosts (multi-hop)
12
- * - Persistent sessions
13
- *
14
- * Better than Hermes:
15
- * - Built-in SSH key management
16
- * - Port forwarding support
17
- * - Jump host support
18
- * - Persistent sessions
19
- * - Integration with skill system
20
- */
21
- import { ChildProcess } from 'node:child_process';
22
- export interface SSHConfig {
23
- /** Hostname or IP */
24
- host: string;
25
- /** SSH port (default: 22) */
26
- port?: number;
27
- /** Username */
28
- username: string;
29
- /** Password (optional, prefer key-based auth) */
30
- password?: string;
31
- /** Path to private key file */
32
- privateKey?: string;
33
- /** Path to public key file */
34
- publicKey?: string;
35
- /** Passphrase for encrypted key */
36
- passphrase?: string;
37
- /** SSH config file path */
38
- configPath?: string;
39
- /** Connection timeout (ms) */
40
- timeout?: number;
41
- /** Keep-alive interval (ms) */
42
- keepAlive?: number;
43
- }
44
- export interface SSHCommandOptions {
45
- /** Command to execute */
46
- command: string;
47
- /** Working directory */
48
- cwd?: string;
49
- /** Environment variables */
50
- env?: Record<string, string>;
51
- /** Timeout (ms) */
52
- timeout?: number;
53
- /** Capture stdout */
54
- captureStdout?: boolean;
55
- /** Capture stderr */
56
- captureStderr?: boolean;
57
- }
58
- export interface SSHTunnelConfig {
59
- /** Local port to bind */
60
- localPort: number;
61
- /** Remote host (default: localhost) */
62
- remoteHost?: string;
63
- /** Remote port to forward to */
64
- remotePort: number;
65
- /** Tunnel type */
66
- type?: 'local' | 'remote' | 'dynamic';
67
- }
68
- export interface SSHExecutionResult {
69
- success: boolean;
70
- exitCode: number;
71
- stdout: string;
72
- stderr: string;
73
- durationMs: number;
74
- }
75
- /**
76
- * Execute a command on a remote server.
77
- */
78
- export declare function executeCommand(config: SSHConfig, options: SSHCommandOptions): Promise<SSHExecutionResult>;
79
- /**
80
- * Copy file to remote server (SCP).
81
- */
82
- export declare function copyToRemote(config: SSHConfig, localPath: string, remotePath: string): Promise<SSHExecutionResult>;
83
- /**
84
- * Copy file from remote server (SCP).
85
- */
86
- export declare function copyFromRemote(config: SSHConfig, remotePath: string, localPath: string): Promise<SSHExecutionResult>;
87
- /**
88
- * Create SSH tunnel (port forwarding).
89
- */
90
- export declare function createTunnel(config: SSHConfig, tunnel: SSHTunnelConfig): Promise<ChildProcess>;
91
- /**
92
- * Generate SSH key pair.
93
- */
94
- export declare function generateKeyPair(keyPath: string, options?: {
95
- type?: 'rsa' | 'ed25519' | 'ecdsa';
96
- bits?: number;
97
- comment?: string;
98
- passphrase?: string;
99
- }): Promise<{
100
- publicKey: string;
101
- privateKey: string;
102
- }>;
103
- /**
104
- * Add public key to remote authorized_keys.
105
- */
106
- export declare function addAuthorizedKey(config: SSHConfig, publicKey: string): Promise<SSHExecutionResult>;
107
- /**
108
- * Close all SSH connections.
109
- */
110
- export declare function closeAllConnections(): void;
111
- /**
112
- * Get connection status.
113
- */
114
- export declare function getConnectionStatus(): Array<{
115
- key: string;
116
- connected: boolean;
117
- pid?: number;
118
- }>;
119
- declare const _default: {
120
- executeCommand: typeof executeCommand;
121
- copyToRemote: typeof copyToRemote;
122
- copyFromRemote: typeof copyFromRemote;
123
- createTunnel: typeof createTunnel;
124
- generateKeyPair: typeof generateKeyPair;
125
- addAuthorizedKey: typeof addAuthorizedKey;
126
- closeAllConnections: typeof closeAllConnections;
127
- getConnectionStatus: typeof getConnectionStatus;
128
- };
129
- export default _default;
130
- //# sourceMappingURL=ssh-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssh-tool.d.ts","sourceRoot":"","sources":["../../src/tools/ssh-tool.ts"],"names":[],"mappings":"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"}