ygc-dsh-sync 1.3.1 → 1.3.3

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 (3) hide show
  1. package/README.md +8 -6
  2. package/client.js +14 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -123,7 +123,7 @@ curl -X POST http://127.0.0.1:<PORT>/api/local/dsh-sync-backup/attach/repair \
123
123
 
124
124
  样式只用 `--dsw-alias-*` 主题令牌,跟随明暗模式。
125
125
 
126
- ## 技能共享与优化(1.3.0)
126
+ ## 技能共享与优化(1.3.x)
127
127
 
128
128
  **母版功能已取消。** 技能不再有「外部母版目录」这一层:来源只有两处——本机特征文件夹里的备份、别人特征文件夹里的备份。老的 `masterRoot` 配置会在读取 state 时被删掉,残留的老路由(`/skills/pull`、`/skills/push`、`/skills/mode`、`/skills/changelog`、`/skills/list`)一并下线。
129
129
 
@@ -251,23 +251,25 @@ curl -X POST http://127.0.0.1:<PORT>/api/local/dsh-sync-backup/attach/repair \
251
251
  | POST | `/skills/scope/set` | 人工改归属(`name`、`scope`) |
252
252
  | POST | `/skills/config` | 开关、间隔、learn / autoApply / 每轮条数 |
253
253
 
254
- 1.3.0 下线:`/skills/pull`、`/skills/push`、`/skills/mode`、`/skills/changelog`、`/skills/list`(母版功能的入口)。
254
+ 1.3.x 下线:`/skills/pull`、`/skills/push`、`/skills/mode`、`/skills/changelog`、`/skills/list`(母版功能的入口)。
255
255
 
256
256
  ## 测试
257
257
 
258
- 旧套件里与母版相关的部分(`skills.test.mjs`、`skills-api.test.mjs`、`mode*.test.mjs`、`changelog*.test.mjs`)随 1.3.0 一并作废:那些端点已经下线,留着只会一直红。
258
+ 旧套件里与母版相关的部分(`skills.test.mjs`、`skills-api.test.mjs`、`mode*.test.mjs`、`changelog*.test.mjs`)随 1.3.x 一并作废:那些端点已经下线,留着只会一直红。
259
259
 
260
- 1.3.0 的验收走三个脚本,全部落在临时目录,不碰真实技能库与真实 state:
260
+ 1.3.x 的验收走这五个脚本,全部落在临时目录,不碰真实技能库与真实 state:
261
261
 
262
262
  ```bash
263
263
  # 端到端:归属判定 → 备份 → 拉缺失 → 同名不覆盖 → 体检 → 优化出草稿 → 批准落地 → 幂等
264
- node test/01-skill-share.e2e.mjs # 36 项断言
264
+ node test/01-skill-share.e2e.mjs # 39 项断言
265
265
 
266
266
  # 冒烟:伪造 ctx 加载 index.js,走真实 HTTP 路由(证明老路由下线、新路由可控)
267
267
  node test/02-routes.smoke.mjs # 23 项断言
268
268
 
269
269
  # 解析:模型回复切分(内层代码块不被当成结束围栏)
270
- node test/03-parse.mjs # 见下
270
+ node test/03-parse.mjs # 模型回复切分:内层代码块不被当成结束围栏
271
+ node test/04-installed.mjs # 已装副本走真实路由(老路由下线、新路由可算)
272
+ node test/05-real-skills.mjs # 真机真技能库跑一次共享(写临时库,不碰真实插件库)
271
273
  ```
272
274
 
273
275
  三条必须成立的硬断言(回归红线):
package/client.js CHANGED
@@ -151,6 +151,20 @@ function makePanel(React) {
151
151
  }
152
152
  }, []);
153
153
 
154
+ // `refresh` 是面板里多处 `await refresh()` 用到的名字。
155
+ // 1.2.x 一直没有定义过它(那些调用全落在 ReferenceError 上,被 catch 吞成
156
+ // 「操作失败」),本机在改这一栏时才发现。这里给它一个明确的实现:
157
+ // 重新拉一次 /state,顺带把待批草稿数与归属摘要刷一遍(都是轻量请求)。
158
+ const refresh = useCallback(async () => {
159
+ await load();
160
+ try {
161
+ const lr = await call('/skills/learning/list', {});
162
+ if (mounted.current) setLearningList(lr.items || []);
163
+ } catch {
164
+ /* 待批草稿读不到不影响主状态 */
165
+ }
166
+ }, [load]);
167
+
154
168
  useEffect(() => {
155
169
  mounted.current = true;
156
170
  load();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ygc-dsh-sync",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "type": "module",
5
5
  "description": "DSH 同步插件:会话按工作区落地、按机器隔离的跨机备份与拉取;技能进特征文件夹(整棵备份 + 说明 + 来源 + 更新时间),跨机只读拉取、同名不覆盖改走学习评估;本机技能优化(精炼 / 精简 / 合并重复 / 补工况 / 补踩坑 / 修死引用);技能市场装的第三方技能不管理、不同步、不优化。母版功能已取消。",
6
6
  "icon": "icon.svg",