dropclaw 1.0.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.
- package/README.md +69 -0
- package/package.json +17 -0
- package/stub.js +15 -0
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# dropclaw
|
|
2
|
+
|
|
3
|
+
Permanent encrypted on-chain storage for AI agents. Store files on Monad blockchain with AES-256-GCM encryption.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install dropclaw
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
const { VaultClient } = require('dropclaw');
|
|
15
|
+
|
|
16
|
+
const client = new VaultClient({ gatewayUrl: 'https://dropclaw.cloud' });
|
|
17
|
+
|
|
18
|
+
// Store a file
|
|
19
|
+
const result = await client.store(fileBuffer, {
|
|
20
|
+
paymentHeader: base64PaymentHeader
|
|
21
|
+
});
|
|
22
|
+
// result.skillFile — JSON with tx hashes for reconstruction
|
|
23
|
+
// result.key — hex-encoded AES-256 encryption key (keep safe!)
|
|
24
|
+
// result.fileId — unique file identifier
|
|
25
|
+
|
|
26
|
+
// Retrieve a file
|
|
27
|
+
const original = await client.retrieve(result.skillFile, result.key);
|
|
28
|
+
// original === your file, byte-for-byte identical
|
|
29
|
+
|
|
30
|
+
// Estimate cost
|
|
31
|
+
const pricing = await client.estimateCost(fileBuffer.length);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Async Upload Polling
|
|
35
|
+
|
|
36
|
+
Large files are processed asynchronously. The SDK handles polling automatically:
|
|
37
|
+
|
|
38
|
+
```js
|
|
39
|
+
// store() automatically polls for completion
|
|
40
|
+
const result = await client.store(largeFileBuffer, { paymentHeader });
|
|
41
|
+
|
|
42
|
+
// Or poll manually
|
|
43
|
+
const { jobId } = await someAsyncOperation();
|
|
44
|
+
const completed = await client.waitForCompletion(jobId, {
|
|
45
|
+
pollInterval: 2000, // ms between polls (default: 2000)
|
|
46
|
+
timeout: 300000 // max wait time in ms (default: 300000)
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## API
|
|
51
|
+
|
|
52
|
+
### `new VaultClient({ gatewayUrl })`
|
|
53
|
+
Create a client connected to a DropClaw gateway.
|
|
54
|
+
|
|
55
|
+
### `client.store(fileBuffer, options)`
|
|
56
|
+
Compress, encrypt, and upload a file. Returns `{ skillFile, key, fileId }`.
|
|
57
|
+
|
|
58
|
+
### `client.retrieve(skillFile, key)`
|
|
59
|
+
Download, decrypt, and decompress a file. Returns the original `Buffer`.
|
|
60
|
+
|
|
61
|
+
### `client.waitForCompletion(jobId, options)`
|
|
62
|
+
Poll for async job completion. Returns the completed job data.
|
|
63
|
+
|
|
64
|
+
### `client.estimateCost(fileSize)`
|
|
65
|
+
Get pricing estimate for a file size in bytes.
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
Proprietary — see LICENSE for details.
|
package/package.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dropclaw",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "DropClaw — Permanent Encrypted On-Chain Storage for AI Agents on Monad",
|
|
5
|
+
"main": "stub.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"stub.js",
|
|
8
|
+
"README.md"
|
|
9
|
+
],
|
|
10
|
+
"keywords": ["dropclaw", "blockchain", "storage", "encryption", "monad", "ai-agents", "x402", "on-chain"],
|
|
11
|
+
"author": "Farnsworth",
|
|
12
|
+
"license": "Proprietary",
|
|
13
|
+
"homepage": "https://dropclaw.cloud",
|
|
14
|
+
"engines": {
|
|
15
|
+
"node": ">=18.0.0"
|
|
16
|
+
}
|
|
17
|
+
}
|
package/stub.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DropClaw — Permanent Encrypted On-Chain Storage for AI Agents
|
|
3
|
+
*
|
|
4
|
+
* This is the official npm listing for DropClaw.
|
|
5
|
+
* Full SDK access is available via the DropClaw gateway.
|
|
6
|
+
*
|
|
7
|
+
* Website: https://dropclaw.cloud
|
|
8
|
+
* Docs: https://dropclaw.cloud/docs
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
module.exports = {
|
|
12
|
+
name: "dropclaw",
|
|
13
|
+
gateway: "https://dropclaw.cloud",
|
|
14
|
+
description: "Permanent encrypted on-chain storage for AI agents on Monad.",
|
|
15
|
+
};
|