@sandboxxjs/state 0.0.1 → 0.1.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/dist/index.js CHANGED
@@ -974,7 +974,7 @@ class ResourceXStateStore {
974
974
  });
975
975
  }
976
976
  logUrl(key) {
977
- return `@text:deepractice://sandbox/logs/${key}.json`;
977
+ return `@text:deepractice://sandbox/state-logs/${key}.json`;
978
978
  }
979
979
  blobUrl(ref) {
980
980
  return `@binary:deepractice://sandbox/blobs/${ref}`;
@@ -1088,4 +1088,4 @@ export {
1088
1088
  FileSystemError
1089
1089
  };
1090
1090
 
1091
- //# debugId=0AA8C1D6A9548D7A64756E2164756E21
1091
+ //# debugId=89D68C483BB5FFC564756E2164756E21
package/dist/index.js.map CHANGED
@@ -11,10 +11,10 @@
11
11
  "/**\n * Replay StateLog operations to a target\n */\n\nimport type { StateLog, WithState } from \"./types.js\";\nimport { opRegistry } from \"./opRegistry.js\";\n\n/**\n * Replay StateLog operations to a target\n */\nexport async function replayStateLog(log: StateLog, target: WithState): Promise<void> {\n for (const entry of log.getEntries()) {\n const config = opRegistry[entry.op];\n if (config) {\n await config.replay(target, entry.args);\n }\n }\n}\n",
12
12
  "/**\n * Create state instances with optional recording\n */\n\nimport type { FileSystem, Environment, Storage, StateLog, Sandbox } from \"./types.js\";\nimport { StateFS } from \"./StateFS.js\";\nimport { StateEnv } from \"./StateEnv.js\";\nimport { StateStorage } from \"./StateStorage.js\";\nimport { buildStateLog } from \"./StateLog.js\";\nimport { findOp, argsToEntry } from \"./opRegistry.js\";\n\ntype StateNamespace = \"fs\" | \"env\" | \"storage\";\n\nexport interface CreateStateOptions {\n /** Sandbox instance for fs operations */\n sandbox: Sandbox;\n /** Initial environment variables */\n env?: Record<string, string>;\n /** Enable recording to StateLog */\n enableRecord?: boolean;\n}\n\nexport interface StateResult {\n fs: FileSystem;\n env: Environment;\n storage: Storage;\n stateLog?: StateLog;\n}\n\n/**\n * Create a recording proxy for a state interface\n */\nfunction createRecordingProxy<T extends object>(\n target: T,\n namespace: StateNamespace,\n log: StateLog\n): T {\n return new Proxy(target, {\n get(obj, prop) {\n const value = obj[prop as keyof T];\n\n if (typeof value !== \"function\") {\n return value;\n }\n\n const method = prop as string;\n const op = findOp(namespace, method);\n\n // No op registered = read-only method, don't record\n if (!op) {\n return value.bind(obj);\n }\n\n // Return wrapped function that records\n return (...args: unknown[]) => {\n const result = (value as Function).apply(obj, args);\n\n const record = () => {\n const entryArgs = argsToEntry(op, args);\n (log as any).recordEntry(op, entryArgs);\n };\n\n if (result instanceof Promise) {\n return result.then((res) => {\n record();\n return res;\n });\n } else {\n record();\n return result;\n }\n };\n },\n });\n}\n\n/**\n * Create state instances\n */\nexport function createState(options: CreateStateOptions): StateResult {\n const { sandbox, env, enableRecord } = options;\n\n // Create base instances\n const baseFS = new StateFS(sandbox);\n const baseEnv = new StateEnv(env);\n const baseStorage = new StateStorage();\n\n // No recording, return base instances\n if (!enableRecord) {\n return {\n fs: baseFS,\n env: baseEnv,\n storage: baseStorage,\n };\n }\n\n // Recording enabled, wrap with Proxy\n const stateLog = buildStateLog();\n\n return {\n fs: createRecordingProxy(baseFS, \"fs\", stateLog),\n env: createRecordingProxy(baseEnv, \"env\", stateLog),\n storage: createRecordingProxy(baseStorage, \"storage\", stateLog),\n stateLog,\n };\n}\n",
13
13
  "// ../core/dist/index.js\nimport { readFile, writeFile, readdir, mkdir, rm, access, stat as fsStat } from \"node:fs/promises\";\nimport { resolve, dirname } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { readFile as readFile2, writeFile as writeFile2, readdir as readdir2, access as access2, unlink, mkdir as mkdir2, stat, rm as rm2 } from \"node:fs/promises\";\n\nclass ResourceXError extends Error {\n constructor(message, options) {\n super(message, options);\n this.name = \"ResourceXError\";\n }\n}\n\nclass ParseError extends ResourceXError {\n url;\n constructor(message, url) {\n super(message);\n this.url = url;\n this.name = \"ParseError\";\n }\n}\n\nclass TransportError extends ResourceXError {\n transport;\n constructor(message, transport, options) {\n super(message, options);\n this.transport = transport;\n this.name = \"TransportError\";\n }\n}\n\nclass SemanticError extends ResourceXError {\n semantic;\n constructor(message, semantic, options) {\n super(message, options);\n this.semantic = semantic;\n this.name = \"SemanticError\";\n }\n}\nfunction parseARP(url) {\n if (!url.startsWith(\"arp:\")) {\n throw new ParseError(`Invalid ARP URL: must start with \"arp:\"`, url);\n }\n const content = url.substring(4);\n const separatorIndex = content.indexOf(\"://\");\n if (separatorIndex === -1) {\n throw new ParseError(`Invalid ARP URL: missing \"://\"`, url);\n }\n const typePart = content.substring(0, separatorIndex);\n const location = content.substring(separatorIndex + 3);\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 const semantic = typePart.substring(0, colonIndex);\n const transport = typePart.substring(colonIndex + 1);\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 return { semantic, transport, location };\n}\n\nclass HttpTransportHandler {\n name;\n protocol;\n capabilities = {\n canRead: true,\n canWrite: false,\n canList: false,\n canDelete: false,\n canStat: false\n };\n constructor(protocol = \"https\") {\n this.protocol = protocol;\n this.name = protocol;\n }\n async read(location) {\n const url = `${this.protocol}://${location}`;\n try {\n const response = await fetch(url);\n if (!response.ok) {\n throw new TransportError(`HTTP ${response.status}: ${response.statusText} - ${url}`, this.name);\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\n });\n }\n }\n}\nvar httpsHandler = new HttpTransportHandler(\"https\");\nvar httpHandler = new HttpTransportHandler(\"http\");\n\nclass FileTransportHandler {\n name = \"file\";\n capabilities = {\n canRead: true,\n canWrite: true,\n canList: true,\n canDelete: true,\n canStat: true\n };\n resolvePath(location) {\n return resolve(process.cwd(), location);\n }\n async read(location) {\n const filePath = this.resolvePath(location);\n try {\n return await readFile(filePath);\n } catch (error) {\n const err = error;\n throw new TransportError(`File read error: ${err.code} - ${filePath}`, this.name, {\n cause: err\n });\n }\n }\n async write(location, content) {\n const filePath = this.resolvePath(location);\n try {\n await mkdir(dirname(filePath), { recursive: true });\n await writeFile(filePath, content);\n } catch (error) {\n const err = error;\n throw new TransportError(`File write error: ${err.code} - ${filePath}`, this.name, {\n cause: err\n });\n }\n }\n async list(location) {\n const dirPath = this.resolvePath(location);\n try {\n return await readdir(dirPath);\n } catch (error) {\n const err = error;\n throw new TransportError(`Directory list error: ${err.code} - ${dirPath}`, this.name, {\n cause: err\n });\n }\n }\n async mkdir(location) {\n const dirPath = this.resolvePath(location);\n try {\n await mkdir(dirPath, { recursive: true });\n } catch (error) {\n const err = error;\n throw new TransportError(`Directory create error: ${err.code} - ${dirPath}`, this.name, {\n cause: err\n });\n }\n }\n async exists(location) {\n const filePath = this.resolvePath(location);\n try {\n await access(filePath);\n return true;\n } catch {\n return false;\n }\n }\n async stat(location) {\n const filePath = this.resolvePath(location);\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;\n throw new TransportError(`File stat error: ${err.code} - ${filePath}`, this.name, {\n cause: err\n });\n }\n }\n async delete(location) {\n const filePath = this.resolvePath(location);\n try {\n await rm(filePath, { recursive: true });\n } catch (error) {\n const err = error;\n throw new TransportError(`File delete error: ${err.code} - ${filePath}`, this.name, {\n cause: err\n });\n }\n }\n}\nvar fileHandler = new FileTransportHandler;\nfunction deepracticeHandler(config = {}) {\n const parentDir = config.parentDir || homedir();\n const baseDir = join(parentDir, \".deepractice\");\n function resolvePath(location) {\n return join(baseDir, location);\n }\n return {\n name: \"deepractice\",\n capabilities: {\n canRead: true,\n canWrite: true,\n canList: true,\n canDelete: true,\n canStat: true\n },\n async read(location) {\n const fullPath = resolvePath(location);\n try {\n return await readFile2(fullPath);\n } catch (error) {\n throw new TransportError(`Failed to read from deepractice: ${error.message}`, \"deepractice\", { cause: error });\n }\n },\n async write(location, content) {\n const fullPath = resolvePath(location);\n try {\n await mkdir2(join(fullPath, \"..\"), { recursive: true });\n await writeFile2(fullPath, content);\n } catch (error) {\n throw new TransportError(`Failed to write to deepractice: ${error.message}`, \"deepractice\", { cause: error });\n }\n },\n async list(location) {\n const fullPath = resolvePath(location);\n try {\n return await readdir2(fullPath);\n } catch (error) {\n throw new TransportError(`Failed to list deepractice directory: ${error.message}`, \"deepractice\", { cause: error });\n }\n },\n async exists(location) {\n const fullPath = resolvePath(location);\n try {\n await access2(fullPath);\n return true;\n } catch {\n return false;\n }\n },\n async stat(location) {\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(`Failed to stat deepractice resource: ${error.message}`, \"deepractice\", { cause: error });\n }\n },\n async delete(location) {\n const fullPath = resolvePath(location);\n try {\n const stats = await stat(fullPath);\n if (stats.isDirectory()) {\n await rm2(fullPath, { recursive: true, force: true });\n } else {\n await unlink(fullPath);\n }\n } catch (error) {\n throw new TransportError(`Failed to delete from deepractice: ${error.message}`, \"deepractice\", { cause: error });\n }\n }\n };\n}\nvar handlers = new Map([\n [\"https\", httpsHandler],\n [\"http\", httpHandler],\n [\"file\", fileHandler]\n]);\nfunction getTransportHandler(name) {\n const handler = handlers.get(name);\n if (!handler) {\n throw new TransportError(`Unsupported transport type: ${name}`, name);\n }\n return handler;\n}\nfunction registerTransportHandler(handler) {\n handlers.set(handler.name, handler);\n}\n\nclass TextSemanticHandler {\n name = \"text\";\n async resolve(transport, location, context) {\n const buffer = await transport.read(location);\n const text = buffer.toString(\"utf-8\");\n const meta = {\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 return {\n type: \"text\",\n content: text,\n meta\n };\n }\n async deposit(transport, location, data, _context) {\n if (!transport.write) {\n throw new SemanticError(`Transport \"${transport.name}\" does not support write operation`, this.name);\n }\n const buffer = Buffer.from(data, \"utf-8\");\n await transport.write(location, buffer);\n }\n async exists(transport, location, _context) {\n if (transport.exists) {\n return transport.exists(location);\n }\n try {\n await transport.read(location);\n return true;\n } catch {\n return false;\n }\n }\n async delete(transport, location, _context) {\n if (!transport.delete) {\n throw new SemanticError(`Transport \"${transport.name}\" does not support delete operation`, this.name);\n }\n await transport.delete(location);\n }\n}\nvar textHandler = new TextSemanticHandler;\nfunction toBuffer(data) {\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\nclass BinarySemanticHandler {\n name = \"binary\";\n async resolve(transport, location, context) {\n const buffer = await transport.read(location);\n const meta = {\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 return {\n type: \"binary\",\n content: buffer,\n meta\n };\n }\n async deposit(transport, location, data, _context) {\n if (!transport.write) {\n throw new SemanticError(`Transport \"${transport.name}\" does not support write operation`, this.name);\n }\n const buffer = toBuffer(data);\n await transport.write(location, buffer);\n }\n async exists(transport, location, _context) {\n if (transport.exists) {\n return transport.exists(location);\n }\n try {\n await transport.read(location);\n return true;\n } catch {\n return false;\n }\n }\n async delete(transport, location, _context) {\n if (!transport.delete) {\n throw new SemanticError(`Transport \"${transport.name}\" does not support delete operation`, this.name);\n }\n await transport.delete(location);\n }\n}\nvar binaryHandler = new BinarySemanticHandler;\nvar handlers2 = new Map([\n [\"text\", textHandler],\n [\"binary\", binaryHandler]\n]);\nfunction getSemanticHandler(name) {\n const handler = handlers2.get(name);\n if (!handler) {\n throw new SemanticError(`Unsupported semantic type: ${name}`, name);\n }\n return handler;\n}\nfunction registerSemanticHandler(handler) {\n handlers2.set(handler.name, handler);\n}\nfunction createContext(url, semantic, transport, location) {\n return {\n url,\n semantic,\n transport,\n location,\n timestamp: new Date\n };\n}\nasync function resolve2(url) {\n const parsed = parseARP(url);\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n return semantic.resolve(transport, parsed.location, context);\n}\nasync function deposit(url, data) {\n const parsed = parseARP(url);\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n if (!semantic.deposit) {\n throw new SemanticError(`Semantic \"${semantic.name}\" does not support deposit operation`, parsed.semantic);\n }\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n await semantic.deposit(transport, parsed.location, data, context);\n}\nasync function resourceExists(url) {\n const parsed = parseARP(url);\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n if (semantic.exists) {\n return semantic.exists(transport, parsed.location, context);\n }\n if (transport.exists) {\n return transport.exists(parsed.location);\n }\n try {\n await transport.read(parsed.location);\n return true;\n } catch {\n return false;\n }\n}\nasync function resourceDelete(url) {\n const parsed = parseARP(url);\n const transport = getTransportHandler(parsed.transport);\n const semantic = getSemanticHandler(parsed.semantic);\n const context = createContext(url, parsed.semantic, parsed.transport, parsed.location);\n if (semantic.delete) {\n return semantic.delete(transport, parsed.location, context);\n }\n if (!transport.delete) {\n throw new SemanticError(`Neither semantic \"${semantic.name}\" nor transport \"${transport.name}\" supports delete operation`, parsed.semantic);\n }\n await transport.delete(parsed.location);\n}\nfunction createResourceRegistry() {\n const registry = new Map;\n return {\n register(definition) {\n if (!/^[a-z][a-z0-9-]*$/.test(definition.name)) {\n throw new ParseError(`Invalid resource name: \"${definition.name}\". Must start with lowercase letter and contain only lowercase letters, numbers, and hyphens.`, definition.name);\n }\n getSemanticHandler(definition.semantic);\n getTransportHandler(definition.transport);\n registry.set(definition.name, definition);\n },\n get(name) {\n return registry.get(name);\n },\n has(name) {\n return registry.has(name);\n },\n clear() {\n registry.clear();\n }\n };\n}\n\n// src/ResourceX.ts\nimport { join as join2 } from \"node:path\";\n\nclass ResourceX {\n timeout;\n alias;\n resourceRegistry;\n constructor(config = {}) {\n this.timeout = config.timeout;\n this.alias = config.alias || \"@\";\n this.resourceRegistry = createResourceRegistry();\n if (config.transports) {\n for (const handler of config.transports) {\n registerTransportHandler(handler);\n }\n }\n if (config.semantics) {\n for (const handler of config.semantics) {\n registerSemanticHandler(handler);\n }\n }\n if (config.resources) {\n for (const resource of config.resources) {\n this.resourceRegistry.register(resource);\n }\n }\n }\n parseURL(url) {\n let content;\n if (url.startsWith(\"arp:\")) {\n content = url.substring(4);\n } else if (url.startsWith(this.alias)) {\n content = url.substring(this.alias.length);\n } else {\n throw new ParseError(`Invalid URL prefix: must start with \"arp:\" or \"${this.alias}\"`, url);\n }\n const separatorIndex = content.indexOf(\"://\");\n if (separatorIndex === -1) {\n throw new ParseError(`Invalid URL format: missing \"://\"`, url);\n }\n const beforeSeparator = content.substring(0, separatorIndex);\n const location = content.substring(separatorIndex + 3);\n const colonCount = (beforeSeparator.match(/:/g) || []).length;\n if (colonCount === 1) {\n const parts = beforeSeparator.split(\":\");\n if (parts.length !== 2) {\n throw new ParseError(`Invalid ARP URL format`, url);\n }\n const [semantic, transport] = parts;\n if (!semantic || !transport || !location) {\n throw new ParseError(`Invalid ARP URL: semantic, transport, and location are required`, url);\n }\n const arpUrl = `arp:${semantic}:${transport}://${location}`;\n return {\n arpUrl,\n parsed: { semantic, transport, location }\n };\n }\n if (colonCount === 0) {\n const name = beforeSeparator;\n if (!name || !location) {\n throw new ParseError(`Invalid Resource URL: name and location are required`, url);\n }\n const definition = this.resourceRegistry.get(name);\n if (!definition) {\n throw new ParseError(`Unknown resource: \"${name}\"`, url);\n }\n const fullLocation = definition.basePath ? join2(definition.basePath, location) : location;\n const arpUrl = `arp:${definition.semantic}:${definition.transport}://${fullLocation}`;\n return {\n arpUrl,\n parsed: {\n semantic: definition.semantic,\n transport: definition.transport,\n location: fullLocation\n }\n };\n }\n throw new ParseError(`Invalid URL format: unexpected colon count in \"${beforeSeparator}\"`, url);\n }\n parse(url) {\n return this.parseURL(url).parsed;\n }\n async resolve(url) {\n const { arpUrl } = this.parseURL(url);\n return resolve2(arpUrl);\n }\n async deposit(url, data) {\n const { arpUrl } = this.parseURL(url);\n return deposit(arpUrl, data);\n }\n async exists(url) {\n const { arpUrl } = this.parseURL(url);\n return resourceExists(arpUrl);\n }\n async delete(url) {\n const { arpUrl } = this.parseURL(url);\n return resourceDelete(arpUrl);\n }\n}\n\n// src/createResourceX.ts\nfunction createResourceX(config) {\n return new ResourceX(config);\n}\nexport {\n deepracticeHandler,\n createResourceX,\n TransportError,\n SemanticError,\n ResourceXError,\n ResourceX,\n ParseError\n};\n\n//# debugId=AABACCD8A9EFB8D164756E2164756E21\n",
14
- "/**\n * StateStore - Persistence for StateLog and Blobs\n */\n\nimport { createResourceX, deepracticeHandler, type ResourceX } from \"resourcexjs\";\n\nexport interface StateStore {\n // Log operations\n saveLog(key: string, data: string): Promise<void>;\n loadLog(key: string): Promise<string | null>;\n deleteLog(key: string): Promise<void>;\n listLogs(): Promise<string[]>;\n\n // Blob operations\n saveBlob(ref: string, data: Buffer): Promise<void>;\n loadBlob(ref: string): Promise<Buffer | null>;\n deleteBlob(ref: string): Promise<void>;\n}\n\nexport interface StateStoreOptions {\n type: \"memory\" | \"resourcex\";\n}\n\n/**\n * Memory implementation for testing\n */\nclass MemoryStateStore implements StateStore {\n private logs = new Map<string, string>();\n private blobs = new Map<string, Buffer>();\n\n async saveLog(key: string, data: string): Promise<void> {\n this.logs.set(key, data);\n }\n\n async loadLog(key: string): Promise<string | null> {\n return this.logs.get(key) ?? null;\n }\n\n async deleteLog(key: string): Promise<void> {\n this.logs.delete(key);\n }\n\n async listLogs(): Promise<string[]> {\n return [...this.logs.keys()];\n }\n\n async saveBlob(ref: string, data: Buffer): Promise<void> {\n this.blobs.set(ref, data);\n }\n\n async loadBlob(ref: string): Promise<Buffer | null> {\n return this.blobs.get(ref) ?? null;\n }\n\n async deleteBlob(ref: string): Promise<void> {\n this.blobs.delete(ref);\n }\n}\n\n/**\n * ResourceX implementation for production\n * Uses deepractice:// transport → ~/.deepractice/sandbox/\n */\nclass ResourceXStateStore implements StateStore {\n private rx: ResourceX;\n\n constructor() {\n this.rx = createResourceX({\n transports: [deepracticeHandler()],\n });\n }\n\n private logUrl(key: string): string {\n return `@text:deepractice://sandbox/logs/${key}.json`;\n }\n\n private blobUrl(ref: string): string {\n return `@binary:deepractice://sandbox/blobs/${ref}`;\n }\n\n async saveLog(key: string, data: string): Promise<void> {\n await this.rx.deposit(this.logUrl(key), data);\n }\n\n async loadLog(key: string): Promise<string | null> {\n try {\n const exists = await this.rx.exists(this.logUrl(key));\n if (!exists) return null;\n const resource = await this.rx.resolve(this.logUrl(key));\n return resource.content as string;\n } catch {\n return null;\n }\n }\n\n async deleteLog(key: string): Promise<void> {\n try {\n const exists = await this.rx.exists(this.logUrl(key));\n if (exists) {\n await this.rx.delete(this.logUrl(key));\n }\n } catch {\n // Ignore errors\n }\n }\n\n async listLogs(): Promise<string[]> {\n // TODO: Implement when ResourceX supports list\n return [];\n }\n\n async saveBlob(ref: string, data: Buffer): Promise<void> {\n await this.rx.deposit(this.blobUrl(ref), data);\n }\n\n async loadBlob(ref: string): Promise<Buffer | null> {\n try {\n const exists = await this.rx.exists(this.blobUrl(ref));\n if (!exists) return null;\n const resource = await this.rx.resolve(this.blobUrl(ref));\n return resource.content as Buffer;\n } catch {\n return null;\n }\n }\n\n async deleteBlob(ref: string): Promise<void> {\n try {\n const exists = await this.rx.exists(this.blobUrl(ref));\n if (exists) {\n await this.rx.delete(this.blobUrl(ref));\n }\n } catch {\n // Ignore errors\n }\n }\n}\n\n/**\n * Create a StateStore instance\n */\nexport function createStateStore(options: StateStoreOptions): StateStore {\n if (options.type === \"memory\") {\n return new MemoryStateStore();\n }\n\n if (options.type === \"resourcex\") {\n return new ResourceXStateStore();\n }\n\n throw new Error(`StateStore type \"${options.type}\" not implemented`);\n}\n",
14
+ "/**\n * StateStore - Persistence for StateLog and Blobs\n */\n\nimport { createResourceX, deepracticeHandler, type ResourceX } from \"resourcexjs\";\n\nexport interface StateStore {\n // Log operations\n saveLog(key: string, data: string): Promise<void>;\n loadLog(key: string): Promise<string | null>;\n deleteLog(key: string): Promise<void>;\n listLogs(): Promise<string[]>;\n\n // Blob operations\n saveBlob(ref: string, data: Buffer): Promise<void>;\n loadBlob(ref: string): Promise<Buffer | null>;\n deleteBlob(ref: string): Promise<void>;\n}\n\nexport interface StateStoreOptions {\n type: \"memory\" | \"resourcex\";\n}\n\n/**\n * Memory implementation for testing\n */\nclass MemoryStateStore implements StateStore {\n private logs = new Map<string, string>();\n private blobs = new Map<string, Buffer>();\n\n async saveLog(key: string, data: string): Promise<void> {\n this.logs.set(key, data);\n }\n\n async loadLog(key: string): Promise<string | null> {\n return this.logs.get(key) ?? null;\n }\n\n async deleteLog(key: string): Promise<void> {\n this.logs.delete(key);\n }\n\n async listLogs(): Promise<string[]> {\n return [...this.logs.keys()];\n }\n\n async saveBlob(ref: string, data: Buffer): Promise<void> {\n this.blobs.set(ref, data);\n }\n\n async loadBlob(ref: string): Promise<Buffer | null> {\n return this.blobs.get(ref) ?? null;\n }\n\n async deleteBlob(ref: string): Promise<void> {\n this.blobs.delete(ref);\n }\n}\n\n/**\n * ResourceX implementation for production\n * Uses deepractice:// transport → ~/.deepractice/sandbox/\n */\nclass ResourceXStateStore implements StateStore {\n private rx: ResourceX;\n\n constructor() {\n this.rx = createResourceX({\n transports: [deepracticeHandler()],\n });\n }\n\n private logUrl(key: string): string {\n return `@text:deepractice://sandbox/state-logs/${key}.json`;\n }\n\n private blobUrl(ref: string): string {\n return `@binary:deepractice://sandbox/blobs/${ref}`;\n }\n\n async saveLog(key: string, data: string): Promise<void> {\n await this.rx.deposit(this.logUrl(key), data);\n }\n\n async loadLog(key: string): Promise<string | null> {\n try {\n const exists = await this.rx.exists(this.logUrl(key));\n if (!exists) return null;\n const resource = await this.rx.resolve(this.logUrl(key));\n return resource.content as string;\n } catch {\n return null;\n }\n }\n\n async deleteLog(key: string): Promise<void> {\n try {\n const exists = await this.rx.exists(this.logUrl(key));\n if (exists) {\n await this.rx.delete(this.logUrl(key));\n }\n } catch {\n // Ignore errors\n }\n }\n\n async listLogs(): Promise<string[]> {\n // TODO: Implement when ResourceX supports list\n return [];\n }\n\n async saveBlob(ref: string, data: Buffer): Promise<void> {\n await this.rx.deposit(this.blobUrl(ref), data);\n }\n\n async loadBlob(ref: string): Promise<Buffer | null> {\n try {\n const exists = await this.rx.exists(this.blobUrl(ref));\n if (!exists) return null;\n const resource = await this.rx.resolve(this.blobUrl(ref));\n return resource.content as Buffer;\n } catch {\n return null;\n }\n }\n\n async deleteBlob(ref: string): Promise<void> {\n try {\n const exists = await this.rx.exists(this.blobUrl(ref));\n if (exists) {\n await this.rx.delete(this.blobUrl(ref));\n }\n } catch {\n // Ignore errors\n }\n }\n}\n\n/**\n * Create a StateStore instance\n */\nexport function createStateStore(options: StateStoreOptions): StateStore {\n if (options.type === \"memory\") {\n return new MemoryStateStore();\n }\n\n if (options.type === \"resourcex\") {\n return new ResourceXStateStore();\n }\n\n throw new Error(`StateStore type \"${options.type}\" not implemented`);\n}\n",
15
15
  "/**\n * StateAssets - Binary file upload/download with persistence\n */\n\nimport { createHash } from \"crypto\";\nimport type { StateStore } from \"./StateStore.js\";\n\nexport interface AssetsSandbox {\n upload(data: Buffer, remotePath: string): Promise<void>;\n download(remotePath: string): Promise<Buffer>;\n}\n\nexport interface StateAssets {\n uploadBuffer(data: Buffer, remotePath: string): Promise<string>;\n downloadBuffer(remotePath: string, options?: { persist?: boolean }): Promise<Buffer | string>;\n list(): string[];\n}\n\nexport interface CreateStateAssetsOptions {\n sandbox: AssetsSandbox;\n store: StateStore;\n}\n\n/**\n * Generate sha256 ref for data\n */\nfunction generateRef(data: Buffer): string {\n const hash = createHash(\"sha256\").update(data).digest(\"hex\");\n return `sha256-${hash}`;\n}\n\nclass StateAssetsImpl implements StateAssets {\n private sandbox: AssetsSandbox;\n private store: StateStore;\n private uploadedPaths: Set<string> = new Set();\n\n constructor(options: CreateStateAssetsOptions) {\n this.sandbox = options.sandbox;\n this.store = options.store;\n }\n\n async uploadBuffer(data: Buffer, remotePath: string): Promise<string> {\n // Generate ref\n const ref = generateRef(data);\n\n // Upload to sandbox\n await this.sandbox.upload(data, remotePath);\n\n // Store blob for persistence\n await this.store.saveBlob(ref, data);\n\n // Track uploaded path\n this.uploadedPaths.add(remotePath);\n\n return ref;\n }\n\n async downloadBuffer(\n remotePath: string,\n options?: { persist?: boolean }\n ): Promise<Buffer | string> {\n // Download from sandbox\n const data = await this.sandbox.download(remotePath);\n\n // Optionally persist\n if (options?.persist) {\n const ref = generateRef(data);\n await this.store.saveBlob(ref, data);\n return ref;\n }\n\n return data;\n }\n\n list(): string[] {\n return [...this.uploadedPaths];\n }\n}\n\n/**\n * Create StateAssets instance\n */\nexport function createStateAssets(options: CreateStateAssetsOptions): StateAssets {\n return new StateAssetsImpl(options);\n}\n"
16
16
  ],
17
- "mappings": "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",
18
- "debugId": "0AA8C1D6A9548D7A64756E2164756E21",
17
+ "mappings": "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",
18
+ "debugId": "89D68C483BB5FFC564756E2164756E21",
19
19
  "names": []
20
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sandboxxjs/state",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "description": "SandboX State - State management layer with StateLog",
5
5
  "keywords": [
6
6
  "sandbox",