@fizzyflow/wdoublesync_cli 1.0.6 → 1.0.7
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 +7 -0
- package/SKILL.md +10 -1
- package/bin/wdoublesync.js +4 -0
- package/lib/commands/push.js +7 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,6 +40,7 @@ The `[path]` argument is optional — if omitted, the current working directory
|
|
|
40
40
|
| `--version <n>` | Version to restore (`pull` only, default: latest) |
|
|
41
41
|
| `--exclude <p1,p2>` | Extra exclude patterns (comma-separated) |
|
|
42
42
|
| `--no-compress` | Disable gzip compression |
|
|
43
|
+
| `--no-seal` | Create a new vector public (no Seal encryption). Only applies when creating; ignored for existing vectors |
|
|
43
44
|
| `--manifest` | Write/use `.wdoublesync` manifest for faster change detection |
|
|
44
45
|
| `--force-snapshot` | Push a full snapshot regardless of prior history (repairs a corrupt vector) |
|
|
45
46
|
| `--poll-interval <s>` | `watch`: seconds between remote version checks (default: `2`) |
|
|
@@ -74,6 +75,12 @@ wdoublesync push ~/my-project --chain testnet --key suiprivkey1...
|
|
|
74
75
|
# version 1 pushed (full snapshot, gzip compressed)
|
|
75
76
|
```
|
|
76
77
|
|
|
78
|
+
By default a new vector is Seal-encrypted. To create a public (unencrypted) vector that anyone can pull without a key:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
wdoublesync push --chain testnet --key suiprivkey1... --no-seal
|
|
82
|
+
```
|
|
83
|
+
|
|
77
84
|
### Push an update
|
|
78
85
|
|
|
79
86
|
```bash
|
package/SKILL.md
CHANGED
|
@@ -66,7 +66,7 @@ wdoublesync push ~/my-folder
|
|
|
66
66
|
# Output: created: 0x1234... / syncing ./ → 0x1234...
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
This creates a new EndlessVector on-chain and pushes the folder as a snapshot encrypted by Seal. The output will show the vector ID (e.g., `0x1234...`) which you can use for future pulls or pushes. It's a good idea to save this ID to MemWal, with addition to the path info, so you can easily find it later when you want to pull or view the vector state. Ask a user if they want to set up MemWal if it's not available and you are going to push new vector.
|
|
69
|
+
This creates a new EndlessVector on-chain and pushes the folder as a snapshot encrypted by Seal. To create a **public** vector instead — unencrypted, pullable without a key and browsable from the dApp — add `--no-seal` (only effective on creation). The output will show the vector ID (e.g., `0x1234...`) which you can use for future pulls or pushes. It's a good idea to save this ID to MemWal, with addition to the path info, so you can easily find it later when you want to pull or view the vector state. Ask a user if they want to set up MemWal if it's not available and you are going to push new vector.
|
|
70
70
|
|
|
71
71
|
### Pull a vector to restore it
|
|
72
72
|
|
|
@@ -111,6 +111,14 @@ wdoublesync push ~/my-data
|
|
|
111
111
|
# syncing ./ → 0xabc123...
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
+
#### push (create public, unencrypted vector)
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
wdoublesync push ~/my-data --no-seal
|
|
118
|
+
# Creates a public vector — anyone can pull it without a key, or browse it from the dApp.
|
|
119
|
+
# Only effective on creation; ignored when pushing to an existing vector.
|
|
120
|
+
```
|
|
121
|
+
|
|
114
122
|
#### push (to existing vector)
|
|
115
123
|
|
|
116
124
|
```bash
|
|
@@ -176,6 +184,7 @@ wdoublesync rebate 0x1234... ~/my-data
|
|
|
176
184
|
| `--key` | Sui private key (`suiprivkey1...`) | — | Sign transactions (or use env vars) |
|
|
177
185
|
| `--phrase` | Mnemonic phrase | — | Alternative: derive key from mnemonic |
|
|
178
186
|
| `--no-compress` | — | — | Push: disable gzip compression |
|
|
187
|
+
| `--no-seal` | — | — | Push: create a new vector public (no Seal encryption). Only applies when creating a vector; ignored for existing ones |
|
|
179
188
|
| `--manifest` | — | — | Push: write/use `.wdoublesync` file for faster change detection |
|
|
180
189
|
| `--force-snapshot` | — | — | Push: full snapshot (repairs corrupt vectors) |
|
|
181
190
|
| `--version` | Number | `latest` | Pull: restore specific version instead of latest |
|
package/bin/wdoublesync.js
CHANGED
|
@@ -29,6 +29,7 @@ Options:
|
|
|
29
29
|
--version <n> Version to restore (pull only, default: latest)
|
|
30
30
|
--exclude <p1,p2> Extra exclude patterns (comma-separated)
|
|
31
31
|
--no-compress Disable gzip compression
|
|
32
|
+
--no-seal Create a new vector public (no Seal encryption); only applies on creation
|
|
32
33
|
--manifest Write/use .wdoublesync manifest for faster change detection
|
|
33
34
|
--force-snapshot Push a full snapshot regardless of prior history (repairs corrupt vectors)
|
|
34
35
|
--poll-interval <s> Watch: seconds between remote checks (default: 2)
|
|
@@ -49,6 +50,7 @@ function parseArgs(argv) {
|
|
|
49
50
|
version: null,
|
|
50
51
|
exclude: null,
|
|
51
52
|
compress: 'gzip',
|
|
53
|
+
seal: true,
|
|
52
54
|
manifest: false,
|
|
53
55
|
forceSnapshot: false,
|
|
54
56
|
pollInterval: 2,
|
|
@@ -100,6 +102,8 @@ function parseArgs(argv) {
|
|
|
100
102
|
args.exclude = raw[++i];
|
|
101
103
|
} else if (flag === '--no-compress') {
|
|
102
104
|
args.compress = false;
|
|
105
|
+
} else if (flag === '--no-seal') {
|
|
106
|
+
args.seal = false;
|
|
103
107
|
} else if (flag === '--manifest') {
|
|
104
108
|
args.manifest = true;
|
|
105
109
|
} else if (flag === '--force-snapshot') {
|
package/lib/commands/push.js
CHANGED
|
@@ -48,10 +48,15 @@ export async function push(args) {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
if (!vectorId) {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
// Seal encryption is decided at creation time, solely by whether a sealClient
|
|
52
|
+
// is passed to create(). Omit it for a public (unencrypted) vector.
|
|
53
|
+
const createParams = args.seal === false ? { ...evParams, sealClient: undefined } : evParams;
|
|
54
|
+
console.log('creating new EndlessVector on', chain, args.seal === false ? '(public, no Seal)' : '(Seal-encrypted)', '...');
|
|
55
|
+
const ev = await EndlessVector.create(createParams);
|
|
53
56
|
vectorId = ev.id;
|
|
54
57
|
console.log(' created:', vectorId);
|
|
58
|
+
} else if (args.seal === false) {
|
|
59
|
+
console.log(' note: --no-seal only applies when creating a new vector; pushing to an existing vector keeps its current encryption');
|
|
55
60
|
}
|
|
56
61
|
|
|
57
62
|
console.log('syncing ./ →', vectorId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fizzyflow/wdoublesync_cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI tool built on the wdoublesync library to sync local folders to Walrus decentralised storage on the Sui network. Stores versioned gzip-compressed snapshots and diffs inside an EndlessVector on-chain object. Supports Seal encryption, manifest-based fast change detection, and full version history with point-in-time restore.",
|
|
6
6
|
"bin": {
|