dsh-config-manager 0.1.5 → 0.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.
package/README.md CHANGED
@@ -73,7 +73,11 @@ dsh plugin --profile web add dsh-config-manager@latest --config.auto-install-pee
73
73
 
74
74
  > 💡 Just copy-paste the command: `--config.auto-install-peers=false` skips a few DSH core packages that aren't on the public registry yet (the DSH runtime provides them), and `@latest` ensures you get the newest build.
75
75
  >
76
- > 🐛 **`@latest` installed an old version?** pnpm caches registry metadata, so `@latest` may resolve to a stale release. Use an exact version instead: `dsh plugin --profile web add dsh-config-manager@0.1.4 --config.auto-install-peers=false`.
76
+ > 🐛 **`@latest` installed an old version?** That's pnpm 11's `minimumReleaseAge` supply-chain policy, not a cache issue: versions published less than ~30 days ago are excluded from resolution until whitelisted. Install an exact version once (it auto-whitelists, then `@latest` works):
77
+ > ```bash
78
+ > dsh plugin --profile web add dsh-config-manager@0.1.5 --config.auto-install-peers=false
79
+ > ```
80
+ > (Or set `minimumReleaseAge: 0` in the profile's `pnpm-workspace.yaml` to disable the age gate.)
77
81
 
78
82
  ---
79
83
 
package/README.zh-CN.md CHANGED
@@ -73,7 +73,11 @@ dsh plugin --profile web add dsh-config-manager@latest --config.auto-install-pee
73
73
 
74
74
  > 💡 照着复制就行:`--config.auto-install-peers=false` 跳过几个尚未公开发布的 DSH 核心依赖(运行时由 DSH 自己提供),`@latest` 确保装到最新版。
75
75
  >
76
- > 🐛 **`@latest` 装到了旧版?** pnpm 会缓存 registry 元数据,`@latest` 可能解析到过期版本。改用精确版本即可:`dsh plugin --profile web add dsh-config-manager@0.1.4 --config.auto-install-peers=false`。
76
+ > 🐛 **`@latest` 装到了旧版?** 这是 **pnpm 11 `minimumReleaseAge` 供应链发布年龄策略**(不是缓存):发布不足约 30 天的新版本会被排除出版本解析,直到进入白名单。装一次精确版本即可自动白名单,之后 `@latest` 正常:
77
+ > ```bash
78
+ > dsh plugin --profile web add dsh-config-manager@0.1.5 --config.auto-install-peers=false
79
+ > ```
80
+ > (或在 profile 的 `pnpm-workspace.yaml` 加 `minimumReleaseAge: 0` 彻底关闭年龄门槛。)
77
81
 
78
82
  ---
79
83
 
@@ -65,8 +65,20 @@ export class WorkspacesAdapter {
65
65
  const rec = data?.workspaces.find((r) => r.id === ref);
66
66
  if (!rec)
67
67
  return { ok: false, message: `导入数据缺少工作区 ${ref}` };
68
- await ctx.target.workspace.writeRecord(rec);
69
- return { ok: true };
68
+ try {
69
+ await ctx.target.workspace.writeRecord(rec);
70
+ return { ok: true };
71
+ }
72
+ catch (err) {
73
+ // 目标端无法写入(如路径 realpath 失败/目录不存在)→ 非致命警告(§34.17),
74
+ // 不触发整体回滚——否则一个失效路径会拖垮已成功导入的其余配置。
75
+ const msg = err instanceof Error ? err.message : String(err);
76
+ return {
77
+ ok: false,
78
+ warning: true,
79
+ message: `工作区 ${ref} 未能写入:${msg}(需映射路径或先在目标创建目录)`,
80
+ };
81
+ }
70
82
  }
71
83
  async validate(data) {
72
84
  const issues = [];
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/adapters/workspaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/adapters/workspaces.ts"],"names":[],"mappings":"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"}
package/lib/client.d.ts CHANGED
@@ -134,7 +134,8 @@ interface ImportPlan {
134
134
  }
135
135
  interface ExecutedItem {
136
136
  itemId: string;
137
- status: 'ok' | 'skipped' | 'failed';
137
+ /** warning = 未应用但非致命(目标不可达等),不计入失败、不触发回滚 */
138
+ status: 'ok' | 'skipped' | 'warning' | 'failed';
138
139
  message?: string;
139
140
  }
140
141
  interface ImportResult {
package/lib/client.js CHANGED
@@ -328,6 +328,7 @@ function importSectionStats(executed) {
328
328
  section,
329
329
  ok: 0,
330
330
  skipped: 0,
331
+ warned: 0,
331
332
  failed: 0,
332
333
  items: []
333
334
  };
@@ -335,6 +336,7 @@ function importSectionStats(executed) {
335
336
  }
336
337
  if (e.status === "ok") stat.ok += 1;
337
338
  else if (e.status === "skipped") stat.skipped += 1;
339
+ else if (e.status === "warning") stat.warned += 1;
338
340
  else stat.failed += 1;
339
341
  stat.items.push(e);
340
342
  }
@@ -348,9 +350,10 @@ function renderImportReport(result) {
348
350
  const parts = [];
349
351
  if (s.ok > 0) parts.push(`✓ ${s.ok} imported/restored`);
350
352
  if (s.skipped > 0) parts.push(`- ${s.skipped} skipped`);
353
+ if (s.warned > 0) parts.push(`⚠ ${s.warned} need attention`);
351
354
  if (s.failed > 0) parts.push(`✗ ${s.failed} failed`);
352
355
  lines.push(`${s.section}: ${parts.join(" ") || "no changes"}`);
353
- for (const it of s.items) if (it.status === "failed") lines.push(` Reason: ${it.message ?? "未知原因"}`);
356
+ for (const it of s.items) if (it.status === "failed" || it.status === "warning") lines.push(` ${it.status === "failed" ? "Reason" : "Note"}: ${it.message ?? "未知原因"}`);
354
357
  }
355
358
  if (result.missingSecrets.length > 0) lines.push(`Secrets: ⚠ ${result.missingSecrets.length} credentials need to be entered`);
356
359
  if (result.needsRestart) lines.push("Restart required: 插件/MCP 变更将在重启 DSH 后生效");
@@ -559,93 +562,93 @@ if (typeof document !== "undefined" && document.querySelector("style[data-tag=\"
559
562
  document.head.appendChild(tag);
560
563
  }
561
564
  var config_manager_module_css_default = {
562
- "spinnerLabel": "_367UGW_spinnerLabel",
563
- "errorItem": "_367UGW_errorItem",
564
- "groupHeader": "_367UGW_groupHeader",
565
- "formError": "_367UGW_formError",
566
- "conflictHead": "_367UGW_conflictHead",
565
+ "badgeOk": "_367UGW_badgeOk",
566
+ "errorActionLabel": "_367UGW_errorActionLabel",
567
+ "iconButton": "_367UGW_iconButton",
568
+ "errorBanner": "_367UGW_errorBanner",
569
+ "progressPercent": "_367UGW_progressPercent",
570
+ "categoryDesc": "_367UGW_categoryDesc",
571
+ "optionsCard": "_367UGW_optionsCard",
572
+ "categoryItem": "_367UGW_categoryItem",
573
+ "conflictOptions": "_367UGW_conflictOptions",
574
+ "pathOld": "_367UGW_pathOld",
575
+ "dangerButton": "_367UGW_dangerButton",
576
+ "pathNew": "_367UGW_pathNew",
567
577
  "checkboxRow": "_367UGW_checkboxRow",
568
- "input": "_367UGW_input",
578
+ "secretFields": "_367UGW_secretFields",
579
+ "rollbackBox": "_367UGW_rollbackBox",
580
+ "errorTitle": "_367UGW_errorTitle",
581
+ "errorAction": "_367UGW_errorAction",
582
+ "conflictList": "_367UGW_conflictList",
583
+ "warnList": "_367UGW_warnList",
584
+ "formError": "_367UGW_formError",
585
+ "badgeInfo": "_367UGW_badgeInfo",
586
+ "groupHeader": "_367UGW_groupHeader",
569
587
  "conflictId": "_367UGW_conflictId",
570
- "reportText": "_367UGW_reportText",
588
+ "secretsList": "_367UGW_secretsList",
589
+ "viewBody": "_367UGW_viewBody",
590
+ "statRow": "_367UGW_statRow",
591
+ "pathRow": "_367UGW_pathRow",
592
+ "modeHint": "_367UGW_modeHint",
593
+ "spinnerWrap": "_367UGW_spinnerWrap",
594
+ "pathValue": "_367UGW_pathValue",
595
+ "sectionHeader": "_367UGW_sectionHeader",
596
+ "ghostButton": "_367UGW_ghostButton",
571
597
  "card": "_367UGW_card",
572
- "primaryButton": "_367UGW_primaryButton",
598
+ "errorList": "_367UGW_errorList",
599
+ "viewTab": "_367UGW_viewTab",
600
+ "badgeError": "_367UGW_badgeError",
601
+ "reportText": "_367UGW_reportText",
602
+ "dshCmSpin": "_367UGW_dshCmSpin",
573
603
  "categoryName": "_367UGW_categoryName",
574
- "groupCard": "_367UGW_groupCard",
575
- "reportView": "_367UGW_reportView",
576
- "errorReason": "_367UGW_errorReason",
577
- "pathRow": "_367UGW_pathRow",
578
604
  "pathIssueKind": "_367UGW_pathIssueKind",
579
- "empty": "_367UGW_empty",
580
- "pathMappingList": "_367UGW_pathMappingList",
605
+ "progressMeta": "_367UGW_progressMeta",
606
+ "progressBlock": "_367UGW_progressBlock",
607
+ "hint": "_367UGW_hint",
608
+ "sectionSubtitle": "_367UGW_sectionSubtitle",
609
+ "errorReason": "_367UGW_errorReason",
610
+ "sectionTitle": "_367UGW_sectionTitle",
611
+ "errorLine": "_367UGW_errorLine",
612
+ "conflictItem": "_367UGW_conflictItem",
613
+ "progressDetail": "_367UGW_progressDetail",
614
+ "dshCmIndeterminate": "_367UGW_dshCmIndeterminate",
615
+ "progressLabel": "_367UGW_progressLabel",
616
+ "banner": "_367UGW_banner",
617
+ "radioLabel": "_367UGW_radioLabel",
581
618
  "groupNote": "_367UGW_groupNote",
582
- "pathNew": "_367UGW_pathNew",
583
- "sectionBody": "_367UGW_sectionBody",
584
- "dshCmSpin": "_367UGW_dshCmSpin",
585
- "actionRow": "_367UGW_actionRow",
586
- "groupList": "_367UGW_groupList",
587
619
  "progressBarDone": "_367UGW_progressBarDone",
588
- "reportFooter": "_367UGW_reportFooter",
589
620
  "spinner": "_367UGW_spinner",
590
- "groupItems": "_367UGW_groupItems",
591
- "optionsCard": "_367UGW_optionsCard",
592
- "spinnerWrap": "_367UGW_spinnerWrap",
593
- "progressBlock": "_367UGW_progressBlock",
594
- "progressBar": "_367UGW_progressBar",
595
- "dangerButton": "_367UGW_dangerButton",
596
- "hiddenFile": "_367UGW_hiddenFile",
597
- "section": "_367UGW_section",
598
- "badge": "_367UGW_badge",
599
621
  "modeTabs": "_367UGW_modeTabs",
622
+ "empty": "_367UGW_empty",
623
+ "reportView": "_367UGW_reportView",
600
624
  "groupLabel": "_367UGW_groupLabel",
601
- "sectionHeader": "_367UGW_sectionHeader",
602
- "conflictList": "_367UGW_conflictList",
603
- "secretsList": "_367UGW_secretsList",
604
- "warnList": "_367UGW_warnList",
605
- "progressDetail": "_367UGW_progressDetail",
606
- "field": "_367UGW_field",
607
- "severityError": "_367UGW_severityError",
608
- "errorAction": "_367UGW_errorAction",
625
+ "progressIndeterminate": "_367UGW_progressIndeterminate",
626
+ "sectionBody": "_367UGW_sectionBody",
627
+ "badge": "_367UGW_badge",
628
+ "section": "_367UGW_section",
629
+ "progressBar": "_367UGW_progressBar",
630
+ "errorItem": "_367UGW_errorItem",
609
631
  "fieldLabel": "_367UGW_fieldLabel",
610
- "errorFooter": "_367UGW_errorFooter",
611
- "rollbackBox": "_367UGW_rollbackBox",
612
- "pathOld": "_367UGW_pathOld",
613
- "badgeInfo": "_367UGW_badgeInfo",
614
- "radioLabel": "_367UGW_radioLabel",
615
- "viewTabs": "_367UGW_viewTabs",
616
- "dshCmIndeterminate": "_367UGW_dshCmIndeterminate",
617
- "progressMeta": "_367UGW_progressMeta",
618
- "progressLabel": "_367UGW_progressLabel",
619
- "errorLine": "_367UGW_errorLine",
620
- "errorActionLabel": "_367UGW_errorActionLabel",
621
- "errorList": "_367UGW_errorList",
622
- "badgeWarn": "_367UGW_badgeWarn",
623
- "modeHint": "_367UGW_modeHint",
624
- "progressPercent": "_367UGW_progressPercent",
625
- "sectionSubtitle": "_367UGW_sectionSubtitle",
626
- "sectionTitle": "_367UGW_sectionTitle",
627
- "ghostButton": "_367UGW_ghostButton",
632
+ "groupCard": "_367UGW_groupCard",
633
+ "severityError": "_367UGW_severityError",
634
+ "hiddenFile": "_367UGW_hiddenFile",
635
+ "sectionTitleBlock": "_367UGW_sectionTitleBlock",
636
+ "input": "_367UGW_input",
637
+ "groupList": "_367UGW_groupList",
638
+ "reportFooter": "_367UGW_reportFooter",
628
639
  "progressTrack": "_367UGW_progressTrack",
629
- "secretFields": "_367UGW_secretFields",
630
- "errorTitle": "_367UGW_errorTitle",
631
- "conflictItem": "_367UGW_conflictItem",
632
- "categoryDesc": "_367UGW_categoryDesc",
633
- "statRow": "_367UGW_statRow",
634
- "badgeError": "_367UGW_badgeError",
635
- "hint": "_367UGW_hint",
636
- "progressIndeterminate": "_367UGW_progressIndeterminate",
637
- "conflictDetail": "_367UGW_conflictDetail",
640
+ "badgeWarn": "_367UGW_badgeWarn",
641
+ "spinnerLabel": "_367UGW_spinnerLabel",
642
+ "actionRow": "_367UGW_actionRow",
643
+ "groupItems": "_367UGW_groupItems",
644
+ "errorFooter": "_367UGW_errorFooter",
645
+ "field": "_367UGW_field",
646
+ "primaryButton": "_367UGW_primaryButton",
638
647
  "modeTab": "_367UGW_modeTab",
639
- "categoryItem": "_367UGW_categoryItem",
640
- "sectionTitleBlock": "_367UGW_sectionTitleBlock",
641
- "conflictOptions": "_367UGW_conflictOptions",
642
- "viewBody": "_367UGW_viewBody",
643
- "banner": "_367UGW_banner",
644
- "pathValue": "_367UGW_pathValue",
645
- "badgeOk": "_367UGW_badgeOk",
646
- "iconButton": "_367UGW_iconButton",
647
- "viewTab": "_367UGW_viewTab",
648
- "errorBanner": "_367UGW_errorBanner"
648
+ "conflictDetail": "_367UGW_conflictDetail",
649
+ "pathMappingList": "_367UGW_pathMappingList",
650
+ "conflictHead": "_367UGW_conflictHead",
651
+ "viewTabs": "_367UGW_viewTabs"
649
652
  };
650
653
  //#endregion
651
654
  //#region src/client/common/ui.tsx