@digitalforgestudios/openclaw-sulcus 3.5.0 → 3.5.1

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.
Files changed (2) hide show
  1. package/index.ts +23 -9
  2. package/package.json +1 -1
package/index.ts CHANGED
@@ -805,14 +805,18 @@ const sulcusPlugin = {
805
805
  // ── Cloud HTTP fallback ──
806
806
  // Activates only when local WASM/native libs are unavailable AND
807
807
  // serverUrl + apiKey are configured. Zero external dependencies.
808
- if (sulcusMem === null && serverUrl && apiKey) {
809
- try {
810
- const cloudClient = new SulcusCloudClient(serverUrl, apiKey);
811
- sulcusMem = cloudClient;
812
- backendMode = "cloud";
813
- api.logger.info(`sulcus: using cloud backend (server: ${serverUrl})`);
814
- } catch (e: any) {
815
- api.logger.warn(`sulcus: cloud client init failed: ${e.message}`);
808
+ if (sulcusMem === null) {
809
+ if (serverUrl && apiKey) {
810
+ try {
811
+ const cloudClient = new SulcusCloudClient(serverUrl, apiKey);
812
+ sulcusMem = cloudClient;
813
+ backendMode = "cloud";
814
+ api.logger.info(`sulcus: using cloud backend (server: ${serverUrl})`);
815
+ } catch (e: any) {
816
+ api.logger.warn(`sulcus: cloud client init failed: ${e.message}`);
817
+ }
818
+ } else {
819
+ api.logger.info(`sulcus: no cloud fallback — serverUrl: ${serverUrl ? "set" : "missing"}, apiKey: ${apiKey ? "set" : "missing"}`);
816
820
  }
817
821
  }
818
822
 
@@ -821,7 +825,17 @@ const sulcusPlugin = {
821
825
  // Update static awareness with runtime info
822
826
  STATIC_AWARENESS = buildStaticAwareness(backendMode, namespace);
823
827
 
824
- api.logger.info(`sulcus: registered (backend: ${backendMode}, namespace: ${namespace}, available: ${isAvailable})`);
828
+ // ── Startup summary ──
829
+ if (isAvailable) {
830
+ api.logger.info(`sulcus: ✓ registered (backend: ${backendMode}, namespace: ${namespace})`);
831
+ } else {
832
+ const hints: string[] = [];
833
+ if (!serverUrl && !apiKey) hints.push("no serverUrl/apiKey for cloud mode");
834
+ if (serverUrl && !apiKey) hints.push("serverUrl set but apiKey missing");
835
+ if (!serverUrl && apiKey) hints.push("apiKey set but serverUrl missing");
836
+ if (nativeLoader.error) hints.push(`local: ${nativeLoader.error}`);
837
+ api.logger.warn(`sulcus: ✗ unavailable — ${hints.join("; ") || "unknown reason"}. Configure serverUrl+apiKey for cloud, or install native dylibs for local.`);
838
+ }
825
839
 
826
840
  // ── Shared deps for tool executors ──
827
841
  const toolDeps: ToolDeps = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitalforgestudios/openclaw-sulcus",
3
- "version": "3.5.0",
3
+ "version": "3.5.1",
4
4
  "description": "Sulcus — reactive, thermodynamic memory plugin for OpenClaw. Opt-in persistent memory with heat-based decay, semantic search, and cross-agent sync. Auto-recall and auto-capture disabled by default.",
5
5
  "keywords": [
6
6
  "openclaw",