agent-orcha 0.0.5 → 0.0.8

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 (404) hide show
  1. package/README.md +250 -1275
  2. package/dist/lib/agents/agent-executor.d.ts +4 -2
  3. package/dist/lib/agents/agent-executor.d.ts.map +1 -1
  4. package/dist/lib/agents/agent-executor.js +85 -53
  5. package/dist/lib/agents/agent-executor.js.map +1 -1
  6. package/dist/lib/agents/agent-loader.d.ts +3 -0
  7. package/dist/lib/agents/agent-loader.d.ts.map +1 -1
  8. package/dist/lib/agents/agent-loader.js +10 -1
  9. package/dist/lib/agents/agent-loader.js.map +1 -1
  10. package/dist/lib/agents/react-loop.d.ts.map +1 -1
  11. package/dist/lib/agents/react-loop.js +207 -142
  12. package/dist/lib/agents/react-loop.js.map +1 -1
  13. package/dist/lib/agents/types.d.ts +181 -18
  14. package/dist/lib/agents/types.d.ts.map +1 -1
  15. package/dist/lib/agents/types.js +18 -2
  16. package/dist/lib/agents/types.js.map +1 -1
  17. package/dist/lib/functions/function-loader.d.ts +2 -0
  18. package/dist/lib/functions/function-loader.d.ts.map +1 -1
  19. package/dist/lib/functions/function-loader.js +10 -0
  20. package/dist/lib/functions/function-loader.js.map +1 -1
  21. package/dist/lib/functions/simple-function-wrapper.js +3 -3
  22. package/dist/lib/functions/simple-function-wrapper.js.map +1 -1
  23. package/dist/lib/integrations/email.d.ts +38 -0
  24. package/dist/lib/integrations/email.d.ts.map +1 -0
  25. package/dist/lib/integrations/email.js +249 -0
  26. package/dist/lib/integrations/email.js.map +1 -0
  27. package/dist/lib/integrations/integration-manager.d.ts +5 -0
  28. package/dist/lib/integrations/integration-manager.d.ts.map +1 -1
  29. package/dist/lib/integrations/integration-manager.js +53 -3
  30. package/dist/lib/integrations/integration-manager.js.map +1 -1
  31. package/dist/lib/integrations/types.d.ts +187 -4
  32. package/dist/lib/integrations/types.d.ts.map +1 -1
  33. package/dist/lib/integrations/types.js +24 -1
  34. package/dist/lib/integrations/types.js.map +1 -1
  35. package/dist/lib/knowledge/knowledge-store.d.ts +7 -1
  36. package/dist/lib/knowledge/knowledge-store.d.ts.map +1 -1
  37. package/dist/lib/knowledge/knowledge-store.js +96 -8
  38. package/dist/lib/knowledge/knowledge-store.js.map +1 -1
  39. package/dist/lib/knowledge/loaders/file-loaders.d.ts +8 -3
  40. package/dist/lib/knowledge/loaders/file-loaders.d.ts.map +1 -1
  41. package/dist/lib/knowledge/loaders/file-loaders.js +96 -75
  42. package/dist/lib/knowledge/loaders/file-loaders.js.map +1 -1
  43. package/dist/lib/knowledge/loaders/web-loader.d.ts +12 -3
  44. package/dist/lib/knowledge/loaders/web-loader.d.ts.map +1 -1
  45. package/dist/lib/knowledge/loaders/web-loader.js +56 -22
  46. package/dist/lib/knowledge/loaders/web-loader.js.map +1 -1
  47. package/dist/lib/knowledge/sqlite-store.d.ts.map +1 -1
  48. package/dist/lib/knowledge/sqlite-store.js +19 -10
  49. package/dist/lib/knowledge/sqlite-store.js.map +1 -1
  50. package/dist/lib/knowledge/types.d.ts +69 -33
  51. package/dist/lib/knowledge/types.d.ts.map +1 -1
  52. package/dist/lib/knowledge/types.js +18 -3
  53. package/dist/lib/knowledge/types.js.map +1 -1
  54. package/dist/lib/llm/index.d.ts +1 -1
  55. package/dist/lib/llm/index.d.ts.map +1 -1
  56. package/dist/lib/llm/index.js +1 -1
  57. package/dist/lib/llm/index.js.map +1 -1
  58. package/dist/lib/llm/llm-call-logger.d.ts +3 -1
  59. package/dist/lib/llm/llm-call-logger.d.ts.map +1 -1
  60. package/dist/lib/llm/llm-call-logger.js +31 -26
  61. package/dist/lib/llm/llm-call-logger.js.map +1 -1
  62. package/dist/lib/llm/llm-config.d.ts +59 -8
  63. package/dist/lib/llm/llm-config.d.ts.map +1 -1
  64. package/dist/lib/llm/llm-config.js +163 -17
  65. package/dist/lib/llm/llm-config.js.map +1 -1
  66. package/dist/lib/llm/llm-factory.d.ts +1 -2
  67. package/dist/lib/llm/llm-factory.d.ts.map +1 -1
  68. package/dist/lib/llm/llm-factory.js +44 -8
  69. package/dist/lib/llm/llm-factory.js.map +1 -1
  70. package/dist/lib/llm/providers/anthropic-chat-model.d.ts +5 -1
  71. package/dist/lib/llm/providers/anthropic-chat-model.d.ts.map +1 -1
  72. package/dist/lib/llm/providers/anthropic-chat-model.js +118 -42
  73. package/dist/lib/llm/providers/anthropic-chat-model.js.map +1 -1
  74. package/dist/lib/llm/providers/gemini-chat-model.d.ts +3 -2
  75. package/dist/lib/llm/providers/gemini-chat-model.d.ts.map +1 -1
  76. package/dist/lib/llm/providers/gemini-chat-model.js +83 -24
  77. package/dist/lib/llm/providers/gemini-chat-model.js.map +1 -1
  78. package/dist/lib/llm/providers/openai-chat-model.d.ts +20 -1
  79. package/dist/lib/llm/providers/openai-chat-model.d.ts.map +1 -1
  80. package/dist/lib/llm/providers/openai-chat-model.js +265 -32
  81. package/dist/lib/llm/providers/openai-chat-model.js.map +1 -1
  82. package/dist/lib/llm/providers/openai-embeddings.d.ts.map +1 -1
  83. package/dist/lib/llm/providers/openai-embeddings.js +41 -10
  84. package/dist/lib/llm/providers/openai-embeddings.js.map +1 -1
  85. package/dist/lib/local-llm/binary-manager.d.ts +66 -0
  86. package/dist/lib/local-llm/binary-manager.d.ts.map +1 -0
  87. package/dist/lib/local-llm/binary-manager.js +441 -0
  88. package/dist/lib/local-llm/binary-manager.js.map +1 -0
  89. package/dist/lib/local-llm/engine-interface.d.ts +47 -0
  90. package/dist/lib/local-llm/engine-interface.d.ts.map +1 -0
  91. package/dist/lib/local-llm/engine-interface.js +2 -0
  92. package/dist/lib/local-llm/engine-interface.js.map +1 -0
  93. package/dist/lib/local-llm/engine-registry.d.ts +20 -0
  94. package/dist/lib/local-llm/engine-registry.d.ts.map +1 -0
  95. package/dist/lib/local-llm/engine-registry.js +56 -0
  96. package/dist/lib/local-llm/engine-registry.js.map +1 -0
  97. package/dist/lib/local-llm/engines/llama-cpp-engine.d.ts +31 -0
  98. package/dist/lib/local-llm/engines/llama-cpp-engine.d.ts.map +1 -0
  99. package/dist/lib/local-llm/engines/llama-cpp-engine.js +164 -0
  100. package/dist/lib/local-llm/engines/llama-cpp-engine.js.map +1 -0
  101. package/dist/lib/local-llm/engines/mlx-serve-engine.d.ts +31 -0
  102. package/dist/lib/local-llm/engines/mlx-serve-engine.d.ts.map +1 -0
  103. package/dist/lib/local-llm/engines/mlx-serve-engine.js +161 -0
  104. package/dist/lib/local-llm/engines/mlx-serve-engine.js.map +1 -0
  105. package/dist/lib/local-llm/gguf-reader.d.ts +20 -0
  106. package/dist/lib/local-llm/gguf-reader.d.ts.map +1 -0
  107. package/dist/lib/local-llm/gguf-reader.js +190 -0
  108. package/dist/lib/local-llm/gguf-reader.js.map +1 -0
  109. package/dist/lib/local-llm/index.d.ts +9 -0
  110. package/dist/lib/local-llm/index.d.ts.map +1 -0
  111. package/dist/lib/local-llm/index.js +6 -0
  112. package/dist/lib/local-llm/index.js.map +1 -0
  113. package/dist/lib/local-llm/llama-server-process.d.ts +42 -0
  114. package/dist/lib/local-llm/llama-server-process.d.ts.map +1 -0
  115. package/dist/lib/local-llm/llama-server-process.js +237 -0
  116. package/dist/lib/local-llm/llama-server-process.js.map +1 -0
  117. package/dist/lib/local-llm/mlx-binary-manager.d.ts +33 -0
  118. package/dist/lib/local-llm/mlx-binary-manager.d.ts.map +1 -0
  119. package/dist/lib/local-llm/mlx-binary-manager.js +211 -0
  120. package/dist/lib/local-llm/mlx-binary-manager.js.map +1 -0
  121. package/dist/lib/local-llm/mlx-server-process.d.ts +26 -0
  122. package/dist/lib/local-llm/mlx-server-process.d.ts.map +1 -0
  123. package/dist/lib/local-llm/mlx-server-process.js +210 -0
  124. package/dist/lib/local-llm/mlx-server-process.js.map +1 -0
  125. package/dist/lib/local-llm/model-manager.d.ts +33 -0
  126. package/dist/lib/local-llm/model-manager.d.ts.map +1 -0
  127. package/dist/lib/local-llm/model-manager.js +591 -0
  128. package/dist/lib/local-llm/model-manager.js.map +1 -0
  129. package/dist/lib/local-llm/types.d.ts +51 -0
  130. package/dist/lib/local-llm/types.d.ts.map +1 -0
  131. package/dist/lib/local-llm/types.js +2 -0
  132. package/dist/lib/local-llm/types.js.map +1 -0
  133. package/dist/lib/logger.d.ts +2 -0
  134. package/dist/lib/logger.d.ts.map +1 -1
  135. package/dist/lib/logger.js +68 -6
  136. package/dist/lib/logger.js.map +1 -1
  137. package/dist/lib/mcp/mcp-client.d.ts.map +1 -1
  138. package/dist/lib/mcp/mcp-client.js +5 -3
  139. package/dist/lib/mcp/mcp-client.js.map +1 -1
  140. package/dist/lib/mcp/types.d.ts +0 -9
  141. package/dist/lib/mcp/types.d.ts.map +1 -1
  142. package/dist/lib/mcp/types.js +1 -2
  143. package/dist/lib/mcp/types.js.map +1 -1
  144. package/dist/lib/memory/memory-manager.d.ts +1 -0
  145. package/dist/lib/memory/memory-manager.d.ts.map +1 -1
  146. package/dist/lib/memory/memory-manager.js +9 -0
  147. package/dist/lib/memory/memory-manager.js.map +1 -1
  148. package/dist/lib/orchestrator.d.ts +11 -8
  149. package/dist/lib/orchestrator.d.ts.map +1 -1
  150. package/dist/lib/orchestrator.js +246 -5
  151. package/dist/lib/orchestrator.js.map +1 -1
  152. package/dist/lib/sandbox/cdp-client.d.ts +15 -0
  153. package/dist/lib/sandbox/cdp-client.d.ts.map +1 -0
  154. package/dist/lib/sandbox/cdp-client.js +139 -0
  155. package/dist/lib/sandbox/cdp-client.js.map +1 -0
  156. package/dist/lib/sandbox/html-to-markdown.d.ts +9 -1
  157. package/dist/lib/sandbox/html-to-markdown.d.ts.map +1 -1
  158. package/dist/lib/sandbox/html-to-markdown.js +67 -10
  159. package/dist/lib/sandbox/html-to-markdown.js.map +1 -1
  160. package/dist/lib/sandbox/index.d.ts +6 -0
  161. package/dist/lib/sandbox/index.d.ts.map +1 -1
  162. package/dist/lib/sandbox/index.js +5 -0
  163. package/dist/lib/sandbox/index.js.map +1 -1
  164. package/dist/lib/sandbox/page-readiness.d.ts +37 -0
  165. package/dist/lib/sandbox/page-readiness.d.ts.map +1 -0
  166. package/dist/lib/sandbox/page-readiness.js +268 -0
  167. package/dist/lib/sandbox/page-readiness.js.map +1 -0
  168. package/dist/lib/sandbox/sandbox-browser.d.ts +4 -0
  169. package/dist/lib/sandbox/sandbox-browser.d.ts.map +1 -0
  170. package/dist/lib/sandbox/sandbox-browser.js +316 -0
  171. package/dist/lib/sandbox/sandbox-browser.js.map +1 -0
  172. package/dist/lib/sandbox/sandbox-container.d.ts +39 -0
  173. package/dist/lib/sandbox/sandbox-container.d.ts.map +1 -0
  174. package/dist/lib/sandbox/sandbox-container.js +176 -0
  175. package/dist/lib/sandbox/sandbox-container.js.map +1 -0
  176. package/dist/lib/sandbox/sandbox-file.d.ts +4 -0
  177. package/dist/lib/sandbox/sandbox-file.d.ts.map +1 -0
  178. package/dist/lib/sandbox/sandbox-file.js +169 -0
  179. package/dist/lib/sandbox/sandbox-file.js.map +1 -0
  180. package/dist/lib/sandbox/sandbox-shell.d.ts +5 -0
  181. package/dist/lib/sandbox/sandbox-shell.d.ts.map +1 -0
  182. package/dist/lib/sandbox/sandbox-shell.js +111 -0
  183. package/dist/lib/sandbox/sandbox-shell.js.map +1 -0
  184. package/dist/lib/sandbox/sandbox-web.d.ts.map +1 -1
  185. package/dist/lib/sandbox/sandbox-web.js +64 -24
  186. package/dist/lib/sandbox/sandbox-web.js.map +1 -1
  187. package/dist/lib/sandbox/types.d.ts +9 -0
  188. package/dist/lib/sandbox/types.d.ts.map +1 -1
  189. package/dist/lib/sandbox/types.js +1 -0
  190. package/dist/lib/sandbox/types.js.map +1 -1
  191. package/dist/lib/sandbox/vision-browser.d.ts +4 -0
  192. package/dist/lib/sandbox/vision-browser.d.ts.map +1 -0
  193. package/dist/lib/sandbox/vision-browser.js +298 -0
  194. package/dist/lib/sandbox/vision-browser.js.map +1 -0
  195. package/dist/lib/sea/app-window.d.ts +7 -0
  196. package/dist/lib/sea/app-window.d.ts.map +1 -0
  197. package/dist/lib/sea/app-window.js +95 -0
  198. package/dist/lib/sea/app-window.js.map +1 -0
  199. package/dist/lib/sea/bootstrap.d.ts +18 -0
  200. package/dist/lib/sea/bootstrap.d.ts.map +1 -0
  201. package/dist/lib/sea/bootstrap.js +103 -0
  202. package/dist/lib/sea/bootstrap.js.map +1 -0
  203. package/dist/lib/sea/sqlite-vec-shim.d.ts +3 -0
  204. package/dist/lib/sea/sqlite-vec-shim.d.ts.map +1 -0
  205. package/dist/lib/sea/sqlite-vec-shim.js +10 -0
  206. package/dist/lib/sea/sqlite-vec-shim.js.map +1 -0
  207. package/dist/lib/skills/skill-loader.d.ts +2 -0
  208. package/dist/lib/skills/skill-loader.d.ts.map +1 -1
  209. package/dist/lib/skills/skill-loader.js +12 -1
  210. package/dist/lib/skills/skill-loader.js.map +1 -1
  211. package/dist/lib/tasks/task-manager.d.ts +3 -1
  212. package/dist/lib/tasks/task-manager.d.ts.map +1 -1
  213. package/dist/lib/tasks/task-manager.js +11 -0
  214. package/dist/lib/tasks/task-manager.js.map +1 -1
  215. package/dist/lib/tasks/task-store.d.ts +1 -1
  216. package/dist/lib/tasks/task-store.d.ts.map +1 -1
  217. package/dist/lib/tasks/task-store.js.map +1 -1
  218. package/dist/lib/tasks/types.d.ts +18 -0
  219. package/dist/lib/tasks/types.d.ts.map +1 -1
  220. package/dist/lib/tools/built-in/integration-tools.d.ts +4 -0
  221. package/dist/lib/tools/built-in/integration-tools.d.ts.map +1 -0
  222. package/dist/lib/tools/built-in/integration-tools.js +47 -0
  223. package/dist/lib/tools/built-in/integration-tools.js.map +1 -0
  224. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts +1 -2
  225. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts.map +1 -1
  226. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js +17 -17
  227. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js.map +1 -1
  228. package/dist/lib/tools/built-in/knowledge-graph-schema.tool.d.ts.map +1 -1
  229. package/dist/lib/tools/built-in/knowledge-graph-schema.tool.js +2 -4
  230. package/dist/lib/tools/built-in/knowledge-graph-schema.tool.js.map +1 -1
  231. package/dist/lib/tools/built-in/knowledge-search.tool.js +4 -4
  232. package/dist/lib/tools/built-in/knowledge-search.tool.js.map +1 -1
  233. package/dist/lib/tools/built-in/knowledge-sql.tool.d.ts.map +1 -1
  234. package/dist/lib/tools/built-in/knowledge-sql.tool.js +74 -40
  235. package/dist/lib/tools/built-in/knowledge-sql.tool.js.map +1 -1
  236. package/dist/lib/tools/built-in/knowledge-tools-factory.js +2 -2
  237. package/dist/lib/tools/built-in/knowledge-tools-factory.js.map +1 -1
  238. package/dist/lib/tools/built-in/knowledge-traverse.tool.d.ts +1 -2
  239. package/dist/lib/tools/built-in/knowledge-traverse.tool.d.ts.map +1 -1
  240. package/dist/lib/tools/built-in/knowledge-traverse.tool.js +5 -11
  241. package/dist/lib/tools/built-in/knowledge-traverse.tool.js.map +1 -1
  242. package/dist/lib/tools/built-in/query-validators.d.ts.map +1 -1
  243. package/dist/lib/tools/built-in/query-validators.js +4 -0
  244. package/dist/lib/tools/built-in/query-validators.js.map +1 -1
  245. package/dist/lib/tools/workspace/workspace-tools.d.ts +1 -0
  246. package/dist/lib/tools/workspace/workspace-tools.d.ts.map +1 -1
  247. package/dist/lib/tools/workspace/workspace-tools.js +44 -4
  248. package/dist/lib/tools/workspace/workspace-tools.js.map +1 -1
  249. package/dist/lib/triggers/cron-trigger.d.ts +1 -1
  250. package/dist/lib/triggers/cron-trigger.d.ts.map +1 -1
  251. package/dist/lib/triggers/cron-trigger.js.map +1 -1
  252. package/dist/lib/triggers/trigger-manager.d.ts +1 -0
  253. package/dist/lib/triggers/trigger-manager.d.ts.map +1 -1
  254. package/dist/lib/triggers/trigger-manager.js +26 -0
  255. package/dist/lib/triggers/trigger-manager.js.map +1 -1
  256. package/dist/lib/triggers/webhook-trigger.d.ts +1 -1
  257. package/dist/lib/triggers/webhook-trigger.d.ts.map +1 -1
  258. package/dist/lib/triggers/webhook-trigger.js.map +1 -1
  259. package/dist/lib/types/llm-types.d.ts +22 -4
  260. package/dist/lib/types/llm-types.d.ts.map +1 -1
  261. package/dist/lib/types/llm-types.js +50 -0
  262. package/dist/lib/types/llm-types.js.map +1 -1
  263. package/dist/lib/types/tool-factory.d.ts +2 -2
  264. package/dist/lib/types/tool-factory.d.ts.map +1 -1
  265. package/dist/lib/types/tool-factory.js +9 -2
  266. package/dist/lib/types/tool-factory.js.map +1 -1
  267. package/dist/lib/utils/document-extract.d.ts +10 -0
  268. package/dist/lib/utils/document-extract.d.ts.map +1 -0
  269. package/dist/lib/utils/document-extract.js +149 -0
  270. package/dist/lib/utils/document-extract.js.map +1 -0
  271. package/dist/lib/utils/env-substitution.d.ts +6 -0
  272. package/dist/lib/utils/env-substitution.d.ts.map +1 -0
  273. package/dist/lib/utils/env-substitution.js +15 -0
  274. package/dist/lib/utils/env-substitution.js.map +1 -0
  275. package/dist/lib/workflows/react-workflow-executor.d.ts.map +1 -1
  276. package/dist/lib/workflows/react-workflow-executor.js +23 -17
  277. package/dist/lib/workflows/react-workflow-executor.js.map +1 -1
  278. package/dist/lib/workflows/types.d.ts +81 -55
  279. package/dist/lib/workflows/types.d.ts.map +1 -1
  280. package/dist/lib/workflows/types.js +10 -0
  281. package/dist/lib/workflows/types.js.map +1 -1
  282. package/dist/lib/workflows/workflow-loader.d.ts +3 -0
  283. package/dist/lib/workflows/workflow-loader.d.ts.map +1 -1
  284. package/dist/lib/workflows/workflow-loader.js +10 -1
  285. package/dist/lib/workflows/workflow-loader.js.map +1 -1
  286. package/dist/public/assets/logo.png +0 -0
  287. package/dist/public/chat.html +39 -0
  288. package/dist/public/index.html +6 -176
  289. package/dist/public/src/components/AgentComposer.js +807 -0
  290. package/dist/public/src/components/AgentsView.js +1812 -508
  291. package/dist/public/src/components/AppRoot.js +125 -38
  292. package/dist/public/src/components/GraphView.js +382 -300
  293. package/dist/public/src/components/IdeView.js +277 -86
  294. package/dist/public/src/components/KnowledgeView.js +94 -130
  295. package/dist/public/src/components/LlmView.js +15 -19
  296. package/dist/public/src/components/LocalLlmView.js +2440 -0
  297. package/dist/public/src/components/LogViewer.js +155 -0
  298. package/dist/public/src/components/McpView.js +41 -49
  299. package/dist/public/src/components/MonitorView.js +174 -83
  300. package/dist/public/src/components/NavBar.js +16 -26
  301. package/dist/public/src/components/StandaloneChat.js +875 -0
  302. package/dist/public/src/services/ApiService.js +203 -4
  303. package/dist/public/src/services/SessionStore.js +86 -0
  304. package/dist/public/src/services/StreamManager.js +183 -0
  305. package/dist/public/src/store.js +1 -3
  306. package/dist/public/src/utils/card.js +21 -0
  307. package/dist/public/src/utils/markdown.js +7 -0
  308. package/dist/public/styles.css +2777 -0
  309. package/dist/src/cli/commands/init.d.ts.map +1 -1
  310. package/dist/src/cli/commands/init.js +7 -1
  311. package/dist/src/cli/commands/init.js.map +1 -1
  312. package/dist/src/cli/commands/start.d.ts.map +1 -1
  313. package/dist/src/cli/commands/start.js +28 -5
  314. package/dist/src/cli/commands/start.js.map +1 -1
  315. package/dist/src/cli/index.js +19 -5
  316. package/dist/src/cli/index.js.map +1 -1
  317. package/dist/src/index.js +7 -1
  318. package/dist/src/index.js.map +1 -1
  319. package/dist/src/middleware/auth.d.ts.map +1 -1
  320. package/dist/src/middleware/auth.js +28 -6
  321. package/dist/src/middleware/auth.js.map +1 -1
  322. package/dist/src/middleware/rate-limit.d.ts +8 -0
  323. package/dist/src/middleware/rate-limit.d.ts.map +1 -0
  324. package/dist/src/middleware/rate-limit.js +21 -0
  325. package/dist/src/middleware/rate-limit.js.map +1 -0
  326. package/dist/src/routes/agents.route.d.ts.map +1 -1
  327. package/dist/src/routes/agents.route.js +138 -10
  328. package/dist/src/routes/agents.route.js.map +1 -1
  329. package/dist/src/routes/chat.route.d.ts +3 -0
  330. package/dist/src/routes/chat.route.d.ts.map +1 -0
  331. package/dist/src/routes/chat.route.js +156 -0
  332. package/dist/src/routes/chat.route.js.map +1 -0
  333. package/dist/src/routes/files.route.d.ts.map +1 -1
  334. package/dist/src/routes/files.route.js +37 -2
  335. package/dist/src/routes/files.route.js.map +1 -1
  336. package/dist/src/routes/llm.route.d.ts.map +1 -1
  337. package/dist/src/routes/llm.route.js +263 -8
  338. package/dist/src/routes/llm.route.js.map +1 -1
  339. package/dist/src/routes/local-llm.route.d.ts +3 -0
  340. package/dist/src/routes/local-llm.route.d.ts.map +1 -0
  341. package/dist/src/routes/local-llm.route.js +688 -0
  342. package/dist/src/routes/local-llm.route.js.map +1 -0
  343. package/dist/src/routes/logs.route.d.ts +3 -0
  344. package/dist/src/routes/logs.route.d.ts.map +1 -0
  345. package/dist/src/routes/logs.route.js +24 -0
  346. package/dist/src/routes/logs.route.js.map +1 -0
  347. package/dist/src/routes/tasks.route.d.ts.map +1 -1
  348. package/dist/src/routes/tasks.route.js +15 -1
  349. package/dist/src/routes/tasks.route.js.map +1 -1
  350. package/dist/src/routes/vnc.route.d.ts +12 -0
  351. package/dist/src/routes/vnc.route.d.ts.map +1 -0
  352. package/dist/src/routes/vnc.route.js +74 -0
  353. package/dist/src/routes/vnc.route.js.map +1 -0
  354. package/dist/src/routes/workflows.route.d.ts.map +1 -1
  355. package/dist/src/routes/workflows.route.js +24 -0
  356. package/dist/src/routes/workflows.route.js.map +1 -1
  357. package/dist/src/server.d.ts.map +1 -1
  358. package/dist/src/server.js +29 -3
  359. package/dist/src/server.js.map +1 -1
  360. package/dist/templates/Demo.md +152 -0
  361. package/dist/templates/README.md +12 -3
  362. package/dist/templates/agents/actor.agent.yaml +34 -0
  363. package/dist/templates/agents/architect.agent.yaml +20 -13
  364. package/dist/templates/agents/chatbot.agent.yaml +23 -27
  365. package/dist/templates/agents/corporate.agent.yaml +64 -0
  366. package/dist/templates/agents/functions.agent.yaml +29 -0
  367. package/dist/templates/agents/investment-analyst.agent.yaml +79 -0
  368. package/dist/templates/agents/music-librarian.agent.yaml +46 -0
  369. package/dist/templates/agents/network-security.agent.yaml +81 -0
  370. package/dist/templates/agents/transport-security.agent.yaml +69 -0
  371. package/dist/templates/agents/web-engineer.agent.yaml +98 -0
  372. package/dist/templates/agents/web-pilot.agent.yaml +57 -0
  373. package/dist/templates/knowledge/music-store/LICENSE.md +11 -0
  374. package/dist/templates/knowledge/music-store/musicstore.sqlite +0 -0
  375. package/dist/templates/knowledge/music-store/tables.png +0 -0
  376. package/dist/templates/knowledge/music-store.knowledge.yaml +138 -0
  377. package/dist/templates/knowledge/org-chart/personnel.csv +21 -21
  378. package/dist/templates/knowledge/org-chart.knowledge.yaml +4 -0
  379. package/dist/templates/knowledge/patient-records.knowledge.yaml +20 -0
  380. package/dist/templates/knowledge/pdf-patients/PDF_Deid_Deidentification_0.pdf +0 -0
  381. package/dist/templates/knowledge/pdf-patients/PDF_Deid_Deidentification_1.pdf +0 -0
  382. package/dist/templates/knowledge/pdf-patients/PDF_Deid_Deidentification_10.pdf +0 -0
  383. package/dist/templates/knowledge/pdf-patients/PDF_Deid_Deidentification_11.pdf +0 -0
  384. package/dist/templates/knowledge/pet-store.knowledge.yaml +3 -0
  385. package/dist/templates/knowledge/security-incidents/incidents.json +55935 -0
  386. package/dist/templates/knowledge/security-incidents.knowledge.yaml +46 -0
  387. package/dist/templates/knowledge/{example.knowledge.yaml → transcripts.knowledge.yaml} +9 -5
  388. package/dist/templates/knowledge/transport-ot/systems.csv +117 -0
  389. package/dist/templates/knowledge/transport-ot.knowledge.yaml +55 -0
  390. package/dist/templates/knowledge/web-docs.knowledge.yaml +1 -1
  391. package/dist/templates/llm.json +62 -22
  392. package/dist/templates/mcp.json +7 -4
  393. package/dist/templates/skills/orcha-builder/SKILL.md +148 -215
  394. package/dist/templates/skills/pii-guard/SKILL.md +22 -0
  395. package/dist/templates/skills/sandbox/SKILL.md +25 -48
  396. package/dist/templates/skills/web-pilot/SKILL.md +51 -0
  397. package/dist/templates/workflows/example.workflow.yaml +27 -35
  398. package/dist/templates/workflows/react-example.workflow.yaml +14 -19
  399. package/dist/templates/workflows/team-chat.workflow.yaml +47 -0
  400. package/package.json +17 -4
  401. package/dist/public/src/components/SkillsView.js +0 -137
  402. package/dist/public/src/components/WorkflowsView.js +0 -416
  403. package/dist/templates/agents/knowledge-broker.agent.yaml +0 -39
  404. package/dist/templates/agents/sandbox.agent.yaml +0 -56
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-readiness.js","sourceRoot":"","sources":["../../../lib/sandbox/page-readiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { StructuredTool } from '../types/llm-types.ts';
2
+ import type { SandboxConfig } from './types.ts';
3
+ export declare function createBrowserTools(config: SandboxConfig): StructuredTool[];
4
+ //# sourceMappingURL=sandbox-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-browser.d.ts","sourceRoot":"","sources":["../../../lib/sandbox/sandbox-browser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE,CAsX1E"}
@@ -0,0 +1,316 @@
1
+ import { z } from 'zod';
2
+ import { tool } from "../types/tool-factory.js";
3
+ import { htmlToMarkdown } from "./html-to-markdown.js";
4
+ import { CDPClient } from "./cdp-client.js";
5
+ import { PageReadiness } from "./page-readiness.js";
6
+ /** Hard cap on content() output to prevent 50K+ char dumps blowing up context. */
7
+ const CONTENT_MAX_CHARS = 15_000;
8
+ export function createBrowserTools(config) {
9
+ const cdpUrl = config.browserCdpUrl;
10
+ let client = null;
11
+ let readiness = null;
12
+ async function getReady() {
13
+ if (client?.connected && readiness) {
14
+ return { cdp: client, ready: readiness };
15
+ }
16
+ // Clean up old instances before reconnecting
17
+ if (readiness) {
18
+ readiness.detach();
19
+ readiness = null;
20
+ }
21
+ if (client) {
22
+ await client.close();
23
+ client = null;
24
+ }
25
+ client = new CDPClient();
26
+ await client.connect(cdpUrl);
27
+ readiness = new PageReadiness(client);
28
+ await readiness.attach();
29
+ return { cdp: client, ready: readiness };
30
+ }
31
+ function errorResult(error) {
32
+ const msg = error instanceof Error ? error.message : String(error);
33
+ return JSON.stringify({ error: msg });
34
+ }
35
+ // -- observe: cheap text snapshot of the page (primary verification tool) --
36
+ const observe = tool(async () => {
37
+ try {
38
+ const { ready } = await getReady();
39
+ const snapshot = await ready.observe();
40
+ return JSON.stringify(snapshot);
41
+ }
42
+ catch (e) {
43
+ return errorResult(e);
44
+ }
45
+ }, {
46
+ name: 'sandbox_browser_observe',
47
+ description: 'Text snapshot of current page: URL, title, headings, textExcerpt (first 2000 chars of visible text), interactive elements with refs. Check textExcerpt first — it often has what you need.',
48
+ schema: z.object({}),
49
+ });
50
+ // -- navigate: go to URL, wait for readiness, return observe snapshot --
51
+ const navigate = tool(async ({ url }) => {
52
+ try {
53
+ const { cdp, ready } = await getReady();
54
+ ready.resetForNavigation();
55
+ const navResult = await cdp.send('Page.navigate', { url });
56
+ // Check for navigation-level errors (invalid URL, network failures, etc.)
57
+ if (navResult?.errorText) {
58
+ return JSON.stringify({ error: `Navigation failed: ${navResult.errorText}`, url });
59
+ }
60
+ await ready.waitForReady(config.commandTimeout);
61
+ const snapshot = await ready.observe();
62
+ return JSON.stringify(snapshot);
63
+ }
64
+ catch (e) {
65
+ return errorResult(e);
66
+ }
67
+ }, {
68
+ name: 'sandbox_browser_navigate',
69
+ description: 'Navigate to URL. Waits for load+idle. Returns text snapshot with textExcerpt and interactive elements.',
70
+ schema: z.object({
71
+ url: z.string().describe('The URL to navigate to'),
72
+ }),
73
+ });
74
+ // -- screenshot: expensive visual capture, use only when text observation is insufficient --
75
+ const screenshot = tool(async () => {
76
+ try {
77
+ const { cdp } = await getReady();
78
+ const result = await cdp.send('Page.captureScreenshot', { format: 'jpeg', quality: 75 });
79
+ const data = result.data;
80
+ return [
81
+ { type: 'image', data, mediaType: 'image/jpeg' },
82
+ { type: 'text', text: 'Screenshot captured.' },
83
+ ];
84
+ }
85
+ catch (e) {
86
+ return errorResult(e);
87
+ }
88
+ }, {
89
+ name: 'sandbox_browser_screenshot',
90
+ description: 'JPEG screenshot. Expensive — only when observe/content insufficient (CAPTCHAs, charts).',
91
+ schema: z.object({}),
92
+ });
93
+ // -- content: full page or element as markdown --
94
+ const content = tool(async ({ selector }) => {
95
+ try {
96
+ const { cdp } = await getReady();
97
+ const expression = selector
98
+ ? `(() => { const el = document.querySelector(${JSON.stringify(selector)}); return el ? el.outerHTML : null; })()`
99
+ : 'document.documentElement.outerHTML';
100
+ const result = await cdp.send('Runtime.evaluate', { expression });
101
+ const html = result.result?.value;
102
+ if (!html) {
103
+ return JSON.stringify({ error: selector ? `Element not found: ${selector}` : 'No content' });
104
+ }
105
+ const markdown = htmlToMarkdown(html, { includeNavigation: !!selector, includeInteractiveElements: true, includeImages: true });
106
+ const maxChars = Math.min(CONTENT_MAX_CHARS, config.maxOutputChars);
107
+ let output = JSON.stringify({ content: markdown, selector: selector ?? null });
108
+ if (output.length > maxChars) {
109
+ const truncated = markdown.substring(0, maxChars);
110
+ output = JSON.stringify({ content: truncated, truncated: true, selector: selector ?? null });
111
+ }
112
+ return output;
113
+ }
114
+ catch (e) {
115
+ return errorResult(e);
116
+ }
117
+ }, {
118
+ name: 'sandbox_browser_content',
119
+ description: 'Page content as markdown (capped at 15K chars). Use a CSS selector to target a specific section instead of fetching the full page.',
120
+ schema: z.object({
121
+ selector: z
122
+ .string()
123
+ .optional()
124
+ .describe('CSS selector to extract a specific element (optional, defaults to full page)'),
125
+ }),
126
+ });
127
+ // -- evaluate: run arbitrary JS, report side effects --
128
+ const evaluate = tool(async ({ expression }) => {
129
+ try {
130
+ const { cdp, ready } = await getReady();
131
+ const preUrl = await cdp.send('Runtime.evaluate', {
132
+ expression: 'location.href',
133
+ returnByValue: true,
134
+ });
135
+ const preUrlValue = preUrl.result?.value;
136
+ ready.resetNetworkFlag();
137
+ const result = await cdp.send('Runtime.evaluate', {
138
+ expression,
139
+ returnByValue: true,
140
+ awaitPromise: true,
141
+ });
142
+ const val = result.result;
143
+ if (val?.subtype === 'error' || result.exceptionDetails) {
144
+ const errMsg = result.exceptionDetails?.exception?.description ??
145
+ val?.description ??
146
+ 'Evaluation error';
147
+ return JSON.stringify({ error: errMsg });
148
+ }
149
+ await ready.waitForSettle(300);
150
+ const postUrl = await cdp.send('Runtime.evaluate', {
151
+ expression: 'location.href',
152
+ returnByValue: true,
153
+ });
154
+ const postUrlValue = postUrl.result?.value;
155
+ const sideEffects = {};
156
+ if (preUrlValue !== postUrlValue) {
157
+ sideEffects.urlChanged = { from: preUrlValue, to: postUrlValue };
158
+ }
159
+ if (ready.hadNetworkActivity()) {
160
+ sideEffects.networkTriggered = true;
161
+ }
162
+ return JSON.stringify({
163
+ result: val?.value ?? null,
164
+ type: val?.type ?? 'undefined',
165
+ ...(Object.keys(sideEffects).length > 0 ? { sideEffects } : {}),
166
+ });
167
+ }
168
+ catch (e) {
169
+ return errorResult(e);
170
+ }
171
+ }, {
172
+ name: 'sandbox_browser_evaluate',
173
+ description: 'Run JavaScript in browser. Returns result + side effects. Prefer click/type for interactions.',
174
+ schema: z.object({
175
+ expression: z.string().describe('JavaScript expression to evaluate in the page'),
176
+ }),
177
+ });
178
+ // -- click: find element, scroll, click, return lightweight result --
179
+ const click = tool(async ({ ref, text }) => {
180
+ try {
181
+ const { cdp, ready } = await getReady();
182
+ // Resolve ref (e.g. "e3") to CSS selector
183
+ const selector = ref ? ready.resolveRef(ref) : undefined;
184
+ const findExpr = selector
185
+ ? `(() => {
186
+ const el = document.querySelector(${JSON.stringify(selector)});
187
+ if (!el) return { error: 'Element not found: ' + ${JSON.stringify(ref)} };
188
+ return { found: true, tag: el.tagName.toLowerCase(), text: (el.textContent||'').trim().substring(0,40) };
189
+ })()`
190
+ : `(() => {
191
+ const searchText = ${JSON.stringify(text ?? '')};
192
+ const clickable = document.querySelectorAll('a, button, [role="button"], input[type="submit"], input[type="button"], [onclick], [tabindex]');
193
+ for (const el of clickable) {
194
+ if (el.offsetParent === null) continue;
195
+ if (el.textContent && el.textContent.trim().toLowerCase().includes(searchText.toLowerCase())) {
196
+ return { found: true, tag: el.tagName.toLowerCase(), text: (el.textContent||'').trim().substring(0,40) };
197
+ }
198
+ }
199
+ return { error: 'No clickable element found containing text: ' + searchText };
200
+ })()`;
201
+ const findResult = await cdp.send('Runtime.evaluate', {
202
+ expression: findExpr,
203
+ returnByValue: true,
204
+ });
205
+ const found = findResult.result?.value;
206
+ if (found?.error)
207
+ return JSON.stringify(found);
208
+ const preUrl = await cdp.send('Runtime.evaluate', {
209
+ expression: 'location.href',
210
+ returnByValue: true,
211
+ });
212
+ const clickExpr = selector
213
+ ? `(() => {
214
+ const el = document.querySelector(${JSON.stringify(selector)});
215
+ el.scrollIntoView({ block: 'center', behavior: 'instant' });
216
+ el.click();
217
+ return true;
218
+ })()`
219
+ : `(() => {
220
+ const searchText = ${JSON.stringify(text ?? '')};
221
+ const clickable = document.querySelectorAll('a, button, [role="button"], input[type="submit"], input[type="button"], [onclick], [tabindex]');
222
+ for (const el of clickable) {
223
+ if (el.offsetParent === null) continue;
224
+ if (el.textContent && el.textContent.trim().toLowerCase().includes(searchText.toLowerCase())) {
225
+ el.scrollIntoView({ block: 'center', behavior: 'instant' });
226
+ el.click();
227
+ return true;
228
+ }
229
+ }
230
+ return false;
231
+ })()`;
232
+ ready.resetNetworkFlag();
233
+ await cdp.send('Runtime.evaluate', {
234
+ expression: clickExpr,
235
+ returnByValue: true,
236
+ awaitPromise: true,
237
+ });
238
+ await ready.waitForSettle(500);
239
+ const postUrl = await cdp.send('Runtime.evaluate', {
240
+ expression: 'location.href',
241
+ returnByValue: true,
242
+ });
243
+ const preUrlVal = preUrl.result?.value;
244
+ const postUrlVal = postUrl.result?.value;
245
+ const navigated = preUrlVal !== postUrlVal;
246
+ if (navigated) {
247
+ ready.resetForNavigation();
248
+ await ready.waitForReady(config.commandTimeout);
249
+ }
250
+ const titleResult = await cdp.send('Runtime.evaluate', {
251
+ expression: 'document.title',
252
+ returnByValue: true,
253
+ });
254
+ return JSON.stringify({
255
+ clicked: found,
256
+ navigated,
257
+ url: postUrlVal,
258
+ title: titleResult.result?.value ?? '',
259
+ });
260
+ }
261
+ catch (e) {
262
+ return errorResult(e);
263
+ }
264
+ }, {
265
+ name: 'sandbox_browser_click',
266
+ description: 'Click an element by ref from observe output (e.g. "e3") or visible text. Scrolls into view, clicks, waits for effects.',
267
+ schema: z.object({
268
+ ref: z.string().optional().describe('Element ref from observe output (e.g. "e3")'),
269
+ text: z.string().optional().describe('Visible text to find and click'),
270
+ }),
271
+ });
272
+ // -- type: fill an input field --
273
+ const type_ = tool(async ({ ref, text, clear }) => {
274
+ try {
275
+ const { cdp, ready } = await getReady();
276
+ const selector = ready.resolveRef(ref);
277
+ const expr = `(() => {
278
+ const el = document.querySelector(${JSON.stringify(selector)});
279
+ if (!el) return { error: 'Element not found: ' + ${JSON.stringify(ref)} };
280
+ if (!('value' in el)) return { error: 'Element is not an input: ' + el.tagName };
281
+
282
+ el.scrollIntoView({ block: 'center', behavior: 'instant' });
283
+ el.focus();
284
+ ${clear !== false ? "el.value = '';" : ''}
285
+ el.value = ${JSON.stringify(text)};
286
+ el.dispatchEvent(new Event('input', { bubbles: true }));
287
+ el.dispatchEvent(new Event('change', { bubbles: true }));
288
+
289
+ return { typed: true, value: el.value };
290
+ })()`;
291
+ const result = await cdp.send('Runtime.evaluate', {
292
+ expression: expr,
293
+ returnByValue: true,
294
+ awaitPromise: true,
295
+ });
296
+ const val = result.result?.value;
297
+ if (val?.error)
298
+ return JSON.stringify(val);
299
+ await ready.waitForSettle(300);
300
+ return JSON.stringify(val);
301
+ }
302
+ catch (e) {
303
+ return errorResult(e);
304
+ }
305
+ }, {
306
+ name: 'sandbox_browser_type',
307
+ description: 'Type text into an input/textarea by ref from observe output (e.g. "e5"). Handles focus and input/change events.',
308
+ schema: z.object({
309
+ ref: z.string().describe('Element ref from observe output (e.g. "e5")'),
310
+ text: z.string().describe('Text to type'),
311
+ clear: z.boolean().optional().describe('Clear first (default: true)'),
312
+ }),
313
+ });
314
+ return [observe, navigate, screenshot, content, evaluate, click, type_];
315
+ }
316
+ //# sourceMappingURL=sandbox-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-browser.js","sourceRoot":"","sources":["../../../lib/sandbox/sandbox-browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Manages the standalone sandbox Docker container.
3
+ * Pulls the published sandbox image and runs it via `docker run`.
4
+ * Works both in development and when installed via npm.
5
+ */
6
+ export declare class SandboxContainer {
7
+ private dockerPath;
8
+ private running;
9
+ /**
10
+ * Detect if Docker (or compatible runtime) is available.
11
+ */
12
+ detectDocker(): boolean;
13
+ /**
14
+ * Check if the sandbox container is already running.
15
+ */
16
+ isContainerRunning(): boolean;
17
+ /**
18
+ * Start the sandbox container by pulling and running the published image.
19
+ */
20
+ start(): Promise<boolean>;
21
+ /**
22
+ * Stop and remove the sandbox container.
23
+ */
24
+ stop(): Promise<void>;
25
+ /**
26
+ * Execute a shell command inside the sandbox container.
27
+ */
28
+ exec(command: string, timeout: number): Promise<{
29
+ stdout: string;
30
+ stderr: string;
31
+ exitCode: number;
32
+ error?: string;
33
+ }>;
34
+ get isRunning(): boolean;
35
+ get docker(): string | null;
36
+ private pullImage;
37
+ private waitForCDP;
38
+ }
39
+ //# sourceMappingURL=sandbox-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-container.d.ts","sourceRoot":"","sources":["../../../lib/sandbox/sandbox-container.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAS;IAExB;;OAEG;IACH,YAAY,IAAI,OAAO;IAgBvB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAa7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAqD/B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA4BrH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED,OAAO,CAAC,SAAS;YAQH,UAAU;CAazB"}
@@ -0,0 +1,176 @@
1
+ import { execFile, execFileSync } from 'node:child_process';
2
+ import { logger } from "../logger.js";
3
+ const CONTAINER_NAME = 'orcha-sandbox';
4
+ const SANDBOX_IMAGE = 'ddalcu/agent-orcha-sandbox:latest';
5
+ /**
6
+ * Manages the standalone sandbox Docker container.
7
+ * Pulls the published sandbox image and runs it via `docker run`.
8
+ * Works both in development and when installed via npm.
9
+ */
10
+ export class SandboxContainer {
11
+ dockerPath = null;
12
+ running = false;
13
+ /**
14
+ * Detect if Docker (or compatible runtime) is available.
15
+ */
16
+ detectDocker() {
17
+ const candidates = ['/usr/local/bin/docker', '/usr/bin/docker', 'docker'];
18
+ for (const candidate of candidates) {
19
+ try {
20
+ execFileSync(candidate, ['version'], { stdio: 'pipe', timeout: 5000 });
21
+ this.dockerPath = candidate;
22
+ return true;
23
+ }
24
+ catch {
25
+ // Not found or not working
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+ /**
31
+ * Check if the sandbox container is already running.
32
+ */
33
+ isContainerRunning() {
34
+ if (!this.dockerPath)
35
+ return false;
36
+ try {
37
+ const output = execFileSync(this.dockerPath, [
38
+ 'container', 'inspect', '-f', '{{.State.Running}}', CONTAINER_NAME,
39
+ ], { stdio: 'pipe', timeout: 5000 }).toString().trim();
40
+ return output === 'true';
41
+ }
42
+ catch {
43
+ return false;
44
+ }
45
+ }
46
+ /**
47
+ * Start the sandbox container by pulling and running the published image.
48
+ */
49
+ async start() {
50
+ if (!this.dockerPath) {
51
+ logger.warn('[Sandbox] Docker not detected — sandbox container not available');
52
+ return false;
53
+ }
54
+ if (this.isContainerRunning()) {
55
+ logger.info('[Sandbox] Container already running');
56
+ this.running = true;
57
+ return true;
58
+ }
59
+ logger.info(`[Sandbox] Pulling ${SANDBOX_IMAGE}...`);
60
+ const pulled = await this.pullImage(SANDBOX_IMAGE);
61
+ if (!pulled) {
62
+ logger.error('[Sandbox] Failed to pull sandbox image');
63
+ return false;
64
+ }
65
+ logger.info('[Sandbox] Starting sandbox container...');
66
+ return new Promise((resolve) => {
67
+ execFile(this.dockerPath, [
68
+ 'run', '-d',
69
+ '--name', CONTAINER_NAME,
70
+ '-p', '9222:9223',
71
+ '-p', '6080:6080',
72
+ '--shm-size', '2g',
73
+ '--cap-add', 'SYS_ADMIN',
74
+ '--restart', 'unless-stopped',
75
+ SANDBOX_IMAGE,
76
+ ], { timeout: 30_000 }, (error, _stdout, stderr) => {
77
+ if (error) {
78
+ logger.error(`[Sandbox] Failed to start container: ${error.message}`);
79
+ if (stderr)
80
+ logger.error(`[Sandbox] ${stderr}`);
81
+ resolve(false);
82
+ return;
83
+ }
84
+ this.waitForCDP().then((ready) => {
85
+ if (ready) {
86
+ logger.info('[Sandbox] Container ready (CDP: localhost:9222, VNC: localhost:6080)');
87
+ this.running = true;
88
+ }
89
+ else {
90
+ logger.warn('[Sandbox] Container started but CDP not responding');
91
+ }
92
+ resolve(ready);
93
+ });
94
+ });
95
+ });
96
+ }
97
+ /**
98
+ * Stop and remove the sandbox container.
99
+ */
100
+ async stop() {
101
+ if (!this.dockerPath || !this.running)
102
+ return;
103
+ return new Promise((resolve) => {
104
+ execFile(this.dockerPath, [
105
+ 'rm', '-f', CONTAINER_NAME,
106
+ ], { timeout: 30_000 }, (error) => {
107
+ if (error) {
108
+ logger.warn(`[Sandbox] Failed to stop container: ${error.message}`);
109
+ }
110
+ else {
111
+ logger.info('[Sandbox] Container stopped');
112
+ }
113
+ this.running = false;
114
+ resolve();
115
+ });
116
+ });
117
+ }
118
+ /**
119
+ * Execute a shell command inside the sandbox container.
120
+ */
121
+ exec(command, timeout) {
122
+ return new Promise((resolve) => {
123
+ if (!this.dockerPath || !this.running) {
124
+ resolve({ stdout: '', stderr: '', exitCode: -1, error: 'Sandbox container not running' });
125
+ return;
126
+ }
127
+ execFile(this.dockerPath, [
128
+ 'exec', CONTAINER_NAME,
129
+ 'su', '-s', '/bin/sh', 'sandbox', '-c', command,
130
+ ], { timeout, maxBuffer: 10 * 1024 * 1024 }, (error, stdout, stderr) => {
131
+ let exitCode = 0;
132
+ if (error && 'code' in error && typeof error.code === 'number') {
133
+ exitCode = error.code;
134
+ }
135
+ else if (error) {
136
+ exitCode = 1;
137
+ }
138
+ resolve({
139
+ stdout: stdout ?? '',
140
+ stderr: stderr ?? '',
141
+ exitCode,
142
+ ...(error && typeof error.code !== 'number' ? { error: error.message } : {}),
143
+ });
144
+ });
145
+ });
146
+ }
147
+ get isRunning() {
148
+ return this.running;
149
+ }
150
+ get docker() {
151
+ return this.dockerPath;
152
+ }
153
+ pullImage(image) {
154
+ return new Promise((resolve) => {
155
+ execFile(this.dockerPath, ['pull', image], { timeout: 120_000 }, (error) => {
156
+ resolve(!error);
157
+ });
158
+ });
159
+ }
160
+ async waitForCDP(maxWait = 15_000) {
161
+ const start = Date.now();
162
+ while (Date.now() - start < maxWait) {
163
+ try {
164
+ const response = await fetch('http://localhost:9222/json/version');
165
+ if (response.ok)
166
+ return true;
167
+ }
168
+ catch {
169
+ // Not ready yet
170
+ }
171
+ await new Promise((r) => setTimeout(r, 500));
172
+ }
173
+ return false;
174
+ }
175
+ }
176
+ //# sourceMappingURL=sandbox-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-container.js","sourceRoot":"","sources":["../../../lib/sandbox/sandbox-container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { StructuredTool } from '../types/llm-types.ts';
2
+ import type { SandboxConfig } from './types.ts';
3
+ export declare function createFileTools(config: SandboxConfig): StructuredTool[];
4
+ //# sourceMappingURL=sandbox-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-file.d.ts","sourceRoot":"","sources":["../../../lib/sandbox/sandbox-file.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0BhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE,CAyKvE"}