diff --git a/cortex-mem-service/src/state.rs b/cortex-mem-service/src/state.rs index 6202642..4e43774 100644 --- a/cortex-mem-service/src/state.rs +++ b/cortex-mem-service/src/state.rs @@ -63,6 +63,8 @@ impl AppState { ) .await?, ); + // Ensure collection exists even when embedding_dim is not configured + Self::ensure_collection_with_probed_dim(&cortex).await?; Self::bootstrap_vectors_if_collection_empty(&cortex).await?; tracing::info!("✅ Cortex Memory initialized with MemoryEventCoordinator"); @@ -239,6 +241,50 @@ impl AppState { Ok(()) } + /// Ensure Qdrant collection exists by probing embedding dimension if not configured. + /// + /// When `embedding_dim` is not set in config, `QdrantVectorStore::new` skips collection creation. + /// This method probes the actual embedding dimension from the embedding service and ensures + /// the collection is created. This is critical for first-time users who don't have + /// `embedding_dim` in their config file. + async fn ensure_collection_with_probed_dim(cortex: &Arc) -> anyhow::Result<()> { + let Some(qdrant_store) = cortex.qdrant_store() else { + tracing::debug!("No Qdrant store available, skipping collection ensure"); + return Ok(()); + }; + + // If embedding_dim is already set, collection was already ensured in QdrantVectorStore::new + if qdrant_store.embedding_dim().is_some() { + tracing::debug!("embedding_dim already configured, collection already ensured"); + return Ok(()); + } + + let Some(embedding_client) = cortex.embedding() else { + tracing::warn!("No embedding client available, cannot probe embedding dimension"); + return Ok(()); + }; + + tracing::info!("embedding_dim not configured, probing from embedding service..."); + match embedding_client.embed("probe").await { + Ok(probe_vec) => { + let probed_dim = probe_vec.len(); + tracing::info!("Probed embedding dimension: {}", probed_dim); + if let Err(e) = qdrant_store.ensure_collection_with_dim(probed_dim).await { + tracing::warn!("Failed to ensure collection with probed dim {}: {}", probed_dim, e); + } else { + tracing::info!("Collection ensured with probed dimension {}", probed_dim); + } + } + Err(e) => { + tracing::warn!( + "Failed to probe embedding dimension, collection may not be created: {}", e + ); + } + } + + Ok(()) + } + /// Load configurations from config file or environment variables fn load_configs( config_path: &Path, @@ -392,6 +438,9 @@ impl AppState { .await?, ); + // Ensure collection exists even when embedding_dim is not configured + Self::ensure_collection_with_probed_dim(&new_cortex).await?; + // Run bootstrap vector sync in background only if this tenant hasn't been bootstrapped yet if needs_bootstrap { // Mark as bootstrapped before starting the background task diff --git a/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli index 62d209d..3df2587 100755 --- a/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli +++ b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a305c8ed4e883a2dc9840539e7dc9aa1bbaf23c3ec3c8e1133517b7d62b8358 -size 18277056 +oid sha256:0741ce97281ceffdc3345f7095bd0898484c93a2024e1bbfd1941fe8defdf386 +size 18510944 diff --git a/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-service b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-service index 076f725..49b9c7d 100755 --- a/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-service +++ b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-service @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5973dc419567ad09a59aa4c64d559a35bc6bd84286f9acb739a10963ce66c319 -size 17667392 +oid sha256:cfee85088df995ddfbe444b200752adac352f9e736f3b51e7008eb658bceb864 +size 18582704 diff --git a/examples/@memclaw/bin-darwin-arm64/package.json b/examples/@memclaw/bin-darwin-arm64/package.json index d502985..a5676a9 100644 --- a/examples/@memclaw/bin-darwin-arm64/package.json +++ b/examples/@memclaw/bin-darwin-arm64/package.json @@ -1,24 +1,24 @@ { - "name": "@memclaw/bin-darwin-arm64", - "version": "0.1.5", - "description": "MemClaw binaries for macOS Apple Silicon", - "publishConfig": { - "access": "public" - }, - "os": [ - "darwin" - ], - "cpu": [ - "arm64" - ], - "files": [ - "bin/" - ], - "author": "Sopaco", - "license": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/sopaco/cortex-mem.git", - "directory": "examples/@memclaw/bin-darwin-arm64" - } + "name": "@memclaw/bin-darwin-arm64", + "version": "0.1.7", + "description": "MemClaw binaries for macOS Apple Silicon", + "publishConfig": { + "access": "public" + }, + "os": [ + "darwin" + ], + "cpu": [ + "arm64" + ], + "files": [ + "bin/" + ], + "author": "Sopaco", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/sopaco/cortex-mem.git", + "directory": "examples/@memclaw/bin-darwin-arm64" + } } diff --git a/examples/@memclaw/bin-linux-x64/bin/cortex-mem-cli b/examples/@memclaw/bin-linux-x64/bin/cortex-mem-cli index cca4221..9e28444 100755 --- a/examples/@memclaw/bin-linux-x64/bin/cortex-mem-cli +++ b/examples/@memclaw/bin-linux-x64/bin/cortex-mem-cli @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcfdb31c32dd8472f6b9a58af4f97ade4de693b0b5ebdc4f508928a249f5a75d -size 21696936 +oid sha256:860471d8439daa30587e5969de3d56191a234a7eb770e450d68cc13d9b1e77cf +size 21907552 diff --git a/examples/@memclaw/bin-linux-x64/bin/cortex-mem-service b/examples/@memclaw/bin-linux-x64/bin/cortex-mem-service index 39afd1e..b9adaf9 100755 --- a/examples/@memclaw/bin-linux-x64/bin/cortex-mem-service +++ b/examples/@memclaw/bin-linux-x64/bin/cortex-mem-service @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e6f7192f4b4cc1a556df88709265bdf54dc96b41fce86cb0cf2ee1bdeab011b -size 20962176 +oid sha256:3eb10103c336a7279e3239df93f2fffeff3ee10d8a608f952ed8ade70dec2c4c +size 21902624 diff --git a/examples/@memclaw/bin-linux-x64/package.json b/examples/@memclaw/bin-linux-x64/package.json index 5d2e725..514374b 100644 --- a/examples/@memclaw/bin-linux-x64/package.json +++ b/examples/@memclaw/bin-linux-x64/package.json @@ -1,24 +1,24 @@ { - "name": "@memclaw/bin-linux-x64", - "version": "0.1.5", - "description": "MemClaw binaries for Linux x64", - "publishConfig": { - "access": "public" - }, - "os": [ - "linux" - ], - "cpu": [ - "x64" - ], - "files": [ - "bin/" - ], - "author": "Sopaco", - "license": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/sopaco/cortex-mem.git", - "directory": "examples/@memclaw/bin-linux-x64" - } + "name": "@memclaw/bin-linux-x64", + "version": "0.1.7", + "description": "MemClaw binaries for Linux x64", + "publishConfig": { + "access": "public" + }, + "os": [ + "linux" + ], + "cpu": [ + "x64" + ], + "files": [ + "bin/" + ], + "author": "Sopaco", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/sopaco/cortex-mem.git", + "directory": "examples/@memclaw/bin-linux-x64" + } } diff --git a/examples/@memclaw/bin-win-x64/bin/cortex-mem-cli.exe b/examples/@memclaw/bin-win-x64/bin/cortex-mem-cli.exe index 0cfb6c1..631e96f 100644 --- a/examples/@memclaw/bin-win-x64/bin/cortex-mem-cli.exe +++ b/examples/@memclaw/bin-win-x64/bin/cortex-mem-cli.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89ad96c99c0dcb0444d0ae9a7207360d59e76e1791bc56f419a6c3c93a37b250 -size 17488384 +oid sha256:56d3a4d37310804ac9f992a0b2f5f03638fdfd4ab89eec8898699faa03a2f880 +size 16896000 diff --git a/examples/@memclaw/bin-win-x64/bin/cortex-mem-service.exe b/examples/@memclaw/bin-win-x64/bin/cortex-mem-service.exe index deabf32..7bff226 100644 --- a/examples/@memclaw/bin-win-x64/bin/cortex-mem-service.exe +++ b/examples/@memclaw/bin-win-x64/bin/cortex-mem-service.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49af474a007fe67a2c42a7b177b7b3577ce56095013bfebee12f062425730d7b -size 16015360 +oid sha256:68ebefe6c5eab8b8c5869468aa75cd549c690cfeae930ee7ac7dd61a449062a0 +size 17227264 diff --git a/examples/@memclaw/bin-win-x64/package.json b/examples/@memclaw/bin-win-x64/package.json index e7e38ab..da3a1a3 100644 --- a/examples/@memclaw/bin-win-x64/package.json +++ b/examples/@memclaw/bin-win-x64/package.json @@ -1,24 +1,24 @@ { - "name": "@memclaw/bin-win-x64", - "version": "0.1.0", - "description": "MemClaw binaries for Windows x64", - "publishConfig": { - "access": "public" - }, - "os": [ - "win32" - ], - "cpu": [ - "x64" - ], - "files": [ - "bin/" - ], - "author": "Sopaco", - "license": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/sopaco/cortex-mem.git", - "directory": "examples/@memclaw/bin-win-x64" - } + "name": "@memclaw/bin-win-x64", + "version": "0.1.7", + "description": "MemClaw binaries for Windows x64", + "publishConfig": { + "access": "public" + }, + "os": [ + "win32" + ], + "cpu": [ + "x64" + ], + "files": [ + "bin/" + ], + "author": "Sopaco", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/sopaco/cortex-mem.git", + "directory": "examples/@memclaw/bin-win-x64" + } } diff --git a/examples/@memclaw/plugin/dist/plugin-impl.d.ts.map b/examples/@memclaw/plugin/dist/plugin-impl.d.ts.map index f7ae54c..0c42880 100644 --- a/examples/@memclaw/plugin/dist/plugin-impl.d.ts.map +++ b/examples/@memclaw/plugin/dist/plugin-impl.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"plugin-impl.d.ts","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA0CH,UAAU,YAAY;IACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACjD;AAED,UAAU,SAAS;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,eAAe,CAAC,OAAO,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;CACrB;AAED,UAAU,cAAc;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAoXD,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS;;;;EAmpB1C"} \ No newline at end of file +{"version":3,"file":"plugin-impl.d.ts","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA0CH,UAAU,YAAY;IACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACjD;AAED,UAAU,SAAS;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,eAAe,CAAC,OAAO,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;CACrB;AAED,UAAU,cAAc;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAoXD,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS;;;;EAqpB1C"} \ No newline at end of file diff --git a/examples/@memclaw/plugin/dist/plugin-impl.js b/examples/@memclaw/plugin/dist/plugin-impl.js index c87e939..21387d9 100644 --- a/examples/@memclaw/plugin/dist/plugin-impl.js +++ b/examples/@memclaw/plugin/dist/plugin-impl.js @@ -454,10 +454,11 @@ function createPlugin(api) { try { log('Starting services...'); await (0, binaries_js_1.ensureAllServices)(log); - servicesStarted = true; // Switch tenant await client.switchTenant(tenantId); log(`Switched to tenant: ${tenantId}`); + // Mark services as started only after tenant switch succeeds + servicesStarted = true; log('MemClaw services started successfully'); // Start maintenance timer (runs every 3 hours) maintenanceTimer = setInterval(async () => { diff --git a/examples/@memclaw/plugin/dist/plugin-impl.js.map b/examples/@memclaw/plugin/dist/plugin-impl.js.map index 16ef539..f05e162 100644 --- a/examples/@memclaw/plugin/dist/plugin-impl.js.map +++ b/examples/@memclaw/plugin/dist/plugin-impl.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin-impl.js","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"plugin-impl.js","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/examples/@memclaw/plugin/dist/src/config.d.ts b/examples/@memclaw/plugin/dist/src/config.d.ts index 7777581..8ee0a0c 100644 --- a/examples/@memclaw/plugin/dist/src/config.d.ts +++ b/examples/@memclaw/plugin/dist/src/config.d.ts @@ -10,6 +10,7 @@ export interface MemClawConfig { qdrant: { url: string; collection_name: string; + embedding_dim?: number; timeout_secs: number; }; llm: { @@ -29,6 +30,7 @@ export interface MemClawConfig { server: { host: string; port: number; + cors_origins?: string[]; }; logging: { enabled: boolean; @@ -45,6 +47,10 @@ export declare function ensureConfigExists(): { path: string; }; export declare function openConfigFile(configPath: string): Promise; +/** + * Parse TOML config file using smol-toml library + * Supports full TOML syntax including arrays, nested tables, etc. + */ export declare function parseConfig(configPath: string): MemClawConfig; export declare function validateConfig(config: MemClawConfig): { valid: boolean; @@ -64,7 +70,7 @@ export interface PluginProvidedConfig { } /** * Update config.toml with values from OpenClaw plugin config - * Only updates fields that are provided (non-empty) in pluginConfig + * Uses smol-toml for proper TOML serialization */ export declare function updateConfigFromPlugin(pluginConfig: PluginProvidedConfig): { updated: boolean; diff --git a/examples/@memclaw/plugin/dist/src/config.d.ts.map b/examples/@memclaw/plugin/dist/src/config.d.ts.map index bfe4454..839cc37 100644 --- a/examples/@memclaw/plugin/dist/src/config.d.ts.map +++ b/examples/@memclaw/plugin/dist/src/config.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACP,sBAAsB,EAAE,OAAO,CAAC;KAChC,CAAC;CACF;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CA4C/C;AAED,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAevE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhE;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAkF7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG;IACtD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB,CAoBA;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb,CAgFA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,oBAAoB,GAChC,aAAa,CAgBf"} \ No newline at end of file +{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,OAAO,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACP,sBAAsB,EAAE,OAAO,CAAC;KAChC,CAAC;CACF;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAgD/C;AAED,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAevE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAqD7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG;IACtD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB,CAoBA;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb,CA+CA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,oBAAoB,GAChC,aAAa,CAgBf"} \ No newline at end of file diff --git a/examples/@memclaw/plugin/dist/src/config.js b/examples/@memclaw/plugin/dist/src/config.js index 2afc9d3..a2f7fcb 100644 --- a/examples/@memclaw/plugin/dist/src/config.js +++ b/examples/@memclaw/plugin/dist/src/config.js @@ -38,6 +38,9 @@ var __importStar = (this && this.__importStar) || (function () { return result; }; })(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDataDir = getDataDir; exports.getConfigPath = getConfigPath; @@ -52,6 +55,7 @@ const fs = __importStar(require("fs")); const path = __importStar(require("path")); const os = __importStar(require("os")); const child_process_1 = require("child_process"); +const smol_toml_1 = __importDefault(require("smol-toml")); // Platform-specific paths function getDataDir() { const platform = process.platform; @@ -78,6 +82,10 @@ function generateConfigTemplate() { [qdrant] url = "http://localhost:6334" collection_name = "memclaw" +# Embedding dimension (optional, auto-detected if not set) +# For text-embedding-3-small: 1536 +# For text-embedding-3-large: 3072 +# embedding_dim = 1536 timeout_secs = 30 # LLM Configuration [REQUIRED for memory processing] @@ -151,49 +159,29 @@ function openConfigFile(configPath) { resolve(); }); } +/** + * Parse TOML config file using smol-toml library + * Supports full TOML syntax including arrays, nested tables, etc. + */ function parseConfig(configPath) { const content = fs.readFileSync(configPath, 'utf-8'); - const config = {}; - let currentSection = ''; - for (const line of content.split('\n')) { - const trimmed = line.trim(); - // Skip comments and empty lines - if (trimmed.startsWith('#') || trimmed === '') - continue; - // Section header - const sectionMatch = trimmed.match(/^\[(\w+)\]$/); - if (sectionMatch) { - currentSection = sectionMatch[1]; - config[currentSection] = {}; - continue; - } - // Key-value pair - const kvMatch = trimmed.match(/^(\w+)\s*=\s*"([^"]*)"(?:\s*$|\s*#)/) || - trimmed.match(/^(\w+)\s*=\s*(\d+(?:\.\d+)?)(?:\s*$|\s*#)/) || - trimmed.match(/^(\w+)\s*=\s*(true|false)(?:\s*$|\s*#)/); - if (kvMatch && currentSection) { - const key = kvMatch[1]; - let value = kvMatch[2]; - // Convert to appropriate type - if (value === 'true') - value = true; - else if (value === 'false') - value = false; - else if (/^\d+$/.test(value)) - value = parseInt(value, 10); - else if (/^\d+\.\d+$/.test(value)) - value = parseFloat(value); - config[currentSection] = config[currentSection] || {}; - config[currentSection][key] = value; - } + // Parse using smol-toml + let parsed; + try { + parsed = smol_toml_1.default.parse(content); + } + catch (error) { + // If parsing fails, return defaults + console.error('Failed to parse config.toml:', error); + parsed = {}; } - // Apply defaults + // Apply defaults for missing sections return { qdrant: { url: 'http://localhost:6334', collection_name: 'memclaw', timeout_secs: 30, - ...(config.qdrant || {}) + ...(parsed.qdrant || {}) }, llm: { api_base_url: 'https://api.openai.com/v1', @@ -201,7 +189,7 @@ function parseConfig(configPath) { model_efficient: 'gpt-5-mini', temperature: 0.1, max_tokens: 4096, - ...(config.llm || {}) + ...(parsed.llm || {}) }, embedding: { api_base_url: 'https://api.openai.com/v1', @@ -209,22 +197,22 @@ function parseConfig(configPath) { model_name: 'text-embedding-3-small', batch_size: 10, timeout_secs: 30, - ...(config.embedding || {}) + ...(parsed.embedding || {}) }, server: { host: 'localhost', port: 8085, - ...(config.server || {}) + ...(parsed.server || {}) }, logging: { enabled: false, log_directory: 'logs', level: 'info', - ...(config.logging || {}) + ...(parsed.logging || {}) }, cortex: { enable_intent_analysis: false, - ...(config.cortex || {}) + ...(parsed.cortex || {}) } }; } @@ -249,7 +237,7 @@ function validateConfig(config) { } /** * Update config.toml with values from OpenClaw plugin config - * Only updates fields that are provided (non-empty) in pluginConfig + * Uses smol-toml for proper TOML serialization */ function updateConfigFromPlugin(pluginConfig) { const configPath = getConfigPath(); @@ -257,67 +245,38 @@ function updateConfigFromPlugin(pluginConfig) { ensureConfigExists(); // Parse existing config const existingConfig = parseConfig(configPath); - // Track if any changes were made - let updated = false; - // Build updated config sections - const updates = []; - // LLM config updates - if (pluginConfig.llmApiKey && pluginConfig.llmApiKey !== '') { - updates.push({ section: 'llm', key: 'api_key', value: pluginConfig.llmApiKey }); - updated = true; - } - if (pluginConfig.llmApiBaseUrl && pluginConfig.llmApiBaseUrl !== '') { - updates.push({ section: 'llm', key: 'api_base_url', value: pluginConfig.llmApiBaseUrl }); - updated = true; - } - if (pluginConfig.llmModel && pluginConfig.llmModel !== '') { - updates.push({ section: 'llm', key: 'model_efficient', value: pluginConfig.llmModel }); - updated = true; - } - // Embedding config updates - if (pluginConfig.embeddingApiKey && pluginConfig.embeddingApiKey !== '') { - updates.push({ section: 'embedding', key: 'api_key', value: pluginConfig.embeddingApiKey }); - updated = true; - } - if (pluginConfig.embeddingApiBaseUrl && pluginConfig.embeddingApiBaseUrl !== '') { - updates.push({ - section: 'embedding', - key: 'api_base_url', - value: pluginConfig.embeddingApiBaseUrl - }); - updated = true; - } - if (pluginConfig.embeddingModel && pluginConfig.embeddingModel !== '') { - updates.push({ section: 'embedding', key: 'model_name', value: pluginConfig.embeddingModel }); - updated = true; - } - if (!updated) { + // Build updated config + const updatedConfig = { + qdrant: existingConfig.qdrant, + llm: { + ...existingConfig.llm, + api_base_url: pluginConfig.llmApiBaseUrl || existingConfig.llm.api_base_url, + api_key: pluginConfig.llmApiKey || existingConfig.llm.api_key, + model_efficient: pluginConfig.llmModel || existingConfig.llm.model_efficient + }, + embedding: { + ...existingConfig.embedding, + api_base_url: pluginConfig.embeddingApiBaseUrl || existingConfig.embedding.api_base_url, + api_key: pluginConfig.embeddingApiKey || existingConfig.embedding.api_key, + model_name: pluginConfig.embeddingModel || existingConfig.embedding.model_name + }, + server: existingConfig.server, + logging: existingConfig.logging, + cortex: existingConfig.cortex + }; + // Check if any changes were made + const hasChanges = (pluginConfig.llmApiKey && pluginConfig.llmApiKey !== existingConfig.llm.api_key) || + (pluginConfig.llmApiBaseUrl && pluginConfig.llmApiBaseUrl !== existingConfig.llm.api_base_url) || + (pluginConfig.llmModel && pluginConfig.llmModel !== existingConfig.llm.model_efficient) || + (pluginConfig.embeddingApiKey && pluginConfig.embeddingApiKey !== existingConfig.embedding.api_key) || + (pluginConfig.embeddingApiBaseUrl && pluginConfig.embeddingApiBaseUrl !== existingConfig.embedding.api_base_url) || + (pluginConfig.embeddingModel && pluginConfig.embeddingModel !== existingConfig.embedding.model_name); + if (!hasChanges) { return { updated: false, path: configPath }; } - // Read current content - let content = fs.readFileSync(configPath, 'utf-8'); - // Apply each update - for (const { section, key, value } of updates) { - // Escape value for TOML string - const escapedValue = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"'); - // Pattern to match the key in the correct section - // This handles both existing keys and missing keys - const sectionPattern = new RegExp(`(\\[${section}\\][^\\[]*?)(${key}\\s*=\\s*)"[^"]*"`, 's'); - const keyExistsInSection = sectionPattern.test(content); - if (keyExistsInSection) { - // Update existing key - content = content.replace(sectionPattern, `$1$2"${escapedValue}"`); - } - else { - // Add key to section - const sectionStartPattern = new RegExp(`(\\[${section}\\]\\n)`, ''); - if (sectionStartPattern.test(content)) { - content = content.replace(sectionStartPattern, `$1${key} = "${escapedValue}"\n`); - } - } - } - // Write updated content - fs.writeFileSync(configPath, content, 'utf-8'); + // Serialize and write using smol-toml + const tomlContent = smol_toml_1.default.stringify(updatedConfig); + fs.writeFileSync(configPath, tomlContent, 'utf-8'); return { updated: true, path: configPath }; } /** diff --git a/examples/@memclaw/plugin/dist/src/config.js.map b/examples/@memclaw/plugin/dist/src/config.js.map index fe4308b..0dfa545 100644 --- a/examples/@memclaw/plugin/dist/src/config.js.map +++ b/examples/@memclaw/plugin/dist/src/config.js.map @@ -1 +1 @@ -{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASH,gCAaC;AAED,sCAEC;AAsCD,wDAgDC;AAED,gDAeC;AAED,wCAwBC;AAMD,kCAqDC;AAED,wCAuBC;AAmBD,wDAkDC;AAKD,sDAmBC;AA1UD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAsC;AACtC,0DAA6B;AAE7B,0BAA0B;AAC1B,SAAgB,UAAU;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CACf,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EACvE,SAAS,CACT,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;AACF,CAAC;AAED,SAAgB,aAAa;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC;AAsCD,SAAgB,sBAAsB;IACrC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CP,CAAC;AACF,CAAC;AAED,SAAgB,kBAAkB;IACjC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;QAC1C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC;AAED,SAAgB,cAAc,CAAC,UAAkB;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,OAAe,CAAC;QACpB,IAAI,IAAI,GAAa,EAAE,CAAC;QAExB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,GAAG,MAAM,CAAC;YACjB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,OAAO,GAAG,UAAU,CAAC;YACrB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,UAAkB;IAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAErD,wBAAwB;IACxB,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACJ,MAAM,GAAG,mBAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,oCAAoC;QACpC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,GAAG,EAAE,CAAC;IACb,CAAC;IAED,sCAAsC;IACtC,OAAO;QACN,MAAM,EAAE;YACP,GAAG,EAAE,uBAAuB;YAC5B,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,EAAE;YAChB,GAAG,CAAE,MAAM,CAAC,MAAkC,IAAI,EAAE,CAAC;SACrD;QACD,GAAG,EAAE;YACJ,YAAY,EAAE,2BAA2B;YACzC,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,IAAI;YAChB,GAAG,CAAE,MAAM,CAAC,GAA+B,IAAI,EAAE,CAAC;SAClD;QACD,SAAS,EAAE;YACV,YAAY,EAAE,2BAA2B;YACzC,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,wBAAwB;YACpC,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;YAChB,GAAG,CAAE,MAAM,CAAC,SAAqC,IAAI,EAAE,CAAC;SACxD;QACD,MAAM,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;YACV,GAAG,CAAE,MAAM,CAAC,MAAkC,IAAI,EAAE,CAAC;SACrD;QACD,OAAO,EAAE;YACR,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,MAAM;YACb,GAAG,CAAE,MAAM,CAAC,OAAmC,IAAI,EAAE,CAAC;SACtD;QACD,MAAM,EAAE;YACP,sBAAsB,EAAE,KAAK;YAC7B,GAAG,CAAE,MAAM,CAAC,MAAkC,IAAI,EAAE,CAAC;SACrD;KACD,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,MAAqB;IAInD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QAClE,yDAAyD;QACzD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACN,CAAC;AACH,CAAC;AAeD;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,YAAkC;IAIxE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,4BAA4B;IAC5B,kBAAkB,EAAE,CAAC;IAErB,wBAAwB;IACxB,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAE/C,uBAAuB;IACvB,MAAM,aAAa,GAAkB;QACpC,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,GAAG,EAAE;YACJ,GAAG,cAAc,CAAC,GAAG;YACrB,YAAY,EAAE,YAAY,CAAC,aAAa,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY;YAC3E,OAAO,EAAE,YAAY,CAAC,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO;YAC7D,eAAe,EAAE,YAAY,CAAC,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,eAAe;SAC5E;QACD,SAAS,EAAE;YACV,GAAG,cAAc,CAAC,SAAS;YAC3B,YAAY,EAAE,YAAY,CAAC,mBAAmB,IAAI,cAAc,CAAC,SAAS,CAAC,YAAY;YACvF,OAAO,EAAE,YAAY,CAAC,eAAe,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO;YACzE,UAAU,EAAE,YAAY,CAAC,cAAc,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU;SAC9E;QACD,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,MAAM,EAAE,cAAc,CAAC,MAAM;KAC7B,CAAC;IAEF,iCAAiC;IACjC,MAAM,UAAU,GACf,CAAC,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,KAAK,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QACjF,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,KAAK,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;QAC9F,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,KAAK,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC;QACvF,CAAC,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,KAAK,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC;QACnG,CAAC,YAAY,CAAC,mBAAmB,IAAI,YAAY,CAAC,mBAAmB,KAAK,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC;QAChH,CAAC,YAAY,CAAC,cAAc,IAAI,YAAY,CAAC,cAAc,KAAK,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEtG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,mBAAI,CAAC,SAAS,CAAC,aAAmD,CAAC,CAAC;IACxF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAEnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACpC,UAAyB,EACzB,YAAkC;IAElC,OAAO;QACN,GAAG,UAAU;QACb,GAAG,EAAE;YACJ,GAAG,UAAU,CAAC,GAAG;YACjB,YAAY,EAAE,YAAY,CAAC,aAAa,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY;YACvE,OAAO,EAAE,YAAY,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO;YACzD,eAAe,EAAE,YAAY,CAAC,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe;SACxE;QACD,SAAS,EAAE;YACV,GAAG,UAAU,CAAC,SAAS;YACvB,YAAY,EAAE,YAAY,CAAC,mBAAmB,IAAI,UAAU,CAAC,SAAS,CAAC,YAAY;YACnF,OAAO,EAAE,YAAY,CAAC,eAAe,IAAI,UAAU,CAAC,SAAS,CAAC,OAAO;YACrE,UAAU,EAAE,YAAY,CAAC,cAAc,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU;SAC1E;KACD,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/examples/@memclaw/plugin/dist/src/migrate.d.ts.map b/examples/@memclaw/plugin/dist/src/migrate.d.ts.map index 98f4f7d..5a1e006 100644 --- a/examples/@memclaw/plugin/dist/src/migrate.d.ts.map +++ b/examples/@memclaw/plugin/dist/src/migrate.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,UAAU,eAAe;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgPD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC,eAAe,CAAC,CA8C1B;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAelE"} \ No newline at end of file +{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,UAAU,eAAe;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAqPD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC,eAAe,CAAC,CA8C1B;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAelE"} \ No newline at end of file diff --git a/examples/@memclaw/plugin/dist/src/migrate.js b/examples/@memclaw/plugin/dist/src/migrate.js index 6bc23e9..2e65a47 100644 --- a/examples/@memclaw/plugin/dist/src/migrate.js +++ b/examples/@memclaw/plugin/dist/src/migrate.js @@ -117,7 +117,9 @@ async function migrateDailyLogs(ocWorkspace, dataDir, log) { const date = path.basename(logPath, '.md'); // 2026-03-13 const [year, month, day] = date.split('-'); const sessionId = `migrated-oc-${date}`; - const timelineDir = path.join(dataDir, 'sessions', MIGRATION_TENANT, sessionId, 'timeline', year, month, day); + // Correct path for tenant isolation: + // dataDir/tenants/{tenant_id}/session/{session_id}/timeline/{year}/{month}/{day}/ + const timelineDir = path.join(dataDir, 'tenants', MIGRATION_TENANT, 'session', sessionId, 'timeline', year, month, day); // Create directory fs.mkdirSync(timelineDir, { recursive: true }); // Read and split content @@ -159,7 +161,9 @@ async function migrateMemoryMd(ocWorkspace, dataDir, log) { return { migrated: false }; } try { - const userDir = path.join(dataDir, 'users', MIGRATION_TENANT); + // Correct path for tenant isolation: + // dataDir/tenants/{tenant_id}/user/preferences.md + const userDir = path.join(dataDir, 'tenants', MIGRATION_TENANT, 'user'); fs.mkdirSync(userDir, { recursive: true }); const content = fs.readFileSync(memoryMdPath, 'utf-8'); const targetPath = path.join(userDir, 'preferences.md'); diff --git a/examples/@memclaw/plugin/dist/src/migrate.js.map b/examples/@memclaw/plugin/dist/src/migrate.js.map index eb4c58f..63eeede 100644 --- a/examples/@memclaw/plugin/dist/src/migrate.js.map +++ b/examples/@memclaw/plugin/dist/src/migrate.js.map @@ -1 +1 @@ -{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/examples/@memclaw/plugin/package.json b/examples/@memclaw/plugin/package.json index 39dc1f9..8d37d08 100644 --- a/examples/@memclaw/plugin/package.json +++ b/examples/@memclaw/plugin/package.json @@ -1,76 +1,77 @@ { - "name": "@memclaw/memclaw", - "version": "0.9.29", - "description": "MemClaw - The Cortex Memory plugin for OpenClaw. Layered semantic memory for OpenClaw with easy setup and migration", - "homepage": "https://github.com/sopaco/cortex-mem", - "repository": { - "type": "git", - "url": "git+https://github.com/sopaco/cortex-mem.git", - "directory": "examples/@memclaw/plugin" - }, - "bugs": { - "url": "https://github.com/sopaco/cortex-mem/issues" - }, - "publishConfig": { - "access": "public" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "scripts": { - "build": "tsc", - "dev": "tsc --watch" - }, - "keywords": [ - "openclaw", - "memory", - "semantic-search", - "vector-search", - "ai", - "agent", - "cortex-mem" - ], - "author": "Sopaco", - "license": "MIT", - "openclaw": { - "id": "memclaw", - "extensions": [ - "dist/index.js" - ], - "skills": [ - "skills/memclaw", - "skills/memclaw-maintance" - ], - "build": { - "openclawVersion": "2026.3.8", - "pluginSdkVersion": "2026.3.8" - }, - "compat": { - "pluginApi": ">=1.0.0", - "builtWithOpenClawVersion": "2026.3.8", - "pluginSdkVersion": "2026.3.8", - "minGatewayVersion": "2026.3.8" - } - }, - "devDependencies": { - "@types/node": "^22.0.0", - "typescript": "^5.7.0" - }, - "dependencies": { - "glob": "^11.0.0" - }, - "optionalDependencies": { - "@memclaw/bin-darwin-arm64": "0.1.5", - "@memclaw/bin-win-x64": "0.1.0", - "@memclaw/bin-linux-x64": "0.1.5" - }, - "engines": { - "node": ">=20.0.0" - }, - "files": [ - "dist/", - "skills/", - "openclaw.plugin.json", - "README.md", - "SECURITY.md" - ] + "name": "@memclaw/memclaw", + "version": "0.9.31", + "description": "MemClaw - The Cortex Memory plugin for OpenClaw. Layered semantic memory for OpenClaw with easy setup and migration", + "homepage": "https://github.com/sopaco/cortex-mem", + "repository": { + "type": "git", + "url": "git+https://github.com/sopaco/cortex-mem.git", + "directory": "examples/@memclaw/plugin" + }, + "bugs": { + "url": "https://github.com/sopaco/cortex-mem/issues" + }, + "publishConfig": { + "access": "public" + }, + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsc", + "dev": "tsc --watch" + }, + "keywords": [ + "openclaw", + "memory", + "semantic-search", + "vector-search", + "ai", + "agent", + "cortex-mem" + ], + "author": "Sopaco", + "license": "MIT", + "openclaw": { + "id": "memclaw", + "extensions": [ + "dist/index.js" + ], + "skills": [ + "skills/memclaw", + "skills/memclaw-maintance" + ], + "build": { + "openclawVersion": "2026.3.8", + "pluginSdkVersion": "2026.3.8" + }, + "compat": { + "pluginApi": ">=1.0.0", + "builtWithOpenClawVersion": "2026.3.8", + "pluginSdkVersion": "2026.3.8", + "minGatewayVersion": "2026.3.8" + } + }, + "devDependencies": { + "@types/node": "^22.0.0", + "typescript": "^5.7.0" + }, + "dependencies": { + "glob": "^11.0.0", + "smol-toml": "^1.6.1" + }, + "optionalDependencies": { + "@memclaw/bin-darwin-arm64": "0.1.7", + "@memclaw/bin-win-x64": "0.1.7", + "@memclaw/bin-linux-x64": "0.1.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "files": [ + "dist/", + "skills/", + "openclaw.plugin.json", + "README.md", + "SECURITY.md" + ] } diff --git a/examples/@memclaw/plugin/plugin-impl.ts b/examples/@memclaw/plugin/plugin-impl.ts index 5b9b1b0..bef8d28 100644 --- a/examples/@memclaw/plugin/plugin-impl.ts +++ b/examples/@memclaw/plugin/plugin-impl.ts @@ -548,12 +548,14 @@ export function createPlugin(api: PluginAPI) { try { log('Starting services...'); await ensureAllServices(log); - servicesStarted = true; // Switch tenant await client.switchTenant(tenantId); log(`Switched to tenant: ${tenantId}`); + // Mark services as started only after tenant switch succeeds + servicesStarted = true; + log('MemClaw services started successfully'); // Start maintenance timer (runs every 3 hours) diff --git a/examples/@memclaw/plugin/src/config.ts b/examples/@memclaw/plugin/src/config.ts index efbf10a..b9fc124 100644 --- a/examples/@memclaw/plugin/src/config.ts +++ b/examples/@memclaw/plugin/src/config.ts @@ -9,6 +9,7 @@ import * as fs from 'fs'; import * as path from 'path'; import * as os from 'os'; import { spawn } from 'child_process'; +import TOML from 'smol-toml'; // Platform-specific paths export function getDataDir(): string { @@ -34,6 +35,7 @@ export interface MemClawConfig { qdrant: { url: string; collection_name: string; + embedding_dim?: number; timeout_secs: number; }; llm: { @@ -53,6 +55,7 @@ export interface MemClawConfig { server: { host: string; port: number; + cors_origins?: string[]; }; logging: { enabled: boolean; @@ -74,6 +77,10 @@ export function generateConfigTemplate(): string { [qdrant] url = "http://localhost:6334" collection_name = "memclaw" +# Embedding dimension (optional, auto-detected if not set) +# For text-embedding-3-small: 1536 +# For text-embedding-3-large: 3072 +# embedding_dim = 1536 timeout_secs = 30 # LLM Configuration [REQUIRED for memory processing] @@ -153,55 +160,30 @@ export function openConfigFile(configPath: string): Promise { }); } +/** + * Parse TOML config file using smol-toml library + * Supports full TOML syntax including arrays, nested tables, etc. + */ export function parseConfig(configPath: string): MemClawConfig { const content = fs.readFileSync(configPath, 'utf-8'); - const config: Partial = {}; - - let currentSection = ''; - - for (const line of content.split('\n')) { - const trimmed = line.trim(); - - // Skip comments and empty lines - if (trimmed.startsWith('#') || trimmed === '') continue; - - // Section header - const sectionMatch = trimmed.match(/^\[(\w+)\]$/); - if (sectionMatch) { - currentSection = sectionMatch[1]; - config[currentSection as keyof MemClawConfig] = {} as any; - continue; - } - - // Key-value pair - const kvMatch = - trimmed.match(/^(\w+)\s*=\s*"([^"]*)"(?:\s*$|\s*#)/) || - trimmed.match(/^(\w+)\s*=\s*(\d+(?:\.\d+)?)(?:\s*$|\s*#)/) || - trimmed.match(/^(\w+)\s*=\s*(true|false)(?:\s*$|\s*#)/); - - if (kvMatch && currentSection) { - const key = kvMatch[1]; - let value: string | number | boolean = kvMatch[2]; - - // Convert to appropriate type - if (value === 'true') value = true; - else if (value === 'false') value = false; - else if (/^\d+$/.test(value)) value = parseInt(value, 10); - else if (/^\d+\.\d+$/.test(value)) value = parseFloat(value); - - (config as any)[currentSection] = (config as any)[currentSection] || {}; - (config as any)[currentSection][key] = value; - } + + // Parse using smol-toml + let parsed: Record; + try { + parsed = TOML.parse(content) as Record; + } catch (error) { + // If parsing fails, return defaults + console.error('Failed to parse config.toml:', error); + parsed = {}; } - // Apply defaults - + // Apply defaults for missing sections return { qdrant: { url: 'http://localhost:6334', collection_name: 'memclaw', timeout_secs: 30, - ...(config.qdrant || {}) + ...((parsed.qdrant as Record) || {}) }, llm: { api_base_url: 'https://api.openai.com/v1', @@ -209,7 +191,7 @@ export function parseConfig(configPath: string): MemClawConfig { model_efficient: 'gpt-5-mini', temperature: 0.1, max_tokens: 4096, - ...(config.llm || {}) + ...((parsed.llm as Record) || {}) }, embedding: { api_base_url: 'https://api.openai.com/v1', @@ -217,22 +199,22 @@ export function parseConfig(configPath: string): MemClawConfig { model_name: 'text-embedding-3-small', batch_size: 10, timeout_secs: 30, - ...(config.embedding || {}) + ...((parsed.embedding as Record) || {}) }, server: { host: 'localhost', port: 8085, - ...(config.server || {}) + ...((parsed.server as Record) || {}) }, logging: { enabled: false, log_directory: 'logs', level: 'info', - ...(config.logging || {}) + ...((parsed.logging as Record) || {}) }, cortex: { enable_intent_analysis: false, - ...(config.cortex || {}) + ...((parsed.cortex as Record) || {}) } }; } @@ -277,7 +259,7 @@ export interface PluginProvidedConfig { /** * Update config.toml with values from OpenClaw plugin config - * Only updates fields that are provided (non-empty) in pluginConfig + * Uses smol-toml for proper TOML serialization */ export function updateConfigFromPlugin(pluginConfig: PluginProvidedConfig): { updated: boolean; @@ -291,75 +273,42 @@ export function updateConfigFromPlugin(pluginConfig: PluginProvidedConfig): { // Parse existing config const existingConfig = parseConfig(configPath); - // Track if any changes were made - let updated = false; - - // Build updated config sections - const updates: { section: string; key: string; value: string }[] = []; - - // LLM config updates - if (pluginConfig.llmApiKey && pluginConfig.llmApiKey !== '') { - updates.push({ section: 'llm', key: 'api_key', value: pluginConfig.llmApiKey }); - updated = true; - } - if (pluginConfig.llmApiBaseUrl && pluginConfig.llmApiBaseUrl !== '') { - updates.push({ section: 'llm', key: 'api_base_url', value: pluginConfig.llmApiBaseUrl }); - updated = true; - } - if (pluginConfig.llmModel && pluginConfig.llmModel !== '') { - updates.push({ section: 'llm', key: 'model_efficient', value: pluginConfig.llmModel }); - updated = true; - } + // Build updated config + const updatedConfig: MemClawConfig = { + qdrant: existingConfig.qdrant, + llm: { + ...existingConfig.llm, + api_base_url: pluginConfig.llmApiBaseUrl || existingConfig.llm.api_base_url, + api_key: pluginConfig.llmApiKey || existingConfig.llm.api_key, + model_efficient: pluginConfig.llmModel || existingConfig.llm.model_efficient + }, + embedding: { + ...existingConfig.embedding, + api_base_url: pluginConfig.embeddingApiBaseUrl || existingConfig.embedding.api_base_url, + api_key: pluginConfig.embeddingApiKey || existingConfig.embedding.api_key, + model_name: pluginConfig.embeddingModel || existingConfig.embedding.model_name + }, + server: existingConfig.server, + logging: existingConfig.logging, + cortex: existingConfig.cortex + }; - // Embedding config updates - if (pluginConfig.embeddingApiKey && pluginConfig.embeddingApiKey !== '') { - updates.push({ section: 'embedding', key: 'api_key', value: pluginConfig.embeddingApiKey }); - updated = true; - } - if (pluginConfig.embeddingApiBaseUrl && pluginConfig.embeddingApiBaseUrl !== '') { - updates.push({ - section: 'embedding', - key: 'api_base_url', - value: pluginConfig.embeddingApiBaseUrl - }); - updated = true; - } - if (pluginConfig.embeddingModel && pluginConfig.embeddingModel !== '') { - updates.push({ section: 'embedding', key: 'model_name', value: pluginConfig.embeddingModel }); - updated = true; - } + // Check if any changes were made + const hasChanges = + (pluginConfig.llmApiKey && pluginConfig.llmApiKey !== existingConfig.llm.api_key) || + (pluginConfig.llmApiBaseUrl && pluginConfig.llmApiBaseUrl !== existingConfig.llm.api_base_url) || + (pluginConfig.llmModel && pluginConfig.llmModel !== existingConfig.llm.model_efficient) || + (pluginConfig.embeddingApiKey && pluginConfig.embeddingApiKey !== existingConfig.embedding.api_key) || + (pluginConfig.embeddingApiBaseUrl && pluginConfig.embeddingApiBaseUrl !== existingConfig.embedding.api_base_url) || + (pluginConfig.embeddingModel && pluginConfig.embeddingModel !== existingConfig.embedding.model_name); - if (!updated) { + if (!hasChanges) { return { updated: false, path: configPath }; } - // Read current content - let content = fs.readFileSync(configPath, 'utf-8'); - - // Apply each update - for (const { section, key, value } of updates) { - // Escape value for TOML string - const escapedValue = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"'); - - // Pattern to match the key in the correct section - // This handles both existing keys and missing keys - const sectionPattern = new RegExp(`(\\[${section}\\][^\\[]*?)(${key}\\s*=\\s*)"[^"]*"`, 's'); - const keyExistsInSection = sectionPattern.test(content); - - if (keyExistsInSection) { - // Update existing key - content = content.replace(sectionPattern, `$1$2"${escapedValue}"`); - } else { - // Add key to section - const sectionStartPattern = new RegExp(`(\\[${section}\\]\\n)`, ''); - if (sectionStartPattern.test(content)) { - content = content.replace(sectionStartPattern, `$1${key} = "${escapedValue}"\n`); - } - } - } - - // Write updated content - fs.writeFileSync(configPath, content, 'utf-8'); + // Serialize and write using smol-toml + const tomlContent = TOML.stringify(updatedConfig as unknown as Record); + fs.writeFileSync(configPath, tomlContent, 'utf-8'); return { updated: true, path: configPath }; } diff --git a/examples/@memclaw/plugin/src/migrate.ts b/examples/@memclaw/plugin/src/migrate.ts index 57e67e9..11e8c2a 100644 --- a/examples/@memclaw/plugin/src/migrate.ts +++ b/examples/@memclaw/plugin/src/migrate.ts @@ -112,10 +112,13 @@ async function migrateDailyLogs( const [year, month, day] = date.split('-'); const sessionId = `migrated-oc-${date}`; + // Correct path for tenant isolation: + // dataDir/tenants/{tenant_id}/session/{session_id}/timeline/{year}/{month}/{day}/ const timelineDir = path.join( dataDir, - 'sessions', + 'tenants', MIGRATION_TENANT, + 'session', sessionId, 'timeline', year, @@ -177,7 +180,9 @@ async function migrateMemoryMd( } try { - const userDir = path.join(dataDir, 'users', MIGRATION_TENANT); + // Correct path for tenant isolation: + // dataDir/tenants/{tenant_id}/user/preferences.md + const userDir = path.join(dataDir, 'tenants', MIGRATION_TENANT, 'user'); fs.mkdirSync(userDir, { recursive: true }); const content = fs.readFileSync(memoryMdPath, 'utf-8'); diff --git a/examples/@memclaw/plugin/tsconfig.json b/examples/@memclaw/plugin/tsconfig.json index e77470c..9ae9ae6 100644 --- a/examples/@memclaw/plugin/tsconfig.json +++ b/examples/@memclaw/plugin/tsconfig.json @@ -3,7 +3,8 @@ "target": "ES2022", "module": "NodeNext", "moduleResolution": "NodeNext", - "lib": ["ES2022"], + "lib": ["ES2022", "ES2022.Error", "ES2022.Object", "ES2022.String"], + "types": ["node"], "outDir": "./dist", "rootDir": ".", "strict": true,