@dsh-workbench/core 1.1.4 → 1.1.6

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 (48) hide show
  1. package/client.js +1298 -510
  2. package/dist/client/client.body.js +1298 -510
  3. package/dist/client/index.js +1160 -372
  4. package/dist/host/index.js +1151 -255
  5. package/dist/types/app/layouts/approval-detail.d.ts +6 -3
  6. package/dist/types/app/layouts/market/add-module-registry-prefs.d.ts +11 -0
  7. package/dist/types/app/layouts/market/market-check.d.ts +10 -1
  8. package/dist/types/app/layouts/market/market-header.d.ts +3 -1
  9. package/dist/types/app/layouts/market/section-check.d.ts +12 -0
  10. package/dist/types/app/layouts/market/use-market-reload.d.ts +14 -0
  11. package/dist/types/app/layouts/market/use-module-versions.d.ts +20 -4
  12. package/dist/types/app/layouts/rightbar/AskAgentButton.d.ts +6 -0
  13. package/dist/types/app/layouts/rightbar/FailureCard.d.ts +8 -0
  14. package/dist/types/app/layouts/rightbar/MarketView.d.ts +6 -3
  15. package/dist/types/app/layouts/rightbar/SharedSection.d.ts +5 -2
  16. package/dist/types/app/layouts/rightbar/failure-card-text.d.ts +20 -0
  17. package/dist/types/app/layouts/rightbar/market-act.d.ts +2 -5
  18. package/dist/types/app/layouts/rightbar/market-change.d.ts +1 -0
  19. package/dist/types/app/layouts/rightbar/market-hint.d.ts +2 -0
  20. package/dist/types/app/layouts/rightbar/market-install.d.ts +11 -0
  21. package/dist/types/app/layouts/rightbar/market-row-types.d.ts +9 -1
  22. package/dist/types/app/layouts/rightbar/market-rows.d.ts +14 -1
  23. package/dist/types/app/layouts/rightbar/market-section.d.ts +5 -3
  24. package/dist/types/app/layouts/rightbar/market-transient-state.d.ts +3 -8
  25. package/dist/types/app/layouts/rightbar/market-uninstall.d.ts +10 -0
  26. package/dist/types/app/layouts/rightbar/market-update-verdict.d.ts +2 -0
  27. package/dist/types/app/layouts/rightbar/market-view-text.d.ts +2 -0
  28. package/dist/types/kernel/client/registry.d.ts +1 -0
  29. package/dist/types/kernel/contract/bundle-install.d.ts +1 -1
  30. package/dist/types/kernel/contract/market-index.d.ts +1 -1
  31. package/dist/types/modules/panels/model/market-env.d.ts +2 -2
  32. package/dist/types/modules/panels/model/market-install-error.d.ts +3 -0
  33. package/dist/types/modules/panels/model/market-install-error.test.d.ts +1 -0
  34. package/dist/types/modules/panels/model/market-registry.d.ts +2 -1
  35. package/dist/types/modules/panels/model/market-remove.d.ts +13 -0
  36. package/dist/types/modules/panels/model/market-remove.test.d.ts +1 -0
  37. package/dist/types/modules/panels/model/market-route.d.ts +1 -1
  38. package/dist/types/modules/panels/model/market-swap-stuck.d.ts +20 -0
  39. package/dist/types/modules/panels/model/market-swap-stuck.test.d.ts +1 -0
  40. package/dist/types/modules/panels/model/market-types.d.ts +3 -0
  41. package/dist/types/modules/panels/model/market-update-bundle.d.ts +5 -0
  42. package/dist/types/modules/panels/model/market.d.ts +1 -0
  43. package/dist/types/modules/panels/model/plugin-actions.d.ts +1 -1
  44. package/dist/types/shared/api/host/self-update-marker.d.ts +5 -0
  45. package/dist/types/shared/api/host/self-update-marker.test.d.ts +1 -0
  46. package/package.json +3 -3
  47. package/skills/workbench-module-diy/TOOLS.md +11 -2
  48. package/skills/workbench-module-diy/WIRING.md +2 -1
@@ -108,18 +108,27 @@
108
108
  ]
109
109
  },
110
110
  { "kind": "lib", "name": "opencli-workflow", "purpose": "发布编排" },
111
- { "kind": "bin", "name": "acme", "purpose": "平台命令" },
111
+ {
112
+ "kind": "bin",
113
+ "name": "acme",
114
+ "purpose": "平台命令",
115
+ "install": { "kind": "command", "line": "brew install acme/tap/cli", "platforms": ["darwin"] },
116
+ "docs": "https://internal/acme-cli"
117
+ },
112
118
  { "kind": "env", "name": "ACME_TOKEN", "purpose": "访问令牌", "secret": true }
113
119
  ]
114
120
  ```
115
121
 
116
122
  - `sources` 按顺序试(本地 → 私有 → 公共)。没写 `sources` 就是「我自己装,你只帮我判」——外壳只探不代装。
123
+ - `bin` 想让人一键装,就写 `install.line`(一条能直接粘进终端的命令,`platforms` 可限定平台);
124
+ 不写就只显示「缺这条命令」,按钮都不会有。`docs` 是给人和 agent 看的补充链接。
117
125
  - `extension` 的 `sources[].kind` 只有 `npm` / `git` / `local`;`lib` 只认 `npm`。
118
126
  未知 `kind` 或 `source.kind` 判红;need 里未知字段只警告,`x-` 前缀忽略。
119
127
  - 未装好文案由模块写:`libInstallCommand({ need, source })`(`@dsh-workbench/shared/host`)拼好源与缓存目录,
120
128
  原样输出;放进失败态。
121
129
  - `contracts` 判据:`apiVersion` 必须是 3;`needs` 走同一份 `NEED_KINDS` 注册表校验(`purpose` 必填、
122
- `bin`/`env` 不许带 `sources`、`lib` 只认 npm 源);声明了 `lib` 必须用 `libInstallCommand`。
130
+ `bin`/`env` 不许带 `sources`(`bin` 要代装就写 `install`)、`lib` 只认 npm 源);
131
+ 声明了 `lib` 必须用 `libInstallCommand`。
123
132
  未知 `runtime` 不判红:探针会给「这个运行时工作台还不认识」的 `unchecked`,等运行时 provider 补上。
124
133
 
125
134
  ## 9 长任务
@@ -70,9 +70,10 @@ DIY 族仅在选了 DIY 模式的会话出现(按模式,不按工作区)
70
70
  索引源跟当前选中无关:只有一个可发布源就用它;有多个时传 `source=<id>`(`workbench_market_sources` 会给)。
71
71
  用户要换署名(或在审批屏上说作者不对):传 `author="姓名 <邮箱>"`(或只给姓名),别手改 `package.json`,也别自己编。
72
72
  没写作者时审批屏显示推断的署名;他拒绝后说换成谁,再用 `author` 重发。
73
- 市场里一个包名归第一次发布的人(`market.json` 的 `owner`):换署名发同名会被拒,审批也放不过去;
73
+ 市场里一个包名归第一次发布的人(`market/<包名>/` 条目里的 `owner`):换署名发同名会被拒,审批也放不过去;
74
74
  用户真是接手的人,让他先找索引维护者改那一条的 `owner`,别自己改成对方的署名去绕。
75
75
  一个模块 id(`dsh.workbench.unit`)在同一个市场里只能有一个条目:换包名、沿用旧 unit 会被拒 ——
76
76
  换包名时把 unit 也换掉,别为了保留 id 去改别人的条目。
77
77
  2. 工具回 `needsUser` 时照 `text` 转述,不在对话里要 token / OTP;`otp` 交接后 `verify=true` 只核不发。
78
78
  3. 只改市集元数据(标题 / 作者 / 说明)不升版本:`refresh=true`(换作者时同时传 `author`,仍要过 `owner` 检查)。
79
+ 发布新版本不会改这些元数据(工具沿用远端条目当前的值),别指望发一版顺手把标题改掉。