mnemospark 1.0.1 → 1.2.0

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "mnemospark",
3
3
  "name": "mnemospark",
4
- "version": "1.0.1",
4
+ "version": "1.2.0",
5
5
  "description": "mnemospark is an OpenClaw plugin that gives agentic systems instant, secure access to cloud storage, compute, and proprietary datasets paid via x402 with USDC on Base. Wallet and go.",
6
6
  "configSchema": {
7
7
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mnemospark",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "description": "mnemospark is an OpenClaw plugin that gives agentic systems instant, secure access to cloud storage, compute, and proprietary datasets paid via x402 with USDC on Base. Wallet and go.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -2,7 +2,23 @@
2
2
 
3
3
  ## When to use
4
4
 
5
- Use this skill for mnemospark cloud backup/storage workflows, async operation tracking, and troubleshooting using SQLite + JSONL observability.
5
+ Use this skill for mnemospark cloud backup/storage workflows, async operation tracking, and troubleshooting using SQLite + JSONL observability. When an **agent runs commands in a shell** (not only OpenClaw slash commands), follow **Agent shell execution** below.
6
+
7
+ ## Agent shell execution (OpenClaw plugin)
8
+
9
+ 1. **Invocation:** Agents **must** run mnemospark via Node using an **absolute** path to the built CLI:
10
+
11
+ `node <ABSOLUTE_PATH_TO_EXTENSION>/dist/cli.js cloud <subcommand> [arguments…]`
12
+
13
+ Do **not** rely on the current working directory. Resolve `<ABSOLUTE_PATH_TO_EXTENSION>` to the real install path (for example expand `~` / `$HOME`). The mnemospark OpenClaw extension lives under **`.openclaw/extensions/mnemospark/`** (e.g. `~/.openclaw/extensions/mnemospark`).
14
+
15
+ 2. **Example (typical Linux agent home):**
16
+
17
+ `node /home/ubuntu/.openclaw/extensions/mnemospark/dist/cli.js cloud …`
18
+
19
+ 3. **Flag style:** Use **`--key value`** for all arguments (and bare flags like `--async`, `--latest`, `--renewal`, `--cancel` where applicable). Do **not** build shell commands with slash prefixes (`/mnemospark …`) or `name:value` forms—those are for **in-chat** slash UX. The chat handler accepts multiple spellings; **shell automation must use `--key value`**.
20
+
21
+ 4. **Discovery:** `node <ABSOLUTE_PATH_TO_EXTENSION>/dist/cli.js cloud help` shows the same help as `/mnemospark cloud help`.
6
22
 
7
23
  ## Inputs expected
8
24
 
@@ -21,33 +37,65 @@ Use this skill for mnemospark cloud backup/storage workflows, async operation tr
21
37
  3. Use `--orchestrator subagent` when explicit subagent session tracking/cancel support is required.
22
38
  4. If timeout control is needed, require `--timeout-seconds <n>` with `--orchestrator subagent`.
23
39
  5. Return `operation-id` immediately for async commands.
24
- 6. Poll with `/mnemospark cloud op-status --operation-id <id>` until terminal status; on **succeeded**, the status message includes the same full user-visible output as a synchronous run (e.g. backup `price-storage` line, upload confirmation, download path).
25
- 7. Use `/mnemospark cloud op-status --operation-id <id> --cancel` for subagent cancellation.
40
+ 6. Poll with `node <ABSOLUTE_PATH_TO_EXTENSION>/dist/cli.js cloud op-status --operation-id <id>` until terminal status (slash equivalent: `/mnemospark cloud op-status --operation-id <id>`); on **succeeded**, the status message includes the same full user-visible output as a synchronous run (e.g. backup `price-storage` line, upload confirmation, download path).
41
+ 7. Use `node <ABSOLUTE_PATH_TO_EXTENSION>/dist/cli.js cloud op-status --operation-id <id> --cancel` for subagent cancellation (slash: `/mnemospark cloud op-status … --cancel`).
26
42
  8. Use SQLite (`state.db`) as source of truth; use JSONL streams for correlation and audit context.
27
43
  9. On ambiguity with `--name`, require `--latest` or `--at`.
28
44
  10. On SQLite unavailability, report graceful fallback and continue with JSONL + legacy logs.
29
45
 
30
- ## Command catalog
31
-
32
- - `/mnemospark cloud backup <file|directory> [--name <friendly-name>] [--async] [--orchestrator <inline|subagent>] [--timeout-seconds <n>]`
33
- - `/mnemospark cloud price-storage --wallet-address <addr> --object-id <id> --object-id-hash <hash> --gb <gb> --provider aws --region us-east-1` (override for other regions)
34
- - `/mnemospark cloud upload --quote-id <quote-id> --wallet-address <addr> --object-id <id> --object-id-hash <hash> [--name <friendly-name>] [--async] [--orchestrator <inline|subagent>] [--timeout-seconds <n>]`
35
- - `/mnemospark cloud payment-settle --quote-id <quote-id> --wallet-address <addr> [--object-id <id>] [--object-key <key>] [--storage-price <n>]`
36
- - `/mnemospark cloud ls --wallet-address <addr> [--object-key <object-key> | --name <friendly-name>] [--latest|--at <timestamp>]`
37
- - `/mnemospark cloud download --wallet-address <addr> [--object-key <object-key> | --name <friendly-name>] [--latest|--at <timestamp>] [--async] [--orchestrator <inline|subagent>] [--timeout-seconds <n>]`
38
- - `/mnemospark cloud delete --wallet-address <addr> [--object-key <object-key> | --name <friendly-name>] [--latest|--at <timestamp>]`
39
- - `/mnemospark cloud op-status --operation-id <id> [--cancel]`
40
-
41
- ## Async quick examples
42
-
43
- - Start async with subagent orchestration:
44
- - `/mnemospark cloud upload ... --async --orchestrator subagent`
45
- - Start async with timeout:
46
- - `/mnemospark cloud download ... --async --orchestrator subagent --timeout-seconds 900`
47
- - Check status:
48
- - `/mnemospark cloud op-status --operation-id <id>`
49
- - Cancel subagent operation:
50
- - `/mnemospark cloud op-status --operation-id <id> --cancel`
46
+ ## Command catalog (CLI, `--key value`)
47
+
48
+ Let `CLI` = `node <ABSOLUTE_PATH_TO_EXTENSION>/dist/cli.js cloud`. Replace `<ABSOLUTE_PATH_TO_EXTENSION>` with the absolute path to the extension directory (e.g. `~/.openclaw/extensions/mnemospark` expanded on the user’s machine).
49
+
50
+ **Primary subcommands**
51
+
52
+ - `CLI backup <file|directory> --name <friendly-name> [--async] [--orchestrator <inline|subagent>] [--timeout-seconds <n>]` — **`--name` is required.**
53
+ - `CLI price-storage --wallet-address <addr> --object-id <id> --object-id-hash <hash> --gb <gb> --provider <provider> --region <region>` — **`--provider` and `--region` are required** (defaults often `aws` / `us-east-1`; override as needed).
54
+ - `CLI upload --quote-id <quote-id> --wallet-address <addr> --object-id <id> --object-id-hash <hash> [--name <friendly-name>] [--async] [--orchestrator <inline|subagent>] [--timeout-seconds <n>]`
55
+ - `CLI ls --wallet-address <addr> [--object-key <object-key> | --name <friendly-name>] [--latest|--at <timestamp>]`
56
+ - `CLI download --wallet-address <addr> [--object-key <object-key> | --name <friendly-name>] [--latest|--at <timestamp>] [--async] [--orchestrator <inline|subagent>] [--timeout-seconds <n>]`
57
+ - `CLI delete --wallet-address <addr> [--object-key <object-key> | --name <friendly-name>] [--latest|--at <timestamp>]`
58
+
59
+ **Also available**
60
+
61
+ - `CLI payment-settle --quote-id <quote-id> --wallet-address <addr> [--object-id <id>] [--object-key <key>] [--storage-price <n>]` (quote path)
62
+ - `CLI payment-settle --renewal --object-key <key> --wallet-address <addr> [--object-id <id>] [--storage-price <n>]` (monthly renewal)
63
+ - `CLI op-status --operation-id <id> [--cancel]`
64
+
65
+ **Slash equivalents (OpenClaw chat only):** the same arguments work after `/mnemospark cloud …` (e.g. `/mnemospark cloud backup …`). Do not paste slash forms into a shell.
66
+
67
+ Details and edge cases: see `references/commands.md`.
68
+
69
+ ## User-visible feedback (agent behavior)
70
+
71
+ - After each run, return **stdout** and **stderr** to the user (verbatim or summarized; do not drop errors).
72
+ - Treat **non-zero exit code** as failure and say so; include useful **stderr** lines when helpful.
73
+ - On success, state success clearly and include relevant stdout (paths, confirmations).
74
+ - Whenever you show a **runnable shell command** to the user, put the **entire command in one pair of inline backticks** so it can be copied in one selection.
75
+
76
+ ## Post-upload prompt
77
+
78
+ After a **successful** `upload` (exit code 0 and no fatal error in output), **ask** whether the user wants to **store or upload additional files** before continuing.
79
+
80
+ ## End-to-end test plan
81
+
82
+ Repeatable **integrity** check (with user consent). Use the same `CLI` + **`--key value`** rules as above.
83
+
84
+ 1. **Choose file:** Ask which local path to use as the **test file** (or confirm a path the user provides).
85
+ 2. **Baseline hash:** Before any cloud steps, compute a cryptographic hash of that file (e.g. SHA-256) and **record** it.
86
+ 3. **Pipeline (order):** **backup** → **price-storage** → **upload** → **ls** → **download**, passing **wallet address**, **quote-id**, **object-id**, **object-id-hash**, and **friendly name** / selectors from each step’s output. Use **`op-status`** if using `--async`. Stop and report on first failure.
87
+ 4. **Verify:** Hash the **downloaded** file the same way as step 2. **Compare** to the baseline hash.
88
+ 5. **Prove match:** If hashes match, state clearly that the **original and downloaded files are identical**. If they differ, report failure.
89
+ 6. **Optional cleanup:** Ask whether to **delete** the test object from the cloud. If **yes**, run **delete** with **`--wallet-address`** and **`--object-key`** or **`--name`** (and **`--latest`** / **`--at`** if needed). If **no**, skip delete and confirm.
90
+
91
+ Optional: use `--async` and **`op-status`** for long-running steps per **Execution rules**.
92
+
93
+ ## Async quick examples (CLI)
94
+
95
+ - `…/dist/cli.js cloud upload … --async --orchestrator subagent`
96
+ - `…/dist/cli.js cloud download … --async --orchestrator subagent --timeout-seconds 900`
97
+ - `…/dist/cli.js cloud op-status --operation-id <id>`
98
+ - `…/dist/cli.js cloud op-status --operation-id <id> --cancel`
51
99
 
52
100
  ## References
53
101