@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 +2 -12
- package/dist/cli.d.ts +0 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -10
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +0 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +0 -1
- package/dist/commands/index.js.map +1 -1
- package/package.json +2 -2
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 ยท
|
|
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 ยท
|
|
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
|
|
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,
|
|
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
|
|
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"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/commands/index.js
CHANGED
|
@@ -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,
|
|
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.
|
|
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
|
+
}
|