dsh-reference-anything 0.5.0 → 0.5.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 (72) hide show
  1. package/LICENSE +22 -22
  2. package/NOTICE.md +110 -110
  3. package/README.md +470 -451
  4. package/cordis.patch.yml +136 -134
  5. package/docs/release/0.4.4/README.md +75 -0
  6. package/{release-notes → docs/release}/0.4.4/features.json +1 -1
  7. package/docs/release/0.5.0/README.md +148 -0
  8. package/docs/release/0.5.1/README.md +33 -0
  9. package/docs/release/0.5.2/README.md +51 -0
  10. package/docs/release/0.5.2/features.json +29 -0
  11. package/{release-notes → docs/release}/README.md +12 -6
  12. package/images/agents/LICENSE +22 -22
  13. package/images/agents/README.md +7 -3
  14. package/images/agents/antigravity.svg +1 -1
  15. package/images/agents/cline.svg +1 -1
  16. package/images/agents/continue.svg +1 -1
  17. package/images/agents/copilot.svg +27 -0
  18. package/images/agents/crush.svg +1 -1
  19. package/images/agents/doubao.svg +1 -0
  20. package/images/agents/goose.svg +1 -1
  21. package/images/agents/omp.svg +1 -0
  22. package/images/agents/reasonix.svg +5 -5
  23. package/images/agents/teleagent.svg +1 -1
  24. package/images/agents/trae.svg +1 -1
  25. package/images/agents/vibe.svg +1 -1
  26. package/images/agents/workbuddy.svg +37 -37
  27. package/images/agents/zed.svg +1 -1
  28. package/lib/chat-import-compatibility.js +8 -5
  29. package/lib/client.js +36526 -4
  30. package/lib/contract.d.ts +4 -0
  31. package/lib/host.d.ts +2 -2
  32. package/lib/host.js +4 -1
  33. package/lib/local-conversation-reader.js +16 -11
  34. package/lib/render.js +21 -21
  35. package/lib/store/spec.d.ts +9 -1
  36. package/lib/tool.js +3 -2
  37. package/lib/wire.d.ts +13 -1
  38. package/lib/wire.js +5 -4
  39. package/locale/en.json +6 -6
  40. package/locale/zh.json +6 -6
  41. package/opencli-plugin/chatgpt.js +128 -128
  42. package/opencli-plugin/claude.js +138 -138
  43. package/opencli-plugin/common.js +452 -452
  44. package/opencli-plugin/deepseek.js +155 -155
  45. package/opencli-plugin/gemini.js +169 -169
  46. package/opencli-plugin/grok.js +124 -124
  47. package/opencli-plugin/kimi.js +126 -126
  48. package/opencli-plugin/opencli-plugin.json +6 -6
  49. package/opencli-plugin/package.json +8 -8
  50. package/opencli-plugin/since-guard.js +45 -45
  51. package/package.json +263 -262
  52. package/vendor/chat-import-reader/LICENSE +22 -22
  53. package/vendor/chat-import-reader/README.md +54 -48
  54. package/vendor/chat-import-reader/availability-worker.mjs +5 -0
  55. package/vendor/chat-import-reader/parsers.d.mts +6 -6
  56. package/vendor/chat-import-reader/parsers.mjs +2248 -347
  57. package/vendor/chat-import-reader/scanners.mjs +1316 -79
  58. package/vendor/chat-import-reader/upstream-sha256.json +35 -22
  59. package/release-notes/0.4.4/commands.png +0 -0
  60. package/release-notes/0.4.4/demos/agent-import.gif +0 -0
  61. package/release-notes/0.4.4/demos/chat-import-upgrade.gif +0 -0
  62. package/release-notes/0.4.4/demos/folders.gif +0 -0
  63. package/release-notes/0.4.4/demos/local-plugins.gif +0 -0
  64. package/release-notes/0.4.4/demos/shortcuts.gif +0 -0
  65. package/release-notes/0.4.4/files.png +0 -0
  66. package/release-notes/0.5.0/demos/agent-import.gif +0 -0
  67. package/release-notes/0.5.0/demos/chat-import-upgrade.gif +0 -0
  68. package/release-notes/0.5.0/demos/folders.gif +0 -0
  69. package/release-notes/0.5.0/demos/local-plugins.gif +0 -0
  70. package/release-notes/0.5.0/demos/local-references.gif +0 -0
  71. package/release-notes/0.5.0/demos/shortcuts.gif +0 -0
  72. /package/{release-notes → docs/release}/0.5.0/features.json +0 -0
@@ -0,0 +1,29 @@
1
+ [
2
+ {
3
+ "title": "新增四种本地会话来源",
4
+ "description": "使用 **@omp:**、**@copilot-vscode:**、**@copilot-cli:** 或 **@doubao:** 搜索历史会话,按 **Enter** 插入只读引用。扫描和引用无需安装 Chat Import。\n\n豆包仅能读取本地已缓存的正文;导入会话需要安装并启用 **Chat Import 0.26.3** 或更新兼容版本。",
5
+ "en": {
6
+ "title": "Four more local conversation sources",
7
+ "description": "Search with **@omp:**, **@copilot-vscode:**, **@copilot-cli:** or **@doubao:** and press **Enter** to insert a read-only reference. Scanning and references do not require Chat Import.\n\nDoubao reads locally cached bodies only. Importing requires **Chat Import 0.26.3** or a compatible newer version to be installed and enabled.",
8
+ "alt": "Read-only references from four new sources; synthetic demo data"
9
+ },
10
+ "media": "demos/new-local-sources.gif",
11
+ "alt": "四种新增来源的只读引用;使用虚构演示数据"
12
+ },
13
+ {
14
+ "title": "官方引用开启后,分类前缀仍可使用",
15
+ "description": "启用官方引用插件时,仍可输入 **@file:**、**@session:** 或对应自定义别名限定类别,搜索由官方接口完成。普通 **@** 查询继续使用官方来源。",
16
+ "en": {
17
+ "title": "Scoped prefixes work with official references",
18
+ "description": "With the official reference plugin enabled, use **@file:**, **@session:** or their custom aliases to scope official searches. Unscoped **@** queries continue to use the official sources."
19
+ }
20
+ },
21
+ {
22
+ "title": "演示 GIF 按需加载",
23
+ "description": "演示 GIF 不再内联到客户端或随 npm 包重复分发,仅打开对应卡片时从远程地址加载。首次观看需要网络;加载失败可重试,离线展示不作保证。",
24
+ "en": {
25
+ "title": "Load demo GIFs on demand",
26
+ "description": "Demo GIFs are no longer embedded in the client or duplicated in the npm package. They load from remote URLs when their card is opened. First viewing requires network access; failed downloads can be retried, and offline display is not guaranteed."
27
+ }
28
+ }
29
+ ]
@@ -1,15 +1,17 @@
1
- # 新功能介绍卡片
1
+ # 发布说明与功能素材
2
2
 
3
- 每个版本使用一个与 `package.json` 版本号完全一致的目录(不带 `v`):
3
+ 版本正文、功能卡和媒体统一放在这里。每个版本使用一个与 `package.json` 版本号完全一致的目录(不带 `v`):
4
4
 
5
5
  ```text
6
- release-notes/
6
+ docs/release/
7
7
  0.4.4/
8
+ README.md
8
9
  features.json
9
- files.png
10
- commands.png
10
+ demos/
11
11
  ```
12
12
 
13
+ `README.md` 是双语发布正文,也是发布 CI 读取的唯一原文;`features.json` 是应用内功能卡,媒体路径相对于版本目录。现有版本:[0.4.4](0.4.4/README.md)、[0.5.0](0.5.0/README.md)、[0.5.1](0.5.1/README.md)、[0.5.2 待发布](0.5.2/README.md)。发布及审稿流程见[发布素材](../development/release-materials.md)。
14
+
13
15
  `features.json` 是按展示顺序排列的卡片数组。每张卡片包含:
14
16
 
15
17
  ```json
@@ -25,7 +27,9 @@ release-notes/
25
27
 
26
28
  图片支持 PNG、JPEG、WebP 和 GIF;路径相对于该版本目录,不可指向目录外。介绍支持 Markdown 段落、列表和链接;链接在新窗口打开。标题和介绍必填;纯文字预告可以省略 media 和 alt,提供图片时必须填写 alt。将预告放在数组最后,即作为最后一页展示。
27
29
 
28
- 执行 `npm run build` 后,配置和素材会内嵌到插件客户端,离线也可查看;修改内容后需要重新构建并重载 DSH。请压缩大 GIF,避免增加客户端加载时间。新增版本只需新增目录和内容,不需要修改卡片组件。
30
+ 执行 `npm run build` 后,文字与图片 URL 会内嵌到客户端,图片字节不内联,也不随 npm 包分发。当前卡片显示时才请求 GitHub 上固定提交的图片;离线或网络失败时仍可阅读文字、翻页,并可重试图片。关闭后卸载图片,浏览器缓存由浏览器管理。
31
+
32
+ 临时媒体基址在 `scripts/release-features.mjs`,待 DSH 0.2.2 稳定版提供官方跨端资源通道后再迁移。更新媒体必须先确保文件已存在于公开提交,更新固定提交号,并核对所有卡片 URL 的响应及内容哈希;不能只更新本地 GIF。修改后需重新构建并重载 DSH。
29
33
 
30
34
  卡片可增加 `en: { title, description, alt }` 保存英文原文,媒体共用。默认字段为中文;卡片跟随 DSH 语言设置即时切换,其他语言使用英文,旧版未配置英文的卡片保留原文。GIF 画面内的文字不会自动翻译。
31
35
 
@@ -34,3 +38,5 @@ release-notes/
34
38
  每个已安装版本首次进入“引用万物(dsh-reference-anything)”插件的具体设置页面时,会自动展示一次本次更新介绍;仅打开设置窗口或其他设置页不会触发。展示记录单独保存在本地存储中,与菜单入口的叉号互不影响;检测到远端新版本不会触发,安装后版本变化才会再次展示。首次启用此机制时,当前版本也会展示一次。本地存储不可用时,只能保证本次运行内不重复展示。
35
39
 
36
40
  0.4.4 的初始卡片复用了仓库已有的文件、命令菜单示意图,可直接替换为实际新功能截图或 GIF。
41
+
42
+ 补丁版本可仅包含 README.md,不重复复制功能素材。0.5.1 通过现有客户端映射沿用 0.5.0 功能卡;构建加载器跳过没有 features.json 的版本目录,已有卡片仍严格校验。
@@ -1,22 +1,22 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Nwflower
4
- Copyright (c) 2026 Scarlett
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nwflower
4
+ Copyright (c) 2026 Scarlett
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
@@ -1,3 +1,7 @@
1
- Agent icons copied unchanged from https://github.com/Nwflower/dsh-chat-import/tree/dbd03e1dfeaffea980458df1afc4ef899af9a2a4/assets/agents.
2
-
3
- MIT license: see LICENSE in this directory. DSH4 reuses dsh.svg.
1
+ Agent icons copied unchanged from https://github.com/Nwflower/dsh-chat-import/tree/dbd03e1dfeaffea980458df1afc4ef899af9a2a4/assets/agents.
2
+
3
+ MIT license: see LICENSE in this directory. DSH4 reuses dsh.svg.
4
+
5
+ `omp.svg` comes from the published dsh-chat-import 0.26.2 package (`assets/agents/omp.svg`), under the same MIT license.
6
+
7
+ `copilot.svg` and `doubao.svg` come from dsh-chat-import 0.26.3, under the same MIT license. Both Copilot sources share the Copilot icon.
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><path d="M12 3.2 2.6 21.9h3.2l2.03-4.1h8.34l2.03 4.1h3.2L12 3.2zm0 4.6 2.72 5.5H9.28L12 7.8z" fill="#1A73E8"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><path d="M12 3.2 2.6 21.9h3.2l2.03-4.1h8.34l2.03 4.1h3.2L12 3.2zm0 4.6 2.72 5.5H9.28L12 7.8z" fill="#1A73E8"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#0E1116">Cl</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#0E1116">Cl</text></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="15" font-weight="700" letter-spacing="-0.02em" fill="#0E1116">C</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="15" font-weight="700" letter-spacing="-0.02em" fill="#0E1116">C</text></svg>
@@ -0,0 +1,27 @@
1
+ <!--
2
+ Source: @lobehub/icons-static-svg 1.98.0, icons/githubcopilot.svg.
3
+ https://github.com/lobehub/lobe-icons (MIT)
4
+
5
+ MIT License
6
+
7
+ Copyright (c) 2023 LobeHub
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+ -->
27
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><title>Copilot VS Code</title><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><g fill="#0E1116" fill-rule="evenodd"><path d="M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"></path></g></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#5A56E0">Cr</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#5A56E0">Cr</text></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="11" font-weight="700" letter-spacing="-0.02em" fill="#1E6FFF">Db</text></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#111216">Go</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#111216">Go</text></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="10.5" font-weight="700" letter-spacing="-0.03em" fill="#64748B">omp</text></svg>
@@ -1,6 +1,6 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="245 70 235 245" width="48" height="48"><g fill="#0153e5" transform="translate(362.5 192.5) scale(0.85) translate(-362.5 -192.5)">
2
- <path d="M369.75,185.3c2.09,1.76,4.98,2.41,7.95,1.06,1.18-.54,1.96-1.91,1.47-3.25-3.92-10.71-14.97-18.54-19.38-12.48-.54.74-.52,1.7-.11,2.29.32.47.97.57,1.82.4,2.68-.56,6.02,1.31,5.7,4.3-.33,3.12.3,5.79,2.56,7.69Z"/>
3
- <path d="M434.28,204.78c10.12-11.32,16.46-25.01,18.67-40.07,5.04-32.93-11.31-63.01-42.11-75.75-10.83-4.35-21.95-6.2-33.76-6.09l-114.5.03v219.42s56.29-.04,56.29-.04v-77.17c-1.86-.69-3.15-1.27-3.15-1.27-12.24-5.59-21.6-15.29-26.74-27.44-6.56-15.51-4.54-32.9,5.78-46.12,10.28-12.84,24.31-16.92,40.41-14.67,5.95.83,12.3-6.15,24.4-4.81.81.09,1.63.7,1.71,1.18.28,1.65-4.4,2.54-4.4,7.05,0,1.9.85,4.1,2.65,5.36,6.17,4.33,11.51,9.19,17.1,14.22,2.72,2.44,11.93,9.31,14.27,3.72,1.37-3.26,2.27-6.68,3.18-10.15.45-1.72-.5-2.74-1.89-3.56-9.5-5.63-13.08-17.35-9.37-27.74.36-1,1.29-1.49,2.08-1.52,3.19-.14,1.49,5.78,9.38,8.21,7.49,2.31,7.71,8.53,11.35,6.05,8.48-5.78,11.54-1.05,19.41-8.46.81-.76,2.2-.82,3.04-.23.52.36.97,1.29.93,2.38-.23,6.26-2.67,12.24-6.95,16.84-8.09,8.69-14.89,4.53-15.33,10.62-1.29,17.86-7.13,35.69-19.81,48.66-.41.42-.65,1.01-.58,1.41.07.42.57.83,1.12,1.01l10.68,3.63c1.51.51,2.6,1.87,2.41,3.31-.17,1.26-1.17,2.37-2.61,2.85-7.84,2.59-16.26,2.14-24.24-.27-10.56,8.89-23.54,13.48-37.68,12.93l20.53,28.34,33.49,45.73,66.85-.09-56.68-76.53c13.19-3.89,24.78-10.87,34.07-20.94Z"/>
4
- <circle cx="362.14" cy="177.19" r="1.58"/>
5
- <path d="M300.31,167.85c-3.53.43-5.65,2.96-5.31,6.74,2.39,26.35,26.7,47.92,53.94,42.72,5.8-1.11,11.08-3.41,15.36-7.74-9.27-7.98-13.79-16.12-21.41-24.13-10.91-11.47-26.43-19.54-42.58-17.59Z"/>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="245 70 235 245" width="48" height="48"><g fill="#0153e5" transform="translate(362.5 192.5) scale(0.85) translate(-362.5 -192.5)">
2
+ <path d="M369.75,185.3c2.09,1.76,4.98,2.41,7.95,1.06,1.18-.54,1.96-1.91,1.47-3.25-3.92-10.71-14.97-18.54-19.38-12.48-.54.74-.52,1.7-.11,2.29.32.47.97.57,1.82.4,2.68-.56,6.02,1.31,5.7,4.3-.33,3.12.3,5.79,2.56,7.69Z"/>
3
+ <path d="M434.28,204.78c10.12-11.32,16.46-25.01,18.67-40.07,5.04-32.93-11.31-63.01-42.11-75.75-10.83-4.35-21.95-6.2-33.76-6.09l-114.5.03v219.42s56.29-.04,56.29-.04v-77.17c-1.86-.69-3.15-1.27-3.15-1.27-12.24-5.59-21.6-15.29-26.74-27.44-6.56-15.51-4.54-32.9,5.78-46.12,10.28-12.84,24.31-16.92,40.41-14.67,5.95.83,12.3-6.15,24.4-4.81.81.09,1.63.7,1.71,1.18.28,1.65-4.4,2.54-4.4,7.05,0,1.9.85,4.1,2.65,5.36,6.17,4.33,11.51,9.19,17.1,14.22,2.72,2.44,11.93,9.31,14.27,3.72,1.37-3.26,2.27-6.68,3.18-10.15.45-1.72-.5-2.74-1.89-3.56-9.5-5.63-13.08-17.35-9.37-27.74.36-1,1.29-1.49,2.08-1.52,3.19-.14,1.49,5.78,9.38,8.21,7.49,2.31,7.71,8.53,11.35,6.05,8.48-5.78,11.54-1.05,19.41-8.46.81-.76,2.2-.82,3.04-.23.52.36.97,1.29.93,2.38-.23,6.26-2.67,12.24-6.95,16.84-8.09,8.69-14.89,4.53-15.33,10.62-1.29,17.86-7.13,35.69-19.81,48.66-.41.42-.65,1.01-.58,1.41.07.42.57.83,1.12,1.01l10.68,3.63c1.51.51,2.6,1.87,2.41,3.31-.17,1.26-1.17,2.37-2.61,2.85-7.84,2.59-16.26,2.14-24.24-.27-10.56,8.89-23.54,13.48-37.68,12.93l20.53,28.34,33.49,45.73,66.85-.09-56.68-76.53c13.19-3.89,24.78-10.87,34.07-20.94Z"/>
4
+ <circle cx="362.14" cy="177.19" r="1.58"/>
5
+ <path d="M300.31,167.85c-3.53.43-5.65,2.96-5.31,6.74,2.39,26.35,26.7,47.92,53.94,42.72,5.8-1.11,11.08-3.41,15.36-7.74-9.27-7.98-13.79-16.12-21.41-24.13-10.91-11.47-26.43-19.54-42.58-17.59Z"/>
6
6
  </g></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="12" font-weight="700" letter-spacing="-0.02em" fill="#0B57D0">TA</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="12" font-weight="700" letter-spacing="-0.02em" fill="#0B57D0">TA</text></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="11" font-weight="700" letter-spacing="-0.02em" fill="#3B82F6">Tr</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="11" font-weight="700" letter-spacing="-0.02em" fill="#3B82F6">Tr</text></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="11" font-weight="700" letter-spacing="-0.02em" fill="#F97316">Vi</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="11" font-weight="700" letter-spacing="-0.02em" fill="#F97316">Vi</text></svg>
@@ -1,37 +1,37 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 280" width="48" height="48">
2
- <g clip-path="url(#clip0_744_3208)">
3
- <rect width="280" height="280" rx="60.4211" fill="url(#paint0_linear_744_3208)"/>
4
- <g filter="url(#filter0_f_744_3208)">
5
- <circle cx="88.2504" cy="244.86" r="98.5668" fill="#32E6B9" fill-opacity="0.4"/>
6
- </g>
7
- <g filter="url(#filter1_f_744_3208)">
8
- <circle cx="223.384" cy="290.328" r="90.0931" fill="#FFE355" fill-opacity="0.49"/>
9
- </g>
10
- <path fill-rule="evenodd" clip-rule="evenodd" d="M204.15 6.89352C206.896 4.43111 207.061 4.33611 209.074 4.21524C212.336 3.97692 215.324 5.54248 220.41 10.1729C232.291 20.9692 248.834 43.1654 259.119 62.1205L263.093 69.4768L268.707 72.2672C274.126 75.0055 283.015 80.6198 286.728 83.6308C288.407 85.0191 288.642 85.0483 290.388 84.3692C298.267 81.3008 309.553 85.3675 319.508 94.9178C328.47 103.507 337.052 118.181 340.34 130.429C340.82 132.4 341.458 136.638 341.69 139.794C342.44 150.876 338.886 159.726 332.042 163.733C330.644 164.54 330.551 164.759 330.59 168.245C330.905 184.841 326.432 201.406 317.445 217.561C307.301 235.7 289.238 254.464 264.791 272.142C251.663 281.695 220.604 299.792 206.561 306.145C172.92 321.29 145.952 327.1 122.527 324.23C108.554 322.537 92.7397 317.083 83.3819 310.752C80.9182 309.049 80.5286 308.944 78.6462 309.483C68.6285 312.36 55.5086 306.447 44.3628 294.075C39.9174 289.129 32.743 276.986 30.417 270.488C25.0365 255.281 26.1061 241.558 33.273 233.363C35.1245 231.252 35.1835 231.163 34.7791 227.614C34.1112 221.804 33.808 213.206 34.1131 207.656L34.3541 202.472L26.5713 188.706C14.5194 167.262 6.8648 149.255 3.91152 135.497C2.35249 127.954 2.44923 124.607 4.36401 122.131C5.52945 120.635 9.35191 119.087 13.9599 118.236C25.5602 116.199 50.8596 118.043 79.0059 123.012L81.9295 123.517L88.3537 117.834C99.0194 108.386 106.105 103.089 119.168 94.9439C132.783 86.4254 148.148 79.4181 165.452 73.8693L171.004 72.09L174.054 64.0775C184.981 35.233 196.172 13.9675 204.15 6.89352ZM112.625 154.702C100.275 161.832 94.0999 165.397 89.5627 169.393C71.1894 185.572 64.3228 211.198 72.145 234.396C74.0767 240.125 77.642 246.3 84.7719 258.65C91.9018 270.999 95.4667 277.173 99.4619 281.711C115.641 300.084 141.267 306.95 164.466 299.128C170.194 297.197 176.369 293.631 188.719 286.501L259.76 245.486C272.109 238.356 278.284 234.791 282.821 230.796C301.194 214.617 308.061 188.99 300.239 165.792C298.307 160.063 294.742 153.889 287.612 141.54C280.482 129.19 276.917 123.015 272.922 118.478C256.743 100.104 231.116 93.2378 207.918 101.06C202.19 102.992 196.015 106.557 183.666 113.687L112.625 154.702Z" fill="url(#paint1_linear_744_3208)"/>
11
- <rect x="119.473" y="204.341" width="28.0633" height="58.2852" rx="14.0316" transform="rotate(-30 119.473 204.341)" fill="white"/>
12
- <rect x="195.186" y="160.627" width="28.0633" height="58.2852" rx="14.0316" transform="rotate(-30 195.186 160.627)" fill="white"/>
13
- </g>
14
- <defs>
15
- <filter id="filter0_f_744_3208" x="-104.414" y="52.1958" width="385.327" height="385.328" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
16
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
17
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
18
- <feGaussianBlur stdDeviation="47.0486" result="effect1_foregroundBlur_744_3208"/>
19
- </filter>
20
- <filter id="filter1_f_744_3208" x="56.2884" y="123.233" width="334.191" height="334.192" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
21
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
22
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
23
- <feGaussianBlur stdDeviation="38.5013" result="effect1_foregroundBlur_744_3208"/>
24
- </filter>
25
- <linearGradient id="paint0_linear_744_3208" x1="140" y1="0" x2="140" y2="280" gradientUnits="userSpaceOnUse">
26
- <stop stop-color="#0EC8A9"/>
27
- <stop offset="1" stop-color="#01C886"/>
28
- </linearGradient>
29
- <linearGradient id="paint1_linear_744_3208" x1="106.647" y1="62.5482" x2="237.632" y2="289.42" gradientUnits="userSpaceOnUse">
30
- <stop stop-color="white" stop-opacity="0.8"/>
31
- <stop offset="0.437689" stop-color="white"/>
32
- </linearGradient>
33
- <clipPath id="clip0_744_3208">
34
- <rect width="280" height="280" rx="60.4211" fill="white"/>
35
- </clipPath>
36
- </defs>
37
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 280" width="48" height="48">
2
+ <g clip-path="url(#clip0_744_3208)">
3
+ <rect width="280" height="280" rx="60.4211" fill="url(#paint0_linear_744_3208)"/>
4
+ <g filter="url(#filter0_f_744_3208)">
5
+ <circle cx="88.2504" cy="244.86" r="98.5668" fill="#32E6B9" fill-opacity="0.4"/>
6
+ </g>
7
+ <g filter="url(#filter1_f_744_3208)">
8
+ <circle cx="223.384" cy="290.328" r="90.0931" fill="#FFE355" fill-opacity="0.49"/>
9
+ </g>
10
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M204.15 6.89352C206.896 4.43111 207.061 4.33611 209.074 4.21524C212.336 3.97692 215.324 5.54248 220.41 10.1729C232.291 20.9692 248.834 43.1654 259.119 62.1205L263.093 69.4768L268.707 72.2672C274.126 75.0055 283.015 80.6198 286.728 83.6308C288.407 85.0191 288.642 85.0483 290.388 84.3692C298.267 81.3008 309.553 85.3675 319.508 94.9178C328.47 103.507 337.052 118.181 340.34 130.429C340.82 132.4 341.458 136.638 341.69 139.794C342.44 150.876 338.886 159.726 332.042 163.733C330.644 164.54 330.551 164.759 330.59 168.245C330.905 184.841 326.432 201.406 317.445 217.561C307.301 235.7 289.238 254.464 264.791 272.142C251.663 281.695 220.604 299.792 206.561 306.145C172.92 321.29 145.952 327.1 122.527 324.23C108.554 322.537 92.7397 317.083 83.3819 310.752C80.9182 309.049 80.5286 308.944 78.6462 309.483C68.6285 312.36 55.5086 306.447 44.3628 294.075C39.9174 289.129 32.743 276.986 30.417 270.488C25.0365 255.281 26.1061 241.558 33.273 233.363C35.1245 231.252 35.1835 231.163 34.7791 227.614C34.1112 221.804 33.808 213.206 34.1131 207.656L34.3541 202.472L26.5713 188.706C14.5194 167.262 6.8648 149.255 3.91152 135.497C2.35249 127.954 2.44923 124.607 4.36401 122.131C5.52945 120.635 9.35191 119.087 13.9599 118.236C25.5602 116.199 50.8596 118.043 79.0059 123.012L81.9295 123.517L88.3537 117.834C99.0194 108.386 106.105 103.089 119.168 94.9439C132.783 86.4254 148.148 79.4181 165.452 73.8693L171.004 72.09L174.054 64.0775C184.981 35.233 196.172 13.9675 204.15 6.89352ZM112.625 154.702C100.275 161.832 94.0999 165.397 89.5627 169.393C71.1894 185.572 64.3228 211.198 72.145 234.396C74.0767 240.125 77.642 246.3 84.7719 258.65C91.9018 270.999 95.4667 277.173 99.4619 281.711C115.641 300.084 141.267 306.95 164.466 299.128C170.194 297.197 176.369 293.631 188.719 286.501L259.76 245.486C272.109 238.356 278.284 234.791 282.821 230.796C301.194 214.617 308.061 188.99 300.239 165.792C298.307 160.063 294.742 153.889 287.612 141.54C280.482 129.19 276.917 123.015 272.922 118.478C256.743 100.104 231.116 93.2378 207.918 101.06C202.19 102.992 196.015 106.557 183.666 113.687L112.625 154.702Z" fill="url(#paint1_linear_744_3208)"/>
11
+ <rect x="119.473" y="204.341" width="28.0633" height="58.2852" rx="14.0316" transform="rotate(-30 119.473 204.341)" fill="white"/>
12
+ <rect x="195.186" y="160.627" width="28.0633" height="58.2852" rx="14.0316" transform="rotate(-30 195.186 160.627)" fill="white"/>
13
+ </g>
14
+ <defs>
15
+ <filter id="filter0_f_744_3208" x="-104.414" y="52.1958" width="385.327" height="385.328" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
16
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
17
+ <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
18
+ <feGaussianBlur stdDeviation="47.0486" result="effect1_foregroundBlur_744_3208"/>
19
+ </filter>
20
+ <filter id="filter1_f_744_3208" x="56.2884" y="123.233" width="334.191" height="334.192" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
21
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
22
+ <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
23
+ <feGaussianBlur stdDeviation="38.5013" result="effect1_foregroundBlur_744_3208"/>
24
+ </filter>
25
+ <linearGradient id="paint0_linear_744_3208" x1="140" y1="0" x2="140" y2="280" gradientUnits="userSpaceOnUse">
26
+ <stop stop-color="#0EC8A9"/>
27
+ <stop offset="1" stop-color="#01C886"/>
28
+ </linearGradient>
29
+ <linearGradient id="paint1_linear_744_3208" x1="106.647" y1="62.5482" x2="237.632" y2="289.42" gradientUnits="userSpaceOnUse">
30
+ <stop stop-color="white" stop-opacity="0.8"/>
31
+ <stop offset="0.437689" stop-color="white"/>
32
+ </linearGradient>
33
+ <clipPath id="clip0_744_3208">
34
+ <rect width="280" height="280" rx="60.4211" fill="white"/>
35
+ </clipPath>
36
+ </defs>
37
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#111216">Ze</text></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#111216">Ze</text></svg>
@@ -2,6 +2,7 @@ import { readFile } from 'node:fs/promises';
2
2
  import { resolveLocalPlugins } from "./local-plugins.js";
3
3
  import { compareVersions } from "./update.js";
4
4
  const PACKAGE = 'dsh-chat-import';
5
+ const MIN_VERSION = '0.26.3';
5
6
  export const CHAT_IMPORT_APIS = ['scanDiscover', 'importPath', 'resumeSummary'];
6
7
  const installations = new WeakMap();
7
8
  function installation(ctx) {
@@ -36,10 +37,12 @@ export async function chatImportCompatibility(ctx) {
36
37
  const missing = missingChatImportApis(ctx.get('chatImport'));
37
38
  const operation = installation(ctx);
38
39
  const manager = ctx.get('pluginManager');
40
+ const outdated = Boolean(installed?.version && compareVersions(installed.version, MIN_VERSION) < 0);
41
+ const incompatible = missing.length > 0 || outdated;
39
42
  return {
40
- state: operation.pending ? 'installing' : operation.restart ? 'restart-required' : !missing.length ? 'ready' : disabled ? 'disabled' : installed?.status === 'live' ? 'incompatible' : 'unavailable',
43
+ state: operation.pending ? 'installing' : operation.restart ? 'restart-required' : disabled ? 'disabled' : !incompatible ? 'ready' : installed?.status === 'live' ? 'incompatible' : 'unavailable',
41
44
  version: installed?.version ?? '', missing,
42
- canUpgrade: Boolean(manager) && !disabled && missing.length > 0 && !operation.pending && !operation.restart,
45
+ canUpgrade: Boolean(manager) && !disabled && incompatible && !operation.pending && !operation.restart,
43
46
  ...(operation.error ? { error: operation.error } : !manager && missing.length ? { error: 'DSH Plugin Manager is unavailable. Install Chat Import through DSH or upgrade DSH.' } : {}),
44
47
  };
45
48
  }
@@ -50,8 +53,8 @@ export async function chatImportUpgradeTarget(signal) {
50
53
  const latest = await response.json();
51
54
  if (latest.name !== PACKAGE || !latest.version || !/^\d+\.\d+\.\d+$/.test(latest.version))
52
55
  throw new Error('Invalid Chat Import registry response');
53
- if (compareVersions(latest.version, '0.26.1') < 0)
54
- throw new Error('dsh-chat-import 0.26.1 or newer is required; no compatible npm release is available.');
56
+ if (compareVersions(latest.version, MIN_VERSION) < 0)
57
+ throw new Error(`dsh-chat-import ${MIN_VERSION} or newer is required; no compatible npm release is available.`);
55
58
  return { spec: `${PACKAGE}@${latest.version}`, version: latest.version };
56
59
  }
57
60
  /** Auto-install only absent providers; explicit requests can upgrade incompatible providers. */
@@ -61,7 +64,7 @@ export function ensureChatImport(ctx, upgrade = false, signal) {
61
64
  return operation.pending;
62
65
  operation.pending = (async () => {
63
66
  const current = await provider(ctx);
64
- if (current.disabled || operation.restart || (!upgrade && current.present) || !missingChatImportApis(ctx.get('chatImport')).length)
67
+ if (current.disabled || operation.restart || (!upgrade && (current.present || !missingChatImportApis(ctx.get('chatImport')).length)))
65
68
  return;
66
69
  const manager = ctx.get('pluginManager');
67
70
  if (!manager)