@cicctencent/agent-server 0.2.40 → 0.2.42

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 (112) hide show
  1. package/README.md +17 -1
  2. package/dist/cjs/agent/agent-server.d.ts.map +1 -1
  3. package/dist/cjs/agent/agent-server.js +11 -86
  4. package/dist/cjs/agent/agent-server.js.map +1 -1
  5. package/dist/cjs/doc-generator/config-loader.d.ts +27 -0
  6. package/dist/cjs/doc-generator/config-loader.d.ts.map +1 -0
  7. package/dist/cjs/doc-generator/config-loader.js +200 -0
  8. package/dist/cjs/doc-generator/config-loader.js.map +1 -0
  9. package/dist/cjs/doc-generator/docx-renderer.d.ts +14 -0
  10. package/dist/cjs/doc-generator/docx-renderer.d.ts.map +1 -0
  11. package/dist/cjs/doc-generator/docx-renderer.js +354 -0
  12. package/dist/cjs/doc-generator/docx-renderer.js.map +1 -0
  13. package/dist/cjs/doc-generator/index.d.ts +23 -0
  14. package/dist/cjs/doc-generator/index.d.ts.map +1 -0
  15. package/dist/cjs/doc-generator/index.js +251 -0
  16. package/dist/cjs/doc-generator/index.js.map +1 -0
  17. package/dist/cjs/doc-generator/pdf-renderer.d.ts +14 -0
  18. package/dist/cjs/doc-generator/pdf-renderer.d.ts.map +1 -0
  19. package/dist/cjs/doc-generator/pdf-renderer.js +378 -0
  20. package/dist/cjs/doc-generator/pdf-renderer.js.map +1 -0
  21. package/dist/cjs/doc-generator/pptx-renderer.d.ts +14 -0
  22. package/dist/cjs/doc-generator/pptx-renderer.d.ts.map +1 -0
  23. package/dist/cjs/doc-generator/pptx-renderer.js +649 -0
  24. package/dist/cjs/doc-generator/pptx-renderer.js.map +1 -0
  25. package/dist/cjs/doc-generator/report-renderer.d.ts +88 -0
  26. package/dist/cjs/doc-generator/report-renderer.d.ts.map +1 -0
  27. package/dist/cjs/doc-generator/report-renderer.js +699 -0
  28. package/dist/cjs/doc-generator/report-renderer.js.map +1 -0
  29. package/dist/cjs/doc-generator/types.d.ts +193 -0
  30. package/dist/cjs/doc-generator/types.d.ts.map +1 -0
  31. package/dist/cjs/doc-generator/types.js +7 -0
  32. package/dist/cjs/doc-generator/types.js.map +1 -0
  33. package/dist/cjs/index.d.ts +4 -0
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +45 -36
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/prompt/prompt-builder.d.ts +1 -1
  38. package/dist/cjs/prompt/prompt-builder.d.ts.map +1 -1
  39. package/dist/cjs/prompt/prompt-builder.js +14 -1
  40. package/dist/cjs/prompt/prompt-builder.js.map +1 -1
  41. package/dist/cjs/prompt/shared-fragments.d.ts +3 -3
  42. package/dist/cjs/prompt/shared-fragments.d.ts.map +1 -1
  43. package/dist/cjs/prompt/shared-fragments.js +5 -3
  44. package/dist/cjs/prompt/shared-fragments.js.map +1 -1
  45. package/dist/cjs/tool/builtin.d.ts +10 -3
  46. package/dist/cjs/tool/builtin.d.ts.map +1 -1
  47. package/dist/cjs/tool/builtin.js +10 -3
  48. package/dist/cjs/tool/builtin.js.map +1 -1
  49. package/dist/cjs/tool/tools/docgen.d.ts +5 -0
  50. package/dist/cjs/tool/tools/docgen.d.ts.map +1 -0
  51. package/dist/cjs/tool/tools/docgen.js +388 -0
  52. package/dist/cjs/tool/tools/docgen.js.map +1 -0
  53. package/dist/cjs/tool/tools/sandbox.js +2 -2
  54. package/dist/cjs/tool/tools/sandbox.js.map +1 -1
  55. package/dist/cjs/tool/tools/web.js +2 -2
  56. package/dist/cjs/tool/tools/web.js.map +1 -1
  57. package/dist/esm/agent/agent-server.d.ts.map +1 -1
  58. package/dist/esm/agent/agent-server.js +11 -86
  59. package/dist/esm/agent/agent-server.js.map +1 -1
  60. package/dist/esm/doc-generator/config-loader.d.ts +27 -0
  61. package/dist/esm/doc-generator/config-loader.d.ts.map +1 -0
  62. package/dist/esm/doc-generator/config-loader.js +160 -0
  63. package/dist/esm/doc-generator/config-loader.js.map +1 -0
  64. package/dist/esm/doc-generator/docx-renderer.d.ts +14 -0
  65. package/dist/esm/doc-generator/docx-renderer.d.ts.map +1 -0
  66. package/dist/esm/doc-generator/docx-renderer.js +318 -0
  67. package/dist/esm/doc-generator/docx-renderer.js.map +1 -0
  68. package/dist/esm/doc-generator/index.d.ts +23 -0
  69. package/dist/esm/doc-generator/index.d.ts.map +1 -0
  70. package/dist/esm/doc-generator/index.js +212 -0
  71. package/dist/esm/doc-generator/index.js.map +1 -0
  72. package/dist/esm/doc-generator/pdf-renderer.d.ts +14 -0
  73. package/dist/esm/doc-generator/pdf-renderer.d.ts.map +1 -0
  74. package/dist/esm/doc-generator/pdf-renderer.js +339 -0
  75. package/dist/esm/doc-generator/pdf-renderer.js.map +1 -0
  76. package/dist/esm/doc-generator/pptx-renderer.d.ts +14 -0
  77. package/dist/esm/doc-generator/pptx-renderer.d.ts.map +1 -0
  78. package/dist/esm/doc-generator/pptx-renderer.js +643 -0
  79. package/dist/esm/doc-generator/pptx-renderer.js.map +1 -0
  80. package/dist/esm/doc-generator/report-renderer.d.ts +88 -0
  81. package/dist/esm/doc-generator/report-renderer.d.ts.map +1 -0
  82. package/dist/esm/doc-generator/report-renderer.js +663 -0
  83. package/dist/esm/doc-generator/report-renderer.js.map +1 -0
  84. package/dist/esm/doc-generator/types.d.ts +193 -0
  85. package/dist/esm/doc-generator/types.d.ts.map +1 -0
  86. package/dist/esm/doc-generator/types.js +6 -0
  87. package/dist/esm/doc-generator/types.js.map +1 -0
  88. package/dist/esm/index.d.ts +4 -0
  89. package/dist/esm/index.d.ts.map +1 -1
  90. package/dist/esm/index.js +3 -0
  91. package/dist/esm/index.js.map +1 -1
  92. package/dist/esm/prompt/prompt-builder.d.ts +1 -1
  93. package/dist/esm/prompt/prompt-builder.d.ts.map +1 -1
  94. package/dist/esm/prompt/prompt-builder.js +14 -1
  95. package/dist/esm/prompt/prompt-builder.js.map +1 -1
  96. package/dist/esm/prompt/shared-fragments.d.ts +3 -3
  97. package/dist/esm/prompt/shared-fragments.d.ts.map +1 -1
  98. package/dist/esm/prompt/shared-fragments.js +5 -3
  99. package/dist/esm/prompt/shared-fragments.js.map +1 -1
  100. package/dist/esm/tool/builtin.d.ts +10 -3
  101. package/dist/esm/tool/builtin.d.ts.map +1 -1
  102. package/dist/esm/tool/builtin.js +10 -3
  103. package/dist/esm/tool/builtin.js.map +1 -1
  104. package/dist/esm/tool/tools/docgen.d.ts +5 -0
  105. package/dist/esm/tool/tools/docgen.d.ts.map +1 -0
  106. package/dist/esm/tool/tools/docgen.js +352 -0
  107. package/dist/esm/tool/tools/docgen.js.map +1 -0
  108. package/dist/esm/tool/tools/sandbox.js +2 -2
  109. package/dist/esm/tool/tools/sandbox.js.map +1 -1
  110. package/dist/esm/tool/tools/web.js +2 -2
  111. package/dist/esm/tool/tools/web.js.map +1 -1
  112. package/package.json +7 -2
@@ -66,9 +66,11 @@ function buildDataPresentationPrompt(capabilities, options = {}) {
66
66
  return options.includeHtmlQualityRules ? prompt + exports.HTML_WIDGET_QUALITY_RULES : prompt;
67
67
  }
68
68
  exports.HTML_WIDGET_QUALITY_RULES = `\n\n**⛔ HTML 质量铁律(违反会导致报表崩溃):**\n- **绝对禁止** 将 HTML 标签转义为实体(如 \`<h3>\`),这会导致内容显示为原始文本\n- \`getElementById\` 的参数 **必须** 与 HTML 元素的 \`id\` 属性 **完全一致**(大小写、拼写)\n- 复杂报表 **优先使用 html_file** 而非内联 html 参数,避免参数截断和转义问题\n- **禁止自定义 CSS 变量**:不要在 \`:root\` 中定义 \`--bg-page\`、\`--text-primary\` 等自定义变量。系统自动注入 \`--color-*\` 变量(如 \`--color-bg-page\`、\`--color-text-primary\`),**必须使用这些注入变量**\n- **禁止 ECharts 硬编码颜色**:不要写 \`var COLORS = ['#00e5ff',...]\`,改用 \`getComputedStyle(document.documentElement).getPropertyValue('--color-accent-primary').trim()\``;
69
- exports.SPECIALIST_EFFICIENCY_RULES = `\n\n## ⚠️ 迭代效率强制规则(CRITICAL — MUST FOLLOW)\n\n1. **MCP 数据只查一次**:调用 MCP 工具获取数据后,直接使用对话历史中的结果进行分析和综合,绝对不要再次调用相同的 MCP 工具\n2. **工具调用硬限制**:每个独立的 MCP 工具(按工具名区分)最多调用 **2 次**。对于 search_articles/search_knowledge 等查询工具,如果第 1 次调用已返回充足数据(>20 条记录或结构化汇总),**禁止第 2 次调用**。绝对不要用相同参数重复调用同一工具\n3. **禁止冗余读取**:如果工具结果被 offload(显示 [offload:xxx] 标签),最多 read_offload/read_tool_result 读取 **一次**,然后立即综合摘要。绝对不要反复读取同一个 offload 节点\n4. **快速综合**:数据获取完毕后(通常 2-3 个不同类型的 MCP 调用),直接在下一轮迭代中输出结构化分析结果,不要花额外迭代重新整理数据\n5. **迭代预算**:你只有 15 个迭代,每个 LLM 轮次都算一次。数据获取阶段不应超过 **3 个迭代**,总 MCP 工具调用不超过 **6 次**\n6. **返回精简摘要**:返回结构化的关键指标、排行榜、分布统计,而非每条记录的原始数据`;
70
- exports.OUTPUT_CONCISION_RULES = `\n\n## 📝 输出简洁规则(MANDATORY)\n\n- **不要复述工具返回的原始数据**:工具结果已在活动面板展示,你只需总结要点\n- **不要逐步描述每个工具调用**:避免输出类似 "mcp_xxx → xxx..." 或 "mcp_xxx (xxxms): {...}" 的技术日志\n- **规划要简短**:1-2 句话概述计划即可,不要列出每个工具名和参数\n- **结果总结要精炼**:用 2-3 句话总结关键发现\n- **绝对禁止输出沙箱文件路径**:如 \`_artifacts/...\`、\`/Users/...\` 等路径对用户无意义,用户通过 artifact 卡片预览即可`;
71
- exports.SUB_AGENT_RESULT_SUMMARY_RULES = `\n\n## 📋 子 Agent 结果汇总规则(CRITICAL — MUST FOLLOW)\n\n \`delegate_task\` 完成后,你 **必须** 在回复中汇总子 Agent 的关键结果,而不是只说"已完成":\n\n1. **提取关键发现**:从子 Agent 返回的文本中提取核心结论、关键数据、推荐方案等\n2. **结构化呈现**:用 Markdown 格式(标题、列表、表格)将关键内容呈现在对话中,让用户无需展开工具调用详情即可看到结果\n3. **包含具体数据**:不要只说"分析完成",要包含具体的分析结果(如:推荐的股票、关键指标、评估结论等)\n4. **标注产物**:如果子 Agent 生成了 artifact(HTML报告/PPT等),只需简单提及产物名称(如"已生成分析报告.docx"),**绝对禁止输出文件路径**(如 \`_artifacts/...\`),用户通过 artifact 卡片预览即可\n\n**注意**:这条规则优先于"输出简洁规则"——子 Agent 的关键结果必须呈现在对话中,不能被省略`;
69
+ exports.SPECIALIST_EFFICIENCY_RULES = `\n\n## ⚠️ 迭代效率强制规则(CRITICAL — MUST FOLLOW)\n\n1. **数据只查一次**:调用工具获取数据后,直接使用对话历史中的结果进行分析和综合,绝对不要再次调用相同的工具\n2. **工具调用硬限制**:每个独立的工具(按工具名区分)最多调用 **2 次**。如果第 1 次调用已返回充足数据(>20 条记录或结构化汇总),**禁止第 2 次调用**。绝对不要用相同参数重复调用同一工具\n3. **禁止冗余读取**:如果工具结果被 offload(显示 [offload:xxx] 标签),最多 read_offload/read_tool_result 读取 **一次**,然后立即综合摘要。绝对不要反复读取同一个 offload 节点\n4. **快速综合**:数据获取完毕后(通常 2-3 个工具调用),直接在下一轮迭代中输出结构化分析结果,不要花额外迭代重新整理数据\n5. **迭代预算**:你只有 15 个迭代,每个 LLM 轮次都算一次。数据获取阶段不应超过 **3 个迭代**,总工具调用不超过 **6 次**\n6. **返回精简摘要**:返回结构化的关键指标、排行榜、分布统计,而非每条记录的原始数据\n7. **禁止反问用户**:你被委托执行任务,**绝对不能**在结果中反问用户"需要我做什么吗?"或"请确认您的需求"。任务描述就是你的全部指令,直接完成并返回结果。如果任务描述不清晰,基于你的专业知识做最佳判断并执行
70
+ 8. **失败不要反复重试**:如果某次工具调用返回错误(如 web_fetch 超时、网络错误),**不要对同一失败工具反复重试**——最多重试 1 次,若仍失败则直接基于已有信息继续分析,或简要说明该数据获取失败,绝不让失败的工具调用拖垮整个任务`;
71
+ exports.OUTPUT_CONCISION_RULES = `\n\n## 📝 输出简洁规则(MANDATORY)\n\n- **不要复述工具返回的原始数据**:工具结果已在活动面板展示,你只需总结要点\n- **不要逐步描述每个工具调用**:避免输出类似 "mcp_xxx xxx..." "mcp_xxx (xxxms): {...}" 的技术日志\n- **规划要简短**:1-2 句话概述计划即可,不要列出每个工具名和参数\n- **结果总结要精炼**:用 2-3 句话总结关键发现\n- **绝对禁止输出沙箱文件路径**:如 \`_artifacts/...\`、\`/Users/...\` 等路径对用户无意义,用户通过 artifact 卡片预览即可
72
+ - **绝对禁止输出 artifact 的 HTTP 下载 URL**:如 \`/api/work/artifacts/...\` 这类链接由前端自动渲染为预览/下载卡片,复述到回复里既冗余又不可点击,绝不要输出`;
73
+ exports.SUB_AGENT_RESULT_SUMMARY_RULES = `\n\n## 📋 子 Agent 结果汇总规则(CRITICAL — MUST FOLLOW)\n\n当 \`delegate_task\` 完成后,你 **必须** 在回复中汇总子 Agent 的关键结果,而不是只说"已完成":\n\n1. **提取关键发现**:从子 Agent 返回的文本中提取核心结论、关键数据、推荐方案等\n2. **结构化呈现**:用 Markdown 格式(标题、列表、表格)将关键内容呈现在对话中,让用户无需展开工具调用详情即可看到结果\n3. **包含具体数据**:不要只说"分析完成",要包含具体的分析结果(如:推荐的股票、关键指标、评估结论等)\n4. **标注产物**:如果子 Agent 生成了 artifact(HTML报告/PPT等),只需简单提及产物名称(如"已生成分析报告.docx"),**绝对禁止输出文件路径或 HTTP 下载 URL**(如 \`_artifacts/...\`、\`/api/work/artifacts/...\`),用户通过 artifact 卡片预览即可\n\n**注意**:这条规则优先于"输出简洁规则"——子 Agent 的关键结果必须呈现在对话中,不能被省略`;
72
74
  function buildSpecialistOutputBoundaryPrompt(capabilities, options = {}) {
73
75
  // 上层应用全权控制输出格式,底层不注入任何输出边界引导
74
76
  if (options.skipOutputBoundary)
@@ -1 +1 @@
1
- {"version":3,"file":"shared-fragments.js","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-fragments.js","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,15 @@ import type { RegisteredTool } from '@cicctencent/agent-core';
11
11
  * browser_navigate, read_tool_doc, load_skill, read_tool_result, read_offload,
12
12
  * append_file, delete_memory
13
13
  *
14
- * 注意:docgen 工具(create_presentation 等)依赖 doc-generator 模块,
15
- * 需要应用层自行导入并注册。此处不包含 docgen 工具。
14
+ * 注意:docgen 工具(create_presentation 等)由 doc-generator 模块提供,
15
+ * 已在此处一并注册。
16
+ *
17
+ * @param opts.templatesDir 应用层文档模板根目录(可选)。
18
+ * 若不传,docgen 会回退到消费方数据目录(getProjectDataPath('doc-templates')),
19
+ * 再缺失则使用代码内置默认主题,保证文档始终可生成。
20
+ * 也可在运行时通过 ToolContext.custom.templatesDir 按请求覆盖。
16
21
  */
17
- export declare function createBuiltinTools(): RegisteredTool[];
22
+ export declare function createBuiltinTools(opts?: {
23
+ templatesDir?: string;
24
+ }): RegisteredTool[];
18
25
  //# sourceMappingURL=builtin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../../src/tool/builtin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAU9D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAWrD"}
1
+ {"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../../src/tool/builtin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAW9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,EAAE,CAYrF"}
@@ -13,6 +13,7 @@ const sandbox_ts_1 = require("./tools/sandbox.js");
13
13
  const communication_ts_1 = require("./tools/communication.js");
14
14
  const automation_ts_1 = require("./tools/automation.js");
15
15
  const git_ts_1 = require("./tools/git.js");
16
+ const docgen_ts_1 = require("./tools/docgen.js");
16
17
  /**
17
18
  * 创建应用层内置工具
18
19
  *
@@ -25,10 +26,15 @@ const git_ts_1 = require("./tools/git.js");
25
26
  * browser_navigate, read_tool_doc, load_skill, read_tool_result, read_offload,
26
27
  * append_file, delete_memory
27
28
  *
28
- * 注意:docgen 工具(create_presentation 等)依赖 doc-generator 模块,
29
- * 需要应用层自行导入并注册。此处不包含 docgen 工具。
29
+ * 注意:docgen 工具(create_presentation 等)由 doc-generator 模块提供,
30
+ * 已在此处一并注册。
31
+ *
32
+ * @param opts.templatesDir 应用层文档模板根目录(可选)。
33
+ * 若不传,docgen 会回退到消费方数据目录(getProjectDataPath('doc-templates')),
34
+ * 再缺失则使用代码内置默认主题,保证文档始终可生成。
35
+ * 也可在运行时通过 ToolContext.custom.templatesDir 按请求覆盖。
30
36
  */
31
- function createBuiltinTools() {
37
+ function createBuiltinTools(opts) {
32
38
  return [
33
39
  ...(0, filesystem_ts_1.createFilesystemTools)(),
34
40
  ...(0, discovery_ts_1.createDiscoveryTools)(),
@@ -38,6 +44,7 @@ function createBuiltinTools() {
38
44
  ...(0, communication_ts_1.createCommunicationTools)(),
39
45
  ...(0, automation_ts_1.createAutomationTools)(),
40
46
  ...(0, git_ts_1.createGitTools)(),
47
+ ...(0, docgen_ts_1.createDocgenTools)(opts),
41
48
  ];
42
49
  }
43
50
  //# sourceMappingURL=builtin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/tool/builtin.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+BAA+B;AAC/B,qBAAqB;AACrB,+DAA+D;;AA2B/D,gDAWC;AAnCD,yDAA8D;AAC9D,uDAA4D;AAC5D,2CAAgD;AAChD,iDAAsD;AACtD,mDAAwD;AACxD,+DAAoE;AACpE,yDAA8D;AAC9D,2CAAgD;AAEhD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,kBAAkB;IAChC,OAAO;QACL,GAAG,IAAA,qCAAqB,GAAE;QAC1B,GAAG,IAAA,mCAAoB,GAAE;QACzB,GAAG,IAAA,uBAAc,GAAE;QACnB,GAAG,IAAA,6BAAiB,GAAE;QACtB,GAAG,IAAA,+BAAkB,GAAE;QACvB,GAAG,IAAA,2CAAwB,GAAE;QAC7B,GAAG,IAAA,qCAAqB,GAAE;QAC1B,GAAG,IAAA,uBAAc,GAAE;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/tool/builtin.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+BAA+B;AAC/B,qBAAqB;AACrB,+DAA+D;;AAiC/D,gDAYC;AA1CD,yDAA8D;AAC9D,uDAA4D;AAC5D,2CAAgD;AAChD,iDAAsD;AACtD,mDAAwD;AACxD,+DAAoE;AACpE,yDAA8D;AAC9D,2CAAgD;AAChD,iDAAsD;AAEtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,kBAAkB,CAAC,IAAgC;IACjE,OAAO;QACL,GAAG,IAAA,qCAAqB,GAAE;QAC1B,GAAG,IAAA,mCAAoB,GAAE;QACzB,GAAG,IAAA,uBAAc,GAAE;QACnB,GAAG,IAAA,6BAAiB,GAAE;QACtB,GAAG,IAAA,+BAAkB,GAAE;QACvB,GAAG,IAAA,2CAAwB,GAAE;QAC7B,GAAG,IAAA,qCAAqB,GAAE;QAC1B,GAAG,IAAA,uBAAc,GAAE;QACnB,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { RegisteredTool } from '@cicctencent/agent-core';
2
+ export declare function createDocgenTools(opts?: {
3
+ templatesDir?: string;
4
+ }): RegisteredTool[];
5
+ //# sourceMappingURL=docgen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docgen.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/docgen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,EAAE,CAgWpF"}
@@ -0,0 +1,388 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // 文档生成工具:create_presentation, create_document, create_pdf, create_report
4
+ // ============================================================
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.createDocgenTools = createDocgenTools;
40
+ const config_loader_ts_1 = require("../../doc-generator/config-loader.js");
41
+ function createDocgenTools(opts) {
42
+ return [
43
+ // ---- create_presentation ----
44
+ {
45
+ definition: {
46
+ type: 'function',
47
+ function: {
48
+ name: 'create_presentation',
49
+ description: 'Create a PPTX presentation from structured slide data. ' +
50
+ 'Provide slides with type (cover/toc/section/content/two_column/chart/table/image_text/stats/closing) and content. ' +
51
+ 'Themes and layouts are automatically applied based on the selected theme. ' +
52
+ 'PREFERRED over writing raw pptxgenjs scripts for standard presentations. ' +
53
+ 'For large presentations (6+ slides), write a JSON data file incrementally with write_file + append_file using chunks under 3000 chars, then call this tool with `json_file`. ' +
54
+ 'IMPORTANT: This tool automatically saves the output as a downloadable artifact — do NOT call save_artifact after create_presentation.',
55
+ parameters: {
56
+ type: 'object',
57
+ properties: {
58
+ title: { type: 'string', description: 'Presentation title' },
59
+ theme: { type: 'string', description: 'Theme name', enum: (0, config_loader_ts_1.listThemes)('pptx', opts?.templatesDir) },
60
+ slides: {
61
+ type: 'array',
62
+ description: 'Array of slide objects. Each slide has a type and content fields.',
63
+ items: {
64
+ type: 'object',
65
+ properties: {
66
+ type: { type: 'string', enum: ['cover', 'toc', 'section', 'content', 'two_column', 'chart', 'table', 'image_text', 'stats', 'closing', 'blank'] },
67
+ title: { type: 'string' },
68
+ subtitle: { type: 'string' },
69
+ items: { type: 'array', items: { type: 'string' } },
70
+ bullets: { type: 'array', items: { type: 'string' } },
71
+ text: { type: 'string' },
72
+ chart: { type: 'object', description: '{type, labels, datasets: [{label, data, color?}]}' },
73
+ table: { type: 'object', description: '{headers: string[], rows: (string|number)[][]}' },
74
+ stats: { type: 'array', items: { type: 'object' }, description: '[{value, label, color?}]' },
75
+ image_url: { type: 'string' },
76
+ left: { type: 'object', description: '{title?, bullets?, text?, icon?: "check"|"cross"|"bullet"}' },
77
+ right: { type: 'object', description: '{title?, bullets?, text?, icon?: "check"|"cross"|"bullet"}' },
78
+ background: { type: 'string' },
79
+ },
80
+ required: ['type'],
81
+ },
82
+ },
83
+ filename: { type: 'string', description: 'Output filename (auto-generated if omitted)' },
84
+ json_file: { type: 'string', description: 'Path to a JSON file in sandbox containing slides data (build with _json_builder helper, run_script, then pass path here)' },
85
+ },
86
+ required: ['title'],
87
+ },
88
+ },
89
+ },
90
+ executor: async (args, ctx) => {
91
+ const title = args.title;
92
+ const slides = args.slides;
93
+ const jsonFile = args.json_file;
94
+ if (!title || (!slides?.length && !jsonFile)) {
95
+ return 'ERROR: `title` and either `slides` (non-empty array) or `json_file` are required.';
96
+ }
97
+ const templatesDir = ctx.custom?.templatesDir ?? opts?.templatesDir;
98
+ try {
99
+ const { generateAndSave } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
100
+ return await generateAndSave('pptx', {
101
+ title,
102
+ theme: args.theme,
103
+ slides: slides || [],
104
+ filename: args.filename,
105
+ }, ctx, jsonFile, templatesDir);
106
+ }
107
+ catch (err) {
108
+ return `Error creating presentation: ${err?.message || err}`;
109
+ }
110
+ },
111
+ category: 'builtin',
112
+ concurrent: false,
113
+ },
114
+ // ---- create_document ----
115
+ {
116
+ definition: {
117
+ type: 'function',
118
+ function: {
119
+ name: 'create_document',
120
+ description: 'Create a DOCX Word document from structured content blocks. ' +
121
+ 'Supports block types: heading, paragraph, bullets, numbers, table, image, page_break, toc, spacer. ' +
122
+ 'Themes and formatting are automatically applied. ' +
123
+ 'PREFERRED over writing raw docx-js scripts for standard documents. ' +
124
+ 'For large documents (many blocks), write a JSON data file incrementally with write_file + append_file using chunks under 3000 chars, then call this tool with `json_file`. ' +
125
+ 'IMPORTANT: This tool automatically saves the output as a downloadable artifact — do NOT call save_artifact after create_document.',
126
+ parameters: {
127
+ type: 'object',
128
+ properties: {
129
+ title: { type: 'string', description: 'Document title' },
130
+ theme: { type: 'string', description: 'Theme name', enum: (0, config_loader_ts_1.listThemes)('docx', opts?.templatesDir) },
131
+ blocks: {
132
+ type: 'array',
133
+ description: 'Array of content blocks.',
134
+ items: {
135
+ type: 'object',
136
+ properties: {
137
+ type: { type: 'string', enum: ['heading', 'paragraph', 'bullets', 'numbers', 'table', 'image', 'page_break', 'toc', 'spacer'] },
138
+ level: { type: 'number', description: 'Heading level (1-4)' },
139
+ text: { type: 'string' },
140
+ runs: { type: 'array', items: { type: 'object' }, description: '[{text, bold?, italic?, color?, link?}]' },
141
+ items: { type: 'array', items: { type: 'string' } },
142
+ table: { type: 'object', description: '{headers: string[], rows: (string|number)[][]}' },
143
+ image_url: { type: 'string' },
144
+ image_width: { type: 'number' },
145
+ image_height: { type: 'number' },
146
+ height: { type: 'number' },
147
+ },
148
+ required: ['type'],
149
+ },
150
+ },
151
+ options: {
152
+ type: 'object',
153
+ description: 'Document options: pageSize (A4/letter), margins, includeToc, headerText, footerText, showPageNumbers',
154
+ },
155
+ filename: { type: 'string', description: 'Output filename (auto-generated if omitted)' },
156
+ json_file: { type: 'string', description: 'Path to a JSON file in sandbox containing document data (build with _json_builder helper, run_script, then pass path here)' },
157
+ },
158
+ required: ['title'],
159
+ },
160
+ },
161
+ },
162
+ executor: async (args, ctx) => {
163
+ const title = args.title;
164
+ const blocks = args.blocks;
165
+ const jsonFile = args.json_file;
166
+ if (!title || (!blocks?.length && !jsonFile)) {
167
+ return 'ERROR: `title` and either `blocks` (non-empty array) or `json_file` are required.';
168
+ }
169
+ const templatesDir = ctx.custom?.templatesDir ?? opts?.templatesDir;
170
+ try {
171
+ const { generateAndSave } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
172
+ return await generateAndSave('docx', {
173
+ title,
174
+ theme: args.theme,
175
+ blocks: blocks || [],
176
+ options: args.options,
177
+ filename: args.filename,
178
+ }, ctx, jsonFile, templatesDir);
179
+ }
180
+ catch (err) {
181
+ return `Error creating document: ${err?.message || err}`;
182
+ }
183
+ },
184
+ category: 'builtin',
185
+ concurrent: false,
186
+ },
187
+ // ---- create_pdf ----
188
+ {
189
+ definition: {
190
+ type: 'function',
191
+ function: {
192
+ name: 'create_pdf',
193
+ description: 'Create a PDF document from structured content blocks. ' +
194
+ 'Supports block types: heading, paragraph, bullets, numbers, table, image, page_break, toc, spacer. ' +
195
+ 'Themes and formatting are automatically applied. ' +
196
+ 'PREFERRED over writing raw reportlab/pdfkit scripts for standard documents. ' +
197
+ 'For large documents (many blocks), write a JSON data file incrementally with write_file + append_file using chunks under 3000 chars, then call this tool with `json_file`. ' +
198
+ 'IMPORTANT: This tool automatically saves the output as a downloadable artifact — do NOT call save_artifact after create_pdf.',
199
+ parameters: {
200
+ type: 'object',
201
+ properties: {
202
+ title: { type: 'string', description: 'Document title' },
203
+ theme: { type: 'string', description: 'Theme name', enum: (0, config_loader_ts_1.listThemes)('pdf', opts?.templatesDir) },
204
+ blocks: {
205
+ type: 'array',
206
+ description: 'Array of content blocks.',
207
+ items: {
208
+ type: 'object',
209
+ properties: {
210
+ type: { type: 'string', enum: ['heading', 'paragraph', 'bullets', 'numbers', 'table', 'image', 'page_break', 'toc', 'spacer'] },
211
+ level: { type: 'number', description: 'Heading level (1-4)' },
212
+ text: { type: 'string' },
213
+ runs: { type: 'array', items: { type: 'object' }, description: '[{text, bold?, italic?, color?, link?}]' },
214
+ items: { type: 'array', items: { type: 'string' } },
215
+ table: { type: 'object', description: '{headers: string[], rows: (string|number)[][]}' },
216
+ image_url: { type: 'string' },
217
+ image_width: { type: 'number' },
218
+ image_height: { type: 'number' },
219
+ height: { type: 'number' },
220
+ },
221
+ required: ['type'],
222
+ },
223
+ },
224
+ options: {
225
+ type: 'object',
226
+ description: 'Document options: pageSize (A4/letter), margins, headerText, footerText, showPageNumbers',
227
+ },
228
+ filename: { type: 'string', description: 'Output filename (auto-generated if omitted)' },
229
+ json_file: { type: 'string', description: 'Path to a JSON file in sandbox containing document data (build with _json_builder helper, run_script, then pass path here)' },
230
+ },
231
+ required: ['title'],
232
+ },
233
+ },
234
+ },
235
+ executor: async (args, ctx) => {
236
+ const title = args.title;
237
+ const blocks = args.blocks;
238
+ const jsonFile = args.json_file;
239
+ if (!title || (!blocks?.length && !jsonFile)) {
240
+ return 'ERROR: `title` and either `blocks` (non-empty array) or `json_file` are required.';
241
+ }
242
+ const templatesDir = ctx.custom?.templatesDir ?? opts?.templatesDir;
243
+ try {
244
+ const { generateAndSave } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
245
+ return await generateAndSave('pdf', {
246
+ title,
247
+ theme: args.theme,
248
+ blocks: blocks || [],
249
+ options: args.options,
250
+ filename: args.filename,
251
+ }, ctx, jsonFile, templatesDir);
252
+ }
253
+ catch (err) {
254
+ return `Error creating PDF: ${err?.message || err}`;
255
+ }
256
+ },
257
+ category: 'builtin',
258
+ concurrent: false,
259
+ },
260
+ // ---- create_report ----
261
+ {
262
+ definition: {
263
+ type: 'function',
264
+ function: {
265
+ name: 'create_report',
266
+ description: 'Generate an interactive HTML report with ECharts charts, metric cards, data tables, and action buttons. ' +
267
+ 'PREFERRED over writing raw HTML for data reports, dashboards, and analysis summaries. ' +
268
+ 'Accepts structured JSON data and generates a themed, responsive HTML report automatically. ' +
269
+ 'Supports chart types: bar, bar-horizontal, line, pie, doughnut, radar, gauge. ' +
270
+ 'Block types: chart, table, tags, text, alerts, kv-list. ' +
271
+ 'Automatically saves as downloadable artifact with preview card in the conversation. ' +
272
+ 'IMPORTANT: This tool saves the output automatically — do NOT call save_artifact or show_widget after create_report. ' +
273
+ 'CRITICAL: You MUST provide at least one of `metrics` or `sections` with actual content data. ' +
274
+ 'Calling create_report with only title (empty metrics/sections) will result in an empty report. ' +
275
+ 'For large reports, write a JSON file with write_file first, then pass `json_file` parameter.',
276
+ parameters: {
277
+ type: 'object',
278
+ properties: {
279
+ title: { type: 'string', description: 'Report title (required)' },
280
+ subtitle: { type: 'string', description: 'Subtitle or description' },
281
+ theme: { type: 'string', description: 'Theme: "dark" (default) or "light"', enum: ['dark', 'light'] },
282
+ date: { type: 'string', description: 'Report date string (e.g. "2026-06-15")' },
283
+ lang: { type: 'string', description: 'Language code (default "zh-CN")' },
284
+ metrics: {
285
+ type: 'array',
286
+ description: 'KPI indicator cards displayed at the top (REQUIRED if no sections)',
287
+ items: {
288
+ type: 'object',
289
+ properties: {
290
+ icon: { type: 'string', description: 'Emoji icon (e.g. "📄", "💰")' },
291
+ label: { type: 'string' },
292
+ value: { type: 'string' },
293
+ sub: { type: 'string', description: 'Secondary description text' },
294
+ },
295
+ required: ['label', 'value'],
296
+ },
297
+ },
298
+ sections: {
299
+ type: 'array',
300
+ description: 'Report body sections with charts/tables/text (REQUIRED if no metrics)',
301
+ items: {
302
+ type: 'object',
303
+ properties: {
304
+ layout: { type: 'string', enum: ['grid-2', 'full'], description: '"grid-2" for side-by-side, "full" for full-width' },
305
+ blocks: {
306
+ type: 'array',
307
+ items: {
308
+ type: 'object',
309
+ properties: {
310
+ type: { type: 'string', enum: ['chart', 'table', 'tags', 'text', 'alerts', 'kv-list'] },
311
+ id: { type: 'string', description: 'Unique ID for chart blocks' },
312
+ title: { type: 'string' },
313
+ chart: {
314
+ type: 'object',
315
+ description: '{type: "bar"|"bar-horizontal"|"line"|"pie"|"doughnut"|"radar"|"gauge", data: [{name, value}], yName?, rotate?, datasets?, indicators?, max?, height?}',
316
+ },
317
+ table: { type: 'object', description: '{headers: string[], rows: (string|number)[][], ranked?: boolean}' },
318
+ groups: { type: 'array', description: 'Tag groups: [{label?, items: string[], style?: "accent"|"accent2"|"purple"|"warning"|"success"|"info"}]', items: { type: 'object' } },
319
+ content: { type: 'string', description: 'Text content for text blocks (supports Markdown: headings ##, bold **, lists -, tables |col|)' },
320
+ items: { type: 'array', items: { type: 'string' }, description: 'Alert items' },
321
+ kvItems: { type: 'array', description: 'Key-value items: [{label, value, highlight?}]', items: { type: 'object' } },
322
+ },
323
+ required: ['type'],
324
+ },
325
+ },
326
+ },
327
+ required: ['blocks'],
328
+ },
329
+ },
330
+ actions: {
331
+ type: 'array',
332
+ description: 'Action buttons that trigger follow-up chat messages',
333
+ items: {
334
+ type: 'object',
335
+ properties: {
336
+ label: { type: 'string' },
337
+ prompt: { type: 'string', description: 'Text sent to chat when clicked' },
338
+ primary: { type: 'boolean' },
339
+ },
340
+ required: ['label'],
341
+ },
342
+ },
343
+ footer: { type: 'string', description: 'Footer text' },
344
+ filename: { type: 'string', description: 'Output filename (auto-generated if omitted)' },
345
+ json_file: { type: 'string', description: 'Path to JSON data file in sandbox (for large reports, use write_file first)' },
346
+ },
347
+ required: ['title'],
348
+ },
349
+ },
350
+ },
351
+ executor: async (args, ctx) => {
352
+ const title = args.title;
353
+ const jsonFile = args.json_file;
354
+ const metrics = args.metrics;
355
+ const sections = args.sections;
356
+ if (!title && !jsonFile) {
357
+ return 'ERROR: `title` (or `json_file` with title inside) is required.';
358
+ }
359
+ // 校验:必须有 metrics 或 sections 才能生成有内容的报告
360
+ if (!jsonFile && (!metrics?.length && !sections?.length)) {
361
+ return 'ERROR: create_report requires at least one of `metrics` (non-empty array) or `sections` (non-empty array). ' +
362
+ 'Empty reports are not useful. If you want to save markdown content, use write_file + save_artifact instead.';
363
+ }
364
+ try {
365
+ const { generateReportAndDisplay } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
366
+ return await generateReportAndDisplay({
367
+ title,
368
+ subtitle: args.subtitle,
369
+ theme: args.theme || 'dark',
370
+ date: args.date,
371
+ lang: args.lang,
372
+ metrics,
373
+ sections,
374
+ actions: args.actions,
375
+ footer: args.footer,
376
+ filename: args.filename,
377
+ }, ctx, jsonFile);
378
+ }
379
+ catch (err) {
380
+ return `Error creating report: ${err?.message || err}`;
381
+ }
382
+ },
383
+ category: 'builtin',
384
+ concurrent: false,
385
+ },
386
+ ];
387
+ }
388
+ //# sourceMappingURL=docgen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docgen.js","sourceRoot":"","sources":["../../../../src/tool/tools/docgen.ts"],"names":[],"mappings":"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"}
@@ -397,9 +397,9 @@ function createSandboxTools() {
397
397
  });
398
398
  }
399
399
  if (result.dedup) {
400
- return `Artifact already saved (dedup): ${result.filename} (${result.size} bytes). URL: ${result.url}`;
400
+ return `Artifact already saved (dedup): ${result.filename} (${result.size} bytes). It has been added to the artifact panel for preview and download.`;
401
401
  }
402
- return `Artifact saved: ${result.filename} (${result.size} bytes, ${result.mimeType}). URL: ${result.url}`;
402
+ return `Artifact saved: ${result.filename} (${result.size} bytes, ${result.mimeType}). It has been added to the artifact panel for preview and download.`;
403
403
  }
404
404
  catch (err) {
405
405
  return `Error: Failed to save artifact: ${err?.message || err}`;
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../../src/tool/tools/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../../src/tool/tools/sandbox.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ function createWebTools() {
75
75
  },
76
76
  timeout: {
77
77
  type: 'number',
78
- description: 'Request timeout in ms, default 15000',
78
+ description: 'Request timeout in ms, default 8000',
79
79
  },
80
80
  },
81
81
  required: ['url'],
@@ -87,7 +87,7 @@ function createWebTools() {
87
87
  const selector = args.selector;
88
88
  const format = args.format || 'text';
89
89
  const maxLength = args.max_length || 10000;
90
- const timeout = args.timeout || 15000;
90
+ const timeout = args.timeout || 8000;
91
91
  // 解析网页抓取代理配置
92
92
  const proxyConfig = (0, settings_service_ts_1.getSettings)().proxySettings?.fetch;
93
93
  const proxyUrl = (0, agent_core_1.resolveProxyUrlForCategory)(proxyConfig);