@savestate/cli 0.1.0 โ†’ 0.1.1

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
@@ -23,7 +23,6 @@ SaveState is an encrypted backup and restore system for AI agent state. Think **
23
23
  npx savestate init # Set up encryption + storage
24
24
  npx savestate snapshot # Capture current state
25
25
  npx savestate restore latest # Restore from last snapshot
26
- npx savestate search "cocktail recs" # Search across all snapshots
27
26
  npx savestate diff v3 v5 # What changed between snapshots
28
27
  ```
29
28
 
@@ -32,7 +31,6 @@ npx savestate diff v3 v5 # What changed between snapshots
32
31
  - ๐Ÿ” **Encrypted at rest** โ€” AES-256-GCM with scrypt key derivation. Your keys, your data.
33
32
  - ๐Ÿ“ฆ **Open archive format** โ€” The SaveState Archive Format (SAF) is an open spec. No vendor lock-in.
34
33
  - ๐Ÿ”Œ **Platform adapters** โ€” Works with ChatGPT, Claude, Gemini, Clawdbot, OpenAI Assistants, and more.
35
- - ๐Ÿ” **Searchable** โ€” Query across all snapshots without restoring. Find anything.
36
34
  - ๐Ÿ“Š **Incremental** โ€” Like git โ€” only captures what changed. Full history, tiny storage.
37
35
  - ๐Ÿ’พ **Flexible storage** โ€” Local filesystem, S3, R2, Backblaze, Dropbox, iCloud โ€” you choose.
38
36
  - โฐ **Scheduled backups** โ€” Set it and forget it. Auto-snapshot on your schedule.
@@ -54,9 +52,6 @@ savestate snapshot
54
52
  # List all snapshots
55
53
  savestate list
56
54
 
57
- # Search across snapshots
58
- savestate search "that recipe from last month"
59
-
60
55
  # Restore from a snapshot
61
56
  savestate restore latest
62
57
  ```
@@ -79,13 +74,13 @@ Community adapters welcome! See [Contributing](#contributing).
79
74
  ```
80
75
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
81
76
  โ”‚ SaveState CLI โ”‚
82
- โ”‚ init ยท snapshot ยท restore ยท search ยท diff โ”‚
77
+ โ”‚ init ยท snapshot ยท restore ยท list ยท diff โ”‚
83
78
  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
84
79
  โ”‚ Adapter Layer โ”‚
85
80
  โ”‚ clawdbot ยท chatgpt ยท claude ยท openai ยท custom โ”‚
86
81
  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
87
82
  โ”‚ Core Engine โ”‚
88
- โ”‚ snapshot ยท restore ยท search ยท diff ยท format โ”‚
83
+ โ”‚ snapshot ยท restore ยท diff ยท format โ”‚
89
84
  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
90
85
  โ”‚ Encryption Layer โ”‚
91
86
  โ”‚ AES-256-GCM ยท scrypt KDF ยท integrity check โ”‚
@@ -147,9 +142,6 @@ savestate restore [snapshot-id] Restore from a snapshot (default: latest)
147
142
  savestate list List all snapshots
148
143
  --json Output as JSON
149
144
  --limit <n> Max snapshots to show
150
- savestate search <query> Search across snapshots
151
- --type <types> Filter by content type
152
- --limit <n> Max results
153
145
  savestate diff <a> <b> Compare two snapshots
154
146
  savestate config View/edit configuration
155
147
  --set <key=value> Set a config value
@@ -225,13 +217,11 @@ src/
225
217
  โ”œโ”€โ”€ config.ts # Configuration management
226
218
  โ”œโ”€โ”€ snapshot.ts # Snapshot creation
227
219
  โ”œโ”€โ”€ restore.ts # Snapshot restoration
228
- โ”œโ”€โ”€ search.ts # Cross-snapshot search
229
220
  โ”œโ”€โ”€ commands/ # CLI command handlers
230
221
  โ”‚ โ”œโ”€โ”€ init.ts
231
222
  โ”‚ โ”œโ”€โ”€ snapshot.ts
232
223
  โ”‚ โ”œโ”€โ”€ restore.ts
233
224
  โ”‚ โ”œโ”€โ”€ list.ts
234
- โ”‚ โ”œโ”€โ”€ search.ts
235
225
  โ”‚ โ”œโ”€โ”€ diff.ts
236
226
  โ”‚ โ”œโ”€โ”€ config.ts
237
227
  โ”‚ โ””โ”€โ”€ adapters.ts
package/dist/cli.d.ts CHANGED
@@ -9,7 +9,6 @@
9
9
  * savestate snapshot Capture current state
10
10
  * savestate restore [snapshot-id] Restore from a snapshot
11
11
  * savestate list List all snapshots
12
- * savestate search <query> Search across snapshots
13
12
  * savestate diff <a> <b> Compare two snapshots
14
13
  * savestate config View/edit configuration
15
14
  * savestate adapters List available adapters
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG"}
package/dist/cli.js CHANGED
@@ -9,13 +9,12 @@
9
9
  * savestate snapshot Capture current state
10
10
  * savestate restore [snapshot-id] Restore from a snapshot
11
11
  * savestate list List all snapshots
12
- * savestate search <query> Search across snapshots
13
12
  * savestate diff <a> <b> Compare two snapshots
14
13
  * savestate config View/edit configuration
15
14
  * savestate adapters List available adapters
16
15
  */
17
16
  import { Command } from 'commander';
18
- import { initCommand, snapshotCommand, restoreCommand, listCommand, searchCommand, diffCommand, configCommand, adaptersCommand, } from './commands/index.js';
17
+ import { initCommand, snapshotCommand, restoreCommand, listCommand, diffCommand, configCommand, adaptersCommand, } from './commands/index.js';
19
18
  const program = new Command();
20
19
  program
21
20
  .name('savestate')
@@ -51,14 +50,6 @@ program
51
50
  .option('--json', 'Output as JSON')
52
51
  .option('--limit <n>', 'Maximum number of snapshots to show')
53
52
  .action(listCommand);
54
- // โ”€โ”€โ”€ savestate search โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
55
- program
56
- .command('search <query>')
57
- .description('Search across all snapshots')
58
- .option('--type <types>', 'Filter by type (memory,conversation,identity,knowledge)')
59
- .option('--limit <n>', 'Maximum number of results')
60
- .option('--snapshot <id>', 'Search within a specific snapshot')
61
- .action(searchCommand);
62
53
  // โ”€โ”€โ”€ savestate diff โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
63
54
  program
64
55
  .command('diff <a> <b>')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,qEAAqE,CAAC;KAClF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,2BAA2B,EAAE,8CAA8C,CAAC;KACnF,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,wBAAwB,EAAE,kEAAkE,CAAC;KACpG,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,aAAa,EAAE,qCAAqC,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,gBAAgB,EAAE,yDAAyD,CAAC;KACnF,MAAM,CAAC,aAAa,EAAE,2BAA2B,CAAC;KAClD,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC9D,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;KACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,gEAAgE;AAEhE,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,qEAAqE,CAAC;KAClF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;KAC1E,MAAM,CAAC,2BAA2B,EAAE,8CAA8C,CAAC;KACnF,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,wBAAwB,EAAE,kEAAkE,CAAC;KACpG,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,aAAa,EAAE,qCAAqC,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;KACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,gEAAgE;AAEhE,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,gEAAgE;AAEhE,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -5,7 +5,6 @@ export { initCommand } from './init.js';
5
5
  export { snapshotCommand } from './snapshot.js';
6
6
  export { restoreCommand } from './restore.js';
7
7
  export { listCommand } from './list.js';
8
- export { searchCommand } from './search.js';
9
8
  export { diffCommand } from './diff.js';
10
9
  export { configCommand } from './config.js';
11
10
  export { adaptersCommand } from './adapters.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -5,7 +5,6 @@ export { initCommand } from './init.js';
5
5
  export { snapshotCommand } from './snapshot.js';
6
6
  export { restoreCommand } from './restore.js';
7
7
  export { listCommand } from './list.js';
8
- export { searchCommand } from './search.js';
9
8
  export { diffCommand } from './diff.js';
10
9
  export { configCommand } from './config.js';
11
10
  export { adaptersCommand } from './adapters.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savestate/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Time Machine for AI. Backup, restore, and migrate your AI identity.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -58,4 +58,4 @@
58
58
  "@types/node": "^22.15.0",
59
59
  "typescript": "^5.8.3"
60
60
  }
61
- }
61
+ }