@cicctencent/agent-server 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +235 -0
  2. package/dist/cjs/agent/agent-server.d.ts +6 -0
  3. package/dist/cjs/agent/agent-server.d.ts.map +1 -0
  4. package/dist/cjs/agent/agent-server.js +412 -0
  5. package/dist/cjs/agent/agent-server.js.map +1 -0
  6. package/dist/cjs/connectors/index.d.ts +13 -0
  7. package/dist/cjs/connectors/index.d.ts.map +1 -0
  8. package/dist/cjs/connectors/index.js +37 -0
  9. package/dist/cjs/connectors/index.js.map +1 -0
  10. package/dist/cjs/index.d.ts +56 -0
  11. package/dist/cjs/index.d.ts.map +1 -0
  12. package/dist/cjs/index.js +169 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/kb/doc-parser.d.ts +24 -0
  15. package/dist/cjs/kb/doc-parser.d.ts.map +1 -0
  16. package/dist/cjs/kb/doc-parser.js +137 -0
  17. package/dist/cjs/kb/doc-parser.js.map +1 -0
  18. package/dist/cjs/kb/embedding-vector-index.d.ts +30 -0
  19. package/dist/cjs/kb/embedding-vector-index.d.ts.map +1 -0
  20. package/dist/cjs/kb/embedding-vector-index.js +75 -0
  21. package/dist/cjs/kb/embedding-vector-index.js.map +1 -0
  22. package/dist/cjs/kb/file-knowledge-base.d.ts +25 -0
  23. package/dist/cjs/kb/file-knowledge-base.d.ts.map +1 -0
  24. package/dist/cjs/kb/file-knowledge-base.js +200 -0
  25. package/dist/cjs/kb/file-knowledge-base.js.map +1 -0
  26. package/dist/cjs/mcp/api-bridge-client.d.ts +36 -0
  27. package/dist/cjs/mcp/api-bridge-client.d.ts.map +1 -0
  28. package/dist/cjs/mcp/api-bridge-client.js +143 -0
  29. package/dist/cjs/mcp/api-bridge-client.js.map +1 -0
  30. package/dist/cjs/mcp/api-bridge-types.d.ts +91 -0
  31. package/dist/cjs/mcp/api-bridge-types.d.ts.map +1 -0
  32. package/dist/cjs/mcp/api-bridge-types.js +8 -0
  33. package/dist/cjs/mcp/api-bridge-types.js.map +1 -0
  34. package/dist/cjs/mcp/body-template.d.ts +16 -0
  35. package/dist/cjs/mcp/body-template.d.ts.map +1 -0
  36. package/dist/cjs/mcp/body-template.js +62 -0
  37. package/dist/cjs/mcp/body-template.js.map +1 -0
  38. package/dist/cjs/mcp/openapi-importer.d.ts +24 -0
  39. package/dist/cjs/mcp/openapi-importer.d.ts.map +1 -0
  40. package/dist/cjs/mcp/openapi-importer.js +183 -0
  41. package/dist/cjs/mcp/openapi-importer.js.map +1 -0
  42. package/dist/cjs/mcp/template-builder.d.ts +53 -0
  43. package/dist/cjs/mcp/template-builder.d.ts.map +1 -0
  44. package/dist/cjs/mcp/template-builder.js +177 -0
  45. package/dist/cjs/mcp/template-builder.js.map +1 -0
  46. package/dist/cjs/model/automation.d.ts +34 -0
  47. package/dist/cjs/model/automation.d.ts.map +1 -0
  48. package/dist/cjs/model/automation.js +6 -0
  49. package/dist/cjs/model/automation.js.map +1 -0
  50. package/dist/cjs/package.json +3 -0
  51. package/dist/cjs/prompt/prompt-builder.d.ts +14 -0
  52. package/dist/cjs/prompt/prompt-builder.d.ts.map +1 -0
  53. package/dist/cjs/prompt/prompt-builder.js +113 -0
  54. package/dist/cjs/prompt/prompt-builder.js.map +1 -0
  55. package/dist/cjs/sandbox/local-sandbox.d.ts +70 -0
  56. package/dist/cjs/sandbox/local-sandbox.d.ts.map +1 -0
  57. package/dist/cjs/sandbox/local-sandbox.js +442 -0
  58. package/dist/cjs/sandbox/local-sandbox.js.map +1 -0
  59. package/dist/cjs/sandbox/process-code-sandbox.d.ts +25 -0
  60. package/dist/cjs/sandbox/process-code-sandbox.d.ts.map +1 -0
  61. package/dist/cjs/sandbox/process-code-sandbox.js +113 -0
  62. package/dist/cjs/sandbox/process-code-sandbox.js.map +1 -0
  63. package/dist/cjs/sandbox/sandbox-manager.d.ts +47 -0
  64. package/dist/cjs/sandbox/sandbox-manager.d.ts.map +1 -0
  65. package/dist/cjs/sandbox/sandbox-manager.js +126 -0
  66. package/dist/cjs/sandbox/sandbox-manager.js.map +1 -0
  67. package/dist/cjs/service/agent-profile.service.d.ts +27 -0
  68. package/dist/cjs/service/agent-profile.service.d.ts.map +1 -0
  69. package/dist/cjs/service/agent-profile.service.js +143 -0
  70. package/dist/cjs/service/agent-profile.service.js.map +1 -0
  71. package/dist/cjs/service/artifact.service.d.ts +33 -0
  72. package/dist/cjs/service/artifact.service.d.ts.map +1 -0
  73. package/dist/cjs/service/artifact.service.js +214 -0
  74. package/dist/cjs/service/artifact.service.js.map +1 -0
  75. package/dist/cjs/service/audit.service.d.ts +30 -0
  76. package/dist/cjs/service/audit.service.d.ts.map +1 -0
  77. package/dist/cjs/service/audit.service.js +169 -0
  78. package/dist/cjs/service/audit.service.js.map +1 -0
  79. package/dist/cjs/service/chat.service.d.ts +90 -0
  80. package/dist/cjs/service/chat.service.d.ts.map +1 -0
  81. package/dist/cjs/service/chat.service.js +433 -0
  82. package/dist/cjs/service/chat.service.js.map +1 -0
  83. package/dist/cjs/service/engine-pool.d.ts +6 -0
  84. package/dist/cjs/service/engine-pool.d.ts.map +1 -0
  85. package/dist/cjs/service/engine-pool.js +24 -0
  86. package/dist/cjs/service/engine-pool.js.map +1 -0
  87. package/dist/cjs/service/memory.service.d.ts +45 -0
  88. package/dist/cjs/service/memory.service.d.ts.map +1 -0
  89. package/dist/cjs/service/memory.service.js +193 -0
  90. package/dist/cjs/service/memory.service.js.map +1 -0
  91. package/dist/cjs/service/observability.service.d.ts +3 -0
  92. package/dist/cjs/service/observability.service.d.ts.map +1 -0
  93. package/dist/cjs/service/observability.service.js +10 -0
  94. package/dist/cjs/service/observability.service.js.map +1 -0
  95. package/dist/cjs/service/permission.service.d.ts +5 -0
  96. package/dist/cjs/service/permission.service.d.ts.map +1 -0
  97. package/dist/cjs/service/permission.service.js +40 -0
  98. package/dist/cjs/service/permission.service.js.map +1 -0
  99. package/dist/cjs/service/run-registry.d.ts +7 -0
  100. package/dist/cjs/service/run-registry.d.ts.map +1 -0
  101. package/dist/cjs/service/run-registry.js +44 -0
  102. package/dist/cjs/service/run-registry.js.map +1 -0
  103. package/dist/cjs/service/safety-audit.middleware.d.ts +3 -0
  104. package/dist/cjs/service/safety-audit.middleware.d.ts.map +1 -0
  105. package/dist/cjs/service/safety-audit.middleware.js +115 -0
  106. package/dist/cjs/service/safety-audit.middleware.js.map +1 -0
  107. package/dist/cjs/service/security-policy.service.d.ts +18 -0
  108. package/dist/cjs/service/security-policy.service.d.ts.map +1 -0
  109. package/dist/cjs/service/security-policy.service.js +46 -0
  110. package/dist/cjs/service/security-policy.service.js.map +1 -0
  111. package/dist/cjs/service/settings.service.d.ts +18 -0
  112. package/dist/cjs/service/settings.service.d.ts.map +1 -0
  113. package/dist/cjs/service/settings.service.js +222 -0
  114. package/dist/cjs/service/settings.service.js.map +1 -0
  115. package/dist/cjs/service/tool-risk.service.d.ts +3 -0
  116. package/dist/cjs/service/tool-risk.service.d.ts.map +1 -0
  117. package/dist/cjs/service/tool-risk.service.js +23 -0
  118. package/dist/cjs/service/tool-risk.service.js.map +1 -0
  119. package/dist/cjs/service/workspace.service.d.ts +33 -0
  120. package/dist/cjs/service/workspace.service.d.ts.map +1 -0
  121. package/dist/cjs/service/workspace.service.js +107 -0
  122. package/dist/cjs/service/workspace.service.js.map +1 -0
  123. package/dist/cjs/sse/sse-handler.d.ts +15 -0
  124. package/dist/cjs/sse/sse-handler.d.ts.map +1 -0
  125. package/dist/cjs/sse/sse-handler.js +56 -0
  126. package/dist/cjs/sse/sse-handler.js.map +1 -0
  127. package/dist/cjs/store/app-stores.d.ts +42 -0
  128. package/dist/cjs/store/app-stores.d.ts.map +1 -0
  129. package/dist/cjs/store/app-stores.js +226 -0
  130. package/dist/cjs/store/app-stores.js.map +1 -0
  131. package/dist/cjs/store/index.d.ts +3 -0
  132. package/dist/cjs/store/index.d.ts.map +1 -0
  133. package/dist/cjs/store/index.js +10 -0
  134. package/dist/cjs/store/index.js.map +1 -0
  135. package/dist/cjs/store/mcp-server-store.d.ts +35 -0
  136. package/dist/cjs/store/mcp-server-store.d.ts.map +1 -0
  137. package/dist/cjs/store/mcp-server-store.js +288 -0
  138. package/dist/cjs/store/mcp-server-store.js.map +1 -0
  139. package/dist/cjs/tool/builtin.d.ts +18 -0
  140. package/dist/cjs/tool/builtin.d.ts.map +1 -0
  141. package/dist/cjs/tool/builtin.js +43 -0
  142. package/dist/cjs/tool/builtin.js.map +1 -0
  143. package/dist/cjs/tool/local-executors.d.ts +22 -0
  144. package/dist/cjs/tool/local-executors.d.ts.map +1 -0
  145. package/dist/cjs/tool/local-executors.js +126 -0
  146. package/dist/cjs/tool/local-executors.js.map +1 -0
  147. package/dist/cjs/tool/tools/automation.d.ts +3 -0
  148. package/dist/cjs/tool/tools/automation.d.ts.map +1 -0
  149. package/dist/cjs/tool/tools/automation.js +190 -0
  150. package/dist/cjs/tool/tools/automation.js.map +1 -0
  151. package/dist/cjs/tool/tools/communication.d.ts +3 -0
  152. package/dist/cjs/tool/tools/communication.d.ts.map +1 -0
  153. package/dist/cjs/tool/tools/communication.js +302 -0
  154. package/dist/cjs/tool/tools/communication.js.map +1 -0
  155. package/dist/cjs/tool/tools/discovery.d.ts +3 -0
  156. package/dist/cjs/tool/tools/discovery.d.ts.map +1 -0
  157. package/dist/cjs/tool/tools/discovery.js +248 -0
  158. package/dist/cjs/tool/tools/discovery.js.map +1 -0
  159. package/dist/cjs/tool/tools/filesystem.d.ts +3 -0
  160. package/dist/cjs/tool/tools/filesystem.d.ts.map +1 -0
  161. package/dist/cjs/tool/tools/filesystem.js +403 -0
  162. package/dist/cjs/tool/tools/filesystem.js.map +1 -0
  163. package/dist/cjs/tool/tools/git.d.ts +3 -0
  164. package/dist/cjs/tool/tools/git.d.ts.map +1 -0
  165. package/dist/cjs/tool/tools/git.js +224 -0
  166. package/dist/cjs/tool/tools/git.js.map +1 -0
  167. package/dist/cjs/tool/tools/memory.d.ts +3 -0
  168. package/dist/cjs/tool/tools/memory.d.ts.map +1 -0
  169. package/dist/cjs/tool/tools/memory.js +126 -0
  170. package/dist/cjs/tool/tools/memory.js.map +1 -0
  171. package/dist/cjs/tool/tools/sandbox.d.ts +3 -0
  172. package/dist/cjs/tool/tools/sandbox.d.ts.map +1 -0
  173. package/dist/cjs/tool/tools/sandbox.js +413 -0
  174. package/dist/cjs/tool/tools/sandbox.js.map +1 -0
  175. package/dist/cjs/tool/tools/web-utils.d.ts +16 -0
  176. package/dist/cjs/tool/tools/web-utils.d.ts.map +1 -0
  177. package/dist/cjs/tool/tools/web-utils.js +131 -0
  178. package/dist/cjs/tool/tools/web-utils.js.map +1 -0
  179. package/dist/cjs/tool/tools/web.d.ts +3 -0
  180. package/dist/cjs/tool/tools/web.d.ts.map +1 -0
  181. package/dist/cjs/tool/tools/web.js +358 -0
  182. package/dist/cjs/tool/tools/web.js.map +1 -0
  183. package/dist/cjs/types.d.ts +523 -0
  184. package/dist/cjs/types.d.ts.map +1 -0
  185. package/dist/cjs/types.js +6 -0
  186. package/dist/cjs/types.js.map +1 -0
  187. package/dist/cjs/utils/data-dir.d.ts +8 -0
  188. package/dist/cjs/utils/data-dir.d.ts.map +1 -0
  189. package/dist/cjs/utils/data-dir.js +92 -0
  190. package/dist/cjs/utils/data-dir.js.map +1 -0
  191. package/dist/esm/agent/agent-server.d.ts +6 -0
  192. package/dist/esm/agent/agent-server.d.ts.map +1 -0
  193. package/dist/esm/agent/agent-server.js +409 -0
  194. package/dist/esm/agent/agent-server.js.map +1 -0
  195. package/dist/esm/connectors/index.d.ts +13 -0
  196. package/dist/esm/connectors/index.d.ts.map +1 -0
  197. package/dist/esm/connectors/index.js +30 -0
  198. package/dist/esm/connectors/index.js.map +1 -0
  199. package/dist/esm/index.d.ts +56 -0
  200. package/dist/esm/index.d.ts.map +1 -0
  201. package/dist/esm/index.js +57 -0
  202. package/dist/esm/index.js.map +1 -0
  203. package/dist/esm/kb/doc-parser.d.ts +24 -0
  204. package/dist/esm/kb/doc-parser.d.ts.map +1 -0
  205. package/dist/esm/kb/doc-parser.js +100 -0
  206. package/dist/esm/kb/doc-parser.js.map +1 -0
  207. package/dist/esm/kb/embedding-vector-index.d.ts +30 -0
  208. package/dist/esm/kb/embedding-vector-index.d.ts.map +1 -0
  209. package/dist/esm/kb/embedding-vector-index.js +71 -0
  210. package/dist/esm/kb/embedding-vector-index.js.map +1 -0
  211. package/dist/esm/kb/file-knowledge-base.d.ts +25 -0
  212. package/dist/esm/kb/file-knowledge-base.d.ts.map +1 -0
  213. package/dist/esm/kb/file-knowledge-base.js +163 -0
  214. package/dist/esm/kb/file-knowledge-base.js.map +1 -0
  215. package/dist/esm/mcp/api-bridge-client.d.ts +36 -0
  216. package/dist/esm/mcp/api-bridge-client.d.ts.map +1 -0
  217. package/dist/esm/mcp/api-bridge-client.js +139 -0
  218. package/dist/esm/mcp/api-bridge-client.js.map +1 -0
  219. package/dist/esm/mcp/api-bridge-types.d.ts +91 -0
  220. package/dist/esm/mcp/api-bridge-types.d.ts.map +1 -0
  221. package/dist/esm/mcp/api-bridge-types.js +7 -0
  222. package/dist/esm/mcp/api-bridge-types.js.map +1 -0
  223. package/dist/esm/mcp/body-template.d.ts +16 -0
  224. package/dist/esm/mcp/body-template.d.ts.map +1 -0
  225. package/dist/esm/mcp/body-template.js +59 -0
  226. package/dist/esm/mcp/body-template.js.map +1 -0
  227. package/dist/esm/mcp/openapi-importer.d.ts +24 -0
  228. package/dist/esm/mcp/openapi-importer.d.ts.map +1 -0
  229. package/dist/esm/mcp/openapi-importer.js +177 -0
  230. package/dist/esm/mcp/openapi-importer.js.map +1 -0
  231. package/dist/esm/mcp/template-builder.d.ts +53 -0
  232. package/dist/esm/mcp/template-builder.d.ts.map +1 -0
  233. package/dist/esm/mcp/template-builder.js +173 -0
  234. package/dist/esm/mcp/template-builder.js.map +1 -0
  235. package/dist/esm/model/automation.d.ts +34 -0
  236. package/dist/esm/model/automation.d.ts.map +1 -0
  237. package/dist/esm/model/automation.js +5 -0
  238. package/dist/esm/model/automation.js.map +1 -0
  239. package/dist/esm/package.json +3 -0
  240. package/dist/esm/prompt/prompt-builder.d.ts +14 -0
  241. package/dist/esm/prompt/prompt-builder.d.ts.map +1 -0
  242. package/dist/esm/prompt/prompt-builder.js +109 -0
  243. package/dist/esm/prompt/prompt-builder.js.map +1 -0
  244. package/dist/esm/sandbox/local-sandbox.d.ts +70 -0
  245. package/dist/esm/sandbox/local-sandbox.d.ts.map +1 -0
  246. package/dist/esm/sandbox/local-sandbox.js +403 -0
  247. package/dist/esm/sandbox/local-sandbox.js.map +1 -0
  248. package/dist/esm/sandbox/process-code-sandbox.d.ts +25 -0
  249. package/dist/esm/sandbox/process-code-sandbox.d.ts.map +1 -0
  250. package/dist/esm/sandbox/process-code-sandbox.js +76 -0
  251. package/dist/esm/sandbox/process-code-sandbox.js.map +1 -0
  252. package/dist/esm/sandbox/sandbox-manager.d.ts +47 -0
  253. package/dist/esm/sandbox/sandbox-manager.d.ts.map +1 -0
  254. package/dist/esm/sandbox/sandbox-manager.js +88 -0
  255. package/dist/esm/sandbox/sandbox-manager.js.map +1 -0
  256. package/dist/esm/service/agent-profile.service.d.ts +27 -0
  257. package/dist/esm/service/agent-profile.service.d.ts.map +1 -0
  258. package/dist/esm/service/agent-profile.service.js +130 -0
  259. package/dist/esm/service/agent-profile.service.js.map +1 -0
  260. package/dist/esm/service/artifact.service.d.ts +33 -0
  261. package/dist/esm/service/artifact.service.d.ts.map +1 -0
  262. package/dist/esm/service/artifact.service.js +175 -0
  263. package/dist/esm/service/artifact.service.js.map +1 -0
  264. package/dist/esm/service/audit.service.d.ts +30 -0
  265. package/dist/esm/service/audit.service.d.ts.map +1 -0
  266. package/dist/esm/service/audit.service.js +131 -0
  267. package/dist/esm/service/audit.service.js.map +1 -0
  268. package/dist/esm/service/chat.service.d.ts +90 -0
  269. package/dist/esm/service/chat.service.d.ts.map +1 -0
  270. package/dist/esm/service/chat.service.js +388 -0
  271. package/dist/esm/service/chat.service.js.map +1 -0
  272. package/dist/esm/service/engine-pool.d.ts +6 -0
  273. package/dist/esm/service/engine-pool.d.ts.map +1 -0
  274. package/dist/esm/service/engine-pool.js +18 -0
  275. package/dist/esm/service/engine-pool.js.map +1 -0
  276. package/dist/esm/service/memory.service.d.ts +45 -0
  277. package/dist/esm/service/memory.service.d.ts.map +1 -0
  278. package/dist/esm/service/memory.service.js +154 -0
  279. package/dist/esm/service/memory.service.js.map +1 -0
  280. package/dist/esm/service/observability.service.d.ts +3 -0
  281. package/dist/esm/service/observability.service.d.ts.map +1 -0
  282. package/dist/esm/service/observability.service.js +5 -0
  283. package/dist/esm/service/observability.service.js.map +1 -0
  284. package/dist/esm/service/permission.service.d.ts +5 -0
  285. package/dist/esm/service/permission.service.d.ts.map +1 -0
  286. package/dist/esm/service/permission.service.js +33 -0
  287. package/dist/esm/service/permission.service.js.map +1 -0
  288. package/dist/esm/service/run-registry.d.ts +7 -0
  289. package/dist/esm/service/run-registry.d.ts.map +1 -0
  290. package/dist/esm/service/run-registry.js +37 -0
  291. package/dist/esm/service/run-registry.js.map +1 -0
  292. package/dist/esm/service/safety-audit.middleware.d.ts +3 -0
  293. package/dist/esm/service/safety-audit.middleware.d.ts.map +1 -0
  294. package/dist/esm/service/safety-audit.middleware.js +112 -0
  295. package/dist/esm/service/safety-audit.middleware.js.map +1 -0
  296. package/dist/esm/service/security-policy.service.d.ts +18 -0
  297. package/dist/esm/service/security-policy.service.d.ts.map +1 -0
  298. package/dist/esm/service/security-policy.service.js +42 -0
  299. package/dist/esm/service/security-policy.service.js.map +1 -0
  300. package/dist/esm/service/settings.service.d.ts +18 -0
  301. package/dist/esm/service/settings.service.d.ts.map +1 -0
  302. package/dist/esm/service/settings.service.js +181 -0
  303. package/dist/esm/service/settings.service.js.map +1 -0
  304. package/dist/esm/service/tool-risk.service.d.ts +3 -0
  305. package/dist/esm/service/tool-risk.service.d.ts.map +1 -0
  306. package/dist/esm/service/tool-risk.service.js +17 -0
  307. package/dist/esm/service/tool-risk.service.js.map +1 -0
  308. package/dist/esm/service/workspace.service.d.ts +33 -0
  309. package/dist/esm/service/workspace.service.d.ts.map +1 -0
  310. package/dist/esm/service/workspace.service.js +97 -0
  311. package/dist/esm/service/workspace.service.js.map +1 -0
  312. package/dist/esm/sse/sse-handler.d.ts +15 -0
  313. package/dist/esm/sse/sse-handler.d.ts.map +1 -0
  314. package/dist/esm/sse/sse-handler.js +49 -0
  315. package/dist/esm/sse/sse-handler.js.map +1 -0
  316. package/dist/esm/store/app-stores.d.ts +42 -0
  317. package/dist/esm/store/app-stores.d.ts.map +1 -0
  318. package/dist/esm/store/app-stores.js +181 -0
  319. package/dist/esm/store/app-stores.js.map +1 -0
  320. package/dist/esm/store/index.d.ts +3 -0
  321. package/dist/esm/store/index.d.ts.map +1 -0
  322. package/dist/esm/store/index.js +5 -0
  323. package/dist/esm/store/index.js.map +1 -0
  324. package/dist/esm/store/mcp-server-store.d.ts +35 -0
  325. package/dist/esm/store/mcp-server-store.d.ts.map +1 -0
  326. package/dist/esm/store/mcp-server-store.js +251 -0
  327. package/dist/esm/store/mcp-server-store.js.map +1 -0
  328. package/dist/esm/tool/builtin.d.ts +18 -0
  329. package/dist/esm/tool/builtin.d.ts.map +1 -0
  330. package/dist/esm/tool/builtin.js +40 -0
  331. package/dist/esm/tool/builtin.js.map +1 -0
  332. package/dist/esm/tool/local-executors.d.ts +22 -0
  333. package/dist/esm/tool/local-executors.d.ts.map +1 -0
  334. package/dist/esm/tool/local-executors.js +88 -0
  335. package/dist/esm/tool/local-executors.js.map +1 -0
  336. package/dist/esm/tool/tools/automation.d.ts +3 -0
  337. package/dist/esm/tool/tools/automation.d.ts.map +1 -0
  338. package/dist/esm/tool/tools/automation.js +154 -0
  339. package/dist/esm/tool/tools/automation.js.map +1 -0
  340. package/dist/esm/tool/tools/communication.d.ts +3 -0
  341. package/dist/esm/tool/tools/communication.d.ts.map +1 -0
  342. package/dist/esm/tool/tools/communication.js +266 -0
  343. package/dist/esm/tool/tools/communication.js.map +1 -0
  344. package/dist/esm/tool/tools/discovery.d.ts +3 -0
  345. package/dist/esm/tool/tools/discovery.d.ts.map +1 -0
  346. package/dist/esm/tool/tools/discovery.js +245 -0
  347. package/dist/esm/tool/tools/discovery.js.map +1 -0
  348. package/dist/esm/tool/tools/filesystem.d.ts +3 -0
  349. package/dist/esm/tool/tools/filesystem.d.ts.map +1 -0
  350. package/dist/esm/tool/tools/filesystem.js +367 -0
  351. package/dist/esm/tool/tools/filesystem.js.map +1 -0
  352. package/dist/esm/tool/tools/git.d.ts +3 -0
  353. package/dist/esm/tool/tools/git.d.ts.map +1 -0
  354. package/dist/esm/tool/tools/git.js +188 -0
  355. package/dist/esm/tool/tools/git.js.map +1 -0
  356. package/dist/esm/tool/tools/memory.d.ts +3 -0
  357. package/dist/esm/tool/tools/memory.d.ts.map +1 -0
  358. package/dist/esm/tool/tools/memory.js +123 -0
  359. package/dist/esm/tool/tools/memory.js.map +1 -0
  360. package/dist/esm/tool/tools/sandbox.d.ts +3 -0
  361. package/dist/esm/tool/tools/sandbox.d.ts.map +1 -0
  362. package/dist/esm/tool/tools/sandbox.js +377 -0
  363. package/dist/esm/tool/tools/sandbox.js.map +1 -0
  364. package/dist/esm/tool/tools/web-utils.d.ts +16 -0
  365. package/dist/esm/tool/tools/web-utils.d.ts.map +1 -0
  366. package/dist/esm/tool/tools/web-utils.js +88 -0
  367. package/dist/esm/tool/tools/web-utils.js.map +1 -0
  368. package/dist/esm/tool/tools/web.d.ts +3 -0
  369. package/dist/esm/tool/tools/web.d.ts.map +1 -0
  370. package/dist/esm/tool/tools/web.js +319 -0
  371. package/dist/esm/tool/tools/web.js.map +1 -0
  372. package/dist/esm/types.d.ts +523 -0
  373. package/dist/esm/types.d.ts.map +1 -0
  374. package/dist/esm/types.js +5 -0
  375. package/dist/esm/types.js.map +1 -0
  376. package/dist/esm/utils/data-dir.d.ts +8 -0
  377. package/dist/esm/utils/data-dir.d.ts.map +1 -0
  378. package/dist/esm/utils/data-dir.js +48 -0
  379. package/dist/esm/utils/data-dir.js.map +1 -0
  380. package/package.json +56 -0
@@ -0,0 +1,319 @@
1
+ // ============================================================
2
+ // 网络工具:web_fetch, http_request, browser_navigate
3
+ // ============================================================
4
+ import { resolveProxyUrlForCategory } from '@cicctencent/agent-core';
5
+ import axios from 'axios';
6
+ import * as cheerio from 'cheerio';
7
+ import { SocksProxyAgent } from 'socks-proxy-agent';
8
+ import { getSettings } from "../../service/settings.service.js";
9
+ import { htmlToMarkdown, htmlToText, detectEncoding } from "./web-utils.js";
10
+ export function createWebTools() {
11
+ return [
12
+ // ---- web_fetch ----
13
+ {
14
+ definition: {
15
+ type: 'function',
16
+ function: {
17
+ name: 'web_fetch',
18
+ description: 'Fetch a web page and extract its content. ' +
19
+ 'Supports CSS selector extraction and multiple output formats (text, html, markdown).',
20
+ parameters: {
21
+ type: 'object',
22
+ properties: {
23
+ url: { type: 'string', description: 'The URL to fetch' },
24
+ selector: {
25
+ type: 'string',
26
+ description: 'Optional CSS selector to extract specific content (supports tag, .class, #id, comma-separated)',
27
+ },
28
+ format: {
29
+ type: 'string',
30
+ description: 'Output format: text (default), html, or markdown',
31
+ enum: ['text', 'html', 'markdown'],
32
+ },
33
+ max_length: {
34
+ type: 'number',
35
+ description: 'Maximum output length in characters, default 10000',
36
+ },
37
+ timeout: {
38
+ type: 'number',
39
+ description: 'Request timeout in ms, default 15000',
40
+ },
41
+ },
42
+ required: ['url'],
43
+ },
44
+ },
45
+ },
46
+ executor: async (args, ctx) => {
47
+ const url = args.url;
48
+ const selector = args.selector;
49
+ const format = args.format || 'text';
50
+ const maxLength = args.max_length || 10000;
51
+ const timeout = args.timeout || 15000;
52
+ // 解析网页抓取代理配置
53
+ const proxyConfig = getSettings().proxySettings?.fetch;
54
+ const proxyUrl = resolveProxyUrlForCategory(proxyConfig);
55
+ const axiosProxyOpts = {};
56
+ if (proxyUrl) {
57
+ if (proxyUrl.startsWith('socks')) {
58
+ const socksAgent = new SocksProxyAgent(proxyUrl);
59
+ axiosProxyOpts.httpsAgent = socksAgent;
60
+ axiosProxyOpts.httpAgent = socksAgent;
61
+ axiosProxyOpts.proxy = false; // 禁用 axios 内置代理,改用 agent
62
+ }
63
+ else {
64
+ // HTTP/HTTPS 代理:解析为 axios proxy 配置
65
+ try {
66
+ const parsed = new URL(proxyUrl);
67
+ axiosProxyOpts.proxy = {
68
+ protocol: parsed.protocol.replace(':', ''),
69
+ host: parsed.hostname,
70
+ port: Number(parsed.port) || 8080,
71
+ ...(parsed.username ? { auth: { username: decodeURIComponent(parsed.username), password: decodeURIComponent(parsed.password || '') } } : {}),
72
+ };
73
+ }
74
+ catch {
75
+ // URL 解析失败则不走代理
76
+ }
77
+ }
78
+ }
79
+ else if (proxyConfig?.mode === 'direct') {
80
+ axiosProxyOpts.proxy = false;
81
+ }
82
+ try {
83
+ const resp = await axios.get(url, {
84
+ timeout,
85
+ signal: ctx.abortSignal,
86
+ headers: {
87
+ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
88
+ Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
89
+ 'Accept-Language': 'en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7',
90
+ },
91
+ responseType: 'arraybuffer',
92
+ maxRedirects: 5,
93
+ validateStatus: (s) => s < 400,
94
+ ...axiosProxyOpts,
95
+ });
96
+ const buf = Buffer.isBuffer(resp.data) ? resp.data : Buffer.from(resp.data);
97
+ const contentType = resp.headers['content-type'];
98
+ const encoding = detectEncoding(contentType, buf);
99
+ let content;
100
+ try {
101
+ content = new TextDecoder(encoding).decode(buf);
102
+ }
103
+ catch {
104
+ // 回退到 utf-8
105
+ content = buf.toString('utf-8');
106
+ }
107
+ // CSS 选择器提取(基于 cheerio)
108
+ if (selector) {
109
+ const $ = cheerio.load(content);
110
+ const matched = $(selector);
111
+ if (matched.length === 0) {
112
+ return `No content matched selector "${selector}" from ${url}`;
113
+ }
114
+ content = matched.map((_, el) => $(el).html() || '').get().join('\n');
115
+ }
116
+ // 格式转换
117
+ switch (format) {
118
+ case 'html':
119
+ // 保留原始 HTML(已提取或完整)
120
+ break;
121
+ case 'markdown':
122
+ content = htmlToMarkdown(content);
123
+ break;
124
+ case 'text':
125
+ default:
126
+ content = htmlToText(content);
127
+ break;
128
+ }
129
+ // 截断
130
+ if (content.length > maxLength) {
131
+ content = content.slice(0, maxLength) + `\n\n... [truncated, total ${content.length} chars]`;
132
+ }
133
+ return content || `(empty response from ${url})`;
134
+ }
135
+ catch (err) {
136
+ if (axios.isCancel(err) || err?.name === 'AbortError' || err?.name === 'CanceledError') {
137
+ throw new Error('web_fetch cancelled by abort signal');
138
+ }
139
+ const status = err?.response?.status;
140
+ const msg = status
141
+ ? `HTTP ${status} ${err.response?.statusText || ''}`
142
+ : err?.message || 'Unknown error';
143
+ throw new Error(`Failed to fetch ${url}: ${msg}`);
144
+ }
145
+ },
146
+ category: 'builtin',
147
+ concurrent: true, // 纯网络请求
148
+ },
149
+ // ---- http_request ----
150
+ // 发起任意 HTTP/HTTPS 请求(GET/POST/PUT/DELETE/PATCH)
151
+ {
152
+ definition: {
153
+ type: 'function',
154
+ function: {
155
+ name: 'http_request',
156
+ description: 'Send an HTTP/HTTPS request to any API endpoint. Supports GET/POST/PUT/DELETE/PATCH methods, ' +
157
+ 'custom headers, JSON body, and configurable timeout. ' +
158
+ 'Use this for calling REST APIs, webhooks, or any HTTP-based service. ' +
159
+ 'For simple web page content extraction, prefer web_fetch instead.',
160
+ parameters: {
161
+ type: 'object',
162
+ properties: {
163
+ url: { type: 'string', description: 'The full URL to send the request to (e.g. https://api.example.com/v1/data)' },
164
+ method: {
165
+ type: 'string',
166
+ description: 'HTTP method',
167
+ enum: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],
168
+ },
169
+ headers: {
170
+ type: 'object',
171
+ description: 'Custom HTTP headers as key-value pairs (e.g. {"Authorization": "Bearer xxx", "Content-Type": "application/json"})',
172
+ properties: {},
173
+ },
174
+ body: { type: 'string', description: 'Request body (JSON string for JSON APIs, or raw text). Required for POST/PUT/PATCH.' },
175
+ timeout: { type: 'number', description: 'Request timeout in milliseconds (default: 30000)' },
176
+ },
177
+ required: ['url', 'method'],
178
+ },
179
+ },
180
+ },
181
+ executor: async (args) => {
182
+ const url = args.url;
183
+ const method = (args.method || 'GET').toUpperCase();
184
+ const headers = args.headers || {};
185
+ const body = args.body;
186
+ const timeout = args.timeout || 30000;
187
+ if (!url)
188
+ return 'ERROR: url is required';
189
+ try {
190
+ const controller = new AbortController();
191
+ const timer = setTimeout(() => controller.abort(), timeout);
192
+ const fetchOptions = {
193
+ method,
194
+ headers,
195
+ signal: controller.signal,
196
+ };
197
+ if (body && method !== 'GET') {
198
+ fetchOptions.body = body;
199
+ if (!headers['Content-Type'] && !headers['content-type']) {
200
+ fetchOptions.headers = { ...headers, 'Content-Type': 'application/json' };
201
+ }
202
+ }
203
+ const res = await fetch(url, fetchOptions);
204
+ clearTimeout(timer);
205
+ const responseHeaders = {};
206
+ res.headers.forEach((v, k) => { responseHeaders[k] = v; });
207
+ const responseText = await res.text();
208
+ let parsedBody = responseText;
209
+ try {
210
+ parsedBody = JSON.parse(responseText);
211
+ }
212
+ catch { /* keep as text */ }
213
+ return JSON.stringify({
214
+ status: res.status,
215
+ statusText: res.statusText,
216
+ headers: responseHeaders,
217
+ body: parsedBody,
218
+ }, null, 2);
219
+ }
220
+ catch (e) {
221
+ if (e.name === 'AbortError') {
222
+ return `ERROR: Request timed out after ${timeout}ms`;
223
+ }
224
+ return `ERROR: ${e.message || e}`;
225
+ }
226
+ },
227
+ category: 'builtin',
228
+ concurrent: true,
229
+ },
230
+ // ---- browser_navigate ----
231
+ // 浏览器自动化:导航 + 截图 + 提取内容
232
+ {
233
+ definition: {
234
+ type: 'function',
235
+ function: {
236
+ name: 'browser_navigate',
237
+ description: 'Navigate to a URL in a headless browser, take a screenshot, and extract page content. ' +
238
+ 'Use this for web scraping that requires JavaScript rendering, interacting with SPAs, ' +
239
+ 'or capturing visual screenshots of web pages. ' +
240
+ 'For simple HTML extraction without JS rendering, prefer web_fetch instead.',
241
+ parameters: {
242
+ type: 'object',
243
+ properties: {
244
+ url: { type: 'string', description: 'The URL to navigate to' },
245
+ selector: { type: 'string', description: 'CSS selector to extract specific element (optional, default: full page text)' },
246
+ screenshot: { type: 'boolean', description: 'Take a screenshot and save as artifact (default: true)' },
247
+ waitSelector: { type: 'string', description: 'CSS selector to wait for before extracting (optional, for SPAs)' },
248
+ timeout: { type: 'number', description: 'Navigation timeout in ms (default: 30000)' },
249
+ },
250
+ required: ['url'],
251
+ },
252
+ },
253
+ },
254
+ executor: async (args, ctx) => {
255
+ try {
256
+ const url = args.url;
257
+ const selector = args.selector;
258
+ const takeScreenshot = args.screenshot !== false;
259
+ const waitSelector = args.waitSelector;
260
+ const timeout = args.timeout || 30000;
261
+ // 懒加载 Playwright(避免未使用时引入开销)
262
+ let playwright;
263
+ try {
264
+ // @ts-ignore - playwright is an optional dependency
265
+ playwright = await import('playwright');
266
+ }
267
+ catch {
268
+ return `ERROR: Playwright is not installed. Install it with: pnpm add playwright && npx playwright install chromium\nAlternatively, use web_fetch for simple HTML extraction.`;
269
+ }
270
+ const browser = await playwright.chromium.launch({ headless: true });
271
+ const page = await browser.newPage();
272
+ await page.goto(url, { timeout, waitUntil: 'domcontentloaded' });
273
+ // 等待特定元素
274
+ if (waitSelector) {
275
+ await page.waitForSelector(waitSelector, { timeout }).catch(() => { });
276
+ }
277
+ // 提取内容
278
+ let content;
279
+ if (selector) {
280
+ content = await page.$eval(selector, (el) => el.textContent || '').catch(() => '');
281
+ }
282
+ else {
283
+ content = await page.evaluate(() => document.body?.innerText || '');
284
+ }
285
+ // 截图
286
+ let screenshotPath = '';
287
+ if (takeScreenshot) {
288
+ const sandbox = ctx.custom?.sandbox;
289
+ if (sandbox) {
290
+ const filename = `screenshot_${Date.now()}.png`;
291
+ const fsExec = sandbox.getFileSystemExecutor();
292
+ screenshotPath = filename;
293
+ const buffer = await page.screenshot({ fullPage: true });
294
+ // 写入沙箱
295
+ await fsExec.writeFile(filename, buffer);
296
+ // 触发 Artifact
297
+ const emitArtifact = ctx.emitArtifact;
298
+ if (emitArtifact) {
299
+ emitArtifact({ artifactId: `screenshot_${Date.now()}`, filename, mimeType: 'image/png', size: buffer.length, url: `/api/work/files/${filename}`, description: `Screenshot of ${url}` });
300
+ }
301
+ }
302
+ }
303
+ await browser.close();
304
+ const parts = [`URL: ${url}`];
305
+ if (screenshotPath)
306
+ parts.push(`Screenshot: ${screenshotPath}`);
307
+ parts.push(`\nContent:\n${content.slice(0, 5000)}${content.length > 5000 ? '\n... [truncated]' : ''}`);
308
+ return parts.join('\n');
309
+ }
310
+ catch (e) {
311
+ return `ERROR: ${e.message || e}`;
312
+ }
313
+ },
314
+ category: 'builtin',
315
+ concurrent: true,
316
+ },
317
+ ];
318
+ }
319
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../../src/tool/tools/web.ts"],"names":[],"mappings":"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"}