@buoy-gg/time-machine 7.0.21 → 7.0.23

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 (174) hide show
  1. package/lib/commonjs/components/TimeMachineBody.js +148 -583
  2. package/lib/commonjs/components/TimeMachineBody.js.map +1 -1
  3. package/lib/commonjs/components/TimeMachineModal.js +10 -11
  4. package/lib/commonjs/components/TimeMachineModal.js.map +1 -1
  5. package/lib/commonjs/components/confirm.js +39 -0
  6. package/lib/commonjs/components/confirm.js.map +1 -0
  7. package/lib/commonjs/components/format.js +24 -0
  8. package/lib/commonjs/components/format.js.map +1 -0
  9. package/lib/commonjs/components/list/CaptureBar.js +95 -0
  10. package/lib/commonjs/components/list/CaptureBar.js.map +1 -0
  11. package/lib/commonjs/components/list/RestoreOutcomeCard.js +162 -0
  12. package/lib/commonjs/components/list/RestoreOutcomeCard.js.map +1 -0
  13. package/lib/commonjs/components/list/SnapshotRow.js +141 -0
  14. package/lib/commonjs/components/list/SnapshotRow.js.map +1 -0
  15. package/lib/commonjs/components/list/SourcesStrip.js +126 -0
  16. package/lib/commonjs/components/list/SourcesStrip.js.map +1 -0
  17. package/lib/commonjs/components/list/UndoDeleteBar.js +81 -0
  18. package/lib/commonjs/components/list/UndoDeleteBar.js.map +1 -0
  19. package/lib/commonjs/components/list/WipeAllRow.js +46 -0
  20. package/lib/commonjs/components/list/WipeAllRow.js.map +1 -0
  21. package/lib/commonjs/components/preview/ItemDiffPanel.js +77 -0
  22. package/lib/commonjs/components/preview/ItemDiffPanel.js.map +1 -0
  23. package/lib/commonjs/components/preview/PreviewFlow.js +51 -0
  24. package/lib/commonjs/components/preview/PreviewFlow.js.map +1 -0
  25. package/lib/commonjs/components/preview/RestorePointNameRow.js +83 -0
  26. package/lib/commonjs/components/preview/RestorePointNameRow.js.map +1 -0
  27. package/lib/commonjs/components/preview/RestorePreviewScreen.js +549 -635
  28. package/lib/commonjs/components/preview/RestorePreviewScreen.js.map +1 -1
  29. package/lib/commonjs/components/preview/verdictMeta.js +8 -8
  30. package/lib/commonjs/components/preview/verdictMeta.js.map +1 -1
  31. package/lib/commonjs/components/sources.js +72 -0
  32. package/lib/commonjs/components/sources.js.map +1 -0
  33. package/lib/commonjs/index.js +55 -0
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/store/routeRestore.js +188 -0
  36. package/lib/commonjs/store/routeRestore.js.map +1 -0
  37. package/lib/commonjs/store/snapshotVault.js +93 -9
  38. package/lib/commonjs/store/snapshotVault.js.map +1 -1
  39. package/lib/commonjs/store/timeMachineStore.js +164 -7
  40. package/lib/commonjs/store/timeMachineStore.js.map +1 -1
  41. package/lib/commonjs/sync/timeMachineSyncAdapter.js +59 -4
  42. package/lib/commonjs/sync/timeMachineSyncAdapter.js.map +1 -1
  43. package/lib/commonjs/ui/SwipeActionsRow.js +167 -0
  44. package/lib/commonjs/ui/SwipeActionsRow.js.map +1 -0
  45. package/lib/commonjs/ui/primitives.js +164 -0
  46. package/lib/commonjs/ui/primitives.js.map +1 -0
  47. package/lib/commonjs/ui/tmTheme.js +103 -0
  48. package/lib/commonjs/ui/tmTheme.js.map +1 -0
  49. package/lib/module/components/TimeMachineBody.js +151 -586
  50. package/lib/module/components/TimeMachineBody.js.map +1 -1
  51. package/lib/module/components/TimeMachineModal.js +11 -12
  52. package/lib/module/components/TimeMachineModal.js.map +1 -1
  53. package/lib/module/components/confirm.js +34 -0
  54. package/lib/module/components/confirm.js.map +1 -0
  55. package/lib/module/components/format.js +19 -0
  56. package/lib/module/components/format.js.map +1 -0
  57. package/lib/module/components/list/CaptureBar.js +90 -0
  58. package/lib/module/components/list/CaptureBar.js.map +1 -0
  59. package/lib/module/components/list/RestoreOutcomeCard.js +156 -0
  60. package/lib/module/components/list/RestoreOutcomeCard.js.map +1 -0
  61. package/lib/module/components/list/SnapshotRow.js +138 -0
  62. package/lib/module/components/list/SnapshotRow.js.map +1 -0
  63. package/lib/module/components/list/SourcesStrip.js +121 -0
  64. package/lib/module/components/list/SourcesStrip.js.map +1 -0
  65. package/lib/module/components/list/UndoDeleteBar.js +78 -0
  66. package/lib/module/components/list/UndoDeleteBar.js.map +1 -0
  67. package/lib/module/components/list/WipeAllRow.js +41 -0
  68. package/lib/module/components/list/WipeAllRow.js.map +1 -0
  69. package/lib/module/components/preview/ItemDiffPanel.js +72 -0
  70. package/lib/module/components/preview/ItemDiffPanel.js.map +1 -0
  71. package/lib/module/components/preview/PreviewFlow.js +46 -0
  72. package/lib/module/components/preview/PreviewFlow.js.map +1 -0
  73. package/lib/module/components/preview/RestorePointNameRow.js +78 -0
  74. package/lib/module/components/preview/RestorePointNameRow.js.map +1 -0
  75. package/lib/module/components/preview/RestorePreviewScreen.js +552 -638
  76. package/lib/module/components/preview/RestorePreviewScreen.js.map +1 -1
  77. package/lib/module/components/preview/verdictMeta.js +9 -8
  78. package/lib/module/components/preview/verdictMeta.js.map +1 -1
  79. package/lib/module/components/sources.js +66 -0
  80. package/lib/module/components/sources.js.map +1 -0
  81. package/lib/module/index.js +11 -0
  82. package/lib/module/index.js.map +1 -1
  83. package/lib/module/store/routeRestore.js +176 -0
  84. package/lib/module/store/routeRestore.js.map +1 -0
  85. package/lib/module/store/snapshotVault.js +87 -9
  86. package/lib/module/store/snapshotVault.js.map +1 -1
  87. package/lib/module/store/timeMachineStore.js +164 -8
  88. package/lib/module/store/timeMachineStore.js.map +1 -1
  89. package/lib/module/sync/timeMachineSyncAdapter.js +59 -4
  90. package/lib/module/sync/timeMachineSyncAdapter.js.map +1 -1
  91. package/lib/module/ui/SwipeActionsRow.js +162 -0
  92. package/lib/module/ui/SwipeActionsRow.js.map +1 -0
  93. package/lib/module/ui/primitives.js +156 -0
  94. package/lib/module/ui/primitives.js.map +1 -0
  95. package/lib/module/ui/tmTheme.js +99 -0
  96. package/lib/module/ui/tmTheme.js.map +1 -0
  97. package/lib/typescript/components/TimeMachineBody.d.ts.map +1 -1
  98. package/lib/typescript/components/TimeMachineModal.d.ts.map +1 -1
  99. package/lib/typescript/components/confirm.d.ts +2 -0
  100. package/lib/typescript/components/confirm.d.ts.map +1 -0
  101. package/lib/typescript/components/format.d.ts +4 -0
  102. package/lib/typescript/components/format.d.ts.map +1 -0
  103. package/lib/typescript/components/list/CaptureBar.d.ts +6 -0
  104. package/lib/typescript/components/list/CaptureBar.d.ts.map +1 -0
  105. package/lib/typescript/components/list/RestoreOutcomeCard.d.ts +11 -0
  106. package/lib/typescript/components/list/RestoreOutcomeCard.d.ts.map +1 -0
  107. package/lib/typescript/components/list/SnapshotRow.d.ts +12 -0
  108. package/lib/typescript/components/list/SnapshotRow.d.ts.map +1 -0
  109. package/lib/typescript/components/list/SourcesStrip.d.ts +5 -0
  110. package/lib/typescript/components/list/SourcesStrip.d.ts.map +1 -0
  111. package/lib/typescript/components/list/UndoDeleteBar.d.ts +8 -0
  112. package/lib/typescript/components/list/UndoDeleteBar.d.ts.map +1 -0
  113. package/lib/typescript/components/list/WipeAllRow.d.ts +5 -0
  114. package/lib/typescript/components/list/WipeAllRow.d.ts.map +1 -0
  115. package/lib/typescript/components/preview/ItemDiffPanel.d.ts +5 -0
  116. package/lib/typescript/components/preview/ItemDiffPanel.d.ts.map +1 -0
  117. package/lib/typescript/components/preview/PreviewFlow.d.ts +9 -0
  118. package/lib/typescript/components/preview/PreviewFlow.d.ts.map +1 -0
  119. package/lib/typescript/components/preview/RestorePointNameRow.d.ts +5 -0
  120. package/lib/typescript/components/preview/RestorePointNameRow.d.ts.map +1 -0
  121. package/lib/typescript/components/preview/RestorePreviewScreen.d.ts +1 -5
  122. package/lib/typescript/components/preview/RestorePreviewScreen.d.ts.map +1 -1
  123. package/lib/typescript/components/preview/verdictMeta.d.ts +5 -0
  124. package/lib/typescript/components/preview/verdictMeta.d.ts.map +1 -1
  125. package/lib/typescript/components/sources.d.ts +36 -0
  126. package/lib/typescript/components/sources.d.ts.map +1 -0
  127. package/lib/typescript/index.d.ts +2 -1
  128. package/lib/typescript/index.d.ts.map +1 -1
  129. package/lib/typescript/store/routeRestore.d.ts +51 -0
  130. package/lib/typescript/store/routeRestore.d.ts.map +1 -0
  131. package/lib/typescript/store/snapshotVault.d.ts +55 -0
  132. package/lib/typescript/store/snapshotVault.d.ts.map +1 -1
  133. package/lib/typescript/store/timeMachineStore.d.ts +64 -2
  134. package/lib/typescript/store/timeMachineStore.d.ts.map +1 -1
  135. package/lib/typescript/sync/timeMachineSyncAdapter.d.ts +25 -0
  136. package/lib/typescript/sync/timeMachineSyncAdapter.d.ts.map +1 -1
  137. package/lib/typescript/ui/SwipeActionsRow.d.ts +32 -0
  138. package/lib/typescript/ui/SwipeActionsRow.d.ts.map +1 -0
  139. package/lib/typescript/ui/primitives.d.ts +57 -0
  140. package/lib/typescript/ui/primitives.d.ts.map +1 -0
  141. package/lib/typescript/ui/tmTheme.d.ts +67 -0
  142. package/lib/typescript/ui/tmTheme.d.ts.map +1 -0
  143. package/package.json +12 -8
  144. package/src/components/TimeMachineBody.tsx +184 -682
  145. package/src/components/TimeMachineModal.tsx +10 -11
  146. package/src/components/confirm.ts +35 -0
  147. package/src/components/format.ts +17 -0
  148. package/src/components/list/CaptureBar.tsx +100 -0
  149. package/src/components/list/RestoreOutcomeCard.tsx +159 -0
  150. package/src/components/list/SnapshotRow.tsx +155 -0
  151. package/src/components/list/SourcesStrip.tsx +124 -0
  152. package/src/components/list/UndoDeleteBar.tsx +76 -0
  153. package/src/components/list/WipeAllRow.tsx +42 -0
  154. package/src/components/preview/ItemDiffPanel.tsx +77 -0
  155. package/src/components/preview/PreviewFlow.tsx +70 -0
  156. package/src/components/preview/RestorePointNameRow.tsx +80 -0
  157. package/src/components/preview/RestorePreviewScreen.tsx +535 -535
  158. package/src/components/preview/verdictMeta.ts +8 -8
  159. package/src/components/sources.ts +92 -0
  160. package/src/index.tsx +22 -0
  161. package/src/store/routeRestore.ts +194 -0
  162. package/src/store/snapshotVault.ts +138 -9
  163. package/src/store/timeMachineStore.ts +195 -5
  164. package/src/sync/timeMachineSyncAdapter.ts +57 -4
  165. package/src/ui/SwipeActionsRow.tsx +199 -0
  166. package/src/ui/primitives.tsx +157 -0
  167. package/src/ui/tmTheme.ts +107 -0
  168. package/lib/commonjs/components/preview/ItemDetailScreen.js +0 -189
  169. package/lib/commonjs/components/preview/ItemDetailScreen.js.map +0 -1
  170. package/lib/module/components/preview/ItemDetailScreen.js +0 -184
  171. package/lib/module/components/preview/ItemDetailScreen.js.map +0 -1
  172. package/lib/typescript/components/preview/ItemDetailScreen.d.ts +0 -11
  173. package/lib/typescript/components/preview/ItemDetailScreen.d.ts.map +0 -1
  174. package/src/components/preview/ItemDetailScreen.tsx +0 -172
@@ -4,10 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.deleteSnapshot = deleteSnapshot;
7
+ exports.duplicateSnapshot = duplicateSnapshot;
7
8
  exports.loadIndex = loadIndex;
8
9
  exports.loadSnapshot = loadSnapshot;
10
+ exports.markSnapshotRestored = markSnapshotRestored;
11
+ exports.readSnapshot = readSnapshot;
9
12
  exports.renameSnapshot = renameSnapshot;
13
+ exports.restoreDeletedSnapshot = restoreDeletedSnapshot;
10
14
  exports.saveSnapshot = saveSnapshot;
15
+ exports.setSnapshotExclusions = setSnapshotExclusions;
16
+ exports.setSnapshotRestoreRoute = setSnapshotRestoreRoute;
11
17
  exports.setSnapshotScope = setSnapshotScope;
12
18
  var _sharedUi = require("@buoy-gg/shared-ui");
13
19
  /**
@@ -68,15 +74,14 @@ async function deleteSnapshot(id, metas) {
68
74
  await saveIndex(next);
69
75
  return next;
70
76
  }
71
- async function setSnapshotScope(id, scope, metas) {
72
- const apply = m => {
73
- if (m.id !== id) return m;
74
- const next = {
75
- ...m
76
- };
77
- if (scope && scope.length > 0) next.scope = scope;else delete next.scope;
78
- return next;
79
- };
77
+
78
+ /**
79
+ * Rewrite one snapshot's metadata in BOTH places it lives — the index and the
80
+ * snapshot's own record — so a reload can't resurrect the old value from
81
+ * whichever one was missed.
82
+ */
83
+ async function patchMeta(id, patch, metas) {
84
+ const apply = m => m.id === id ? patch(m) : m;
80
85
  const next = metas.map(apply);
81
86
  await _sharedUi.persistentStorage.setItem(INDEX_KEY, JSON.stringify(next));
82
87
  const stored = await loadSnapshot(id);
@@ -86,6 +91,85 @@ async function setSnapshotScope(id, scope, metas) {
86
91
  }
87
92
  return next;
88
93
  }
94
+
95
+ /** Set (or clear with null/empty) the "only these items" restore scope. */
96
+ function setSnapshotScope(id, scope, metas) {
97
+ return patchMeta(id, m => {
98
+ const next = {
99
+ ...m
100
+ };
101
+ if (scope && scope.length > 0) next.scope = scope;else delete next.scope;
102
+ return next;
103
+ }, metas);
104
+ }
105
+
106
+ /**
107
+ * Set (or clear with null/empty) the items a restore of this snapshot must
108
+ * leave alone. Saving exclusions also clears any legacy `scope`: the two
109
+ * answer the same question in opposite directions, and the one the user just
110
+ * chose in the preview wins.
111
+ */
112
+ function setSnapshotExclusions(id, excludedKeys, metas) {
113
+ return patchMeta(id, m => {
114
+ const next = {
115
+ ...m
116
+ };
117
+ delete next.scope;
118
+ if (excludedKeys && excludedKeys.length > 0) next.excludedKeys = excludedKeys;else delete next.excludedKeys;
119
+ return next;
120
+ }, metas);
121
+ }
122
+
123
+ /** Turn this point's route restore on or off — the row's route toggle. */
124
+ function setSnapshotRestoreRoute(id, restoreRoute, metas) {
125
+ return patchMeta(id, m => ({
126
+ ...m,
127
+ restoreRoute
128
+ }), metas);
129
+ }
130
+
131
+ /** Stamp a restore so the list can say which point you are currently in. */
132
+ function markSnapshotRestored(id, at, metas) {
133
+ return patchMeta(id, m => ({
134
+ ...m,
135
+ lastRestoredAt: at
136
+ }), metas);
137
+ }
138
+
139
+ /**
140
+ * Copy a stored snapshot under a new id and name. The payload is copied by
141
+ * reference into a fresh record — the vault serializes it on write, so the
142
+ * two never share mutable state.
143
+ */
144
+ async function duplicateSnapshot(id, name, metas) {
145
+ const stored = await loadSnapshot(id);
146
+ if (!stored) return null;
147
+ const copy = {
148
+ meta: {
149
+ ...stored.meta,
150
+ id: `${stored.meta.id}_copy_${Date.now().toString(36)}`,
151
+ name,
152
+ createdAt: Date.now(),
153
+ lastRestoredAt: undefined
154
+ },
155
+ data: stored.data
156
+ };
157
+ delete copy.meta.lastRestoredAt;
158
+ return {
159
+ metas: await saveSnapshot(copy, metas),
160
+ meta: copy.meta
161
+ };
162
+ }
163
+
164
+ /** Read a whole record so a delete can be held in memory and undone. */
165
+ async function readSnapshot(id) {
166
+ return loadSnapshot(id);
167
+ }
168
+
169
+ /** Put a held record back exactly as it was. */
170
+ async function restoreDeletedSnapshot(stored, metas) {
171
+ return saveSnapshot(stored, metas);
172
+ }
89
173
  async function renameSnapshot(id, name, metas) {
90
174
  const next = metas.map(m => m.id === id ? {
91
175
  ...m,
@@ -1 +1 @@
1
- {"version":3,"names":["_sharedUi","require","INDEX_KEY","SNAP_PREFIX","loadIndex","raw","persistentStorage","getItem","parsed","JSON","parse","Array","isArray","saveIndex","metas","setItem","stringify","saveSnapshot","snapshot","serialized","meta","sizeBytes","length","id","next","filter","m","loadSnapshot","deleteSnapshot","removeItem","setSnapshotScope","scope","apply","map","stored","renameSnapshot","name"],"sourceRoot":"../../../src","sources":["store/snapshotVault.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sharedUi","require","INDEX_KEY","SNAP_PREFIX","loadIndex","raw","persistentStorage","getItem","parsed","JSON","parse","Array","isArray","saveIndex","metas","setItem","stringify","saveSnapshot","snapshot","serialized","meta","sizeBytes","length","id","next","filter","m","loadSnapshot","deleteSnapshot","removeItem","patchMeta","patch","apply","map","stored","setSnapshotScope","scope","setSnapshotExclusions","excludedKeys","setSnapshotRestoreRoute","restoreRoute","markSnapshotRestored","at","lastRestoredAt","duplicateSnapshot","name","copy","Date","now","toString","createdAt","undefined","data","readSnapshot","restoreDeletedSnapshot","renameSnapshot"],"sourceRoot":"../../../src","sources":["store/snapshotVault.ts"],"mappings":"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","ignoreList":[]}
@@ -7,9 +7,11 @@ exports.RESTORE_ORDER = void 0;
7
7
  exports.replaceTimeMachineFromSnapshot = replaceTimeMachineFromSnapshot;
8
8
  exports.setRemoteTimeMachineHandler = setRemoteTimeMachineHandler;
9
9
  exports.timeMachineStore = void 0;
10
+ exports.willRestoreRoute = willRestoreRoute;
10
11
  var _sharedUi = require("@buoy-gg/shared-ui");
11
12
  var _dataViewer = require("@buoy-gg/shared-ui/dataViewer");
12
13
  var _snapshotVault = require("./snapshotVault");
14
+ var _routeRestore = require("./routeRestore");
13
15
  /**
14
16
  * Time Machine orchestrator — snapshot CRUD + capture/restore across every
15
17
  * registered StateSnapshotProvider (storage, redux, zustand, jotai, query,
@@ -28,11 +30,35 @@ var _snapshotVault = require("./snapshotVault");
28
30
  */
29
31
 
30
32
  const RESTORE_ORDER = exports.RESTORE_ORDER = ["storage", "redux", "zustand", "jotai", "query"];
33
+ /**
34
+ * What to call a capture nobody named. The screen you were on plus the time
35
+ * is the pair that makes a restore point recognizable an hour later —
36
+ * "Untitled snapshot" never was, and typing mid-flow is the friction that
37
+ * produced it.
38
+ */
39
+ function defaultSnapshotName(route) {
40
+ const now = new Date();
41
+ const clock = `${String(now.getHours()).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}`;
42
+ return route ? `${route.pathname} · ${clock}` : `Snapshot · ${clock}`;
43
+ }
44
+
45
+ /**
46
+ * Will restoring this point also navigate back to its route? Having a route
47
+ * means wanting it back unless the point says otherwise — the same rule
48
+ * `restore` applies, exported so the UI can't drift from it.
49
+ */
50
+ function willRestoreRoute(meta) {
51
+ return !!meta.route && (meta.restoreRoute ?? true);
52
+ }
53
+
54
+ /** Extra knobs a restore accepts beyond mode + exclusions. */
31
55
 
32
56
  /** Provider capability row as mirrored to a remote dashboard. */
33
57
 
34
58
  /** One side of a preview comparison. */
35
59
 
60
+ /** Whether this device can capture and return to routes, and where it is now. */
61
+
36
62
  let remoteHandler = null;
37
63
  function skippedResult(reason) {
38
64
  return {
@@ -57,7 +83,9 @@ class TimeMachineStore {
57
83
  busy: null,
58
84
  lastOutcome: null,
59
85
  preview: null,
60
- remoteProviders: null
86
+ remoteProviders: null,
87
+ remoteRoute: null,
88
+ recentlyDeleted: null
61
89
  };
62
90
  /** Monotonic token — a preview build checks it after every await and
63
91
  * abandons itself when a newer build (or clearPreview) supersedes it. */
@@ -108,6 +136,9 @@ class TimeMachineStore {
108
136
  busy: payload.busy ?? null,
109
137
  lastOutcome: payload.lastOutcome ?? null,
110
138
  remoteProviders: payload.providers ?? [],
139
+ remoteRoute: payload.route ?? {
140
+ available: false
141
+ },
111
142
  hasLoaded: true
112
143
  });
113
144
  }
@@ -142,12 +173,17 @@ class TimeMachineStore {
142
173
  };
143
174
  }
144
175
  }
176
+ // Where the app was when this state was true — restoring can return here.
177
+ const route = (0, _routeRestore.captureCurrentRoute)();
145
178
  const snapshot = {
146
179
  meta: {
147
180
  id: nextId(),
148
- name: name.trim() || "Untitled snapshot",
181
+ name: name.trim() || defaultSnapshotName(route),
149
182
  createdAt: Date.now(),
150
183
  sizeBytes: 0,
184
+ ...(route ? {
185
+ route
186
+ } : {}),
151
187
  sources
152
188
  },
153
189
  data
@@ -198,12 +234,13 @@ class TimeMachineStore {
198
234
  * itemKey being what previewItems emitted) — split per source before each
199
235
  * provider sees only its own keys.
200
236
  */
201
- async restore(id, mode, excludeKeys) {
237
+ async restore(id, mode, excludeKeys, options) {
202
238
  if (remoteHandler) {
203
239
  const outcome = await remoteHandler("restore", {
204
240
  id,
205
241
  mode,
206
- excludeKeys
242
+ excludeKeys,
243
+ restoreRoute: options?.restoreRoute
207
244
  });
208
245
  this.setState({
209
246
  lastOutcome: outcome
@@ -257,19 +294,49 @@ class TimeMachineStore {
257
294
  }
258
295
  return bySource;
259
296
  };
260
- const excludeBySource = splitCompound(excludeKeys ?? []);
297
+
298
+ // No explicit list means "use what the user saved in the preview" —
299
+ // that is what makes an unchecked item stay unchecked forever, for the
300
+ // one-tap RESTORE on the list and for MCP alike.
301
+ const effectiveExcludes = excludeKeys ?? stored.meta.excludedKeys ?? [];
302
+ const excludeBySource = splitCompound(effectiveExcludes);
261
303
  // A saved scope makes this a targeted restore point. An explicit
262
304
  // exclusion list from the preview already reflects the scope (the
263
305
  // preview seeds its selection from it), so it takes precedence.
264
306
  const includeBySource = !excludeKeys && stored.meta.scope?.length ? splitCompound(stored.meta.scope) : null;
307
+
308
+ // No prompt any more: the point carries its own answer, and having a
309
+ // route means wanting it back unless you said otherwise. An explicit
310
+ // option still wins, so MCP and the desktop can force either way.
311
+ const wantsRoute = options?.restoreRoute ?? willRestoreRoute(stored.meta);
265
312
  if (mode === "reload") {
266
313
  // Storage only; everything in-memory rebuilds after the reload.
267
314
  if (stored.data.storage && (!includeBySource || includeBySource.has("storage"))) {
268
315
  outcome.results.storage = await this.restoreSource("storage", stored.data.storage, excludeBySource.get("storage"), includeBySource?.get("storage"));
269
316
  }
317
+ // Hand the route to the NEXT boot — this realm is about to die, so the
318
+ // slot must be written before the reload is armed.
319
+ if (wantsRoute) {
320
+ const route = stored.meta.route;
321
+ try {
322
+ await (0, _routeRestore.savePendingRoute)(route, stored.meta.name);
323
+ outcome.route = {
324
+ ...route,
325
+ status: "deferred"
326
+ };
327
+ } catch (e) {
328
+ outcome.route = {
329
+ ...route,
330
+ status: "failed",
331
+ error: String(e)
332
+ };
333
+ }
334
+ }
270
335
  outcome.willReload = this.scheduleReload("buoy time-machine restore");
336
+ // Stamped BEFORE the reload is armed — the JS realm is about to die.
271
337
  this.setState({
272
- lastOutcome: outcome
338
+ lastOutcome: outcome,
339
+ snapshots: await (0, _snapshotVault.markSnapshotRestored)(id, outcome.at, this.state.snapshots)
273
340
  });
274
341
  return outcome;
275
342
  }
@@ -278,8 +345,13 @@ class TimeMachineStore {
278
345
  if (includeBySource && !includeBySource.has(sid)) continue;
279
346
  outcome.results[sid] = await this.restoreSource(sid, stored.data[sid], excludeBySource.get(sid), includeBySource?.get(sid));
280
347
  }
348
+ // Navigate LAST — the screen we land on should read the restored state.
349
+ if (wantsRoute) {
350
+ outcome.route = (0, _routeRestore.navigateToRoute)(stored.meta.route);
351
+ }
281
352
  this.setState({
282
- lastOutcome: outcome
353
+ lastOutcome: outcome,
354
+ snapshots: await (0, _snapshotVault.markSnapshotRestored)(id, outcome.at, this.state.snapshots)
283
355
  });
284
356
  return outcome;
285
357
  } finally {
@@ -322,6 +394,13 @@ class TimeMachineStore {
322
394
  return false;
323
395
  }
324
396
  }
397
+
398
+ /**
399
+ * Delete, holding the whole record in memory so `undoDelete` can put it
400
+ * back. Swipe-and-tap is deliberate but not recoverable, and those are
401
+ * different properties — a restore point can represent state that takes
402
+ * ten minutes and a cooperative backend to rebuild.
403
+ */
325
404
  async delete(id) {
326
405
  if (remoteHandler) {
327
406
  await remoteHandler("delete", {
@@ -330,11 +409,69 @@ class TimeMachineStore {
330
409
  return;
331
410
  }
332
411
  await this.ensureLoaded();
412
+ const stored = await (0, _snapshotVault.readSnapshot)(id);
333
413
  const snapshots = await (0, _snapshotVault.deleteSnapshot)(id, this.state.snapshots);
414
+ this.setState({
415
+ snapshots,
416
+ recentlyDeleted: stored ? {
417
+ stored,
418
+ at: Date.now()
419
+ } : null
420
+ });
421
+ }
422
+
423
+ /** Put the last deleted point back. No-op once the window has passed. */
424
+ async undoDelete() {
425
+ const held = this.state.recentlyDeleted;
426
+ if (!held) return;
427
+ const snapshots = await (0, _snapshotVault.restoreDeletedSnapshot)(held.stored, this.state.snapshots);
428
+ this.setState({
429
+ snapshots,
430
+ recentlyDeleted: null
431
+ });
432
+ }
433
+
434
+ /** Drop the undo offer — on timeout, or when the user moves on. */
435
+ clearRecentlyDeleted() {
436
+ if (this.state.recentlyDeleted) this.setState({
437
+ recentlyDeleted: null
438
+ });
439
+ }
440
+
441
+ /** Turn this point's route restore on or off. */
442
+ async setRestoreRoute(id, restoreRoute) {
443
+ if (remoteHandler) {
444
+ await remoteHandler("setRestoreRoute", {
445
+ id,
446
+ restoreRoute
447
+ });
448
+ return;
449
+ }
450
+ await this.ensureLoaded();
451
+ const snapshots = await (0, _snapshotVault.setSnapshotRestoreRoute)(id, restoreRoute, this.state.snapshots);
334
452
  this.setState({
335
453
  snapshots
336
454
  });
337
455
  }
456
+
457
+ /** Copy a point so a variation can start from a known-good base. */
458
+ async duplicate(id) {
459
+ if (remoteHandler) {
460
+ const result = await remoteHandler("duplicate", {
461
+ id
462
+ });
463
+ return result?.snapshot ?? null;
464
+ }
465
+ await this.ensureLoaded();
466
+ const source = this.state.snapshots.find(s => s.id === id);
467
+ if (!source) return null;
468
+ const result = await (0, _snapshotVault.duplicateSnapshot)(id, `${source.name} copy`, this.state.snapshots);
469
+ if (!result) return null;
470
+ this.setState({
471
+ snapshots: result.metas
472
+ });
473
+ return result.meta;
474
+ }
338
475
  async rename(id, name) {
339
476
  if (remoteHandler) {
340
477
  await remoteHandler("rename", {
@@ -369,6 +506,26 @@ class TimeMachineStore {
369
506
  snapshots
370
507
  });
371
508
  }
509
+
510
+ /**
511
+ * Save (or clear with null/empty) the items every later restore of this
512
+ * snapshot must leave untouched — what the restore preview's checkboxes
513
+ * write when you save a selection.
514
+ */
515
+ async setExclusions(id, excludedKeys) {
516
+ if (remoteHandler) {
517
+ await remoteHandler("setExclusions", {
518
+ id,
519
+ excludedKeys
520
+ });
521
+ return;
522
+ }
523
+ await this.ensureLoaded();
524
+ const snapshots = await (0, _snapshotVault.setSnapshotExclusions)(id, excludedKeys, this.state.snapshots);
525
+ this.setState({
526
+ snapshots
527
+ });
528
+ }
372
529
  clearLastOutcome() {
373
530
  this.setState({
374
531
  lastOutcome: null
@@ -1 +1 @@
1
- {"version":3,"names":["_sharedUi","require","_dataViewer","_snapshotVault","RESTORE_ORDER","exports","remoteHandler","skippedResult","reason","ok","applied","skipped","id","warnings","idCounter","nextId","Date","now","toString","TimeMachineStore","state","snapshots","hasLoaded","busy","lastOutcome","preview","remoteProviders","previewRunId","listeners","Set","loadPromise","getState","subscribe","listener","add","ensureLoaded","delete","setState","patch","forEach","l","Promise","resolve","loadIndex","then","replaceFromSnapshot","payload","providers","capture","name","sourceIds","result","snapshot","getStateSnapshotProviders","filter","p","status","canCapture","includes","data","sources","provider","captured","superJsonSerialize","e","String","meta","trim","createdAt","sizeBytes","saveSnapshot","captureBaseline","baseline","restore","mode","excludeKeys","outcome","stored","loadSnapshot","Error","snapshotId","snapshotName","at","willReload","results","clear","scheduleReload","sid","Object","keys","splitCompound","bySource","Map","compound","sep","indexOf","slice","itemKey","list","get","push","set","excludeBySource","includeBySource","scope","length","storage","has","restoreSource","sourceId","includeKeys","getStateSnapshotProvider","canRestore","detail","options","undefined","superJsonDeserialize","scheduleReloadApp","deleteSnapshot","rename","renameSnapshot","setScope","setSnapshotScope","clearLastOutcome","wipeAll","clearPreview","buildPreview","right","left","runId","building","builtAt","compareTo","label","items","notes","error","loadSide","ref","leftData","rightStored","all","rightData","isBaseline","map","r","setTimeout","targetData","baseData","key","verdict","previewItems","diff","objectDiff","equal","oldValue","newValue","truncated","timeMachineStore","setRemoteTimeMachineHandler","handler","replaceTimeMachineFromSnapshot"],"sourceRoot":"../../../src","sources":["store/timeMachineStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sharedUi","require","_dataViewer","_snapshotVault","_routeRestore","RESTORE_ORDER","exports","defaultSnapshotName","route","now","Date","clock","String","getHours","padStart","getMinutes","pathname","willRestoreRoute","meta","restoreRoute","remoteHandler","skippedResult","reason","ok","applied","skipped","id","warnings","idCounter","nextId","toString","TimeMachineStore","state","snapshots","hasLoaded","busy","lastOutcome","preview","remoteProviders","remoteRoute","recentlyDeleted","previewRunId","listeners","Set","loadPromise","getState","subscribe","listener","add","ensureLoaded","delete","setState","patch","forEach","l","Promise","resolve","loadIndex","then","replaceFromSnapshot","payload","providers","available","capture","name","sourceIds","result","snapshot","getStateSnapshotProviders","filter","p","status","canCapture","includes","data","sources","provider","captured","superJsonSerialize","e","captureCurrentRoute","trim","createdAt","sizeBytes","saveSnapshot","captureBaseline","baseline","restore","mode","excludeKeys","options","outcome","stored","loadSnapshot","Error","snapshotId","snapshotName","at","willReload","results","clear","scheduleReload","sid","Object","keys","splitCompound","bySource","Map","compound","sep","indexOf","slice","itemKey","list","get","push","set","effectiveExcludes","excludedKeys","excludeBySource","includeBySource","scope","length","wantsRoute","storage","has","restoreSource","savePendingRoute","error","markSnapshotRestored","navigateToRoute","sourceId","includeKeys","getStateSnapshotProvider","canRestore","detail","undefined","superJsonDeserialize","scheduleReloadApp","readSnapshot","deleteSnapshot","undoDelete","held","restoreDeletedSnapshot","clearRecentlyDeleted","setRestoreRoute","setSnapshotRestoreRoute","duplicate","source","find","s","duplicateSnapshot","metas","rename","renameSnapshot","setScope","setSnapshotScope","setExclusions","setSnapshotExclusions","clearLastOutcome","wipeAll","clearPreview","buildPreview","right","left","runId","building","builtAt","compareTo","label","items","notes","loadSide","ref","leftData","rightStored","all","rightData","isBaseline","map","r","setTimeout","targetData","baseData","key","verdict","previewItems","diff","objectDiff","equal","oldValue","newValue","truncated","timeMachineStore","setRemoteTimeMachineHandler","handler","replaceTimeMachineFromSnapshot"],"sourceRoot":"../../../src","sources":["store/timeMachineStore.ts"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ var _sharedUi = require("@buoy-gg/shared-ui");
8
8
  var _dataViewer = require("@buoy-gg/shared-ui/dataViewer");
9
9
  var _timeMachineStore = require("../store/timeMachineStore");
10
10
  var _snapshotVault = require("../store/snapshotVault");
11
+ var _routeRestore = require("../store/routeRestore");
11
12
  /**
12
13
  * Sync adapter for the Time Machine tool, consumed by @buoy-gg/external-sync's
13
14
  * `useExternalSync` (structurally matches its ToolSyncAdapter interface so
@@ -40,15 +41,25 @@ function metadata() {
40
41
  busy,
41
42
  lastOutcome
42
43
  } = _timeMachineStore.timeMachineStore.getState();
44
+ const current = (0, _routeRestore.currentRoute)();
43
45
  return {
44
46
  snapshots,
45
47
  busy,
46
48
  lastOutcome,
47
- providers: providerStatuses()
49
+ providers: providerStatuses(),
50
+ // Route capture/restore is a device capability, not a snapshot provider —
51
+ // a dashboard has no router of its own to probe, so it's mirrored here.
52
+ route: {
53
+ available: (0, _routeRestore.canNavigate)(),
54
+ ...(current ? {
55
+ current: current.href
56
+ } : {})
57
+ }
48
58
  };
49
59
  }
50
60
  const timeMachineSyncAdapter = exports.timeMachineSyncAdapter = {
51
- version: 1,
61
+ // v2 adds `route` (device route capability) and `snapshots[].route`.
62
+ version: 2,
52
63
  getSnapshot: () => metadata(),
53
64
  subscribe: onChange => {
54
65
  const unsubStore = _timeMachineStore.timeMachineStore.subscribe(onChange);
@@ -87,10 +98,13 @@ const timeMachineSyncAdapter = exports.timeMachineSyncAdapter = {
87
98
  const {
88
99
  id,
89
100
  mode = "live",
90
- excludeKeys
101
+ excludeKeys,
102
+ restoreRoute
91
103
  } = params ?? {};
92
104
  if (!id) throw new Error("restore requires a snapshot `id`");
93
- return await _timeMachineStore.timeMachineStore.restore(id, mode, excludeKeys);
105
+ return await _timeMachineStore.timeMachineStore.restore(id, mode, excludeKeys, {
106
+ restoreRoute
107
+ });
94
108
  },
95
109
  delete: async params => {
96
110
  const {
@@ -116,6 +130,47 @@ const timeMachineSyncAdapter = exports.timeMachineSyncAdapter = {
116
130
  name
117
131
  };
118
132
  },
133
+ /**
134
+ * Save (or clear with null/empty) the items a restore of this snapshot
135
+ * must leave alone — the persisted form of the preview's checkboxes.
136
+ */
137
+ setExclusions: async params => {
138
+ const {
139
+ id,
140
+ excludedKeys
141
+ } = params ?? {};
142
+ if (!id) throw new Error("setExclusions requires `id`");
143
+ await _timeMachineStore.timeMachineStore.setExclusions(id, excludedKeys ?? null);
144
+ return {
145
+ id,
146
+ excluded: excludedKeys?.length ?? 0
147
+ };
148
+ },
149
+ /** Turn a restore point's route restore on or off. */
150
+ setRestoreRoute: async params => {
151
+ const {
152
+ id,
153
+ restoreRoute
154
+ } = params ?? {};
155
+ if (!id) throw new Error("setRestoreRoute requires `id`");
156
+ await _timeMachineStore.timeMachineStore.setRestoreRoute(id, restoreRoute !== false);
157
+ return {
158
+ id,
159
+ restoreRoute: restoreRoute !== false
160
+ };
161
+ },
162
+ /** Copy a restore point so a variation can start from a known base. */
163
+ duplicate: async params => {
164
+ const {
165
+ id
166
+ } = params ?? {};
167
+ if (!id) throw new Error("duplicate requires `id`");
168
+ const snapshot = await _timeMachineStore.timeMachineStore.duplicate(id);
169
+ if (!snapshot) throw new Error(`No snapshot with id "${id}"`);
170
+ return {
171
+ snapshot
172
+ };
173
+ },
119
174
  /** Save (or clear with null/empty) a snapshot's targeted-restore scope. */
120
175
  setScope: async params => {
121
176
  const {