import type { ToolRegistry } from '@cicctencent/agent-core'; export interface AgentToolCapabilities { hasOutputTools: boolean; hasCreateDocument: boolean; hasShowWidget: boolean; hasWriteFile: boolean; hasSaveArtifact: boolean; mcpToolNames: string[]; } export interface DataPresentationPromptOptions { jsonFileExample?: string; includeHtmlQualityRules?: boolean; /** * 跳过 create_document / show_widget 优先引导。 * * 当上层应用有自己的输出格式(如 bi-json、chart-json 等)时设为 true, * 底层不再注入 "首选方案:create_document" 等引导,由应用层自行控制输出格式。 */ skipOutputPriority?: boolean; } export interface SpecialistBoundaryPromptOptions { includeDocumentFormatRules?: boolean; /** * 自定义格式选择规则,替代默认的 HTML 优先规则。 * * 当上层应用需要自定义输出格式选择逻辑时传入此字符串, * 底层将使用它替代默认的 "默认使用 create_document(HTML)" 规则。 * 设为空字符串 '' 可完全跳过格式选择规则。 */ customFormatRules?: string; /** * 完全跳过输出边界规则注入。 * * 当上层应用全权控制输出格式引导时设为 true, * 底层不注入任何输出边界相关 prompt(包括角色定位、格式选择规则等)。 * 这避免了底层 prompt 中 "你是文档创作角色" 等引导覆盖上层应用的格式控制。 */ skipOutputBoundary?: boolean; } /** 输出工具名称列表(默认值,应用层可通过参数覆盖) */ export declare const DEFAULT_OUTPUT_TOOL_NAMES: string[]; /** 脚本执行工具名称列表(默认值) */ export declare const DEFAULT_SCRIPT_TOOL_NAMES: string[]; /** getAgentToolCapabilities 配置选项 */ export interface AgentToolCapabilitiesOptions { /** 自定义输出工具名称列表 */ outputToolNames?: string[]; } export declare function getAgentToolCapabilities(tools: ToolRegistry, options?: AgentToolCapabilitiesOptions): AgentToolCapabilities; export declare function buildMCPToolDescList(registry: ToolRegistry, categoryAware?: boolean): string; /** * MCP 工具优先级强制规则。 * * **注意**:此函数不重新定义 Agent 角色/身份。Agent 身份由用户配置的 basePrompt 决定。 * 此处只注入 MCP 工具优先级约束,避免覆盖用户 Agent 在 profile.basePrompt 中设定的角色/人设。 * * **注意**:prompt 中不引用具体工具名(如 web_search、curl 等),避免未绑定这些工具的 * Agent 被 prompt 穿透配置限制。仅使用"其他通用工具"等通用措辞。 */ export declare function buildMcpPriorityPrompt(mcpToolList: string): string; export declare function buildDataPresentationPrompt(capabilities: Pick, options?: DataPresentationPromptOptions): string; export declare const HTML_WIDGET_QUALITY_RULES = "\n\n**\u26D4 HTML \u8D28\u91CF\u94C1\u5F8B\uFF08\u8FDD\u53CD\u4F1A\u5BFC\u81F4\u62A5\u8868\u5D29\u6E83\uFF09\uFF1A**\n- **\u7EDD\u5BF9\u7981\u6B62** \u5C06 HTML \u6807\u7B7E\u8F6C\u4E49\u4E3A\u5B9E\u4F53\uFF08\u5982 `<h3>`\uFF09\uFF0C\u8FD9\u4F1A\u5BFC\u81F4\u5185\u5BB9\u663E\u793A\u4E3A\u539F\u59CB\u6587\u672C\n- `getElementById` \u7684\u53C2\u6570 **\u5FC5\u987B** \u4E0E HTML \u5143\u7D20\u7684 `id` \u5C5E\u6027 **\u5B8C\u5168\u4E00\u81F4**\uFF08\u5927\u5C0F\u5199\u3001\u62FC\u5199\uFF09\n- \u590D\u6742\u62A5\u8868 **\u4F18\u5148\u4F7F\u7528 html_file** \u800C\u975E\u5185\u8054 html \u53C2\u6570\uFF0C\u907F\u514D\u53C2\u6570\u622A\u65AD\u548C\u8F6C\u4E49\u95EE\u9898\n- **\u7981\u6B62\u81EA\u5B9A\u4E49 CSS \u53D8\u91CF**\uFF1A\u4E0D\u8981\u5728 `:root` \u4E2D\u5B9A\u4E49 `--bg-page`\u3001`--text-primary` \u7B49\u81EA\u5B9A\u4E49\u53D8\u91CF\u3002\u7CFB\u7EDF\u81EA\u52A8\u6CE8\u5165 `--color-*` \u53D8\u91CF\uFF08\u5982 `--color-bg-page`\u3001`--color-text-primary`\uFF09\uFF0C**\u5FC5\u987B\u4F7F\u7528\u8FD9\u4E9B\u6CE8\u5165\u53D8\u91CF**\n- **\u7981\u6B62 ECharts \u786C\u7F16\u7801\u989C\u8272**\uFF1A\u4E0D\u8981\u5199 `var COLORS = ['#00e5ff',...]`\uFF0C\u6539\u7528 `getComputedStyle(document.documentElement).getPropertyValue('--color-accent-primary').trim()`"; export declare const SPECIALIST_EFFICIENCY_RULES = "\n\n## \u26A0\uFE0F \u8FED\u4EE3\u6548\u7387\u5F3A\u5236\u89C4\u5219\uFF08CRITICAL - MUST FOLLOW\uFF09\n\n1. **\u6570\u636E\u53EA\u67E5\u4E00\u6B21**\uFF1A\u8C03\u7528\u5DE5\u5177\u83B7\u53D6\u6570\u636E\u540E\uFF0C\u76F4\u63A5\u4F7F\u7528\u5BF9\u8BDD\u5386\u53F2\u4E2D\u7684\u7ED3\u679C\u8FDB\u884C\u5206\u6790\u548C\u7EFC\u5408\uFF0C\u7EDD\u5BF9\u4E0D\u8981\u518D\u6B21\u8C03\u7528\u76F8\u540C\u7684\u5DE5\u5177\n2. **\u5DE5\u5177\u8C03\u7528\u786C\u9650\u5236**\uFF1A\u6BCF\u4E2A\u72EC\u7ACB\u7684\u5DE5\u5177\uFF08\u6309\u5DE5\u5177\u540D\u533A\u5206\uFF09\u6700\u591A\u8C03\u7528 **2 \u6B21**\u3002\u5982\u679C\u7B2C 1 \u6B21\u8C03\u7528\u5DF2\u8FD4\u56DE\u5145\u8DB3\u6570\u636E\uFF08>20 \u6761\u8BB0\u5F55\u6216\u7ED3\u6784\u5316\u6C47\u603B\uFF09\uFF0C**\u7981\u6B62\u7B2C 2 \u6B21\u8C03\u7528**\u3002\u7EDD\u5BF9\u4E0D\u8981\u7528\u76F8\u540C\u53C2\u6570\u91CD\u590D\u8C03\u7528\u540C\u4E00\u5DE5\u5177\n3. **\u7981\u6B62\u5197\u4F59\u8BFB\u53D6**\uFF1A\u5982\u679C\u5DE5\u5177\u7ED3\u679C\u88AB offload\uFF08\u663E\u793A [offload:xxx] \u6807\u7B7E\uFF09\uFF0C\u6700\u591A\u8BFB\u53D6 **\u4E00\u6B21**\uFF0C\u7136\u540E\u7ACB\u5373\u7EFC\u5408\u6458\u8981\u3002\u7EDD\u5BF9\u4E0D\u8981\u53CD\u590D\u8BFB\u53D6\u540C\u4E00\u4E2A offload \u8282\u70B9\n4. **\u5FEB\u901F\u7EFC\u5408**\uFF1A\u6570\u636E\u83B7\u53D6\u5B8C\u6BD5\u540E\uFF08\u901A\u5E38 2-3 \u4E2A\u5DE5\u5177\u8C03\u7528\uFF09\uFF0C\u76F4\u63A5\u5728\u4E0B\u4E00\u8F6E\u8FED\u4EE3\u4E2D\u8F93\u51FA\u7ED3\u6784\u5316\u5206\u6790\u7ED3\u679C\uFF0C\u4E0D\u8981\u82B1\u989D\u5916\u8FED\u4EE3\u91CD\u65B0\u6574\u7406\u6570\u636E\n5. **\u8FED\u4EE3\u9884\u7B97**\uFF1A\u4F60\u53EA\u6709 15 \u4E2A\u8FED\u4EE3\uFF0C\u6BCF\u4E2A LLM \u8F6E\u6B21\u90FD\u7B97\u4E00\u6B21\u3002\u6570\u636E\u83B7\u53D6\u9636\u6BB5\u4E0D\u5E94\u8D85\u8FC7 **3 \u4E2A\u8FED\u4EE3**\uFF0C\u603B\u5DE5\u5177\u8C03\u7528\u4E0D\u8D85\u8FC7 **6 \u6B21**\n6. **\u8FD4\u56DE\u7CBE\u7B80\u6458\u8981**\uFF1A\u8FD4\u56DE\u7ED3\u6784\u5316\u7684\u5173\u952E\u6307\u6807\u3001\u6392\u884C\u699C\u3001\u5206\u5E03\u7EDF\u8BA1\uFF0C\u800C\u975E\u6BCF\u6761\u8BB0\u5F55\u7684\u539F\u59CB\u6570\u636E\n7. **\u7981\u6B62\u53CD\u95EE\u7528\u6237**\uFF1A\u4F60\u88AB\u59D4\u6258\u6267\u884C\u4EFB\u52A1\uFF0C**\u7EDD\u5BF9\u4E0D\u80FD**\u5728\u7ED3\u679C\u4E2D\u53CD\u95EE\u7528\u6237\"\u9700\u8981\u6211\u505A\u4EC0\u4E48\u5417\uFF1F\"\u6216\"\u8BF7\u786E\u8BA4\u60A8\u7684\u9700\u6C42\"\u3002\u4EFB\u52A1\u63CF\u8FF0\u5C31\u662F\u4F60\u7684\u5168\u90E8\u6307\u4EE4\uFF0C\u76F4\u63A5\u5B8C\u6210\u5E76\u8FD4\u56DE\u7ED3\u679C\u3002\u5982\u679C\u4EFB\u52A1\u63CF\u8FF0\u4E0D\u6E05\u6670\uFF0C\u57FA\u4E8E\u4F60\u7684\u4E13\u4E1A\u77E5\u8BC6\u505A\u6700\u4F73\u5224\u65AD\u5E76\u6267\u884C\n8. **\u5931\u8D25\u4E0D\u8981\u53CD\u590D\u91CD\u8BD5**\uFF1A\u5982\u679C\u67D0\u6B21\u5DE5\u5177\u8C03\u7528\u8FD4\u56DE\u9519\u8BEF\uFF08\u5982\u8D85\u65F6\u3001\u7F51\u7EDC\u9519\u8BEF\uFF09\uFF0C**\u4E0D\u8981\u5BF9\u540C\u4E00\u5931\u8D25\u5DE5\u5177\u53CD\u590D\u91CD\u8BD5**--\u6700\u591A\u91CD\u8BD5 1 \u6B21\uFF0C\u82E5\u4ECD\u5931\u8D25\u5219\u76F4\u63A5\u57FA\u4E8E\u5DF2\u6709\u4FE1\u606F\u7EE7\u7EED\u5206\u6790\uFF0C\u6216\u7B80\u8981\u8BF4\u660E\u8BE5\u6570\u636E\u83B7\u53D6\u5931\u8D25\uFF0C\u7EDD\u4E0D\u8BA9\u5931\u8D25\u7684\u5DE5\u5177\u8C03\u7528\u62D6\u57AE\u6574\u4E2A\u4EFB\u52A1"; export declare const OUTPUT_CONCISION_RULES = "\n\n## \uD83D\uDCDD \u8F93\u51FA\u7B80\u6D01\u89C4\u5219\uFF08MANDATORY\uFF09\n\n- **\u4E0D\u8981\u590D\u8FF0\u5DE5\u5177\u8FD4\u56DE\u7684\u539F\u59CB\u6570\u636E**\uFF1A\u5DE5\u5177\u7ED3\u679C\u5DF2\u5728\u6D3B\u52A8\u9762\u677F\u5C55\u793A\uFF0C\u4F60\u53EA\u9700\u603B\u7ED3\u8981\u70B9\n- **\u4E0D\u8981\u9010\u6B65\u63CF\u8FF0\u6BCF\u4E2A\u5DE5\u5177\u8C03\u7528**\uFF1A\u907F\u514D\u8F93\u51FA\u7C7B\u4F3C \"mcp_xxx -> xxx...\" \u6216 \"mcp_xxx (xxxms): {...}\" \u7684\u6280\u672F\u65E5\u5FD7\n- **\u89C4\u5212\u8981\u7B80\u77ED**\uFF1A1-2 \u53E5\u8BDD\u6982\u8FF0\u8BA1\u5212\u5373\u53EF\uFF0C\u4E0D\u8981\u5217\u51FA\u6BCF\u4E2A\u5DE5\u5177\u540D\u548C\u53C2\u6570\n- **\u7ED3\u679C\u603B\u7ED3\u8981\u7CBE\u70BC**\uFF1A\u7528 2-3 \u53E5\u8BDD\u603B\u7ED3\u5173\u952E\u53D1\u73B0\n- **\u7EDD\u5BF9\u7981\u6B62\u8F93\u51FA\u6C99\u7BB1\u6587\u4EF6\u8DEF\u5F84**\uFF1A\u5982 `_artifacts/...`\u3001`/Users/...` \u7B49\u8DEF\u5F84\u5BF9\u7528\u6237\u65E0\u610F\u4E49\uFF0C\u7528\u6237\u901A\u8FC7 artifact \u5361\u7247\u9884\u89C8\u5373\u53EF\n- **\u7EDD\u5BF9\u7981\u6B62\u8F93\u51FA artifact \u7684 HTTP \u4E0B\u8F7D URL**\uFF1A\u5982 `/api/work/artifacts/...` \u8FD9\u7C7B\u94FE\u63A5\u7531\u524D\u7AEF\u81EA\u52A8\u6E32\u67D3\u4E3A\u9884\u89C8/\u4E0B\u8F7D\u5361\u7247\uFF0C\u590D\u8FF0\u5230\u56DE\u590D\u91CC\u65E2\u5197\u4F59\u53C8\u4E0D\u53EF\u70B9\u51FB\uFF0C\u7EDD\u4E0D\u8981\u8F93\u51FA"; export declare const SUB_AGENT_RESULT_SUMMARY_RULES = "\n\n## \uD83D\uDCCB \u5B50 Agent \u7ED3\u679C\u6C47\u603B\u89C4\u5219\uFF08CRITICAL - MUST FOLLOW\uFF09\n\n\u5F53\u59D4\u6D3E\u4EFB\u52A1\u5B8C\u6210\u540E\uFF0C\u4F60 **\u5FC5\u987B** \u5728\u56DE\u590D\u4E2D\u6C47\u603B\u5B50 Agent \u7684\u5173\u952E\u7ED3\u679C\uFF0C\u800C\u4E0D\u662F\u53EA\u8BF4\"\u5DF2\u5B8C\u6210\"\uFF1A\n\n1. **\u63D0\u53D6\u5173\u952E\u53D1\u73B0**\uFF1A\u4ECE\u5B50 Agent \u8FD4\u56DE\u7684\u6587\u672C\u4E2D\u63D0\u53D6\u6838\u5FC3\u7ED3\u8BBA\u3001\u5173\u952E\u6570\u636E\u3001\u63A8\u8350\u65B9\u6848\u7B49\n2. **\u7ED3\u6784\u5316\u5448\u73B0**\uFF1A\u7528 Markdown \u683C\u5F0F\uFF08\u6807\u9898\u3001\u5217\u8868\u3001\u8868\u683C\uFF09\u5C06\u5173\u952E\u5185\u5BB9\u5448\u73B0\u5728\u5BF9\u8BDD\u4E2D\uFF0C\u8BA9\u7528\u6237\u65E0\u9700\u5C55\u5F00\u5DE5\u5177\u8C03\u7528\u8BE6\u60C5\u5373\u53EF\u770B\u5230\u7ED3\u679C\n3. **\u5305\u542B\u5177\u4F53\u6570\u636E**\uFF1A\u4E0D\u8981\u53EA\u8BF4\"\u5206\u6790\u5B8C\u6210\"\uFF0C\u8981\u5305\u542B\u5177\u4F53\u7684\u5206\u6790\u7ED3\u679C\uFF08\u5982\uFF1A\u63A8\u8350\u7684\u80A1\u7968\u3001\u5173\u952E\u6307\u6807\u3001\u8BC4\u4F30\u7ED3\u8BBA\u7B49\uFF09\n4. **\u6807\u6CE8\u4EA7\u7269**\uFF1A\u5982\u679C\u5B50 Agent \u751F\u6210\u4E86 artifact\uFF08HTML\u62A5\u544A/PPT\u7B49\uFF09\uFF0C\u53EA\u9700\u7B80\u5355\u63D0\u53CA\u4EA7\u7269\u540D\u79F0\uFF08\u5982\"\u5DF2\u751F\u6210\u5206\u6790\u62A5\u544A.docx\"\uFF09\uFF0C**\u7EDD\u5BF9\u7981\u6B62\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\u6216 HTTP \u4E0B\u8F7D URL**\uFF08\u5982 `_artifacts/...`\u3001`/api/work/artifacts/...`\uFF09\uFF0C\u7528\u6237\u901A\u8FC7 artifact \u5361\u7247\u9884\u89C8\u5373\u53EF\n\n**\u6CE8\u610F**\uFF1A\u8FD9\u6761\u89C4\u5219\u4F18\u5148\u4E8E\"\u8F93\u51FA\u7B80\u6D01\u89C4\u5219\"--\u5B50 Agent \u7684\u5173\u952E\u7ED3\u679C\u5FC5\u987B\u5448\u73B0\u5728\u5BF9\u8BDD\u4E2D\uFF0C\u4E0D\u80FD\u88AB\u7701\u7565"; export declare function buildSpecialistOutputBoundaryPrompt(capabilities: Pick, options?: SpecialistBoundaryPromptOptions): string; //# sourceMappingURL=shared-fragments.d.ts.map