@keyou007/agent-bot 0.1.17-alpha.1 → 0.1.17-alpha.2

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 (39) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +3 -1
  3. package/README.zh.md +3 -1
  4. package/config.example.yaml +12 -0
  5. package/dist/config/loadConfig.js +10 -0
  6. package/dist/config/loadConfig.js.map +1 -1
  7. package/dist/config/schema.js +6 -0
  8. package/dist/config/schema.js.map +1 -1
  9. package/dist/feishu/FeishuMarkdown.js +42 -13
  10. package/dist/feishu/FeishuMarkdown.js.map +1 -1
  11. package/dist/feishu/FeishuTurnPresenter.js +33 -10
  12. package/dist/feishu/FeishuTurnPresenter.js.map +1 -1
  13. package/dist/feishu/LocalImageMarkdown.js +16 -2
  14. package/dist/feishu/LocalImageMarkdown.js.map +1 -1
  15. package/dist/index.js +33 -5
  16. package/dist/index.js.map +1 -1
  17. package/dist/local-files/LocalFileViewerServer.js +706 -0
  18. package/dist/local-files/LocalFileViewerServer.js.map +1 -0
  19. package/dist/local-files/NetworkAddressSelector.js +97 -0
  20. package/dist/local-files/NetworkAddressSelector.js.map +1 -0
  21. package/dist/proxy/ProxySessionController.js +43 -29
  22. package/dist/proxy/ProxySessionController.js.map +1 -1
  23. package/dist/supervision/SafeRestartScheduler.js +15 -2
  24. package/dist/supervision/SafeRestartScheduler.js.map +1 -1
  25. package/docs/technical-reference.md +8 -0
  26. package/docs/technical-reference.zh.md +8 -0
  27. package/npm-shrinkwrap.json +2 -2
  28. package/package.json +1 -1
  29. package/skills/agent-bot/SKILL.md +1 -1
  30. package/src/config/loadConfig.ts +10 -0
  31. package/src/config/schema.ts +9 -0
  32. package/src/feishu/FeishuMarkdown.ts +51 -12
  33. package/src/feishu/FeishuTurnPresenter.ts +41 -11
  34. package/src/feishu/LocalImageMarkdown.ts +23 -2
  35. package/src/index.ts +33 -4
  36. package/src/local-files/LocalFileViewerServer.ts +774 -0
  37. package/src/local-files/NetworkAddressSelector.ts +111 -0
  38. package/src/proxy/ProxySessionController.ts +33 -20
  39. package/src/supervision/SafeRestartScheduler.ts +23 -2
package/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@ The project follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.17-alpha.2] - 2026-08-29
10
+
11
+ - Add a signed, read-only local HTTP viewer for files and directories referenced by Agent replies, with content-based previews, downward directory browsing, persistent per-Profile ports, and automatic wired, Wi-Fi, physical, then VPN address selection for LAN links.
12
+ - Rewrite local file links in live, completed, detailed, and historical thinking cards through the local viewer without persisting temporary signed URLs, and classify file-browser entries from their content instead of filename extensions.
13
+ - Replace the protocol-level Turn interrupt acknowledgement with a concise user-facing stopping message that explains the thinking card will update when the task stops.
14
+ - Send the safe-restart card to the source task or configured private chat during `agentbot update`, and start the update immediately when the running service has no active tasks or pending final deliveries.
15
+ - Preserve Markdown descriptions while showing local file paths, and remove empty list markers when standalone local image links become Feishu image components.
16
+
9
17
  ## [0.1.17-alpha.1] - 2026-08-29
10
18
 
11
19
  - Start App Server processes from the stable Agent Bot profile directory instead of an incidental working directory, and refresh the affected thread once when a reattached external volume leaves stale directory state behind.
package/README.md CHANGED
@@ -125,7 +125,7 @@ The recommended way to update a global npm installation is:
125
125
  agentbot update
126
126
  ```
127
127
 
128
- Stable installations check the stable channel by default; Alpha installations stay on the Alpha channel. Use `--stable`, `--alpha`, or `--version <version>` to choose explicitly. When the service is running, Agent Bot waits for active tasks to finish, updates, and restores the service automatically. Source checkouts and `npm link` installations are never modified by self-update.
128
+ Stable installations check the stable channel by default; Alpha installations stay on the Alpha channel. Use `--stable`, `--alpha`, or `--version <version>` to choose explicitly. When the service is running, Agent Bot sends a safe-restart card, waits for active tasks to finish, updates, and restores the service automatically. If no task is active, the update restarts the service immediately. Source checkouts and `npm link` installations are never modified by self-update.
129
129
 
130
130
  To replace the global package manually, stop the running service first:
131
131
 
@@ -278,6 +278,8 @@ Agent Bot keeps user-owned files outside the repository:
278
278
 
279
279
  Set `AGENT_BOT_HOME` to use another user-data directory. See [config.example.yaml](config.example.yaml) for configuration examples.
280
280
 
281
+ Local non-image files and directories referenced in Agent replies become signed, read-only viewer links for source code, Markdown, logs, PDFs, common media files, or downward directory browsing. By default, links open only on the computer running Agent Bot. Setting `fileViewer.host` to `0.0.0.0` automatically selects a LAN address in wired, Wi-Fi, other physical, then VPN order. Use `fileViewer.publicBaseUrl` to override that address for a domain, HTTPS reverse proxy, or port mapping.
282
+
281
283
  Provider, model, reasoning effort, and permission choices apply to the current task and are also saved under that Agent's `defaults`. Future tasks that have no same-Agent settings to inherit start with those saved defaults; each configured Agent keeps its own values.
282
284
 
283
285
  `feishu.groupNameFormat` defines separate name templates for new Project and Projectless groups, with variables for the operating system, Agent, project, task name, and date. See the [technical reference](docs/technical-reference.md#configuration-model) for the complete format.
package/README.zh.md CHANGED
@@ -125,7 +125,7 @@ agentbot server autostart disable
125
125
  agentbot update
126
126
  ```
127
127
 
128
- 正式版默认检查稳定通道,Alpha 版默认检查 Alpha 通道。也可以使用 `--stable`、`--alpha` 或 `--version <版本>` 明确选择。服务正在运行时,Agent Bot 会等待当前任务完成后更新并自动恢复服务;源码目录和 `npm link` 安装不会被自更新命令修改。
128
+ 正式版默认检查稳定通道,Alpha 版默认检查 Alpha 通道。也可以使用 `--stable`、`--alpha` 或 `--version <版本>` 明确选择。服务正在运行时,Agent Bot 会发送安全重启卡片,等待当前任务完成后更新并自动恢复服务;如果没有任务在执行,则立即重启更新。源码目录和 `npm link` 安装不会被自更新命令修改。
129
129
 
130
130
  如需手动替换全局包,请先停止正在运行的服务:
131
131
 
@@ -278,6 +278,8 @@ Agent Bot 将用户相关文件保存在仓库之外:
278
278
 
279
279
  可通过 `AGENT_BOT_HOME` 修改用户数据目录。配置示例见 [config.example.yaml](config.example.yaml)。
280
280
 
281
+ 回答中引用的本地非图片文件或目录会自动变成只读查看链接,可在浏览器中查看源码、Markdown、日志、PDF、常见媒体文件,或向下浏览目录内容。默认链接只在运行 Agent Bot 的电脑上打开;将 `fileViewer.host` 设为 `0.0.0.0` 后,会按有线、Wi-Fi、其他物理网卡、VPN 的顺序自动选择局域网地址。域名、HTTPS 反向代理或端口映射可通过 `fileViewer.publicBaseUrl` 覆盖自动地址。链接带有当前 Profile 独立的签名。
282
+
281
283
  Provider、模型、思考强度和权限设置会作用于当前任务,同时保存到对应 Agent 的 `defaults` 中。以后创建没有同 Agent 设置可继承的新任务时,会使用这些默认值;每个已配置 Agent 分别保存自己的设置。
282
284
 
283
285
  `feishu.groupNameFormat` 可分别设置 Project 与 Projectless 新群的名称模板,支持系统、Agent、项目、任务名和日期变量。完整格式说明见[技术参考](docs/technical-reference.zh.md#配置模型)。
@@ -18,6 +18,18 @@ feishu:
18
18
  console:
19
19
  enabled: true
20
20
 
21
+ # Signed, read-only pages for local files referenced in Agent replies.
22
+ fileViewer:
23
+ enabled: true
24
+ # The safe default only accepts connections from this computer.
25
+ # Use 0.0.0.0 to accept LAN connections. Generated links then prefer
26
+ # wired, Wi-Fi, other physical, and finally VPN interface addresses.
27
+ host: "127.0.0.1"
28
+ # 0 selects a free port once and reuses it for this Profile.
29
+ port: 0
30
+ # Override automatic selection for a domain, HTTPS proxy, or port mapping.
31
+ # publicBaseUrl: "https://agentbot.example.com/files"
32
+
21
33
  agents:
22
34
  codex:
23
35
  kind: "app-server"
@@ -20,6 +20,16 @@ const DEFAULT_CONFIG = `feishu:
20
20
  console:
21
21
  enabled: true
22
22
 
23
+ fileViewer:
24
+ enabled: true
25
+ # Use 0.0.0.0 to accept LAN connections and automatically prefer
26
+ # wired, Wi-Fi, other physical, then VPN addresses in generated links.
27
+ host: "127.0.0.1"
28
+ # 0 selects a free port once and reuses it for this Profile.
29
+ port: 0
30
+ # Overrides the automatically selected URL for domains or reverse proxies.
31
+ # publicBaseUrl: "https://agentbot.example.com/files"
32
+
23
33
  agents:
24
34
  codex:
25
35
  kind: "app-server"
@@ -1 +1 @@
1
- {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,12 @@ export const appConfigSchema = z.object({
56
56
  enabled: z.boolean().default(true),
57
57
  })
58
58
  .default({ enabled: true }),
59
+ fileViewer: z.object({
60
+ enabled: z.boolean().default(true),
61
+ host: z.string().min(1).default("127.0.0.1"),
62
+ port: z.number().int().min(0).max(65_535).default(0),
63
+ publicBaseUrl: z.string().url().refine((value) => ["http:", "https:"].includes(new URL(value).protocol), "fileViewer.publicBaseUrl must use http or https.").optional(),
64
+ }).default({ enabled: true, host: "127.0.0.1", port: 0 }),
59
65
  feishu: z.object({
60
66
  transport: z.enum(["auto", "sdk", "console"]).default("auto"),
61
67
  appId: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,kCAAkC;IAC3C,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,OAAO;CACX,CAAC;AAEX,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC5E,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sEAAsE;SAChF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC7E,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAAE,SAAS;QAC9E,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wCAAwC,KAAK,IAAI;SAC3D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC;IAC3E,WAAW,EAAE,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC;IACnF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC;CACpF,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEtC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACvB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,YAAqB,CAAC;CAC1D,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAElB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAEf,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,4BAA4B;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACnC,CAAC;SACD,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAChE,kDAAkD,CACnD,CAAC,QAAQ,EAAE;KACb,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7C,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACpD,eAAe,EAAE,qBAAqB;QACtC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACtE,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7D,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAC3D,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAC1C,wCAAwC,CACzC;IACD,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;KAC7B,CAAC;SACD,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;KACpD,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACnF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;KACtD,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;CACtD,CAAC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import path from "node:path";
2
2
  const FENCE_OPENER = /^([ \t]*)((?:`{3,})|(?:~{3,}))(.*)$/;
3
- const MARKDOWN_LINK = /(!?)\[([^\]\r\n]*)\]\((<?[^)\r\n]+>?)\)/g;
3
+ const MARKDOWN_LINK = /(!?)\[([^\]\r\n]*)\]\((<[^>\r\n]+>|[^)\r\n]+)\)/g;
4
4
  const LOCAL_FILE_LINE_REFERENCE = /(:\d+(?::\d+)?)$/;
5
- export function normalizeFeishuMarkdown(markdown, projectCwd) {
5
+ const LOCAL_IMAGE_EXTENSIONS = new Set([".png", ".jpg", ".jpeg", ".gif", ".webp", ".tiff", ".bmp", ".ico"]);
6
+ export function normalizeFeishuMarkdown(markdown, projectCwd, localFileUrl) {
6
7
  const lines = markdown.match(/[^\r\n]*(?:\r\n|\n)|[^\r\n]+$/g) ?? [];
7
8
  let fence;
8
9
  return lines.map((line) => {
@@ -11,7 +12,7 @@ export function normalizeFeishuMarkdown(markdown, projectCwd) {
11
12
  if (!fence) {
12
13
  const opener = FENCE_OPENER.exec(body);
13
14
  if (!opener?.[2])
14
- return `${includeLocalFileLineReferences(body, projectCwd)}${ending}`;
15
+ return `${includeLocalFileLineReferences(body, projectCwd, localFileUrl)}${ending}`;
15
16
  const indent = opener[1] ?? "";
16
17
  const delimiter = opener[2];
17
18
  fence = {
@@ -30,18 +31,36 @@ export function normalizeFeishuMarkdown(markdown, projectCwd) {
30
31
  return `${normalizedBody}${ending}`;
31
32
  }).join("");
32
33
  }
33
- function includeLocalFileLineReferences(markdown, projectCwd) {
34
+ function includeLocalFileLineReferences(markdown, projectCwd, localFileUrl) {
34
35
  return markdown.replace(MARKDOWN_LINK, (link, imageMarker, label, rawTarget) => {
35
36
  if (imageMarker)
36
37
  return link;
37
38
  const target = unwrapMarkdownTarget(rawTarget.trim());
38
39
  if (!isLocalFileTarget(target))
39
40
  return link;
41
+ if (isLocalImageTarget(target))
42
+ return link;
40
43
  const reference = LOCAL_FILE_LINE_REFERENCE.exec(target)?.[1];
44
+ const targetWithoutReference = reference ? target.slice(0, -reference.length) : target;
45
+ const filePath = localFilePath(targetWithoutReference);
46
+ const viewerUrl = filePath ? localFileUrl?.(filePath, reference) : undefined;
41
47
  const projectPathLabel = projectCwd ? projectFilePathLabel(target, projectCwd, reference) : undefined;
42
- const normalizedLabel = projectPathLabel
43
- ?? (reference && !label.endsWith(reference) ? `${label}${reference}` : label);
44
- return normalizedLabel === label ? link : `[${normalizedLabel}](${rawTarget})`;
48
+ if (!projectPathLabel) {
49
+ const normalizedLabel = reference && !label.endsWith(reference) ? `${label}${reference}` : label;
50
+ if (viewerUrl)
51
+ return `[${normalizedLabel}](${viewerUrl})`;
52
+ return normalizedLabel === label ? link : `[${normalizedLabel}](${rawTarget})`;
53
+ }
54
+ if (projectPathLabel === label)
55
+ return viewerUrl ? `[${label}](${viewerUrl})` : link;
56
+ if (reference && projectPathLabel === `${label}${reference}`) {
57
+ return `[${projectPathLabel}](${viewerUrl ?? rawTarget})`;
58
+ }
59
+ if (!label)
60
+ return viewerUrl ? `[${projectPathLabel}](${viewerUrl})` : inlineCode(projectPathLabel);
61
+ return viewerUrl
62
+ ? `[${label}](${viewerUrl})(${inlineCode(projectPathLabel)})`
63
+ : `${label}(${inlineCode(projectPathLabel)})`;
45
64
  });
46
65
  }
47
66
  function projectFilePathLabel(target, projectCwd, reference) {
@@ -54,12 +73,7 @@ function projectFilePathLabel(target, projectCwd, reference) {
54
73
  }
55
74
  const pathApi = usesWindowsPaths(filePath, projectCwd) ? path.win32 : path.posix;
56
75
  const parsed = pathApi.parse(filePath);
57
- if (Array.from(parsed.name).length > 5)
58
- return undefined;
59
- const parentName = pathApi.basename(pathApi.dirname(filePath));
60
- if (!parentName)
61
- return undefined;
62
- return `${parentName}${pathApi.sep}${parsed.base}${reference ?? ""}`;
76
+ return `${parsed.base}${reference ?? ""}`;
63
77
  }
64
78
  function localFilePath(target) {
65
79
  if (!/^file:\/\//i.test(target))
@@ -91,9 +105,24 @@ function displayAbsolutePath(filePath) {
91
105
  return path.posix.normalize(filePath);
92
106
  return path.win32.normalize(filePath);
93
107
  }
108
+ function inlineCode(value) {
109
+ const longestDelimiter = Math.max(0, ...(value.match(/`+/g) ?? []).map((run) => run.length));
110
+ const delimiter = "`".repeat(longestDelimiter + 1);
111
+ const padding = value.startsWith("`") || value.endsWith("`") ? " " : "";
112
+ return `${delimiter}${padding}${value}${padding}${delimiter}`;
113
+ }
94
114
  function usesWindowsPaths(...values) {
95
115
  return values.some((value) => /^\/?[a-z]:[\\/]/i.test(value) || /^\\\\/.test(value));
96
116
  }
117
+ function isLocalImageTarget(target) {
118
+ const reference = LOCAL_FILE_LINE_REFERENCE.exec(target)?.[1];
119
+ const targetWithoutReference = reference ? target.slice(0, -reference.length) : target;
120
+ const filePath = localFilePath(targetWithoutReference);
121
+ if (!filePath)
122
+ return false;
123
+ const pathApi = usesWindowsPaths(filePath) ? path.win32 : path.posix;
124
+ return LOCAL_IMAGE_EXTENSIONS.has(pathApi.extname(filePath).toLowerCase());
125
+ }
97
126
  function unwrapMarkdownTarget(target) {
98
127
  return target.startsWith("<") && target.endsWith(">") ? target.slice(1, -1) : target;
99
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FeishuMarkdown.js","sourceRoot":"","sources":["../../src/feishu/FeishuMarkdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeishuMarkdown.js","sourceRoot":"","sources":["../../src/feishu/FeishuMarkdown.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAC3D,MAAM,aAAa,GAAG,kDAAkD,CAAC;AACzE,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AACrD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAI5G,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,UAAmB,EACnB,YAAmC;IAEnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,CAAC;IACrE,IAAI,KAA6B,CAAC;IAElC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,GAAG,8BAA8B,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,MAAM,EAAE,CAAC;YAEtG,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,KAAK,GAAG;gBACN,MAAM;gBACN,MAAM,EAAE,SAAS,CAAC,CAAC,CAAc;gBACjC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,eAAe,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;aACnC,CAAC;YACF,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;QAChF,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC;YAAE,KAAK,GAAG,SAAS,CAAC;QAC5D,OAAO,GAAG,cAAc,GAAG,MAAM,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,8BAA8B,CACrC,QAAgB,EAChB,UAAmB,EACnB,YAAmC;IAEnC,OAAO,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,WAAmB,EAAE,KAAa,EAAE,SAAiB,EAAE,EAAE;QACrG,IAAI,WAAW;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,kBAAkB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACvF,MAAM,QAAQ,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjG,IAAI,SAAS;gBAAE,OAAO,IAAI,eAAe,KAAK,SAAS,GAAG,CAAC;YAC3D,OAAO,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,KAAK,SAAS,GAAG,CAAC;QACjF,CAAC;QAED,IAAI,gBAAgB,KAAK,KAAK;YAAE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,IAAI,SAAS,IAAI,gBAAgB,KAAK,GAAG,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC;YAC7D,OAAO,IAAI,gBAAgB,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACpG,OAAO,SAAS;YACd,CAAC,CAAC,IAAI,KAAK,KAAK,SAAS,KAAK,UAAU,CAAC,gBAAgB,CAAC,GAAG;YAC7D,CAAC,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAc,EACd,UAAkB,EAClB,SAA6B;IAE7B,MAAM,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvF,MAAM,QAAQ,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,SAAS,IAAI,EAAE,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,IAAI,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAE5E,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,UAAkB;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,OAAO,QAAQ,KAAK,EAAE;WACjB,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvF,MAAM,QAAQ,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACrE,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACvF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;WAC5B,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;WAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;WACpB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAiB;IACpD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,SAAS,KAAK,SAAS;WACzB,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM;WAC7B,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;AACxC,CAAC"}
@@ -138,7 +138,7 @@ export class FeishuTurnPresenter {
138
138
  }
139
139
  const delivery = this.store.getTurnDelivery(turnId);
140
140
  if (delivery?.progressMessageId) {
141
- await this.outbound.updateInteractiveCard(delivery.progressMessageId, this.renderer.renderTurn(state));
141
+ await this.outbound.updateInteractiveCard(delivery.progressMessageId, this.renderTurn(state));
142
142
  }
143
143
  }
144
144
  async appendSteerMessage(sessionId, turnId, text, messageId) {
@@ -224,7 +224,7 @@ export class FeishuTurnPresenter {
224
224
  await this.outbound.sendText(contextKey, "未找到这次执行的详情。可能已被清理。");
225
225
  return;
226
226
  }
227
- await this.outbound.sendInteractiveCard(contextKey, this.renderer.renderTurnDetails(snapshot));
227
+ await this.outbound.sendInteractiveCard(contextKey, this.renderTurnDetails(snapshot));
228
228
  }
229
229
  async showActivityPage(contextKey, turnId, page, messageId) {
230
230
  const entry = this.entries.get(turnId);
@@ -242,10 +242,10 @@ export class FeishuTurnPresenter {
242
242
  await entry.scheduler.flush(entry.state);
243
243
  }
244
244
  else if (targetMessageId) {
245
- await this.outbound.updateInteractiveCard(targetMessageId, this.renderer.renderTurn(entry.state));
245
+ await this.outbound.updateInteractiveCard(targetMessageId, this.renderTurn(entry.state));
246
246
  }
247
247
  else {
248
- await this.outbound.sendInteractiveCard(contextKey, this.renderer.renderTurn(entry.state));
248
+ await this.outbound.sendInteractiveCard(contextKey, this.renderTurn(entry.state));
249
249
  }
250
250
  return;
251
251
  }
@@ -253,7 +253,7 @@ export class FeishuTurnPresenter {
253
253
  entry.historySnapshot = entry.state;
254
254
  await entry.scheduler?.flush();
255
255
  }
256
- const card = this.renderer.renderActivityHistory(entry.historySnapshot, page);
256
+ const card = this.renderActivityHistory(entry.historySnapshot, page);
257
257
  if (targetMessageId)
258
258
  await this.outbound.updateInteractiveCard(targetMessageId, card);
259
259
  else
@@ -264,8 +264,8 @@ export class FeishuTurnPresenter {
264
264
  if (!isTurnViewState(snapshot))
265
265
  throw new Error("未找到这次执行的活动历史。");
266
266
  const card = page === "latest"
267
- ? this.renderer.renderTurn(snapshot)
268
- : this.renderer.renderActivityHistory(snapshot, page);
267
+ ? this.renderTurn(snapshot)
268
+ : this.renderActivityHistory(snapshot, page);
269
269
  if (messageId)
270
270
  await this.outbound.updateInteractiveCard(messageId, card);
271
271
  else
@@ -305,7 +305,7 @@ export class FeishuTurnPresenter {
305
305
  }
306
306
  async initializeEntry(entry) {
307
307
  const sentState = entry.state;
308
- const card = this.renderer.renderTurn(sentState);
308
+ const card = this.renderTurn(sentState);
309
309
  const delivery = this.store.getTurnDelivery(sentState.turnId);
310
310
  const persistedMessageId = delivery?.progressMessageId;
311
311
  if (delivery?.finalDelivered && !persistedMessageId)
@@ -324,7 +324,7 @@ export class FeishuTurnPresenter {
324
324
  return;
325
325
  this.store.saveTurnDelivery(entry.state.turnId, { progressMessageId: messageId });
326
326
  entry.scheduler = new CardUpdateScheduler({
327
- render: (state) => this.renderer.renderTurn(state),
327
+ render: (state) => this.renderTurn(state),
328
328
  write: (card) => this.outbound.updateInteractiveCard(messageId, card),
329
329
  normalIntervalMs: this.options.normalIntervalMs,
330
330
  criticalGapMs: this.options.criticalGapMs,
@@ -336,6 +336,15 @@ export class FeishuTurnPresenter {
336
336
  entry.scheduler.update(entry.state, "critical");
337
337
  await this.syncThinkingCardReaction(entry);
338
338
  }
339
+ renderTurn(state) {
340
+ return this.renderer.renderTurn(normalizeTurnCardMarkdown(state, this.options.localFileUrl));
341
+ }
342
+ renderTurnDetails(state) {
343
+ return this.renderer.renderTurnDetails(normalizeTurnCardMarkdown(state, this.options.localFileUrl));
344
+ }
345
+ renderActivityHistory(state, page) {
346
+ return this.renderer.renderActivityHistory(normalizeTurnCardMarkdown(state, this.options.localFileUrl), page);
347
+ }
339
348
  startElapsedUpdates(entry) {
340
349
  if (entry.elapsedTimer || isTerminalViewStatus(entry.state.status))
341
350
  return;
@@ -421,7 +430,7 @@ export class FeishuTurnPresenter {
421
430
  if (delivery?.finalDelivered || !state.finalResponse)
422
431
  return;
423
432
  const finalChunkLength = this.options.finalChunkLength ?? 4_000;
424
- const chunks = brandedFinalChunks(normalizeFeishuMarkdown(state.finalResponse, state.projectCwd), finalChunkLength);
433
+ const chunks = brandedFinalChunks(normalizeFeishuMarkdown(state.finalResponse, state.projectCwd, this.options.localFileUrl), finalChunkLength);
425
434
  const messageIds = [...(delivery?.finalMessageIds ?? [])];
426
435
  for (let index = messageIds.length; index < chunks.length; index += 1) {
427
436
  const chunk = chunks[index];
@@ -450,6 +459,20 @@ export class FeishuTurnPresenter {
450
459
  }
451
460
  }
452
461
  }
462
+ function normalizeTurnCardMarkdown(state, localFileUrl) {
463
+ if (!localFileUrl)
464
+ return state;
465
+ const normalize = (value) => normalizeFeishuMarkdown(value, state.projectCwd, localFileUrl);
466
+ return {
467
+ ...state,
468
+ assistantText: normalize(state.assistantText),
469
+ ...(state.progressText !== undefined ? { progressText: normalize(state.progressText) } : {}),
470
+ plan: state.plan.map((step) => ({ ...step, text: normalize(step.text) })),
471
+ activities: state.activities.map((activity) => activity.kind === "tool"
472
+ ? activity
473
+ : { ...activity, text: normalize(activity.text) }),
474
+ };
475
+ }
453
476
  function brandedFinalChunks(response, maxLength) {
454
477
  const chunks = splitMarkdown(response, maxLength, MAX_FINAL_TABLES_PER_CARD);
455
478
  if (chunks.length <= 1 && response.length <= FINAL_RESPONSE_BRANDING_THRESHOLD)
@@ -1 +1 @@
1
- {"version":3,"file":"FeishuTurnPresenter.js","sourceRoot":"","sources":["../../src/feishu/FeishuTurnPresenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeishuTurnPresenter.js","sourceRoot":"","sources":["../../src/feishu/FeishuTurnPresenter.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export async function renderMarkdownWithLocalImages(markdown, uploadImage, onUpl
23
23
  cursor = matchIndex + match[0].length;
24
24
  continue;
25
25
  }
26
- appendMarkdown(elements, markdown.slice(cursor, matchIndex));
26
+ appendMarkdown(elements, markdownBeforeLocalImage(markdown, cursor, matchIndex, matchIndex + match[0].length));
27
27
  try {
28
28
  let upload = uploads.get(filePath);
29
29
  if (!upload) {
@@ -81,8 +81,22 @@ function unsupportedImageFallback(label, rawTarget) {
81
81
  ? `[${label || "图片"}](${target})`
82
82
  : `图片不可用:${label || "本地图片"}`;
83
83
  }
84
+ function markdownBeforeLocalImage(markdown, cursor, matchStart, matchEnd) {
85
+ const lineStart = markdown.lastIndexOf("\n", matchStart - 1) + 1;
86
+ if (lineStart < cursor)
87
+ return markdown.slice(cursor, matchStart);
88
+ const lineEndIndex = markdown.indexOf("\n", matchEnd);
89
+ const lineEnd = lineEndIndex === -1 ? markdown.length : lineEndIndex;
90
+ const beforeLink = markdown.slice(lineStart, matchStart);
91
+ const afterLink = markdown.slice(matchEnd, lineEnd);
92
+ const standaloneListMarker = /^[ \t]*(?:[-+*]|\d+[.)])[ \t]+$/u.test(beforeLink);
93
+ if (!standaloneListMarker || !/^[ \t]*\r?$/u.test(afterLink)) {
94
+ return markdown.slice(cursor, matchStart);
95
+ }
96
+ return markdown.slice(cursor, lineStart);
97
+ }
84
98
  function appendMarkdown(elements, content) {
85
- if (!content)
99
+ if (!content.trim())
86
100
  return;
87
101
  elements.push({ tag: "markdown", content });
88
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalImageMarkdown.js","sourceRoot":"","sources":["../../src/feishu/LocalImageMarkdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalImageMarkdown.js","sourceRoot":"","sources":["../../src/feishu/LocalImageMarkdown.ts"],"names":[],"mappings":"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"}