dsh-config-manager 0.1.15 → 0.1.16

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
@@ -184,7 +184,15 @@ Every import creates a **safety snapshot** first. If something feels off afterwa
184
184
 
185
185
  **GUI**: Settings → "Backup & Migration" → **Snapshots & Restore** tab → pick a snapshot → preview the plan (dry-run, zero writes) → confirm.
186
186
 
187
- **CLI** (offline, no DSH runtime needed):
187
+ **CLI** (offline, no DSH runtime needed) — it is a standalone npm tool, **installed separately from the plugin**:
188
+
189
+ ```bash
190
+ # install the CLI once on the machine where you want to restore snapshots
191
+ # (--omit=peer: the offline CLI only needs js-yaml, not the DSH peer packages)
192
+ npm install -g dsh-config-manager@latest --omit=peer
193
+ ```
194
+
195
+ > ⚠️ Installing/updating the plugin (`dsh plugin --profile web add ...`) only enables the GUI — it does **not** create the `dsh-config-manager` command. Run the install command above, then:
188
196
 
189
197
  ```bash
190
198
  # list snapshots (newest first)
package/README.zh-CN.md CHANGED
@@ -184,7 +184,15 @@ dsh plugin --profile web add dsh-config-manager@latest --config.auto-install-pee
184
184
 
185
185
  **GUI**:设置 → 「备份与迁移」→「快照恢复」tab → 选择快照 → 预览恢复计划(dry-run,零写入)→ 确认执行。
186
186
 
187
- **CLI**(纯离线,无需 DSH 运行时):
187
+ **CLI**(纯离线,无需 DSH 运行时)——它是独立的 npm 命令行工具,**需单独安装**(与插件安装是两回事):
188
+
189
+ ```bash
190
+ # 在想恢复快照的那台机器上安装一次 CLI
191
+ # (--omit=peer:离线 CLI 只需要 js-yaml,不需要 DSH 的 peer 依赖包)
192
+ npm install -g dsh-config-manager@latest --omit=peer
193
+ ```
194
+
195
+ > ⚠️ 只安装/更新插件(`dsh plugin --profile web add ...`)只启用 GUI,**不会**产生 `dsh-config-manager` 命令。请先执行上面这条安装命令,然后:
188
196
 
189
197
  ```bash
190
198
  # 列出快照(最新在前)
package/lib/client.js CHANGED
@@ -1596,102 +1596,102 @@ if (typeof document !== "undefined" && document.querySelector("style[data-tag=\"
1596
1596
  document.head.appendChild(tag);
1597
1597
  }
1598
1598
  var config_manager_module_css_default = {
1599
- "sectionSubtitle": "_367UGW_sectionSubtitle",
1599
+ "modeTab": "_367UGW_modeTab",
1600
+ "primaryButton": "_367UGW_primaryButton",
1601
+ "groupLabel": "_367UGW_groupLabel",
1602
+ "formError": "_367UGW_formError",
1603
+ "optionsCard": "_367UGW_optionsCard",
1604
+ "viewTabs": "_367UGW_viewTabs",
1605
+ "rowActions": "_367UGW_rowActions",
1606
+ "groupNote": "_367UGW_groupNote",
1607
+ "conflictHead": "_367UGW_conflictHead",
1608
+ "progressBadge": "_367UGW_progressBadge",
1609
+ "categoryName": "_367UGW_categoryName",
1610
+ "snapshotRowHeader": "_367UGW_snapshotRowHeader",
1611
+ "badgeWarn": "_367UGW_badgeWarn",
1612
+ "input": "_367UGW_input",
1613
+ "badgeInfo": "_367UGW_badgeInfo",
1614
+ "progressMeta": "_367UGW_progressMeta",
1615
+ "rollbackBox": "_367UGW_rollbackBox",
1616
+ "progressBlock": "_367UGW_progressBlock",
1617
+ "errorBanner": "_367UGW_errorBanner",
1600
1618
  "dangerButton": "_367UGW_dangerButton",
1601
- "progressBadgeCount": "_367UGW_progressBadgeCount",
1602
- "progressBarDone": "_367UGW_progressBarDone",
1619
+ "reportView": "_367UGW_reportView",
1620
+ "modeHint": "_367UGW_modeHint",
1621
+ "ghostButton": "_367UGW_ghostButton",
1622
+ "progressBadgeSection": "_367UGW_progressBadgeSection",
1623
+ "errorList": "_367UGW_errorList",
1603
1624
  "conflictId": "_367UGW_conflictId",
1604
1625
  "pathMappingList": "_367UGW_pathMappingList",
1605
- "badgeOk": "_367UGW_badgeOk",
1606
- "radioLabel": "_367UGW_radioLabel",
1626
+ "sectionHeader": "_367UGW_sectionHeader",
1627
+ "progressBarDone": "_367UGW_progressBarDone",
1607
1628
  "categoryItem": "_367UGW_categoryItem",
1608
- "groupItems": "_367UGW_groupItems",
1629
+ "errorTitle": "_367UGW_errorTitle",
1630
+ "actionRow": "_367UGW_actionRow",
1631
+ "statRow": "_367UGW_statRow",
1632
+ "conflictItem": "_367UGW_conflictItem",
1633
+ "severityError": "_367UGW_severityError",
1609
1634
  "progressTrack": "_367UGW_progressTrack",
1610
- "groupCard": "_367UGW_groupCard",
1611
- "checkboxRow": "_367UGW_checkboxRow",
1612
- "groupLabel": "_367UGW_groupLabel",
1613
- "modeHint": "_367UGW_modeHint",
1614
- "card": "_367UGW_card",
1615
- "groupNote": "_367UGW_groupNote",
1616
- "reportText": "_367UGW_reportText",
1617
- "errorAction": "_367UGW_errorAction",
1618
- "errorItem": "_367UGW_errorItem",
1619
- "badgeInfo": "_367UGW_badgeInfo",
1635
+ "badgeOk": "_367UGW_badgeOk",
1636
+ "errorReason": "_367UGW_errorReason",
1637
+ "conflictDetail": "_367UGW_conflictDetail",
1638
+ "pathIssueKind": "_367UGW_pathIssueKind",
1639
+ "warnText": "_367UGW_warnText",
1640
+ "kindTag": "_367UGW_kindTag",
1641
+ "warnList": "_367UGW_warnList",
1642
+ "sectionTitleBlock": "_367UGW_sectionTitleBlock",
1643
+ "sectionTitle": "_367UGW_sectionTitle",
1644
+ "progressBadgeCount": "_367UGW_progressBadgeCount",
1620
1645
  "secretsList": "_367UGW_secretsList",
1646
+ "pathNew": "_367UGW_pathNew",
1647
+ "spinner": "_367UGW_spinner",
1621
1648
  "badgeError": "_367UGW_badgeError",
1622
- "ghostButton": "_367UGW_ghostButton",
1649
+ "groupList": "_367UGW_groupList",
1650
+ "checkboxRow": "_367UGW_checkboxRow",
1651
+ "reportText": "_367UGW_reportText",
1652
+ "errorActionLabel": "_367UGW_errorActionLabel",
1653
+ "modeTabs": "_367UGW_modeTabs",
1654
+ "conflictOptions": "_367UGW_conflictOptions",
1655
+ "spinnerWrap": "_367UGW_spinnerWrap",
1656
+ "progressLabel": "_367UGW_progressLabel",
1623
1657
  "dshCmSpin": "_367UGW_dshCmSpin",
1658
+ "progressIndeterminate": "_367UGW_progressIndeterminate",
1624
1659
  "empty": "_367UGW_empty",
1625
- "errorLine": "_367UGW_errorLine",
1626
1660
  "pathOld": "_367UGW_pathOld",
1627
- "errorReason": "_367UGW_errorReason",
1628
- "section": "_367UGW_section",
1661
+ "card": "_367UGW_card",
1662
+ "fieldLabel": "_367UGW_fieldLabel",
1663
+ "groupCard": "_367UGW_groupCard",
1664
+ "dshCmIndeterminate": "_367UGW_dshCmIndeterminate",
1665
+ "secretFields": "_367UGW_secretFields",
1666
+ "banner": "_367UGW_banner",
1667
+ "viewTab": "_367UGW_viewTab",
1629
1668
  "groupHeader": "_367UGW_groupHeader",
1669
+ "errorAction": "_367UGW_errorAction",
1670
+ "progressDetail": "_367UGW_progressDetail",
1630
1671
  "pathValue": "_367UGW_pathValue",
1631
- "banner": "_367UGW_banner",
1632
- "snapshotList": "_367UGW_snapshotList",
1633
- "categoryName": "_367UGW_categoryName",
1634
- "sectionTitle": "_367UGW_sectionTitle",
1635
- "progressLabel": "_367UGW_progressLabel",
1636
- "errorActionLabel": "_367UGW_errorActionLabel",
1637
- "errorList": "_367UGW_errorList",
1638
- "progressPercent": "_367UGW_progressPercent",
1639
- "conflictOptions": "_367UGW_conflictOptions",
1640
- "spinner": "_367UGW_spinner",
1641
- "kindTag": "_367UGW_kindTag",
1642
1672
  "spinnerLabel": "_367UGW_spinnerLabel",
1643
- "reportFooter": "_367UGW_reportFooter",
1644
- "sectionHeader": "_367UGW_sectionHeader",
1645
- "progressIndeterminate": "_367UGW_progressIndeterminate",
1646
- "progressMeta": "_367UGW_progressMeta",
1647
- "viewBody": "_367UGW_viewBody",
1648
- "sectionTitleBlock": "_367UGW_sectionTitleBlock",
1649
- "hint": "_367UGW_hint",
1650
- "conflictHead": "_367UGW_conflictHead",
1651
- "warnList": "_367UGW_warnList",
1652
- "modeTabs": "_367UGW_modeTabs",
1653
- "statRow": "_367UGW_statRow",
1654
- "field": "_367UGW_field",
1655
- "pathNew": "_367UGW_pathNew",
1656
- "viewTabs": "_367UGW_viewTabs",
1657
1673
  "categoryDesc": "_367UGW_categoryDesc",
1658
- "progressBar": "_367UGW_progressBar",
1674
+ "snapshotRow": "_367UGW_snapshotRow",
1675
+ "badge": "_367UGW_badge",
1676
+ "errorLine": "_367UGW_errorLine",
1659
1677
  "errorFooter": "_367UGW_errorFooter",
1678
+ "errorItem": "_367UGW_errorItem",
1660
1679
  "conflictList": "_367UGW_conflictList",
1661
- "warnText": "_367UGW_warnText",
1662
- "secretFields": "_367UGW_secretFields",
1663
- "input": "_367UGW_input",
1664
- "primaryButton": "_367UGW_primaryButton",
1665
- "groupList": "_367UGW_groupList",
1666
- "actionRow": "_367UGW_actionRow",
1667
- "dshCmIndeterminate": "_367UGW_dshCmIndeterminate",
1668
- "badge": "_367UGW_badge",
1669
- "hiddenFile": "_367UGW_hiddenFile",
1670
- "optionsCard": "_367UGW_optionsCard",
1671
- "reportView": "_367UGW_reportView",
1672
- "rollbackBox": "_367UGW_rollbackBox",
1673
- "conflictDetail": "_367UGW_conflictDetail",
1674
- "pathIssueKind": "_367UGW_pathIssueKind",
1675
- "viewTab": "_367UGW_viewTab",
1676
- "errorBanner": "_367UGW_errorBanner",
1677
- "spinnerWrap": "_367UGW_spinnerWrap",
1678
- "progressDetail": "_367UGW_progressDetail",
1679
- "errorTitle": "_367UGW_errorTitle",
1680
- "severityError": "_367UGW_severityError",
1681
- "progressBlock": "_367UGW_progressBlock",
1680
+ "pathRow": "_367UGW_pathRow",
1682
1681
  "sectionBody": "_367UGW_sectionBody",
1683
- "badgeWarn": "_367UGW_badgeWarn",
1684
- "fieldLabel": "_367UGW_fieldLabel",
1685
- "modeTab": "_367UGW_modeTab",
1686
- "formError": "_367UGW_formError",
1687
- "progressBadgeSection": "_367UGW_progressBadgeSection",
1688
- "conflictItem": "_367UGW_conflictItem",
1689
- "snapshotRowHeader": "_367UGW_snapshotRowHeader",
1690
- "progressBadge": "_367UGW_progressBadge",
1691
- "snapshotRow": "_367UGW_snapshotRow",
1682
+ "hiddenFile": "_367UGW_hiddenFile",
1683
+ "hint": "_367UGW_hint",
1684
+ "section": "_367UGW_section",
1685
+ "field": "_367UGW_field",
1686
+ "reportFooter": "_367UGW_reportFooter",
1687
+ "snapshotList": "_367UGW_snapshotList",
1688
+ "sectionSubtitle": "_367UGW_sectionSubtitle",
1689
+ "progressPercent": "_367UGW_progressPercent",
1690
+ "progressBar": "_367UGW_progressBar",
1691
+ "groupItems": "_367UGW_groupItems",
1692
1692
  "reportList": "_367UGW_reportList",
1693
- "pathRow": "_367UGW_pathRow",
1694
- "rowActions": "_367UGW_rowActions"
1693
+ "radioLabel": "_367UGW_radioLabel",
1694
+ "viewBody": "_367UGW_viewBody"
1695
1695
  };
1696
1696
  //#endregion
1697
1697
  //#region src/client/common/ui.tsx
package/lib/index.js CHANGED
@@ -65,7 +65,7 @@ export const name = 'config-manager';
65
65
  /** Services required before the engine can mount (present in every profile). */
66
66
  export const inject = ['settings', 'credentials'];
67
67
  /** Plugin version, kept in sync with package.json ("version"). */
68
- const PLUGIN_VERSION = '0.1.13';
68
+ const PLUGIN_VERSION = '0.1.16';
69
69
  /* ---------------------------------------------------------------- constants */
70
70
  /** Route family — must match the browser half's CONFIG_MANAGER_API exactly. */
71
71
  const API = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-config-manager",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "DSH Config Manager — backup / export / import / migrate DSH configuration (dual-face Cordis plugin: host engine + web UI). Manifest shape mirrors @linxin666/dsh-ssh@0.1.12.",
5
5
  "keywords": [
6
6
  "dsh",
package/src/index.ts CHANGED
@@ -91,7 +91,7 @@ export const name = 'config-manager'
91
91
  export const inject = ['settings', 'credentials']
92
92
 
93
93
  /** Plugin version, kept in sync with package.json ("version"). */
94
- const PLUGIN_VERSION = '0.1.13'
94
+ const PLUGIN_VERSION = '0.1.16'
95
95
 
96
96
  /** Plugin config (composition entry); the loader applies it as-is. */
97
97
  export interface Config {