@dsh-workbench/core 0.1.14 → 0.1.15

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 (42) hide show
  1. package/bin/dsh-workbench +16 -0
  2. package/client.js +163 -89
  3. package/cordis.patch.yml +18 -0
  4. package/dist/client/client.body.js +163 -89
  5. package/dist/client/index.js +163 -89
  6. package/dist/host/index.js +1300 -93
  7. package/dist/types/app/__tests__/workbench-styles.test.d.ts +1 -0
  8. package/dist/types/app/client.d.ts +39 -15
  9. package/dist/types/app/layouts/rightbar/board-columns.d.ts +8 -0
  10. package/dist/types/app/layouts/rightbar/board-columns.test.d.ts +1 -0
  11. package/dist/types/app/layouts/rightbar/market-rows.d.ts +2 -0
  12. package/dist/types/app/layouts/workbench-styles.d.ts +2 -0
  13. package/dist/types/modules/panels/__tests__/diy-harness.d.ts +51 -0
  14. package/dist/types/modules/panels/__tests__/diy-tools-status.test.d.ts +1 -0
  15. package/dist/types/modules/panels/__tests__/diy-tools.test.d.ts +1 -0
  16. package/dist/types/modules/panels/model/diy-tools.d.ts +4 -0
  17. package/dist/types/modules/panels/unit.d.ts +1 -0
  18. package/dist/types/shared/api/bundle-install.d.ts +1 -0
  19. package/dist/types/shared/api/host/diy-facts.d.ts +9 -0
  20. package/dist/types/shared/api/host/diy-facts.test.d.ts +1 -0
  21. package/dist/types/shared/api/host/diy-recon-fs.d.ts +3 -0
  22. package/dist/types/shared/api/host/diy-recon-fs.test.d.ts +1 -0
  23. package/dist/types/shared/api/host/diy-recon.d.ts +39 -0
  24. package/dist/types/shared/api/host/diy-recon.test.d.ts +1 -0
  25. package/dist/types/shared/api/host/diy-workshop.d.ts +12 -0
  26. package/dist/types/shared/api/host/diy-workshop.test.d.ts +1 -0
  27. package/dist/types/shared/api/host/installed-module.d.ts +2 -0
  28. package/dist/types/shared/api/host/opencli-command.d.ts +10 -0
  29. package/dist/types/shared/api/host/opencli-command.test.d.ts +1 -0
  30. package/package.json +2 -3
  31. package/scripts/seed-profile.sh +4 -113
  32. package/skills/workbench-module-diy/BUILD.md +36 -66
  33. package/skills/workbench-module-diy/DATASOURCE.md +80 -12
  34. package/skills/workbench-module-diy/DESIGN.md +27 -2
  35. package/skills/workbench-module-diy/LINKAGE.md +49 -19
  36. package/skills/workbench-module-diy/PANEL.md +78 -4
  37. package/skills/workbench-module-diy/REVIEW.md +6 -5
  38. package/skills/workbench-module-diy/SKILL.md +32 -12
  39. package/skills/workbench-module-diy/STEPS.md +4 -0
  40. package/skills/workbench-module-diy/TOOLING.md +47 -0
  41. package/skills/workbench-module-diy/TOOLS.md +147 -5
  42. package/skills/workbench-module-diy/WIRING.md +88 -0
package/cordis.patch.yml CHANGED
@@ -43,6 +43,24 @@
43
43
  root:
44
44
  - !!js process.env.DSH_WORKBENCH_ROOT ?? '.'
45
45
  - !!js dshHomePath('workbench/diy')
46
+ # ★ followSymlinks: false(2026-10-11 实测:这就是"改了没反应、而且不报错"的根因)
47
+ #
48
+ # 两个根底下的 `node_modules/@dsh-workbench/*` 是一串**互相指向**的软链
49
+ # (工坊 → core → 本仓 packages/workbench → 它自己的 node_modules/@dsh-workbench/shared → …)。
50
+ # 默认跟随软链时 chokidar 会一路走进去,而默认的 `ignored: ['**/node_modules', …]` 在
51
+ # **根之外的路径**上根本不生效:chokidar 传给 ignored 的是 `relative(baseDir, path)`,
52
+ # 根在 baseDir 之外时它长这样 —— `../../../../.dsh/workbench/diy/node_modules/…`,
53
+ # 而 picomatch 的 `**` **不匹配 `..` 这种点段**,于是没有任何剪枝。结果是 fd 用光:
54
+ # Error: EMFILE: too many open files, watch '…/@dsh-workbench/core/node_modules/…/vitest/…'
55
+ # 监听器当场报错退出(错误只落到宿主日志里),**之后一个 change 事件都收不到**。
56
+ #
57
+ # 关掉跟随软链之后(实测用同一份 chokidar + picomatch 复现):监听器活着,
58
+ # 工坊里 `packages/<模块>/dist/host.js` 的原地改动照常报出来,而且
59
+ # canonicalPath(事件) == require.resolve('@dsh-workbench/module-<unit>') == 加载器记的入口 ✓,
60
+ # 于是 dsh-hmr 那条"入口文件精确匹配"的分支能对上、模块真的会热换。
61
+ #
62
+ # schemastery 的 Config 不吞未知键(已实测),所以这个选项会原样传进 chokidar。
63
+ followSymlinks: false
46
64
 
47
65
  - insert:
48
66
  - id: workbench