@resourcexjs/arp 0.8.1 → 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 +409 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
# @resourcexjs/arp
|
|
2
|
+
|
|
3
|
+
Agent Resource Protocol - Low-level I/O primitives for ResourceX.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @resourcexjs/arp
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
ARP (Agent Resource Protocol) provides a URL-based abstraction layer for resource I/O operations.
|
|
14
|
+
|
|
15
|
+
### URL Format
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
arp:{semantic}:{transport}://{location}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- **semantic**: Content interpretation (text, binary)
|
|
22
|
+
- **transport**: Storage backend (file, http, https, agentvm)
|
|
23
|
+
- **location**: Resource location (path, URL)
|
|
24
|
+
|
|
25
|
+
### Examples
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
arp:text:file://~/data.txt
|
|
29
|
+
arp:binary:https://example.com/image.png
|
|
30
|
+
arp:text:agentvm://sandbox/config.json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Usage
|
|
34
|
+
|
|
35
|
+
### Basic Operations
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
import { createARP } from "@resourcexjs/arp";
|
|
39
|
+
|
|
40
|
+
const arp = createARP();
|
|
41
|
+
|
|
42
|
+
// Parse ARP URL
|
|
43
|
+
const arl = arp.parse("arp:text:file://./data.txt");
|
|
44
|
+
|
|
45
|
+
// Read
|
|
46
|
+
const resource = await arl.resolve();
|
|
47
|
+
console.log(resource.content); // string (text semantic)
|
|
48
|
+
|
|
49
|
+
// Write
|
|
50
|
+
await arl.deposit("Hello, World!");
|
|
51
|
+
|
|
52
|
+
// Check existence
|
|
53
|
+
if (await arl.exists()) {
|
|
54
|
+
console.log("File exists");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Delete
|
|
58
|
+
await arl.delete();
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Text Semantic
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
const arl = arp.parse("arp:text:file://./hello.txt");
|
|
65
|
+
|
|
66
|
+
// Write text
|
|
67
|
+
await arl.deposit("Hello, World!");
|
|
68
|
+
|
|
69
|
+
// Read text
|
|
70
|
+
const resource = await arl.resolve();
|
|
71
|
+
console.log(resource.content); // "Hello, World!" (string)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Binary Semantic
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
const arl = arp.parse("arp:binary:file://./data.bin");
|
|
78
|
+
|
|
79
|
+
// Write binary
|
|
80
|
+
const buffer = Buffer.from([1, 2, 3, 4]);
|
|
81
|
+
await arl.deposit(buffer);
|
|
82
|
+
|
|
83
|
+
// Read binary
|
|
84
|
+
const resource = await arl.resolve();
|
|
85
|
+
console.log(resource.content); // Buffer
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## API Reference
|
|
89
|
+
|
|
90
|
+
### `createARP(config?)`
|
|
91
|
+
|
|
92
|
+
Create ARP instance with registered handlers.
|
|
93
|
+
|
|
94
|
+
**Parameters:**
|
|
95
|
+
|
|
96
|
+
- `config?: ARPConfig` - Optional configuration
|
|
97
|
+
|
|
98
|
+
**Returns**: `ARP`
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
const arp = createARP();
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### `ARP.parse(url: string): ARL`
|
|
105
|
+
|
|
106
|
+
Parse ARP URL and return ARL (Agent Resource Locator).
|
|
107
|
+
|
|
108
|
+
**Parameters:**
|
|
109
|
+
|
|
110
|
+
- `url: string` - ARP URL
|
|
111
|
+
|
|
112
|
+
**Returns**: `ARL`
|
|
113
|
+
|
|
114
|
+
**Throws**: `ParseError` if URL is invalid
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
const arl = arp.parse("arp:text:file://./data.txt");
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### ARL Operations
|
|
121
|
+
|
|
122
|
+
#### `resolve(): Promise<Resource>`
|
|
123
|
+
|
|
124
|
+
Read resource from location.
|
|
125
|
+
|
|
126
|
+
**Returns**: `Promise<Resource>`
|
|
127
|
+
|
|
128
|
+
- `{ content: string }` for text semantic
|
|
129
|
+
- `{ content: Buffer }` for binary semantic
|
|
130
|
+
|
|
131
|
+
**Throws**: `TransportError` if operation fails
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
const resource = await arl.resolve();
|
|
135
|
+
console.log(resource.content);
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### `deposit(data: string | Buffer): Promise<void>`
|
|
139
|
+
|
|
140
|
+
Write resource to location.
|
|
141
|
+
|
|
142
|
+
**Parameters:**
|
|
143
|
+
|
|
144
|
+
- `data: string | Buffer` - Content to write
|
|
145
|
+
|
|
146
|
+
**Throws**: `TransportError` if operation fails
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
await arl.deposit("Hello");
|
|
150
|
+
await arl.deposit(Buffer.from([1, 2, 3]));
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
#### `exists(): Promise<boolean>`
|
|
154
|
+
|
|
155
|
+
Check if resource exists.
|
|
156
|
+
|
|
157
|
+
**Returns**: `Promise<boolean>`
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
if (await arl.exists()) {
|
|
161
|
+
console.log("Resource exists");
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
#### `delete(): Promise<void>`
|
|
166
|
+
|
|
167
|
+
Delete resource from location.
|
|
168
|
+
|
|
169
|
+
**Throws**: `TransportError` if operation fails
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
await arl.delete();
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Semantic Handlers
|
|
176
|
+
|
|
177
|
+
### Text Semantic (`text`)
|
|
178
|
+
|
|
179
|
+
Interprets content as UTF-8 text.
|
|
180
|
+
|
|
181
|
+
- **Input**: `string` or `Buffer`
|
|
182
|
+
- **Output**: `string`
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
const arl = arp.parse("arp:text:file://./file.txt");
|
|
186
|
+
await arl.deposit("Hello"); // string
|
|
187
|
+
const { content } = await arl.resolve(); // string
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Binary Semantic (`binary`)
|
|
191
|
+
|
|
192
|
+
Interprets content as raw bytes.
|
|
193
|
+
|
|
194
|
+
- **Input**: `Buffer` or `string`
|
|
195
|
+
- **Output**: `Buffer`
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
const arl = arp.parse("arp:binary:file://./file.bin");
|
|
199
|
+
await arl.deposit(Buffer.from([1, 2, 3]));
|
|
200
|
+
const { content } = await arl.resolve(); // Buffer
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Transport Handlers
|
|
204
|
+
|
|
205
|
+
### File Transport (`file`)
|
|
206
|
+
|
|
207
|
+
Local filesystem operations.
|
|
208
|
+
|
|
209
|
+
```typescript
|
|
210
|
+
// Absolute path
|
|
211
|
+
arp.parse("arp:text:file:///absolute/path/file.txt");
|
|
212
|
+
|
|
213
|
+
// Relative path
|
|
214
|
+
arp.parse("arp:text:file://./relative/path/file.txt");
|
|
215
|
+
|
|
216
|
+
// Home directory
|
|
217
|
+
arp.parse("arp:text:file://~/file.txt");
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Operations:**
|
|
221
|
+
|
|
222
|
+
- ✅ resolve (read)
|
|
223
|
+
- ✅ deposit (write)
|
|
224
|
+
- ✅ exists
|
|
225
|
+
- ✅ delete
|
|
226
|
+
|
|
227
|
+
### HTTP/HTTPS Transport
|
|
228
|
+
|
|
229
|
+
Network resource operations (read-only).
|
|
230
|
+
|
|
231
|
+
```typescript
|
|
232
|
+
arp.parse("arp:text:https://example.com/data.txt");
|
|
233
|
+
arp.parse("arp:binary:https://example.com/image.png");
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Operations:**
|
|
237
|
+
|
|
238
|
+
- ✅ resolve (read)
|
|
239
|
+
- ❌ deposit (not supported)
|
|
240
|
+
- ❌ exists (not supported)
|
|
241
|
+
- ❌ delete (not supported)
|
|
242
|
+
|
|
243
|
+
### AgentVM Transport (`agentvm`)
|
|
244
|
+
|
|
245
|
+
AgentVM sandbox storage (`~/.agentvm/`).
|
|
246
|
+
|
|
247
|
+
```typescript
|
|
248
|
+
arp.parse("arp:text:agentvm://sandbox/config.json");
|
|
249
|
+
// Maps to: ~/.agentvm/sandbox/config.json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Operations:**
|
|
253
|
+
|
|
254
|
+
- ✅ resolve (read)
|
|
255
|
+
- ✅ deposit (write)
|
|
256
|
+
- ✅ exists
|
|
257
|
+
- ✅ delete
|
|
258
|
+
|
|
259
|
+
## Error Handling
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
import { ParseError, TransportError, SemanticError } from "@resourcexjs/arp";
|
|
263
|
+
|
|
264
|
+
try {
|
|
265
|
+
const arl = arp.parse("arp:invalid:url");
|
|
266
|
+
} catch (error) {
|
|
267
|
+
if (error instanceof ParseError) {
|
|
268
|
+
console.error("Invalid ARP URL");
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
try {
|
|
273
|
+
await arl.resolve();
|
|
274
|
+
} catch (error) {
|
|
275
|
+
if (error instanceof TransportError) {
|
|
276
|
+
console.error("Transport operation failed");
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Error Types
|
|
282
|
+
|
|
283
|
+
- **ParseError**: Invalid ARP URL format
|
|
284
|
+
- **TransportError**: Transport operation failed
|
|
285
|
+
- **SemanticError**: Semantic handler error
|
|
286
|
+
|
|
287
|
+
## Examples
|
|
288
|
+
|
|
289
|
+
### Copy File
|
|
290
|
+
|
|
291
|
+
```typescript
|
|
292
|
+
const source = arp.parse("arp:binary:file://./source.bin");
|
|
293
|
+
const dest = arp.parse("arp:binary:file://./dest.bin");
|
|
294
|
+
|
|
295
|
+
// Read from source
|
|
296
|
+
const { content } = await source.resolve();
|
|
297
|
+
|
|
298
|
+
// Write to destination
|
|
299
|
+
await dest.deposit(content);
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Download and Save
|
|
303
|
+
|
|
304
|
+
```typescript
|
|
305
|
+
// Download from URL
|
|
306
|
+
const remote = arp.parse("arp:text:https://example.com/data.txt");
|
|
307
|
+
const { content } = await remote.resolve();
|
|
308
|
+
|
|
309
|
+
// Save locally
|
|
310
|
+
const local = arp.parse("arp:text:file://./downloaded.txt");
|
|
311
|
+
await local.deposit(content);
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Conditional Write
|
|
315
|
+
|
|
316
|
+
```typescript
|
|
317
|
+
const arl = arp.parse("arp:text:file://./file.txt");
|
|
318
|
+
|
|
319
|
+
if (!(await arl.exists())) {
|
|
320
|
+
await arl.deposit("New content");
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
## Custom Handlers
|
|
325
|
+
|
|
326
|
+
### Custom Transport
|
|
327
|
+
|
|
328
|
+
```typescript
|
|
329
|
+
import type { TransportHandler } from "@resourcexjs/arp";
|
|
330
|
+
|
|
331
|
+
class S3Transport implements TransportHandler {
|
|
332
|
+
protocol = "s3";
|
|
333
|
+
|
|
334
|
+
async resolve(location: string) {
|
|
335
|
+
// Fetch from S3
|
|
336
|
+
const data = await s3.getObject({ Bucket: "...", Key: location });
|
|
337
|
+
return data.Body;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
async deposit(location: string, data: Buffer) {
|
|
341
|
+
// Upload to S3
|
|
342
|
+
await s3.putObject({ Bucket: "...", Key: location, Body: data });
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// ... other methods
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
// Register
|
|
349
|
+
const arp = createARP();
|
|
350
|
+
arp.registerTransport(new S3Transport());
|
|
351
|
+
|
|
352
|
+
// Use
|
|
353
|
+
const arl = arp.parse("arp:binary:s3://my-bucket/file.bin");
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Custom Semantic
|
|
357
|
+
|
|
358
|
+
```typescript
|
|
359
|
+
import type { SemanticHandler } from "@resourcexjs/arp";
|
|
360
|
+
|
|
361
|
+
class JsonSemantic implements SemanticHandler {
|
|
362
|
+
name = "json";
|
|
363
|
+
|
|
364
|
+
async encode(data: unknown): Promise<Buffer> {
|
|
365
|
+
const json = JSON.stringify(data, null, 2);
|
|
366
|
+
return Buffer.from(json, "utf-8");
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
async decode(buffer: Buffer): Promise<unknown> {
|
|
370
|
+
const text = buffer.toString("utf-8");
|
|
371
|
+
return JSON.parse(text);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// Register
|
|
376
|
+
arp.registerSemantic(new JsonSemantic());
|
|
377
|
+
|
|
378
|
+
// Use
|
|
379
|
+
const arl = arp.parse("arp:json:file://./data.json");
|
|
380
|
+
await arl.deposit({ key: "value" });
|
|
381
|
+
const { content } = await arl.resolve(); // parsed JSON
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
## Architecture
|
|
385
|
+
|
|
386
|
+
```
|
|
387
|
+
┌──────────────────────────────────────┐
|
|
388
|
+
│ ARP │
|
|
389
|
+
└────────────┬─────────────────────────┘
|
|
390
|
+
│
|
|
391
|
+
┌──────┴──────┐
|
|
392
|
+
│ parse() │
|
|
393
|
+
└──────┬──────┘
|
|
394
|
+
│
|
|
395
|
+
┌──────▼──────┐
|
|
396
|
+
│ ARL │ (Agent Resource Locator)
|
|
397
|
+
└──────┬──────┘
|
|
398
|
+
│
|
|
399
|
+
┌────────┴────────┐
|
|
400
|
+
│ │
|
|
401
|
+
┌───▼───┐ ┌──────▼──────┐
|
|
402
|
+
│Semantic│ │ Transport │
|
|
403
|
+
│Handler │ │ Handler │
|
|
404
|
+
└────────┘ └─────────────┘
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
## License
|
|
408
|
+
|
|
409
|
+
MIT
|
package/dist/index.js
CHANGED
|
@@ -428,7 +428,7 @@ function createARP(config) {
|
|
|
428
428
|
}
|
|
429
429
|
|
|
430
430
|
// src/index.ts
|
|
431
|
-
var VERSION = "0.
|
|
431
|
+
var VERSION = "1.0.0";
|
|
432
432
|
export {
|
|
433
433
|
textSemantic,
|
|
434
434
|
httpsTransport,
|
|
@@ -448,4 +448,4 @@ export {
|
|
|
448
448
|
ARP
|
|
449
449
|
};
|
|
450
450
|
|
|
451
|
-
//# debugId=
|
|
451
|
+
//# debugId=897CAF2B3335A7ED64756E2164756E21
|
package/dist/index.js.map
CHANGED
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
"/**\n * arpjs - Agent Resource Protocol\n *\n * A URL protocol for AI agents to access resources\n * Format: arp:{semantic}:{transport}://{location}\n */\n\ndeclare const __VERSION__: string | undefined;\nexport const VERSION: string = typeof __VERSION__ !== \"undefined\" ? __VERSION__ : \"0.0.0-dev\";\n\n// Core types\nexport type { ARI, ARL } from \"./types.js\";\n\n// ARP factory and class\nexport { ARP, createARP, type ARPConfig } from \"./ARP.js\";\n\n// Errors\nexport { ARPError, ParseError, TransportError, SemanticError } from \"./errors.js\";\n\n// Transport\nexport {\n type TransportHandler,\n type TransportCapabilities,\n type ResourceStat,\n FileTransportHandler,\n fileTransport,\n HttpTransportHandler,\n httpsTransport,\n httpTransport,\n} from \"./transport/index.js\";\n\n// Semantic\nexport {\n type Resource,\n type SemanticHandler,\n type ResourceMeta,\n type SemanticContext,\n type TextResource,\n type BinaryResource,\n type BinaryInput,\n TextSemanticHandler,\n textSemantic,\n BinarySemanticHandler,\n binarySemantic,\n} from \"./semantic/index.js\";\n"
|
|
13
13
|
],
|
|
14
14
|
"mappings": "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",
|
|
15
|
-
"debugId": "
|
|
15
|
+
"debugId": "897CAF2B3335A7ED64756E2164756E21",
|
|
16
16
|
"names": []
|
|
17
17
|
}
|