mcard-js 2.1.27 → 2.1.28

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.
@@ -0,0 +1,12 @@
1
+ export type MessageHandler = (data: any) => void;
2
+ export declare class WebSocketClient {
3
+ private ws;
4
+ private url;
5
+ private messageHandler;
6
+ private reconnectInterval;
7
+ constructor(url: string);
8
+ connect(): void;
9
+ setMessageHandler(handler: MessageHandler): void;
10
+ send(data: any): void;
11
+ }
12
+ //# sourceMappingURL=WebSocketClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketClient.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/browser/network/WebSocketClient.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AAEjD,qBAAa,eAAe;IACxB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,GAAG,EAAE,MAAM;IAIhB,OAAO,IAAI,IAAI;IA8Bf,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAO/B"}
@@ -0,0 +1,47 @@
1
+ export class WebSocketClient {
2
+ ws = null;
3
+ url;
4
+ messageHandler = null;
5
+ reconnectInterval = 3000;
6
+ constructor(url) {
7
+ this.url = url;
8
+ }
9
+ connect() {
10
+ console.log(`[BrowserPTR] Connecting to ${this.url}`);
11
+ this.ws = new WebSocket(this.url);
12
+ this.ws.onopen = () => {
13
+ console.log('[BrowserPTR] WebSocket connected');
14
+ };
15
+ this.ws.onmessage = (event) => {
16
+ try {
17
+ const data = JSON.parse(event.data);
18
+ if (this.messageHandler) {
19
+ this.messageHandler(data);
20
+ }
21
+ }
22
+ catch (e) {
23
+ console.error('[BrowserPTR] Failed to parse message:', e);
24
+ }
25
+ };
26
+ this.ws.onclose = () => {
27
+ console.log('[BrowserPTR] WebSocket closed. Reconnecting...');
28
+ this.ws = null;
29
+ setTimeout(() => this.connect(), this.reconnectInterval);
30
+ };
31
+ this.ws.onerror = (error) => {
32
+ console.error('[BrowserPTR] WebSocket error:', error);
33
+ };
34
+ }
35
+ setMessageHandler(handler) {
36
+ this.messageHandler = handler;
37
+ }
38
+ send(data) {
39
+ if (this.ws && this.ws.readyState === WebSocket.OPEN) {
40
+ this.ws.send(JSON.stringify(data));
41
+ }
42
+ else {
43
+ console.warn('[BrowserPTR] WebSocket not ready. Message dropped:', data);
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=WebSocketClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketClient.js","sourceRoot":"","sources":["../../../../../src/ptr/browser/network/WebSocketClient.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IAChB,EAAE,GAAqB,IAAI,CAAC;IAC5B,GAAG,CAAS;IACZ,cAAc,GAA0B,IAAI,CAAC;IAC7C,iBAAiB,GAAW,IAAI,CAAC;IAEzC,YAAY,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAEM,OAAO;QACV,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC;IACN,CAAC;IAEM,iBAAiB,CAAC,OAAuB;QAC5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAClC,CAAC;IAEM,IAAI,CAAC,IAAS;QACjB,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE,IAAI,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ export declare class MCardStore {
2
+ private dbPromise;
3
+ constructor(dbName?: string);
4
+ get(hash: string): Promise<any | undefined>;
5
+ put(hash: string, data: any): Promise<string>;
6
+ getHandle(handle: string): Promise<string | undefined>;
7
+ updateHandle(handle: string, hash: string): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=MCardStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCardStore.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/browser/storage/MCardStore.ts"],"names":[],"mappings":"AAgBA,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAiC;gBAEtC,MAAM,GAAE,MAA0B;IAaxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAO3C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMtD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIlE"}
@@ -0,0 +1,37 @@
1
+ import { openDB } from 'idb';
2
+ export class MCardStore {
3
+ dbPromise;
4
+ constructor(dbName = 'mcard-ptr-store') {
5
+ this.dbPromise = openDB(dbName, 2, {
6
+ upgrade(db) {
7
+ if (!db.objectStoreNames.contains('mcards')) {
8
+ db.createObjectStore('mcards'); // Out-of-line keys (we provide hash explicitly)
9
+ }
10
+ if (!db.objectStoreNames.contains('handles')) {
11
+ db.createObjectStore('handles');
12
+ }
13
+ },
14
+ });
15
+ }
16
+ async get(hash) {
17
+ const db = await this.dbPromise;
18
+ // If the value stored is the object, and we put it with a key, we need to retrieve carefully.
19
+ // If we use put(hash, val), we get(hash).
20
+ return db.get('mcards', hash);
21
+ }
22
+ async put(hash, data) {
23
+ const db = await this.dbPromise;
24
+ await db.put('mcards', data, hash);
25
+ return hash;
26
+ }
27
+ async getHandle(handle) {
28
+ const db = await this.dbPromise;
29
+ const record = await db.get('handles', handle);
30
+ return record?.hash;
31
+ }
32
+ async updateHandle(handle, hash) {
33
+ const db = await this.dbPromise;
34
+ await db.put('handles', { hash, updatedAt: Date.now() }, handle);
35
+ }
36
+ }
37
+ //# sourceMappingURL=MCardStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCardStore.js","sourceRoot":"","sources":["../../../../../src/ptr/browser/storage/MCardStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,MAAM,KAAK,CAAC;AAgBrD,MAAM,OAAO,UAAU;IACX,SAAS,CAAiC;IAElD,YAAY,SAAiB,iBAAiB;QAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAU,MAAM,EAAE,CAAC,EAAE;YACxC,OAAO,CAAC,EAAE;gBACN,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,gDAAgD;gBACpF,CAAC;gBACD,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3C,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;QAChC,8FAA8F;QAC9F,0CAA0C;QAC1C,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAS;QAC7B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,MAAM,EAAE,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,IAAY;QAC3C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ export declare class ServiceWorkerPTR {
2
+ private store;
3
+ private ws;
4
+ constructor(serverUrl: string);
5
+ start(): void;
6
+ private onMeshMessage;
7
+ private handleLocalRequest;
8
+ private executeCLM;
9
+ private executeJavaScript;
10
+ private executePython;
11
+ }
12
+ //# sourceMappingURL=ServiceWorkerPTR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceWorkerPTR.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/browser/worker/ServiceWorkerPTR.ts"],"names":[],"mappings":"AAKA,qBAAa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,EAAE,CAAkB;gBAEhB,SAAS,EAAE,MAAM;IAOtB,KAAK,IAAI,IAAI;YAaN,aAAa;YAcb,kBAAkB;YAelB,UAAU;YAuCV,iBAAiB;YAQjB,aAAa;CAG9B"}
@@ -0,0 +1,91 @@
1
+ import { MCardStore } from '../storage/MCardStore.js';
2
+ import { WebSocketClient } from '../network/WebSocketClient.js';
3
+ export class ServiceWorkerPTR {
4
+ store;
5
+ ws;
6
+ constructor(serverUrl) {
7
+ this.store = new MCardStore();
8
+ this.ws = new WebSocketClient(serverUrl);
9
+ this.ws.setMessageHandler(this.onMeshMessage.bind(this));
10
+ }
11
+ start() {
12
+ this.ws.connect();
13
+ // Listen for messages from controlled clients (Browser UI)
14
+ self.addEventListener('message', (event) => {
15
+ if (event.data && event.data.type === 'clm_execute') {
16
+ this.handleLocalRequest(event);
17
+ }
18
+ });
19
+ console.log('[ServiceWorkerPTR] Started');
20
+ }
21
+ async onMeshMessage(msg) {
22
+ console.log('[ServiceWorkerPTR] Received from mesh:', msg);
23
+ if (msg.type === 'clm_execute') {
24
+ await this.executeCLM(msg.clm_hash, msg.input_hash, msg.request_id);
25
+ }
26
+ else if (msg.type === 'clm_result') {
27
+ // Forward result to all clients
28
+ const clients = await self.clients.matchAll();
29
+ for (const client of clients) {
30
+ client.postMessage(msg);
31
+ }
32
+ }
33
+ }
34
+ async handleLocalRequest(event) {
35
+ const { clm_hash, input_hash, request_id } = event.data;
36
+ console.log('[ServiceWorkerPTR] Local request:', request_id);
37
+ // In the future, this is where we'd execute locally or forward to mesh
38
+ // For now, let's just forward to mesh as a test or echo back
39
+ this.ws.send({
40
+ type: 'clm_execute',
41
+ clm_hash,
42
+ input_hash,
43
+ request_id,
44
+ origin: 'browser'
45
+ });
46
+ }
47
+ async executeCLM(clmHash, inputHash, requestId) {
48
+ console.log(`[ServiceWorkerPTR] Executing CLM ${clmHash} with input ${inputHash}`);
49
+ // 1. Retrieve Input from store
50
+ const input = await this.store.get(inputHash);
51
+ // 2. Retrieve CLM (Source) from store - mocking strictly for demo
52
+ // In reality, we'd fetch the CLM content by hash.
53
+ // For now, assuming we know what to run based on some hardcoded logic or fetched content.
54
+ // Let's assume the clmHash *is* the code or we mock a lookup.
55
+ // Mocking a simple JS execution for demonstration
56
+ try {
57
+ const result = await this.executeJavaScript('return input.count + 1;', input || { count: 0 }, {});
58
+ // 4. Store Result
59
+ const outputHash = await this.store.put(`sha256:result_${requestId}`, result);
60
+ // 5. Respond
61
+ this.ws.send({
62
+ type: 'clm_result',
63
+ request_id: requestId,
64
+ output_hash: outputHash,
65
+ success: true
66
+ });
67
+ }
68
+ catch (e) {
69
+ console.error('[ServiceWorkerPTR] Execution error:', e);
70
+ this.ws.send({
71
+ type: 'clm_result',
72
+ request_id: requestId,
73
+ output_hash: '',
74
+ success: false,
75
+ error: e.message
76
+ });
77
+ }
78
+ }
79
+ // --- Execution Logic Ported from SandboxWorker ---
80
+ async executeJavaScript(code, input, context) {
81
+ const fn = new Function('input', 'context', code);
82
+ return fn(input, context || {});
83
+ }
84
+ // Pyodide support placeholder
85
+ // Implementing full Pyodide loading requires handling caching and CDN usage
86
+ // similar to SandboxWorker.ts but adapted for ServiceWorker environment.
87
+ async executePython(code, input, context) {
88
+ throw new Error('Python execution not fully implemented yet in ServiceWorkerPTR');
89
+ }
90
+ }
91
+ //# sourceMappingURL=ServiceWorkerPTR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceWorkerPTR.js","sourceRoot":"","sources":["../../../../../src/ptr/browser/worker/ServiceWorkerPTR.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/browser/worker/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ /// <reference lib="webworker" />
2
+ import { ServiceWorkerPTR } from './ServiceWorkerPTR.js';
3
+ const WS_PORT = process.env.WS_PORT || '5321';
4
+ const WS_URL = `ws://localhost:${WS_PORT}`;
5
+ // Initialize the PTR logic
6
+ const ptr = new ServiceWorkerPTR(WS_URL);
7
+ self.addEventListener('install', () => {
8
+ console.log('[ServiceWorker] Installed');
9
+ self.skipWaiting();
10
+ });
11
+ self.addEventListener('activate', (event) => {
12
+ console.log('[ServiceWorker] Activated');
13
+ event.waitUntil(self.clients.claim());
14
+ ptr.start();
15
+ });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ptr/browser/worker/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC;AAC9C,MAAM,MAAM,GAAG,kBAAkB,OAAO,EAAE,CAAC;AAE3C,2BAA2B;AAC3B,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;IAClC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcard-js",
3
- "version": "2.1.27",
3
+ "version": "2.1.28",
4
4
  "description": "MCard - Content-addressable storage with cryptographic hashing, handle resolution, and vector search for Node.js and browsers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",