dsh-config-manager 0.1.73 → 0.1.76

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 (49) hide show
  1. package/lib/client.d.ts +8 -4
  2. package/lib/client.js +814 -682
  3. package/lib/core/rollback-ledger.d.ts +29 -3
  4. package/lib/core/rollback-ledger.js +125 -7
  5. package/lib/core/rollback-point.d.ts +221 -3
  6. package/lib/core/rollback-point.js +790 -153
  7. package/lib/index.d.ts +1 -1
  8. package/lib/index.js +1 -1
  9. package/lib/sync/messages.d.ts +1 -0
  10. package/lib/sync/messages.js +3 -0
  11. package/lib/sync/sync-engine.js +56 -7
  12. package/lib/ui/i18n.d.ts +1 -1
  13. package/lib/ui/i18n.js +2 -2
  14. package/lib/utils/bundle-scan.d.ts +5 -3
  15. package/lib/utils/bundle-scan.js +5 -3
  16. package/lib/utils/line-diff.d.ts +7 -1
  17. package/lib/utils/line-diff.js +8 -2
  18. package/package.json +1 -1
  19. package/src/client/chat/ChatEntryView.tsx +38 -9
  20. package/src/client/chat/RollbackFileIcon.tsx +7 -45
  21. package/src/client/chat/chat-entry-view.test.ts +164 -1
  22. package/src/client/chat/chat-entry-view.ts +127 -10
  23. package/src/client/chat/chat-node-registration.ts +40 -6
  24. package/src/client/common/DiffTable.tsx +12 -23
  25. package/src/client/common/host-primitives.ts +78 -0
  26. package/src/client/config-manager.module.css +33 -12
  27. package/src/client/environment/maintenance/DiskUsageCard.tsx +20 -3
  28. package/src/client/index.ts +7 -1
  29. package/src/client/library/RestorePlanView.tsx +0 -1
  30. package/src/client/locales.ts +0 -2
  31. package/src/client/recovery/RollbackDiffPane.tsx +13 -6
  32. package/src/client/recovery/recovery-locales.ts +2 -4
  33. package/src/client/recovery/rollback-file-changes.test.ts +37 -1
  34. package/src/client/sync/PushPreviewCard.tsx +57 -0
  35. package/src/client/sync/SyncPanel.tsx +2 -37
  36. package/src/client/sync/SyncSettingsView.test.ts +3 -0
  37. package/src/client/sync/sync-push-preview.test.ts +14 -0
  38. package/src/client/sync/sync-view.ts +9 -1
  39. package/src/core/rollback-ledger.ts +123 -7
  40. package/src/core/rollback-point.test.ts +592 -17
  41. package/src/core/rollback-point.ts +861 -155
  42. package/src/index.ts +1 -1
  43. package/src/sync/messages.ts +3 -0
  44. package/src/sync/sync-engine.ts +55 -7
  45. package/src/sync/sync-preview-push.test.ts +158 -0
  46. package/src/ui/i18n.ts +2 -2
  47. package/src/utils/bundle-scan.ts +5 -3
  48. package/src/utils/line-diff.test.ts +12 -0
  49. package/src/utils/line-diff.ts +9 -3
package/lib/client.d.ts CHANGED
@@ -647,6 +647,12 @@ interface SnapshotMeta {
647
647
  * (maxLines / maxD)时**降级为整块替换**(全删 + 全增),保证任何输入都有确定
648
648
  * 耗时的输出 —— 大文件不会卡死宿主。
649
649
  *
650
+ * 预算怎么定(2026-10-15 真机实测,本仓 rollback-point.ts 的一对版本):
651
+ * · 时间是 (N+M)·D 量级:D=4000、两侧合计 ~7500 行时 ≈ 70 ms(D=8000 ≈ 115 ms);
652
+ * · 内存是 O(D²)·4B(回溯要逐轮留 V 快照):D=2000 时 RSS +~30 MB、D=4000 +~100 MB、D=8000 +~175 MB。
653
+ * ⇒ 缺省取 2000(覆盖「大文件只改了几处」这一大类);单文件按需查看的调用方可以往上调,
654
+ * 到 4000 仍是一次点击可接受的开销;再大就该换线性空间算法,而不是继续加预算。
655
+ *
650
656
  * 行为约定:
651
657
  * - 行尾 \r\n 归一为 \n;文本末尾的换行不产生"空行"(行数 = 换行符语义)。
652
658
  * - 仅空白差异同样是差异(不做 ignoreWhitespace)。
@@ -1523,7 +1529,7 @@ declare const uiZh: {
1523
1529
  readonly 'error.downloadFailed': '下载失败:HTTP {status}';
1524
1530
  readonly 'error.exportTimeout': '导出超时({minutes} 分钟):导出过程未完成,请重试;若反复超时请检查 DSH 状态';
1525
1531
  readonly 'error.syncTimeout': '同步请求超时({minutes} 分钟):请检查网络与仓库可达性后重试';
1526
- readonly 'error.recoveryTimeout': '恢复请求超时({minutes} 分钟):恢复过程未完成,请重试;若反复超时请检查 DSH 状态';
1532
+ readonly 'error.recoveryTimeout': '恢复请求超时({minutes} 分钟):过程可能仍在后台进行,请先刷新预览确认;确实未完成再重试';
1527
1533
  readonly 'error.settingsConflict.title': '配置已被并发修改';
1528
1534
  readonly 'error.settingsConflict.action': '目标 DSH 的该配置在导入期间被其他进程修改,为避免覆盖请重新导出或手动核对后再试。';
1529
1535
  readonly 'error.notConfirmed.title': '导入未确认';
@@ -4997,7 +5003,6 @@ declare const zh$4: {
4997
5003
  readonly 'snapshots.plan.diffEscape': '路径越界,已拒绝读取';
4998
5004
  readonly 'snapshots.plan.diffNotApplicable': '该动作不是文件内容变更,无逐行对照';
4999
5005
  readonly 'snapshots.plan.diffDegraded': '差异过大,已按整块对比显示';
5000
- readonly 'snapshots.plan.diffTruncated': '仅显示前 {shown} 行(共 {total} 行)';
5001
5006
  readonly 'snapshots.plan.statSkipped.tooLarge': '体积超上限,未统计';
5002
5007
  readonly 'snapshots.plan.statSkipped.binary': '二进制';
5003
5008
  readonly 'snapshots.plan.statSkipped.budget': '未统计(文件数上限)';
@@ -6485,7 +6490,7 @@ declare const zh$1: {
6485
6490
  readonly 'rollback.code.fork-failed': 'fork 子会话失败,会话段未回退';
6486
6491
  readonly 'rollback.code.capture-failed': '该态留点失败';
6487
6492
  readonly 'rollback.code.capture-truncated': '该态留点到达上限被截断(已如实标注)';
6488
- readonly 'rollback.code.capture-degraded': '该态留点不完整(有链接或读不到的内容被跳过,已逐条留痕)';
6493
+ readonly 'rollback.code.capture-degraded': '该态留点不完整(有读不到或期间被改写的内容,已逐条留痕)';
6489
6494
  readonly 'rollback.code.no-chunks': '没有给出工作区路径分块';
6490
6495
  readonly 'rollback.code.chunk-not-absolute': '工作区分块必须是绝对路径';
6491
6496
  readonly 'rollback.code.chunk-not-found': '工作区分块不存在或不可用';
@@ -6541,7 +6546,6 @@ declare const zh$1: {
6541
6546
  readonly 'rollback.diff.after': '回退后';
6542
6547
  readonly 'rollback.diff.identical': '该文件与回退点内容一致,回退不会改动它';
6543
6548
  readonly 'rollback.diff.degraded': '差异规模较大,已按整块替换展示(仍是完整结果,只是不是最小的编辑脚本)';
6544
- readonly 'rollback.diff.truncated': '只画了前 {shown} 行(共 {total} 行),数据本身是完整的';
6545
6549
  readonly 'rollback.diff.reason.missingBlob': '这份内容副本读不出来,无法逐行对照(回退仍会尝试写回它)';
6546
6550
  readonly 'rollback.diff.reason.binary': '不是文本文件,没有逐行差异可看';
6547
6551
  readonly 'rollback.diff.reason.tooLarge': '文件超过展示上限,没有逐行差异可看(回退仍会照常覆盖它)';