@resourcexjs/core 0.3.0 → 0.5.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 +1 -0
- package/dist/index.d.ts +22 -1
- package/dist/index.js +84 -2
- package/dist/index.js.map +6 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -141,6 +141,7 @@ registerSemanticHandler(jsonHandler);
|
|
|
141
141
|
- `httpsHandler` - HTTPS protocol (read-only)
|
|
142
142
|
- `httpHandler` - HTTP protocol (read-only)
|
|
143
143
|
- `fileHandler` - Local file system (read/write/list/delete)
|
|
144
|
+
- `agentvmHandler(config?)` - AgentVM local storage (factory function, configurable parent directory)
|
|
144
145
|
|
|
145
146
|
**Semantic:**
|
|
146
147
|
|
package/dist/index.d.ts
CHANGED
|
@@ -137,6 +137,27 @@ declare class FileTransportHandler implements TransportHandler {
|
|
|
137
137
|
delete(location: string): Promise<void>;
|
|
138
138
|
}
|
|
139
139
|
declare const fileHandler: FileTransportHandler;
|
|
140
|
+
interface AgentVMConfig {
|
|
141
|
+
/**
|
|
142
|
+
* Parent directory for .agentvm folder
|
|
143
|
+
* @default homedir()
|
|
144
|
+
*/
|
|
145
|
+
parentDir?: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Create agentvm transport handler
|
|
149
|
+
* Maps agentvm://path to parentDir/.agentvm/path
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* const handler = agentvmHandler();
|
|
154
|
+
* // → ~/.agentvm/
|
|
155
|
+
*
|
|
156
|
+
* const handler = agentvmHandler({ parentDir: "/var/data" });
|
|
157
|
+
* // → /var/data/.agentvm/
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
declare function agentvmHandler(config?: AgentVMConfig): TransportHandler;
|
|
140
161
|
/**
|
|
141
162
|
* Get transport handler by name
|
|
142
163
|
*/
|
|
@@ -325,4 +346,4 @@ declare function createResourceRegistry(): {
|
|
|
325
346
|
};
|
|
326
347
|
type ResourceRegistry = ReturnType<typeof createResourceRegistry>;
|
|
327
348
|
declare const VERSION: string;
|
|
328
|
-
export { textHandler, resourceExists, resourceDelete, resolve, registerTransportHandler, registerSemanticHandler, parseARP, httpsHandler, httpHandler, getTransportHandler, getSemanticHandler, fileHandler, deposit, createResourceRegistry, binaryHandler, VERSION, TransportHandler, TransportError, TransportCapabilities, TextResource, SemanticHandler, SemanticError, SemanticContext, ResourceXError, ResourceStat, ResourceRegistry, ResourceMeta, ResourceDefinition, Resource, ParsedARP, ParseError, BinaryResource, BinaryInput };
|
|
349
|
+
export { textHandler, resourceExists, resourceDelete, resolve, registerTransportHandler, registerSemanticHandler, parseARP, httpsHandler, httpHandler, getTransportHandler, getSemanticHandler, fileHandler, deposit, createResourceRegistry, binaryHandler, agentvmHandler, VERSION, TransportHandler, TransportError, TransportCapabilities, TextResource, SemanticHandler, SemanticError, SemanticContext, ResourceXError, ResourceStat, ResourceRegistry, ResourceMeta, ResourceDefinition, Resource, ParsedARP, ParseError, BinaryResource, BinaryInput, AgentVMConfig };
|
package/dist/index.js
CHANGED
|
@@ -195,6 +195,87 @@ class FileTransportHandler {
|
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
var fileHandler = new FileTransportHandler;
|
|
198
|
+
// src/transport/agentvm.ts
|
|
199
|
+
import { homedir } from "node:os";
|
|
200
|
+
import { join } from "node:path";
|
|
201
|
+
import { readFile as readFile2, writeFile as writeFile2, readdir as readdir2, access as access2, unlink, mkdir as mkdir2, stat, rm as rm2 } from "node:fs/promises";
|
|
202
|
+
function agentvmHandler(config = {}) {
|
|
203
|
+
const parentDir = config.parentDir || homedir();
|
|
204
|
+
const baseDir = join(parentDir, ".agentvm");
|
|
205
|
+
function resolvePath(location) {
|
|
206
|
+
return join(baseDir, location);
|
|
207
|
+
}
|
|
208
|
+
return {
|
|
209
|
+
name: "agentvm",
|
|
210
|
+
capabilities: {
|
|
211
|
+
canRead: true,
|
|
212
|
+
canWrite: true,
|
|
213
|
+
canList: true,
|
|
214
|
+
canDelete: true,
|
|
215
|
+
canStat: true
|
|
216
|
+
},
|
|
217
|
+
async read(location) {
|
|
218
|
+
const fullPath = resolvePath(location);
|
|
219
|
+
try {
|
|
220
|
+
return await readFile2(fullPath);
|
|
221
|
+
} catch (error) {
|
|
222
|
+
throw new TransportError(`Failed to read from agentvm: ${error.message}`, "agentvm", { cause: error });
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
async write(location, content) {
|
|
226
|
+
const fullPath = resolvePath(location);
|
|
227
|
+
try {
|
|
228
|
+
await mkdir2(join(fullPath, ".."), { recursive: true });
|
|
229
|
+
await writeFile2(fullPath, content);
|
|
230
|
+
} catch (error) {
|
|
231
|
+
throw new TransportError(`Failed to write to agentvm: ${error.message}`, "agentvm", { cause: error });
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
async list(location) {
|
|
235
|
+
const fullPath = resolvePath(location);
|
|
236
|
+
try {
|
|
237
|
+
return await readdir2(fullPath);
|
|
238
|
+
} catch (error) {
|
|
239
|
+
throw new TransportError(`Failed to list agentvm directory: ${error.message}`, "agentvm", { cause: error });
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
async exists(location) {
|
|
243
|
+
const fullPath = resolvePath(location);
|
|
244
|
+
try {
|
|
245
|
+
await access2(fullPath);
|
|
246
|
+
return true;
|
|
247
|
+
} catch {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
async stat(location) {
|
|
252
|
+
const fullPath = resolvePath(location);
|
|
253
|
+
try {
|
|
254
|
+
const stats = await stat(fullPath);
|
|
255
|
+
return {
|
|
256
|
+
size: stats.size,
|
|
257
|
+
isDirectory: stats.isDirectory(),
|
|
258
|
+
modifiedAt: stats.mtime
|
|
259
|
+
};
|
|
260
|
+
} catch (error) {
|
|
261
|
+
throw new TransportError(`Failed to stat agentvm resource: ${error.message}`, "agentvm", { cause: error });
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
async delete(location) {
|
|
265
|
+
const fullPath = resolvePath(location);
|
|
266
|
+
try {
|
|
267
|
+
const stats = await stat(fullPath);
|
|
268
|
+
if (stats.isDirectory()) {
|
|
269
|
+
await rm2(fullPath, { recursive: true, force: true });
|
|
270
|
+
} else {
|
|
271
|
+
await unlink(fullPath);
|
|
272
|
+
}
|
|
273
|
+
} catch (error) {
|
|
274
|
+
throw new TransportError(`Failed to delete from agentvm: ${error.message}`, "agentvm", { cause: error });
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
}
|
|
198
279
|
// src/transport/index.ts
|
|
199
280
|
var handlers = new Map([
|
|
200
281
|
["https", httpsHandler],
|
|
@@ -417,7 +498,7 @@ function createResourceRegistry() {
|
|
|
417
498
|
};
|
|
418
499
|
}
|
|
419
500
|
// src/index.ts
|
|
420
|
-
var VERSION = "0.
|
|
501
|
+
var VERSION = "0.5.0";
|
|
421
502
|
export {
|
|
422
503
|
textHandler,
|
|
423
504
|
resourceExists,
|
|
@@ -434,6 +515,7 @@ export {
|
|
|
434
515
|
deposit,
|
|
435
516
|
createResourceRegistry,
|
|
436
517
|
binaryHandler,
|
|
518
|
+
agentvmHandler,
|
|
437
519
|
VERSION,
|
|
438
520
|
TransportError,
|
|
439
521
|
SemanticError,
|
|
@@ -441,4 +523,4 @@ export {
|
|
|
441
523
|
ParseError
|
|
442
524
|
};
|
|
443
525
|
|
|
444
|
-
//# debugId=
|
|
526
|
+
//# debugId=FDB0C074FE154E6C64756E2164756E21
|
package/dist/index.js.map
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/errors.ts", "../src/parser.ts", "../src/transport/http.ts", "../src/transport/file.ts", "../src/transport/index.ts", "../src/semantic/text.ts", "../src/semantic/binary.ts", "../src/semantic/index.ts", "../src/resolve.ts", "../src/resource/registry.ts", "../src/index.ts"],
|
|
3
|
+
"sources": ["../src/errors.ts", "../src/parser.ts", "../src/transport/http.ts", "../src/transport/file.ts", "../src/transport/agentvm.ts", "../src/transport/index.ts", "../src/semantic/text.ts", "../src/semantic/binary.ts", "../src/semantic/index.ts", "../src/resolve.ts", "../src/resource/registry.ts", "../src/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * ResourceX Error Types\n */\n\n/**\n * Base error class for all ResourceX errors\n */\nexport class ResourceXError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = \"ResourceXError\";\n }\n}\n\n/**\n * Error thrown when ARP URL parsing fails\n */\nexport class ParseError extends ResourceXError {\n constructor(\n message: string,\n public readonly url?: string\n ) {\n super(message);\n this.name = \"ParseError\";\n }\n}\n\n/**\n * Error thrown when transport layer fails\n */\nexport class TransportError extends ResourceXError {\n constructor(\n message: string,\n public readonly transport?: string,\n options?: ErrorOptions\n ) {\n super(message, options);\n this.name = \"TransportError\";\n }\n}\n\n/**\n * Error thrown when semantic layer fails\n */\nexport class SemanticError extends ResourceXError {\n constructor(\n message: string,\n public readonly semantic?: string,\n options?: ErrorOptions\n ) {\n super(message, options);\n this.name = \"SemanticError\";\n }\n}\n",
|
|
6
6
|
"/**\n * ARP URL Parser\n * Format: arp:{semantic}:{transport}://{location}\n */\n\nimport { ParseError } from \"./errors.js\";\n\nexport interface ParsedARP {\n semantic: string;\n transport: string;\n location: string;\n}\n\n/**\n * Parse an ARP URL into its components\n *\n * @example\n * parseARP(\"arp:text:https://example.com/file.txt\")\n * // { semantic: \"text\", transport: \"https\", location: \"example.com/file.txt\" }\n */\nexport function parseARP(url: string): ParsedARP {\n // 1. Check protocol prefix\n if (!url.startsWith(\"arp:\")) {\n throw new ParseError(`Invalid ARP URL: must start with \"arp:\"`, url);\n }\n\n const content = url.substring(4); // Remove \"arp:\"\n\n // 2. Find :// separator\n const separatorIndex = content.indexOf(\"://\");\n if (separatorIndex === -1) {\n throw new ParseError(`Invalid ARP URL: missing \"://\"`, url);\n }\n\n const typePart = content.substring(0, separatorIndex);\n const location = content.substring(separatorIndex + 3);\n\n // 3. Split type part by :\n const colonIndex = typePart.indexOf(\":\");\n if (colonIndex === -1) {\n throw new ParseError(`Invalid ARP URL: must have exactly 2 types (semantic:transport)`, url);\n }\n\n const semantic = typePart.substring(0, colonIndex);\n const transport = typePart.substring(colonIndex + 1);\n\n // 4. Validate non-empty\n if (!semantic) {\n throw new ParseError(`Invalid ARP URL: semantic type cannot be empty`, url);\n }\n if (!transport) {\n throw new ParseError(`Invalid ARP URL: transport type cannot be empty`, url);\n }\n if (!location) {\n throw new ParseError(`Invalid ARP URL: location cannot be empty`, url);\n }\n\n return { semantic, transport, location };\n}\n",
|
|
7
7
|
"/**\n * HTTP/HTTPS Transport Handler\n * Provides read-only I/O primitives for HTTP resources\n */\n\nimport { TransportError } from \"../errors.js\";\nimport type { TransportHandler, TransportCapabilities } from \"./types.js\";\n\nexport class HttpTransportHandler implements TransportHandler {\n readonly name: string;\n private readonly protocol: \"http\" | \"https\";\n\n readonly capabilities: TransportCapabilities = {\n canRead: true,\n canWrite: false,\n canList: false,\n canDelete: false,\n canStat: false,\n };\n\n constructor(protocol: \"http\" | \"https\" = \"https\") {\n this.protocol = protocol;\n this.name = protocol;\n }\n\n async read(location: string): Promise<Buffer> {\n const url = `${this.protocol}://${location}`;\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new TransportError(\n `HTTP ${response.status}: ${response.statusText} - ${url}`,\n this.name\n );\n }\n\n const arrayBuffer = await response.arrayBuffer();\n return Buffer.from(arrayBuffer);\n } catch (error) {\n if (error instanceof TransportError) {\n throw error;\n }\n throw new TransportError(`Network error: ${url}`, this.name, {\n cause: error as Error,\n });\n }\n }\n\n // HTTP transport is read-only, write/list/delete are not implemented\n}\n\nexport const httpsHandler: HttpTransportHandler = new HttpTransportHandler(\"https\");\nexport const httpHandler: HttpTransportHandler = new HttpTransportHandler(\"http\");\n",
|
|
8
8
|
"/**\n * File Transport Handler\n * Provides I/O primitives for local filesystem\n */\n\nimport { readFile, writeFile, readdir, mkdir, rm, access, stat as fsStat } from \"node:fs/promises\";\nimport { resolve, dirname } from \"node:path\";\nimport { TransportError } from \"../errors.js\";\nimport type { TransportHandler, TransportCapabilities, ResourceStat } from \"./types.js\";\n\nexport class FileTransportHandler implements TransportHandler {\n readonly name = \"file\";\n\n readonly capabilities: TransportCapabilities = {\n canRead: true,\n canWrite: true,\n canList: true,\n canDelete: true,\n canStat: true,\n };\n\n private resolvePath(location: string): string {\n return resolve(process.cwd(), location);\n }\n\n async read(location: string): Promise<Buffer> {\n const filePath = this.resolvePath(location);\n\n try {\n return await readFile(filePath);\n } catch (error) {\n const err = error as Error & { code?: string };\n throw new TransportError(`File read error: ${err.code} - ${filePath}`, this.name, {\n cause: err,\n });\n }\n }\n\n async write(location: string, content: Buffer): Promise<void> {\n const filePath = this.resolvePath(location);\n\n try {\n // Ensure directory exists\n await mkdir(dirname(filePath), { recursive: true });\n await writeFile(filePath, content);\n } catch (error) {\n const err = error as Error & { code?: string };\n throw new TransportError(`File write error: ${err.code} - ${filePath}`, this.name, {\n cause: err,\n });\n }\n }\n\n async list(location: string): Promise<string[]> {\n const dirPath = this.resolvePath(location);\n\n try {\n return await readdir(dirPath);\n } catch (error) {\n const err = error as Error & { code?: string };\n throw new TransportError(`Directory list error: ${err.code} - ${dirPath}`, this.name, {\n cause: err,\n });\n }\n }\n\n async mkdir(location: string): Promise<void> {\n const dirPath = this.resolvePath(location);\n\n try {\n await mkdir(dirPath, { recursive: true });\n } catch (error) {\n const err = error as Error & { code?: string };\n throw new TransportError(`Directory create error: ${err.code} - ${dirPath}`, this.name, {\n cause: err,\n });\n }\n }\n\n async exists(location: string): Promise<boolean> {\n const filePath = this.resolvePath(location);\n\n try {\n await access(filePath);\n return true;\n } catch {\n return false;\n }\n }\n\n async stat(location: string): Promise<ResourceStat> {\n const filePath = this.resolvePath(location);\n\n try {\n const stats = await fsStat(filePath);\n return {\n size: stats.size,\n modifiedAt: stats.mtime,\n isDirectory: stats.isDirectory(),\n };\n } catch (error) {\n const err = error as Error & { code?: string };\n throw new TransportError(`File stat error: ${err.code} - ${filePath}`, this.name, {\n cause: err,\n });\n }\n }\n\n async delete(location: string): Promise<void> {\n const filePath = this.resolvePath(location);\n\n try {\n await rm(filePath, { recursive: true });\n } catch (error) {\n const err = error as Error & { code?: string };\n throw new TransportError(`File delete error: ${err.code} - ${filePath}`, this.name, {\n cause: err,\n });\n }\n }\n}\n\nexport const fileHandler: FileTransportHandler = new FileTransportHandler();\n",
|
|
9
|
-
"/**\n * Transport
|
|
9
|
+
"/**\n * AgentVM Transport Handler\n * Maps agentvm:// to ~/.agentvm/ directory\n */\n\nimport { homedir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { readFile, writeFile, readdir, access, unlink, mkdir, stat, rm } from \"node:fs/promises\";\nimport { TransportError } from \"../errors.js\";\nimport type { TransportHandler, ResourceStat } from \"./types.js\";\n\nexport interface AgentVMConfig {\n /**\n * Parent directory for .agentvm folder\n * @default homedir()\n */\n parentDir?: string;\n}\n\n/**\n * Create agentvm transport handler\n * Maps agentvm://path to parentDir/.agentvm/path\n *\n * @example\n * ```typescript\n * const handler = agentvmHandler();\n * // → ~/.agentvm/\n *\n * const handler = agentvmHandler({ parentDir: \"/var/data\" });\n * // → /var/data/.agentvm/\n * ```\n */\nexport function agentvmHandler(config: AgentVMConfig = {}): TransportHandler {\n const parentDir = config.parentDir || homedir();\n const baseDir = join(parentDir, \".agentvm\");\n\n /**\n * Resolve agentvm:// location to full filesystem path\n */\n function resolvePath(location: string): string {\n return join(baseDir, location);\n }\n\n return {\n name: \"agentvm\",\n\n capabilities: {\n canRead: true,\n canWrite: true,\n canList: true,\n canDelete: true,\n canStat: true,\n },\n\n async read(location: string): Promise<Buffer> {\n const fullPath = resolvePath(location);\n try {\n return await readFile(fullPath);\n } catch (error) {\n throw new TransportError(\n `Failed to read from agentvm: ${(error as Error).message}`,\n \"agentvm\",\n { cause: error }\n );\n }\n },\n\n async write(location: string, content: Buffer): Promise<void> {\n const fullPath = resolvePath(location);\n try {\n // Ensure parent directory exists\n await mkdir(join(fullPath, \"..\"), { recursive: true });\n await writeFile(fullPath, content);\n } catch (error) {\n throw new TransportError(\n `Failed to write to agentvm: ${(error as Error).message}`,\n \"agentvm\",\n { cause: error }\n );\n }\n },\n\n async list(location: string): Promise<string[]> {\n const fullPath = resolvePath(location);\n try {\n return await readdir(fullPath);\n } catch (error) {\n throw new TransportError(\n `Failed to list agentvm directory: ${(error as Error).message}`,\n \"agentvm\",\n { cause: error }\n );\n }\n },\n\n async exists(location: string): Promise<boolean> {\n const fullPath = resolvePath(location);\n try {\n await access(fullPath);\n return true;\n } catch {\n return false;\n }\n },\n\n async stat(location: string): Promise<ResourceStat> {\n const fullPath = resolvePath(location);\n try {\n const stats = await stat(fullPath);\n return {\n size: stats.size,\n isDirectory: stats.isDirectory(),\n modifiedAt: stats.mtime,\n };\n } catch (error) {\n throw new TransportError(\n `Failed to stat agentvm resource: ${(error as Error).message}`,\n \"agentvm\",\n { cause: error }\n );\n }\n },\n\n async delete(location: string): Promise<void> {\n const fullPath = resolvePath(location);\n try {\n const stats = await stat(fullPath);\n if (stats.isDirectory()) {\n await rm(fullPath, { recursive: true, force: true });\n } else {\n await unlink(fullPath);\n }\n } catch (error) {\n throw new TransportError(\n `Failed to delete from agentvm: ${(error as Error).message}`,\n \"agentvm\",\n { cause: error }\n );\n }\n },\n };\n}\n",
|
|
10
|
+
"/**\n * Transport Handlers Registry\n */\n\nimport { TransportError } from \"../errors.js\";\n\nexport type { TransportHandler, TransportCapabilities, ResourceStat } from \"./types.js\";\nexport { HttpTransportHandler, httpsHandler, httpHandler } from \"./http.js\";\nexport { FileTransportHandler, fileHandler } from \"./file.js\";\nexport { agentvmHandler, type AgentVMConfig } from \"./agentvm.js\";\n\nimport type { TransportHandler } from \"./types.js\";\nimport { httpsHandler, httpHandler } from \"./http.js\";\nimport { fileHandler } from \"./file.js\";\n\nconst handlers = new Map<string, TransportHandler>([\n [\"https\", httpsHandler],\n [\"http\", httpHandler],\n [\"file\", fileHandler],\n]);\n\n/**\n * Get transport handler by name\n */\nexport function getTransportHandler(name: string): TransportHandler {\n const handler = handlers.get(name);\n if (!handler) {\n throw new TransportError(`Unsupported transport type: ${name}`, name);\n }\n return handler;\n}\n\n/**\n * Register a custom transport handler\n */\nexport function registerTransportHandler(handler: TransportHandler): void {\n handlers.set(handler.name, handler);\n}\n",
|
|
10
11
|
"/**\n * Text Semantic Handler\n * Handles plain text resources\n */\n\nimport { SemanticError } from \"../errors.js\";\nimport type { TransportHandler } from \"../transport/types.js\";\nimport type { Resource, SemanticHandler, SemanticContext, ResourceMeta } from \"./types.js\";\n\nexport interface TextResource extends Resource<string> {\n type: \"text\";\n content: string;\n}\n\nexport class TextSemanticHandler implements SemanticHandler<string> {\n readonly name = \"text\";\n\n async resolve(\n transport: TransportHandler,\n location: string,\n context: SemanticContext\n ): Promise<TextResource> {\n const buffer = await transport.read(location);\n const text = buffer.toString(\"utf-8\");\n\n const meta: ResourceMeta = {\n url: context.url,\n semantic: context.semantic,\n transport: context.transport,\n location: context.location,\n size: buffer.length,\n encoding: \"utf-8\",\n mimeType: \"text/plain\",\n resolvedAt: context.timestamp.toISOString(),\n };\n\n return {\n type: \"text\",\n content: text,\n meta,\n };\n }\n\n async deposit(\n transport: TransportHandler,\n location: string,\n data: string,\n _context: SemanticContext\n ): Promise<void> {\n if (!transport.write) {\n throw new SemanticError(\n `Transport \"${transport.name}\" does not support write operation`,\n this.name\n );\n }\n\n const buffer = Buffer.from(data, \"utf-8\");\n await transport.write(location, buffer);\n }\n\n async exists(\n transport: TransportHandler,\n location: string,\n _context: SemanticContext\n ): Promise<boolean> {\n if (transport.exists) {\n return transport.exists(location);\n }\n\n // Fallback: try to read\n try {\n await transport.read(location);\n return true;\n } catch {\n return false;\n }\n }\n\n async delete(\n transport: TransportHandler,\n location: string,\n _context: SemanticContext\n ): Promise<void> {\n if (!transport.delete) {\n throw new SemanticError(\n `Transport \"${transport.name}\" does not support delete operation`,\n this.name\n );\n }\n\n await transport.delete(location);\n }\n}\n\nexport const textHandler: TextSemanticHandler = new TextSemanticHandler();\n",
|
|
11
12
|
"/**\n * Binary Semantic Handler\n * Handles raw binary resources without any transformation\n */\n\nimport { SemanticError } from \"../errors.js\";\nimport type { TransportHandler } from \"../transport/types.js\";\nimport type { Resource, SemanticHandler, SemanticContext, ResourceMeta } from \"./types.js\";\n\nexport interface BinaryResource extends Resource<Buffer> {\n type: \"binary\";\n content: Buffer;\n}\n\n/**\n * Supported binary input types for deposit\n */\nexport type BinaryInput = Buffer | Uint8Array | ArrayBuffer | number[];\n\n/**\n * Convert various binary input types to Buffer\n */\nfunction toBuffer(data: BinaryInput): Buffer {\n if (Buffer.isBuffer(data)) {\n return data;\n }\n if (data instanceof Uint8Array) {\n return Buffer.from(data);\n }\n if (data instanceof ArrayBuffer) {\n return Buffer.from(data);\n }\n if (Array.isArray(data)) {\n return Buffer.from(data);\n }\n throw new SemanticError(`Unsupported binary input type`, \"binary\");\n}\n\nexport class BinarySemanticHandler implements SemanticHandler<Buffer> {\n readonly name = \"binary\";\n\n async resolve(\n transport: TransportHandler,\n location: string,\n context: SemanticContext\n ): Promise<BinaryResource> {\n const buffer = await transport.read(location);\n\n const meta: ResourceMeta = {\n url: context.url,\n semantic: context.semantic,\n transport: context.transport,\n location: context.location,\n size: buffer.length,\n resolvedAt: context.timestamp.toISOString(),\n };\n\n return {\n type: \"binary\",\n content: buffer,\n meta,\n };\n }\n\n async deposit(\n transport: TransportHandler,\n location: string,\n data: BinaryInput,\n _context: SemanticContext\n ): Promise<void> {\n if (!transport.write) {\n throw new SemanticError(\n `Transport \"${transport.name}\" does not support write operation`,\n this.name\n );\n }\n\n const buffer = toBuffer(data);\n await transport.write(location, buffer);\n }\n\n async exists(\n transport: TransportHandler,\n location: string,\n _context: SemanticContext\n ): Promise<boolean> {\n if (transport.exists) {\n return transport.exists(location);\n }\n\n // Fallback: try to read\n try {\n await transport.read(location);\n return true;\n } catch {\n return false;\n }\n }\n\n async delete(\n transport: TransportHandler,\n location: string,\n _context: SemanticContext\n ): Promise<void> {\n if (!transport.delete) {\n throw new SemanticError(\n `Transport \"${transport.name}\" does not support delete operation`,\n this.name\n );\n }\n\n await transport.delete(location);\n }\n}\n\nexport const binaryHandler: BinarySemanticHandler = new BinarySemanticHandler();\n",
|
|
12
13
|
"/**\n * Semantic Handlers Registry\n */\n\nimport { SemanticError } from \"../errors.js\";\n\nexport type { Resource, SemanticHandler, ResourceMeta, SemanticContext } from \"./types.js\";\nexport type { TextResource } from \"./text.js\";\nexport type { BinaryResource, BinaryInput } from \"./binary.js\";\nexport { TextSemanticHandler, textHandler } from \"./text.js\";\nexport { BinarySemanticHandler, binaryHandler } from \"./binary.js\";\n\nimport type { SemanticHandler } from \"./types.js\";\nimport { textHandler } from \"./text.js\";\nimport { binaryHandler } from \"./binary.js\";\n\nconst handlers = new Map<string, SemanticHandler>([\n [\"text\", textHandler],\n [\"binary\", binaryHandler],\n]);\n\n/**\n * Get semantic handler by name\n */\nexport function getSemanticHandler(name: string): SemanticHandler {\n const handler = handlers.get(name);\n if (!handler) {\n throw new SemanticError(`Unsupported semantic type: ${name}`, name);\n }\n return handler;\n}\n\n/**\n * Register a custom semantic handler\n */\nexport function registerSemanticHandler(handler: SemanticHandler): void {\n handlers.set(handler.name, handler);\n}\n",
|
|
13
14
|
"/**\n * Resource Operations\n * End-to-end flows for resolve/deposit/exists/delete\n *\n * New Architecture:\n * - Transport provides I/O primitives (read/write/list/exists/delete)\n * - Semantic orchestrates Transport primitives to handle resource semantics\n * - This module coordinates Transport + Semantic based on parsed URL\n */\n\nimport { parseARP } from \"./parser.js\";\nimport { getTransportHandler } from \"./transport/index.js\";\nimport { getSemanticHandler, type Resource, type SemanticContext } from \"./semantic/index.js\";\nimport { SemanticError } from \"./errors.js\";\n\n/**\n * Create semantic context from parsed URL\n */\nfunction createContext(\n url: string,\n semantic: string,\n transport: string,\n location: string\n): SemanticContext {\n return {\n url,\n semantic,\n transport,\n location,\n timestamp: new Date(),\n };\n}\n\n/**\n * Resolve an ARP URL to a resource\n *\n * @example\n * const resource = await resolve(\"arp:text:https://example.com/file.txt\");\n * // { type: \"text\", content: \"...\", meta: { ... } }\n */\nexport async function resolve(url: string): Promise<Resource> {\n const parsed = parseARP(url);\n\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n\n // Semantic controls the resolve flow\n return semantic.resolve(transport, parsed.location, context);\n}\n\n/**\n * Deposit data to an ARP URL\n *\n * @example\n * await deposit(\"arp:text:file://./data/config.txt\", \"hello world\");\n */\nexport async function deposit(url: string, data: unknown): Promise<void> {\n const parsed = parseARP(url);\n\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n\n if (!semantic.deposit) {\n throw new SemanticError(\n `Semantic \"${semantic.name}\" does not support deposit operation`,\n parsed.semantic\n );\n }\n\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n\n // Semantic controls the deposit flow\n await semantic.deposit(transport, parsed.location, data, context);\n}\n\n/**\n * Check if resource exists at ARP URL\n *\n * @example\n * const exists = await resourceExists(\"arp:text:file://./data/config.txt\");\n */\nexport async function resourceExists(url: string): Promise<boolean> {\n const parsed = parseARP(url);\n\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n\n if (semantic.exists) {\n return semantic.exists(transport, parsed.location, context);\n }\n\n // Fallback to transport exists if semantic doesn't implement it\n if (transport.exists) {\n return transport.exists(parsed.location);\n }\n\n // Fallback: try to read\n try {\n await transport.read(parsed.location);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Delete resource at ARP URL\n *\n * @example\n * await resourceDelete(\"arp:text:file://./data/config.txt\");\n */\nexport async function resourceDelete(url: string): Promise<void> {\n const parsed = parseARP(url);\n\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n\n if (semantic.delete) {\n return semantic.delete(transport, parsed.location, context);\n }\n\n // Fallback to transport delete\n if (!transport.delete) {\n throw new SemanticError(\n `Neither semantic \"${semantic.name}\" nor transport \"${transport.name}\" supports delete operation`,\n parsed.semantic\n );\n }\n\n await transport.delete(parsed.location);\n}\n",
|
|
14
15
|
"/**\n * Resource Registry\n */\n\nimport { ParseError } from \"../errors.js\";\nimport { getSemanticHandler } from \"../semantic/index.js\";\nimport { getTransportHandler } from \"../transport/index.js\";\nimport type { ResourceDefinition } from \"./types.js\";\n\n/**\n * Create a new resource registry (isolated instance)\n */\nexport function createResourceRegistry() {\n const registry = new Map<string, ResourceDefinition>();\n\n return {\n /**\n * Register a resource definition\n */\n register(definition: ResourceDefinition): void {\n // Validate name format\n if (!/^[a-z][a-z0-9-]*$/.test(definition.name)) {\n throw new ParseError(\n `Invalid resource name: \"${definition.name}\". Must start with lowercase letter and contain only lowercase letters, numbers, and hyphens.`,\n definition.name\n );\n }\n\n // Validate semantic exists\n getSemanticHandler(definition.semantic);\n\n // Validate transport exists\n getTransportHandler(definition.transport);\n\n registry.set(definition.name, definition);\n },\n\n /**\n * Get a resource definition by name\n */\n get(name: string): ResourceDefinition | undefined {\n return registry.get(name);\n },\n\n /**\n * Check if a resource is registered\n */\n has(name: string): boolean {\n return registry.has(name);\n },\n\n /**\n * Clear all registered resources\n */\n clear(): void {\n registry.clear();\n },\n };\n}\n\nexport type ResourceRegistry = ReturnType<typeof createResourceRegistry>;\n",
|
|
15
|
-
"/**\n * @resourcexjs/core\n * ARP (Agent Resource Protocol) implementation\n */\n\ndeclare const __VERSION__: string;\nexport const VERSION: string = __VERSION__;\n\n// Errors\nexport { ResourceXError, ParseError, TransportError, SemanticError } from \"./errors.js\";\n\n// Parser\nexport { parseARP, type ParsedARP } from \"./parser.js\";\n\n// Transport\nexport {\n type TransportHandler,\n type TransportCapabilities,\n type ResourceStat,\n getTransportHandler,\n registerTransportHandler,\n httpsHandler,\n httpHandler,\n fileHandler,\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 getSemanticHandler,\n registerSemanticHandler,\n textHandler,\n binaryHandler,\n} from \"./semantic/index.js\";\n\n// Resource Operations\nexport { resolve, deposit, resourceExists, resourceDelete } from \"./resolve.js\";\n\n// Resource Definition\nexport {\n type ResourceDefinition,\n type ResourceRegistry,\n createResourceRegistry,\n} from \"./resource/index.js\";\n"
|
|
16
|
+
"/**\n * @resourcexjs/core\n * ARP (Agent Resource Protocol) implementation\n */\n\ndeclare const __VERSION__: string;\nexport const VERSION: string = __VERSION__;\n\n// Errors\nexport { ResourceXError, ParseError, TransportError, SemanticError } from \"./errors.js\";\n\n// Parser\nexport { parseARP, type ParsedARP } from \"./parser.js\";\n\n// Transport\nexport {\n type TransportHandler,\n type TransportCapabilities,\n type ResourceStat,\n type AgentVMConfig,\n getTransportHandler,\n registerTransportHandler,\n httpsHandler,\n httpHandler,\n fileHandler,\n agentvmHandler,\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 getSemanticHandler,\n registerSemanticHandler,\n textHandler,\n binaryHandler,\n} from \"./semantic/index.js\";\n\n// Resource Operations\nexport { resolve, deposit, resourceExists, resourceDelete } from \"./resolve.js\";\n\n// Resource Definition\nexport {\n type ResourceDefinition,\n type ResourceRegistry,\n createResourceRegistry,\n} from \"./resource/index.js\";\n"
|
|
16
17
|
],
|
|
17
|
-
"mappings": "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",
|
|
18
|
-
"debugId": "
|
|
18
|
+
"mappings": "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",
|
|
19
|
+
"debugId": "FDB0C074FE154E6C64756E2164756E21",
|
|
19
20
|
"names": []
|
|
20
21
|
}
|