@downcity/agent 1.1.101 → 1.1.105
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.
- package/bin/agent/local/Agent.d.ts +2 -2
- package/bin/agent/local/Agent.d.ts.map +1 -1
- package/bin/agent/local/Agent.js.map +1 -1
- package/bin/agent/local/AgentPluginFactory.d.ts +1 -6
- package/bin/agent/local/AgentPluginFactory.d.ts.map +1 -1
- package/bin/agent/local/AgentPluginFactory.js +1 -19
- package/bin/agent/local/AgentPluginFactory.js.map +1 -1
- package/bin/agent/local/AgentRuntimeFactory.d.ts +2 -2
- package/bin/agent/local/AgentRuntimeFactory.d.ts.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.d.ts +4 -4
- package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.js +5 -6
- package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
- package/bin/config/AgentInitializer.d.ts.map +1 -1
- package/bin/config/AgentInitializer.js +6 -12
- package/bin/config/AgentInitializer.js.map +1 -1
- package/bin/config/DowncitySchema.d.ts.map +1 -1
- package/bin/config/DowncitySchema.js +0 -77
- package/bin/config/DowncitySchema.js.map +1 -1
- package/bin/config/Paths.d.ts +1 -1
- package/bin/config/Paths.js +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.d.ts +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.d.ts.map +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.js +1 -1
- package/bin/executor/composer/system/default/assets/plugin.prompt.js.map +1 -1
- package/bin/executor/composer/system/default/assets/task.prompt.d.ts +1 -1
- package/bin/executor/composer/system/default/assets/task.prompt.d.ts.map +1 -1
- package/bin/executor/composer/system/default/assets/task.prompt.js +1 -1
- package/bin/executor/composer/system/default/assets/task.prompt.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineMessageState.d.ts +8 -0
- package/bin/executor/core-engine/CoreEngineMessageState.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineMessageState.js +9 -3
- package/bin/executor/core-engine/CoreEngineMessageState.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.js +1 -0
- package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
- package/bin/executor/messages/AssistantFileResource.d.ts +3 -2
- package/bin/executor/messages/AssistantFileResource.d.ts.map +1 -1
- package/bin/executor/messages/AssistantFileResource.js +88 -20
- package/bin/executor/messages/AssistantFileResource.js.map +1 -1
- package/bin/executor/messages/SessionAttachmentMapper.d.ts +4 -3
- package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
- package/bin/executor/messages/SessionAttachmentMapper.js +24 -7
- package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
- package/bin/executor/messages/SessionMessageCodec.d.ts +1 -1
- package/bin/executor/messages/SessionMessageCodec.d.ts.map +1 -1
- package/bin/executor/messages/SessionMessageCodec.js +3 -3
- package/bin/executor/messages/SessionMessageCodec.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts +3 -3
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.js +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
- package/bin/index.d.ts +1 -3
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +0 -1
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/BasePlugin.d.ts +0 -14
- package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
- package/bin/plugin/core/BasePlugin.js +0 -22
- package/bin/plugin/core/BasePlugin.js.map +1 -1
- package/bin/plugin/core/Manager.d.ts +1 -1
- package/bin/plugin/core/Manager.d.ts.map +1 -1
- package/bin/plugin/core/Manager.js +1 -1
- package/bin/plugin/core/Manager.js.map +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts +2 -2
- package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
- package/bin/plugin/core/PluginRegistry.js.map +1 -1
- package/bin/plugin/core/PluginStateController.d.ts +1 -9
- package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
- package/bin/plugin/core/PluginStateController.js +0 -12
- package/bin/plugin/core/PluginStateController.js.map +1 -1
- package/bin/plugin/types/Plugin.d.ts +1 -1
- package/bin/plugin/types/Plugin.d.ts.map +1 -1
- package/bin/types/config/DowncityConfig.d.ts +2 -23
- package/bin/types/config/DowncityConfig.d.ts.map +1 -1
- package/bin/types/plugin/PluginRuntime.d.ts +2 -2
- package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
- package/bin/types/runtime/agent/AgentContext.d.ts +2 -2
- package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
- package/package.json +2 -2
- package/scripts/assistant-file-resource.test.mjs +107 -18
- package/scripts/image-plugin-job.test.mjs +21 -9
- package/src/agent/local/Agent.ts +2 -2
- package/src/agent/local/AgentPluginFactory.ts +1 -33
- package/src/agent/local/AgentRuntimeFactory.ts +2 -2
- package/src/agent/local/services/AgentAssemblyService.ts +6 -9
- package/src/config/AgentInitializer.ts +6 -12
- package/src/config/DowncitySchema.ts +0 -77
- package/src/config/Paths.ts +1 -1
- package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
- package/src/executor/composer/system/default/assets/core.prompt.ts.txt +3 -3
- package/src/executor/composer/system/default/assets/plugin.prompt.ts +1 -1
- package/src/executor/composer/system/default/assets/plugin.prompt.ts.txt +13 -23
- package/src/executor/composer/system/default/assets/task.prompt.ts +1 -1
- package/src/executor/composer/system/default/assets/task.prompt.ts.txt +1 -1
- package/src/executor/core-engine/CoreEngineMessageState.ts +26 -2
- package/src/executor/core-engine/CoreEngineRunner.ts +1 -0
- package/src/executor/messages/AssistantFileResource.ts +111 -22
- package/src/executor/messages/SessionAttachmentMapper.ts +29 -6
- package/src/executor/messages/SessionMessageCodec.ts +6 -2
- package/src/executor/tools/plugin/PluginToolBridge.ts +5 -5
- package/src/index.ts +1 -11
- package/src/plugin/core/BasePlugin.ts +0 -27
- package/src/plugin/core/Manager.ts +0 -2
- package/src/plugin/core/PluginRegistry.ts +2 -1
- package/src/plugin/core/PluginStateController.ts +0 -15
- package/src/plugin/types/Plugin.ts +1 -1
- package/src/types/config/DowncityConfig.ts +1 -24
- package/src/types/plugin/PluginRuntime.ts +2 -2
- package/src/types/runtime/agent/AgentContext.ts +2 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/plugin/core/ImagePlugin.d.ts +0 -57
- package/bin/plugin/core/ImagePlugin.d.ts.map +0 -1
- package/bin/plugin/core/ImagePlugin.js +0 -112
- package/bin/plugin/core/ImagePlugin.js.map +0 -1
- package/bin/types/plugin/ImagePlugin.d.ts +0 -94
- package/bin/types/plugin/ImagePlugin.d.ts.map +0 -1
- package/bin/types/plugin/ImagePlugin.js +0 -10
- package/bin/types/plugin/ImagePlugin.js.map +0 -1
- package/src/plugin/core/ImagePlugin.ts +0 -132
- package/src/types/plugin/ImagePlugin.ts +0 -103
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* 源文件:由同路径 `*.ts.txt` 生成。
|
|
4
4
|
*/
|
|
5
5
|
// Source: src/executor/composer/system/default/assets/plugin.prompt.ts.txt
|
|
6
|
-
const TEXT_MODULE_CONTENT = "# Plugin State\n\n你正在一个基于 plugin 的执行环境中工作。\n\n##
|
|
6
|
+
const TEXT_MODULE_CONTENT = "# Plugin State\n\n你正在一个基于 plugin 的执行环境中工作。\n\n## Plugin 调用规则\n\n- 当你需要使用 plugin 能力时,优先通过可用的 tool 调用 plugin action。\n- 若当前工具集中存在 `plugin_call`,使用 `plugin_call({ plugin, action, payload })` 触发对应 plugin action。\n- `plugin_call.plugin` 是 plugin 名称,例如 `skill`、`task`、`memory`、`contact`。\n- `plugin_call.action` 是 action 名称,例如 `list`、`lookup`、`create`、`run`。\n- `plugin_call.payload` 是结构化 JSON payload;没有参数时传 `{}`。\n- ActionSchedule 是 Agent 内部用于延迟执行 plugin action 的能力,不是独立 plugin。\n\n## 可用 plugin 概览\n\n- 当前内建托管 plugin:`shell` / `chat` / `task` / `memory` / `contact`。\n- 当前内建本地 plugin:`auth` / `skill`。\n\n具体 plugin 能力以该 plugin 的 action 和 system 提示为准。\n";
|
|
7
7
|
export default TEXT_MODULE_CONTENT;
|
|
8
8
|
//# sourceMappingURL=plugin.prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/plugin.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"plugin.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/plugin.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,0oBAA0oB,CAAC;AAEvqB,eAAe,mBAAmB,CAAC"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* 自动生成文件,请勿手改。
|
|
3
3
|
* 源文件:由同路径 `*.ts.txt` 生成。
|
|
4
4
|
*/
|
|
5
|
-
declare const TEXT_MODULE_CONTENT = "\u4F60\u6B63\u5728\u6267\u884C Task \u7CFB\u7EDF\u5185\u90E8\u4EFB\u52A1\uFF08\u975E\u804A\u5929\u4F1A\u8BDD\uFF09\u3002\n\n\u8FD0\u884C\u7EA6\u675F\uFF08\u5173\u952E\uFF09\uFF1A\n- \u5F53\u524D\u4E0A\u4E0B\u6587\u7528\u4E8E\u4EFB\u52A1\u6267\u884C\u4E0E\u5BA1\u8BA1\uFF0C\u4E0D\u662F\u7528\u6237\u804A\u5929\u56DE\u5408\u3002\n- \u9664\u975E\u4EFB\u52A1\u6B63\u6587\u660E\u786E\u8981\u6C42\uFF0C\u5426\u5219\u4E0D\u8981\u8C03\u7528
|
|
5
|
+
declare const TEXT_MODULE_CONTENT = "\u4F60\u6B63\u5728\u6267\u884C Task \u7CFB\u7EDF\u5185\u90E8\u4EFB\u52A1\uFF08\u975E\u804A\u5929\u4F1A\u8BDD\uFF09\u3002\n\n\u8FD0\u884C\u7EA6\u675F\uFF08\u5173\u952E\uFF09\uFF1A\n- \u5F53\u524D\u4E0A\u4E0B\u6587\u7528\u4E8E\u4EFB\u52A1\u6267\u884C\u4E0E\u5BA1\u8BA1\uFF0C\u4E0D\u662F\u7528\u6237\u804A\u5929\u56DE\u5408\u3002\n- \u9664\u975E\u4EFB\u52A1\u6B63\u6587\u660E\u786E\u8981\u6C42\uFF0C\u5426\u5219\u4E0D\u8981\u8C03\u7528 chat plugin \u53D1\u9001 action \u6216\u4EFB\u4F55\u5916\u90E8\u6E20\u9053\u53D1\u9001\u52A8\u4F5C\u3002\n- \u4E0D\u8981\u628A\u81EA\u5DF1\u5F53\u4F5C\u201C\u5373\u65F6\u5BF9\u8BDD\u5BA2\u670D\u201D\uFF1B\u4F18\u5148\u5B8C\u6210\u4EFB\u52A1\u76EE\u6807\u5E76\u8F93\u51FA\u53EF\u5BA1\u8BA1\u7ED3\u679C\u3002\n- \u5141\u8BB8\u5728\u6267\u884C\u8FC7\u7A0B\u4E2D\u4EA7\u751F\u5FC5\u8981\u7684\u4E2D\u95F4\u8BF4\u660E\uFF0C\u4F46\u4F60**\u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE**\u4F1A\u88AB\u7CFB\u7EDF\u76F4\u63A5\u5F53\u4F5C `output.md` \u4E0E\u6700\u7EC8\u53D1\u9001\u5185\u5BB9\u3002\n\n\u8F93\u51FA\u539F\u5219\uFF1A\n- \u4F60\u7684\u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE\u5FC5\u987B\u662F\u201C\u4EFB\u52A1\u4EA4\u4ED8\u7269\u672C\u8EAB\u201D\u3002\n- \u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE\u4E0D\u8981\u5305\u542B\u8FC7\u7A0B\u6C47\u62A5\u3001\u72B6\u6001\u8BF4\u660E\u3001\u4EFB\u52A1\u7BA1\u7406\u8BF4\u660E\u6216\u53D1\u9001\u8BF4\u660E\u3002\n- \u4F18\u5148\u8FD4\u56DE\u53EF\u590D\u7528\u3001\u7ED3\u6784\u5316\u3001\u7B80\u6D01\u7684\u7ED3\u679C\u5185\u5BB9\u3002\n- \u4E0D\u8981\u56DE\u663E\u5197\u957F\u539F\u59CB\u65E5\u5FD7\uFF1B\u5FC5\u8981\u65F6\u7ED9\u6458\u8981\u4E0E\u5173\u952E\u7ED3\u8BBA\u3002\n- \u5982\u4EFB\u52A1\u8F93\u5165\u8981\u6C42\u56FA\u5B9A\u683C\u5F0F\uFF08\u4F8B\u5982 JSON\uFF09\uFF0C\u4E25\u683C\u9075\u5B88\u8BE5\u683C\u5F0F\u3002\n- \u5982\u679C\u4EFB\u52A1\u8981\u6C42\u201C\u53D1\u9001\u5230\u5F53\u524D\u4F1A\u8BDD\u201D\u6216\u201C\u53D1\u9001\u7ED9\u7528\u6237\u201D\uFF0C\u9ED8\u8BA4\u7406\u89E3\u4E3A\uFF1A\u7CFB\u7EDF\u4F1A\u628A\u4F60\u7684\u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE\u76F4\u63A5\u56DE\u53D1\uFF1B\u56E0\u6B64\u4F60\u5E94\u8BE5\u76F4\u63A5\u8F93\u51FA\u90A3\u6BB5\u8981\u53D1\u7ED9\u7528\u6237\u7684\u6B63\u6587\u3002\n- \u9664\u975E\u4EFB\u52A1\u6B63\u6587\u660E\u786E\u8981\u6C42\u8F93\u51FA\u6267\u884C\u6458\u8981\uFF0C\u5426\u5219\u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE\u4E0D\u8981\u8F93\u51FA\u201C\u4EFB\u52A1\u5DF2\u5B8C\u6210\u201D\u201C\u5DF2\u53D1\u9001\u201D\u201C\u6211\u5148\u67E5\u770B\u4E00\u4E0B\u201D\u201C\u6211\u6765\u4E3A\u4F60\u5904\u7406\u201D\u7B49\u5143\u8BDD\u672F\u3002\n\n\u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE\u7981\u6B62\u7684\u5E38\u89C1\u5185\u5BB9\uFF1A\n- \u201C\u6211\u6765\u4E3A\u4F60\u2026\u2026\u201D\n- \u201C\u9996\u5148\u8BA9\u6211\u2026\u2026\u201D\n- \u201C\u6211\u770B\u5230\u5DF2\u7ECF\u6709\u4E00\u4E2A\u540C\u540D\u4EFB\u52A1\u2026\u2026\u201D\n- \u201C\u4EFB\u52A1\u5DF2\u53D1\u9001 / \u5DF2\u5B8C\u6210 / \u5DF2\u66F4\u65B0\u2026\u2026\u201D\n- \u201C\u4EFB\u52A1\u72B6\u6001\u603B\u7ED3\u2026\u2026\u201D\n- \u4EFB\u4F55\u56F4\u7ED5 task \u7BA1\u7406\u6D41\u7A0B\u7684\u8BF4\u660E\u6027\u6587\u5B57\n\n\u7ED3\u675F\u524D\u81EA\u68C0\uFF1A\n- \u5728\u7ED3\u675F\u524D\u68C0\u67E5\uFF1A\u4F60\u51C6\u5907\u53D1\u51FA\u7684\u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE\uFF0C\u662F\u5426\u5C31\u662F\u6700\u7EC8\u4EA4\u4ED8\u7269\u672C\u8EAB\u3002\n- \u5982\u679C\u6700\u540E\u4E00\u6761 assistant \u8FD4\u56DE\u4E3B\u8981\u662F\u5728\u63CF\u8FF0\u6267\u884C\u8FC7\u7A0B\u3001\u4EFB\u52A1\u72B6\u6001\u6216\u53D1\u9001\u60C5\u51B5\uFF0C\u800C\u4E0D\u662F\u6700\u7EC8\u4EA4\u4ED8\u5185\u5BB9\u672C\u8EAB\uFF0C\u8BF4\u660E\u8F93\u51FA\u65B9\u5411\u9519\u8BEF\uFF0C\u5FC5\u987B\u91CD\u5199\u3002\n- \u5982\u679C\u5220\u6389\u201C\u6211\u6765\u201D\u201C\u9996\u5148\u201D\u201C\u5DF2\u53D1\u9001\u201D\u201C\u4EFB\u52A1\u72B6\u6001\u201D\u8FD9\u7C7B\u53E5\u5B50\u540E\u51E0\u4E4E\u6CA1\u6709\u5269\u4F59\u5185\u5BB9\uFF0C\u8BF4\u660E\u8FD9\u4E0D\u662F\u5408\u683C\u7684 task \u8F93\u51FA\u3002\n\n\u4E0A\u4E0B\u6587\u539F\u5219\uFF1A\n- \u8BE5\u4EFB\u52A1\u4E0A\u4E0B\u6587\u662F\u72EC\u7ACB\u6267\u884C\u4E0A\u4E0B\u6587\uFF0C\u4E0D\u7EE7\u627F\u804A\u5929\u5BF9\u8BDD\u76EE\u6807\u3002\n- \u5982\u4E0E\u7CFB\u7EDF\u5176\u4ED6\u63D0\u793A\u51B2\u7A81\uFF0C\u4EE5\u201C\u4EFB\u52A1\u6267\u884C\u4E0A\u4E0B\u6587\u89C4\u5219\u201D\u4E3A\u51C6\u3002\n";
|
|
6
6
|
export default TEXT_MODULE_CONTENT;
|
|
7
7
|
//# sourceMappingURL=task.prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/task.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"task.prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/task.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,w1IAAq8B,CAAC;AAE/9B,eAAe,mBAAmB,CAAC"}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* 源文件:由同路径 `*.ts.txt` 生成。
|
|
4
4
|
*/
|
|
5
5
|
// Source: src/executor/composer/system/default/assets/task.prompt.ts.txt
|
|
6
|
-
const TEXT_MODULE_CONTENT = "你正在执行 Task 系统内部任务(非聊天会话)。\n\n运行约束(关键):\n- 当前上下文用于任务执行与审计,不是用户聊天回合。\n- 除非任务正文明确要求,否则不要调用
|
|
6
|
+
const TEXT_MODULE_CONTENT = "你正在执行 Task 系统内部任务(非聊天会话)。\n\n运行约束(关键):\n- 当前上下文用于任务执行与审计,不是用户聊天回合。\n- 除非任务正文明确要求,否则不要调用 chat plugin 发送 action 或任何外部渠道发送动作。\n- 不要把自己当作“即时对话客服”;优先完成任务目标并输出可审计结果。\n- 允许在执行过程中产生必要的中间说明,但你**最后一条 assistant 返回**会被系统直接当作 `output.md` 与最终发送内容。\n\n输出原则:\n- 你的最后一条 assistant 返回必须是“任务交付物本身”。\n- 最后一条 assistant 返回不要包含过程汇报、状态说明、任务管理说明或发送说明。\n- 优先返回可复用、结构化、简洁的结果内容。\n- 不要回显冗长原始日志;必要时给摘要与关键结论。\n- 如任务输入要求固定格式(例如 JSON),严格遵守该格式。\n- 如果任务要求“发送到当前会话”或“发送给用户”,默认理解为:系统会把你的最后一条 assistant 返回直接回发;因此你应该直接输出那段要发给用户的正文。\n- 除非任务正文明确要求输出执行摘要,否则最后一条 assistant 返回不要输出“任务已完成”“已发送”“我先查看一下”“我来为你处理”等元话术。\n\n最后一条 assistant 返回禁止的常见内容:\n- “我来为你……”\n- “首先让我……”\n- “我看到已经有一个同名任务……”\n- “任务已发送 / 已完成 / 已更新……”\n- “任务状态总结……”\n- 任何围绕 task 管理流程的说明性文字\n\n结束前自检:\n- 在结束前检查:你准备发出的最后一条 assistant 返回,是否就是最终交付物本身。\n- 如果最后一条 assistant 返回主要是在描述执行过程、任务状态或发送情况,而不是最终交付内容本身,说明输出方向错误,必须重写。\n- 如果删掉“我来”“首先”“已发送”“任务状态”这类句子后几乎没有剩余内容,说明这不是合格的 task 输出。\n\n上下文原则:\n- 该任务上下文是独立执行上下文,不继承聊天对话目标。\n- 如与系统其他提示冲突,以“任务执行上下文规则”为准。\n";
|
|
7
7
|
export default TEXT_MODULE_CONTENT;
|
|
8
8
|
//# sourceMappingURL=task.prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/task.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"task.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/task.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,k8BAAk8B,CAAC;AAE/9B,eAAe,mBAAmB,CAAC"}
|
|
@@ -24,6 +24,10 @@ export declare class CoreEngineMessageState {
|
|
|
24
24
|
* 当前轮可用工具集合。
|
|
25
25
|
*/
|
|
26
26
|
private readonly tools;
|
|
27
|
+
/**
|
|
28
|
+
* 当前项目根目录,用于解析历史中的 `resources://` file part。
|
|
29
|
+
*/
|
|
30
|
+
private readonly projectRoot?;
|
|
27
31
|
private constructor();
|
|
28
32
|
/**
|
|
29
33
|
* 基于初始 session 消息创建运行态。
|
|
@@ -37,6 +41,10 @@ export declare class CoreEngineMessageState {
|
|
|
37
41
|
* 当前轮可用工具集合。
|
|
38
42
|
*/
|
|
39
43
|
tools: Record<string, Tool>;
|
|
44
|
+
/**
|
|
45
|
+
* 当前项目根目录。
|
|
46
|
+
*/
|
|
47
|
+
projectRoot?: string;
|
|
40
48
|
}): Promise<CoreEngineMessageState>;
|
|
41
49
|
/**
|
|
42
50
|
* 读取当前模型消息。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreEngineMessageState.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineMessageState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAM5E;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqB;IAE5C;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAiB;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAE7C,OAAO;
|
|
1
|
+
{"version":3,"file":"CoreEngineMessageState.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineMessageState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAM5E;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqB;IAE5C;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAiB;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAE7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IAEtC,OAAO;IAwBP;;OAEG;WACU,MAAM,CAAC,MAAM,EAAE;QAC1B;;WAEG;QACH,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgBnC;;OAEG;IACH,IAAI,aAAa,IAAI,YAAY,EAAE,CAElC;IAED;;OAEG;IACG,wBAAwB,CAC5B,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC;IAM1B;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;OAEG;IACH,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI5D;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;YAKrC,oCAAoC;CAoBnD"}
|
|
@@ -23,10 +23,15 @@ export class CoreEngineMessageState {
|
|
|
23
23
|
* 当前轮可用工具集合。
|
|
24
24
|
*/
|
|
25
25
|
tools;
|
|
26
|
+
/**
|
|
27
|
+
* 当前项目根目录,用于解析历史中的 `resources://` file part。
|
|
28
|
+
*/
|
|
29
|
+
projectRoot;
|
|
26
30
|
constructor(params) {
|
|
27
31
|
this.sessionMessages = params.sessionMessages;
|
|
28
32
|
this.currentModelMessages = params.modelMessages;
|
|
29
33
|
this.tools = params.tools;
|
|
34
|
+
this.projectRoot = params.projectRoot;
|
|
30
35
|
}
|
|
31
36
|
/**
|
|
32
37
|
* 基于初始 session 消息创建运行态。
|
|
@@ -37,8 +42,9 @@ export class CoreEngineMessageState {
|
|
|
37
42
|
: [];
|
|
38
43
|
return new CoreEngineMessageState({
|
|
39
44
|
sessionMessages,
|
|
40
|
-
modelMessages: await toModelMessages(sessionMessages, params.tools),
|
|
45
|
+
modelMessages: await toModelMessages(sessionMessages, params.tools, params.projectRoot),
|
|
41
46
|
tools: params.tools,
|
|
47
|
+
projectRoot: params.projectRoot,
|
|
42
48
|
});
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
@@ -78,12 +84,12 @@ export class CoreEngineMessageState {
|
|
|
78
84
|
}
|
|
79
85
|
async appendSessionMessagesAsModelMessages(messages) {
|
|
80
86
|
this.sessionMessages = [...this.sessionMessages, ...messages];
|
|
81
|
-
const modelMessages = await toModelMessages(messages, this.tools);
|
|
87
|
+
const modelMessages = await toModelMessages(messages, this.tools, this.projectRoot);
|
|
82
88
|
if (modelMessages.length > 0) {
|
|
83
89
|
this.currentModelMessages = [...this.currentModelMessages, ...modelMessages];
|
|
84
90
|
return modelMessages;
|
|
85
91
|
}
|
|
86
|
-
this.currentModelMessages = await toModelMessages(this.sessionMessages, this.tools);
|
|
92
|
+
this.currentModelMessages = await toModelMessages(this.sessionMessages, this.tools, this.projectRoot);
|
|
87
93
|
return [];
|
|
88
94
|
}
|
|
89
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreEngineMessageState.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineMessageState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC;;OAEG;IACK,eAAe,CAAqB;IAE5C;;OAEG;IACK,oBAAoB,CAAiB;IAE7C;;OAEG;IACc,KAAK,CAAuB;IAE7C,YAAoB,
|
|
1
|
+
{"version":3,"file":"CoreEngineMessageState.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineMessageState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreEngineRunner.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AA0BrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AA2CxC,UAAU,uBAAuB;IAC/B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,gBAAgB,EAAE,sBAAsB,CAAC;IAEzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,UAAU,kBAAkB;IAC1B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;gBAEjF,OAAO,EAAE,uBAAuB;IAO5C;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreEngineRunner.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AA0BrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AA2CxC,UAAU,uBAAuB;IAC/B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,gBAAgB,EAAE,sBAAsB,CAAC;IAEzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,UAAU,kBAAkB;IAC1B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;gBAEjF,OAAO,EAAE,uBAAuB;IAO5C;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAkShE"}
|
|
@@ -82,6 +82,7 @@ export class CoreEngineRunner {
|
|
|
82
82
|
const message_state = await CoreEngineMessageState.create({
|
|
83
83
|
messages: input.execute_input.messages,
|
|
84
84
|
tools,
|
|
85
|
+
projectRoot: input.run_context.projectRoot,
|
|
85
86
|
});
|
|
86
87
|
const append_merged_user_messages = (messages) => message_state.appendMergedUserMessages(messages);
|
|
87
88
|
const context_composer_on_step_finish = this.context_composer.createOnStepFinishHandler(input.run_context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreEngineRunner.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CoreEngineRunner.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - 只处理运行期产生的 assistant file part,不参与 user 附件注入。
|
|
6
|
-
* - 将
|
|
6
|
+
* - 将 data URL、远程 URL 与本地文件统一写入 `.downcity/resources`。
|
|
7
|
+
* - 历史中只保留 `resources://<project-relative-path>`,避免暴露本机绝对路径。
|
|
7
8
|
* - 资源文件按内容 hash 命名,天然去重并避免重复写入大文件。
|
|
8
9
|
*/
|
|
9
10
|
import type { FileUIPart } from "ai";
|
|
@@ -25,7 +26,7 @@ export interface MaterializeAssistantFilePartsParams {
|
|
|
25
26
|
parts: FileUIPart[];
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
|
-
* 将 assistant file part
|
|
29
|
+
* 将 assistant file part 中的资源统一落盘为 `resources://` 相对 URL。
|
|
29
30
|
*/
|
|
30
31
|
export declare function materializeAssistantFileParts(params: MaterializeAssistantFilePartsParams): Promise<FileUIPart[]>;
|
|
31
32
|
//# sourceMappingURL=AssistantFileResource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantFileResource.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AssistantFileResource.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAcrC;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAqLD;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,mCAAmC,GAC1C,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvB"}
|
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - 只处理运行期产生的 assistant file part,不参与 user 附件注入。
|
|
6
|
-
* - 将
|
|
6
|
+
* - 将 data URL、远程 URL 与本地文件统一写入 `.downcity/resources`。
|
|
7
|
+
* - 历史中只保留 `resources://<project-relative-path>`,避免暴露本机绝对路径。
|
|
7
8
|
* - 资源文件按内容 hash 命名,天然去重并避免重复写入大文件。
|
|
8
9
|
*/
|
|
9
10
|
import crypto from "node:crypto";
|
|
10
11
|
import path from "node:path";
|
|
11
|
-
import {
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
12
13
|
import fs from "fs-extra";
|
|
13
14
|
import { getDowncityResourcesDirPath } from "../../config/Paths.js";
|
|
14
15
|
function resolve_project_root(projectRoot) {
|
|
@@ -62,6 +63,22 @@ function extension_from_filename(filename) {
|
|
|
62
63
|
return "";
|
|
63
64
|
return /^[.][a-z0-9]+$/u.test(ext) ? ext : "";
|
|
64
65
|
}
|
|
66
|
+
function filename_from_url(raw_url) {
|
|
67
|
+
try {
|
|
68
|
+
const parsed = new URL(raw_url);
|
|
69
|
+
return path.basename(decodeURIComponent(parsed.pathname)) || undefined;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function to_resources_url(projectRoot, filePath) {
|
|
76
|
+
const relative = path
|
|
77
|
+
.relative(projectRoot, filePath)
|
|
78
|
+
.split(path.sep)
|
|
79
|
+
.join("/");
|
|
80
|
+
return `resources://${relative}`;
|
|
81
|
+
}
|
|
65
82
|
async function write_resource_file(params) {
|
|
66
83
|
const hash = crypto.createHash("sha256").update(params.bytes).digest("hex");
|
|
67
84
|
const ext = extension_from_filename(params.filename) ||
|
|
@@ -80,8 +97,75 @@ async function write_resource_file(params) {
|
|
|
80
97
|
}
|
|
81
98
|
return file_path;
|
|
82
99
|
}
|
|
100
|
+
async function read_remote_resource(raw_url) {
|
|
101
|
+
const response = await fetch(raw_url);
|
|
102
|
+
if (!response.ok) {
|
|
103
|
+
throw new Error(`Failed to download assistant file resource: ${response.status}`);
|
|
104
|
+
}
|
|
105
|
+
const array_buffer = await response.arrayBuffer();
|
|
106
|
+
const bytes = Buffer.from(array_buffer);
|
|
107
|
+
if (bytes.length === 0) {
|
|
108
|
+
throw new Error("Downloaded assistant file resource is empty");
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
mediaType: response.headers.get("content-type")?.split(";")[0]?.trim(),
|
|
112
|
+
filename: filename_from_url(raw_url),
|
|
113
|
+
bytes,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
async function read_local_resource(projectRoot, raw_url) {
|
|
117
|
+
const raw = String(raw_url || "").trim();
|
|
118
|
+
const file_path = raw.startsWith("file://")
|
|
119
|
+
? fileURLToPath(raw)
|
|
120
|
+
: path.isAbsolute(raw)
|
|
121
|
+
? raw
|
|
122
|
+
: path.resolve(projectRoot, raw);
|
|
123
|
+
const bytes = await fs.readFile(file_path);
|
|
124
|
+
if (bytes.length === 0) {
|
|
125
|
+
throw new Error(`Assistant file resource is empty: ${file_path}`);
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
filename: path.basename(file_path),
|
|
129
|
+
bytes,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
async function materialize_file_part(params) {
|
|
133
|
+
const raw_url = String(params.part.url || "").trim();
|
|
134
|
+
if (!raw_url) {
|
|
135
|
+
throw new Error("Assistant file part url is required");
|
|
136
|
+
}
|
|
137
|
+
if (raw_url.startsWith("resources://"))
|
|
138
|
+
return params.part;
|
|
139
|
+
const parsed_data_url = parse_data_url(raw_url);
|
|
140
|
+
const source = parsed_data_url
|
|
141
|
+
? {
|
|
142
|
+
mediaType: parsed_data_url.media_type,
|
|
143
|
+
filename: typeof params.part.filename === "string"
|
|
144
|
+
? params.part.filename
|
|
145
|
+
: undefined,
|
|
146
|
+
bytes: parsed_data_url.bytes,
|
|
147
|
+
}
|
|
148
|
+
: raw_url.startsWith("http://") || raw_url.startsWith("https://")
|
|
149
|
+
? await read_remote_resource(raw_url)
|
|
150
|
+
: await read_local_resource(params.projectRoot, raw_url);
|
|
151
|
+
const media_type = String(params.part.mediaType || source.mediaType || "").trim() ||
|
|
152
|
+
"application/octet-stream";
|
|
153
|
+
const file_path = await write_resource_file({
|
|
154
|
+
projectRoot: params.projectRoot,
|
|
155
|
+
mediaType: media_type,
|
|
156
|
+
filename: typeof params.part.filename === "string"
|
|
157
|
+
? params.part.filename
|
|
158
|
+
: source.filename,
|
|
159
|
+
bytes: source.bytes,
|
|
160
|
+
});
|
|
161
|
+
return {
|
|
162
|
+
...params.part,
|
|
163
|
+
mediaType: media_type,
|
|
164
|
+
url: to_resources_url(params.projectRoot, file_path),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
83
167
|
/**
|
|
84
|
-
* 将 assistant file part
|
|
168
|
+
* 将 assistant file part 中的资源统一落盘为 `resources://` 相对 URL。
|
|
85
169
|
*/
|
|
86
170
|
export async function materializeAssistantFileParts(params) {
|
|
87
171
|
const parts = Array.isArray(params.parts) ? params.parts : [];
|
|
@@ -90,23 +174,7 @@ export async function materializeAssistantFileParts(params) {
|
|
|
90
174
|
const project_root = resolve_project_root(params.projectRoot);
|
|
91
175
|
const out = [];
|
|
92
176
|
for (const part of parts) {
|
|
93
|
-
|
|
94
|
-
if (!parsed) {
|
|
95
|
-
out.push(part);
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
const media_type = String(part.mediaType || parsed.media_type || "").trim();
|
|
99
|
-
const file_path = await write_resource_file({
|
|
100
|
-
projectRoot: project_root,
|
|
101
|
-
mediaType: media_type || parsed.media_type,
|
|
102
|
-
filename: typeof part.filename === "string" ? part.filename : undefined,
|
|
103
|
-
bytes: parsed.bytes,
|
|
104
|
-
});
|
|
105
|
-
out.push({
|
|
106
|
-
...part,
|
|
107
|
-
mediaType: media_type || parsed.media_type,
|
|
108
|
-
url: pathToFileURL(file_path).href,
|
|
109
|
-
});
|
|
177
|
+
out.push(await materialize_file_part({ projectRoot: project_root, part }));
|
|
110
178
|
}
|
|
111
179
|
return out;
|
|
112
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantFileResource.js","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AssistantFileResource.js","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,17 @@
|
|
|
5
5
|
* - 兼容 Telegram / Feishu / TUI 等统一的 `<file>` 协议入口。
|
|
6
6
|
* - 仅在本轮执行的内存消息上追加 file parts,不修改持久化历史。
|
|
7
7
|
* - 当前只为图片与 PDF 注入 file part,保持多模态模型可直接消费。
|
|
8
|
+
* - 历史中的 `resources://` 与旧版 `file://` 会在喂给模型前临时 hydrate。
|
|
8
9
|
*/
|
|
9
10
|
import type { SessionMessageV1 } from "../../executor/types/SessionMessages.js";
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* 将历史中的资源 file part 临时转换为模型可消费的 data URL。
|
|
12
13
|
*
|
|
13
14
|
* 关键点(中文)
|
|
14
15
|
* - 该函数只修改本轮内存消息,不回写历史。
|
|
15
|
-
* -
|
|
16
|
+
* - 新历史保留 `resources://` 相对 URL,旧历史的 `file://` 仍继续兼容。
|
|
16
17
|
*/
|
|
17
|
-
export declare function hydrateFileUrlPartsForModel(messages: SessionMessageV1[]): Promise<SessionMessageV1[]>;
|
|
18
|
+
export declare function hydrateFileUrlPartsForModel(messages: SessionMessageV1[], projectRoot?: string): Promise<SessionMessageV1[]>;
|
|
18
19
|
/**
|
|
19
20
|
* 在 user 消息上注入 FileUIPart,以便多模态模型直接消费本地附件。
|
|
20
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionAttachmentMapper.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SessionAttachmentMapper.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAwF5E;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA2B7B;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsF7B"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* - 兼容 Telegram / Feishu / TUI 等统一的 `<file>` 协议入口。
|
|
6
6
|
* - 仅在本轮执行的内存消息上追加 file parts,不修改持久化历史。
|
|
7
7
|
* - 当前只为图片与 PDF 注入 file part,保持多模态模型可直接消费。
|
|
8
|
+
* - 历史中的 `resources://` 与旧版 `file://` 会在喂给模型前临时 hydrate。
|
|
8
9
|
*/
|
|
9
10
|
import fs from "fs-extra";
|
|
10
11
|
import path from "node:path";
|
|
@@ -63,12 +64,28 @@ function buildDataUrl(mediaType, buffer) {
|
|
|
63
64
|
const safeType = mediaType || "application/octet-stream";
|
|
64
65
|
return `data:${safeType};base64,${base64}`;
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
+
function resolveResourcesUrlPath(projectRoot, rawUrl) {
|
|
68
|
+
const prefix = "resources://";
|
|
69
|
+
const raw = String(rawUrl || "").trim();
|
|
70
|
+
if (!raw.startsWith(prefix))
|
|
71
|
+
return null;
|
|
72
|
+
const relative = raw.slice(prefix.length).replace(/^\/+/, "");
|
|
73
|
+
if (!relative)
|
|
74
|
+
return null;
|
|
75
|
+
const root = path.resolve(String(projectRoot || "").trim() || process.cwd());
|
|
76
|
+
const absPath = path.resolve(root, relative);
|
|
77
|
+
const rel = path.relative(root, absPath);
|
|
78
|
+
if (rel === "" || rel.startsWith("..") || path.isAbsolute(rel))
|
|
79
|
+
return null;
|
|
80
|
+
return absPath;
|
|
81
|
+
}
|
|
82
|
+
async function hydrateFileUrlPart(part, projectRoot) {
|
|
67
83
|
const url = String(part.url || "").trim();
|
|
68
|
-
|
|
84
|
+
const resourcesPath = resolveResourcesUrlPath(projectRoot, url);
|
|
85
|
+
if (!url.startsWith("file://") && !resourcesPath)
|
|
69
86
|
return part;
|
|
70
87
|
try {
|
|
71
|
-
const absPath = fileURLToPath(url);
|
|
88
|
+
const absPath = resourcesPath || fileURLToPath(url);
|
|
72
89
|
const buffer = await fs.readFile(absPath);
|
|
73
90
|
const mediaType = String(part.mediaType || "").trim() ||
|
|
74
91
|
guessAttachmentMediaTypeFromPath(absPath) ||
|
|
@@ -84,13 +101,13 @@ async function hydrateFileUrlPart(part) {
|
|
|
84
101
|
}
|
|
85
102
|
}
|
|
86
103
|
/**
|
|
87
|
-
*
|
|
104
|
+
* 将历史中的资源 file part 临时转换为模型可消费的 data URL。
|
|
88
105
|
*
|
|
89
106
|
* 关键点(中文)
|
|
90
107
|
* - 该函数只修改本轮内存消息,不回写历史。
|
|
91
|
-
* -
|
|
108
|
+
* - 新历史保留 `resources://` 相对 URL,旧历史的 `file://` 仍继续兼容。
|
|
92
109
|
*/
|
|
93
|
-
export async function hydrateFileUrlPartsForModel(messages) {
|
|
110
|
+
export async function hydrateFileUrlPartsForModel(messages, projectRoot) {
|
|
94
111
|
if (!Array.isArray(messages) || messages.length === 0)
|
|
95
112
|
return messages;
|
|
96
113
|
const out = [];
|
|
@@ -107,7 +124,7 @@ export async function hydrateFileUrlPartsForModel(messages) {
|
|
|
107
124
|
nextParts.push(part);
|
|
108
125
|
continue;
|
|
109
126
|
}
|
|
110
|
-
const nextPart = await hydrateFileUrlPart(part);
|
|
127
|
+
const nextPart = await hydrateFileUrlPart(part, projectRoot);
|
|
111
128
|
if (nextPart !== part)
|
|
112
129
|
changed = true;
|
|
113
130
|
nextParts.push(nextPart);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionAttachmentMapper.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SessionAttachmentMapper.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export declare function pickMergedUserMessages(messages: SessionMessageV1[]): Se
|
|
|
25
25
|
* - 输入:context 消息数组 + 可用工具集合。
|
|
26
26
|
* - 输出:可直接喂给 streamText 的 messages。
|
|
27
27
|
*/
|
|
28
|
-
export declare function toModelMessages(messages: SessionMessageV1[], tools: Record<string, Tool
|
|
28
|
+
export declare function toModelMessages(messages: SessionMessageV1[], tools: Record<string, Tool>, projectRoot?: string): Promise<ModelMessage[]>;
|
|
29
29
|
/**
|
|
30
30
|
* 构建 OpenAI Responses providerOptions。
|
|
31
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMessageCodec.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,IAAI,EAEV,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAM5E;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,EAAE,CA6BpB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"SessionMessageCodec.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,IAAI,EAEV,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAM5E;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,EAAE,CA6BpB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CA6BzB;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,IAAI;IACrD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAQA"}
|
|
@@ -53,14 +53,14 @@ export function pickMergedUserMessages(messages) {
|
|
|
53
53
|
* - 输入:context 消息数组 + 可用工具集合。
|
|
54
54
|
* - 输出:可直接喂给 streamText 的 messages。
|
|
55
55
|
*/
|
|
56
|
-
export async function toModelMessages(messages, tools) {
|
|
56
|
+
export async function toModelMessages(messages, tools, projectRoot) {
|
|
57
57
|
// 空输入快速返回,避免调用转换器的额外开销。
|
|
58
58
|
if (!Array.isArray(messages) || messages.length === 0)
|
|
59
59
|
return [];
|
|
60
60
|
// 第一步(中文):在 user 消息上注入 file parts(多模态附件)。
|
|
61
61
|
const enrichedMessages = await injectFilePartsFromAttachments(messages);
|
|
62
|
-
//
|
|
63
|
-
const hydratedMessages = await hydrateFileUrlPartsForModel(enrichedMessages);
|
|
62
|
+
// 第二步(中文):把历史里的资源 URL 在内存中 hydrate 成模型可消费的 data URL。
|
|
63
|
+
const hydratedMessages = await hydrateFileUrlPartsForModel(enrichedMessages, projectRoot);
|
|
64
64
|
// 第三步(中文):转换前先剔除 UI 层 id 字段,仅保留模型需要的数据结构。
|
|
65
65
|
const input = hydratedMessages.map((message) => {
|
|
66
66
|
// 解构去掉 id。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMessageCodec.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,YAAY,GAIb,MAAM,IAAI,CAAC;AAEZ,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,+CAA+C,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA4B;IAE5B,iCAAiC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,UAAU;IACV,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,gBAAgB;QAChB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE1D,oBAAoB;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1C,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,8BAA8B;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;YACxB,oBAAoB;aACnB,MAAM,CAAC,YAAY,CAAC;YACrB,qBAAqB;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvC,aAAa;aACZ,IAAI,CAAC,IAAI,CAAC;YACX,UAAU;aACT,IAAI,EAAE,CAAC;QAEV,iBAAiB;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA4B,EAC5B,KAA2B;
|
|
1
|
+
{"version":3,"file":"SessionMessageCodec.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,YAAY,GAIb,MAAM,IAAI,CAAC;AAEZ,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,+CAA+C,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA4B;IAE5B,iCAAiC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,UAAU;IACV,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,gBAAgB;QAChB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE1D,oBAAoB;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1C,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,8BAA8B;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;YACxB,oBAAoB;aACnB,MAAM,CAAC,YAAY,CAAC;YACrB,qBAAqB;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvC,aAAa;aACZ,IAAI,CAAC,IAAI,CAAC;YACX,UAAU;aACT,IAAI,EAAE,CAAC;QAEV,iBAAiB;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA4B,EAC5B,KAA2B,EAC3B,WAAoB;IAEpB,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjE,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,MAAM,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAExE,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,MAAM,2BAA2B,CACxD,gBAAgB,EAChB,WAAW,CACZ,CAAC;IAEF,0CAA0C;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,WAAW;QACX,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAErC,UAAU;QACV,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,OAAO,MAAM,sBAAsB,CAAC,KAAK,EAAE;QACzC,uBAAuB;QACvB,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,uBAAuB;QACvB,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC;IAKjD,sBAAsB;IACtB,OAAO;QACL,MAAM,EAAE;YACN,mBAAmB;YACnB,KAAK,EAAE,KAAK;SACb;KACF,CAAC;AACJ,CAAC"}
|