@digitalforgestudios/openclaw-sulcus 3.11.1 → 4.0.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.
@@ -2,7 +2,7 @@
2
2
  "id": "openclaw-sulcus",
3
3
  "kind": "memory",
4
4
  "name": "Sulcus",
5
- "description": "Reactive, thermodynamic memory for AI agents. Runs entirely local via WASM + native dylibs (embedded PostgreSQL, sulcus-vectors). No network calls. Optional cloud sync via sulcus-sync dylib when serverUrl/apiKey are configured.",
5
+ "description": "Thermodynamic memory + Apache AGE knowledge graph for AI agents. SIU v2 pipeline (SIVU/SICU/SILU/SITU) auto-classifies and scores every memory. Interaction-based decay (Time-only, Interaction-only, Hybrid). Curator sleep-cycle reclassifies and consolidates. Relevance-weighted recall (similarity × 0.7 + heat × 0.3). Confidence levels and conflict detection (v2.3.0). 52 API routes, 32 server modules. Runs locally via WASM + native dylibs; optional cloud sync via serverUrl/apiKey.",
6
6
  "privacy": {
7
7
  "consentModel": "local-first",
8
8
  "consentNote": "Plugin runs entirely in-process. No network calls. All data stays local in ~/.sulcus/. Cloud sync is opt-in via serverUrl/apiKey config, handled by sulcus-sync dylib loaded by sulcus.",
@@ -51,19 +51,24 @@
51
51
  },
52
52
  "autoRecall": {
53
53
  "type": "boolean",
54
- "description": "Inject relevant memories before agent starts. Disabled by default — enable explicitly to opt in.",
54
+ "description": "Inject relevant memories before agent starts (prependContext SDK path). Disabled by default — enable explicitly to opt in.",
55
55
  "default": false
56
56
  },
57
57
  "autoCapture": {
58
58
  "type": "boolean",
59
- "description": "Auto-capture memories from conversations. Disabled by default — enable explicitly to opt in.",
59
+ "description": "Auto-capture memories from conversations via SIVU quality gate. Disabled by default — enable explicitly to opt in.",
60
60
  "default": false
61
61
  },
62
62
  "maxRecallResults": {
63
63
  "type": "number",
64
- "description": "Max memories to inject on auto-recall",
64
+ "description": "Maximum memories injected into context per turn (1-20)",
65
65
  "default": 5
66
66
  },
67
+ "profileFrequency": {
68
+ "type": "number",
69
+ "description": "Inject full user profile (preferences + facts) every N turns (1-500)",
70
+ "default": 10
71
+ },
67
72
  "minRecallScore": {
68
73
  "type": "number",
69
74
  "description": "Min relevance score for auto-recall (0-1)",
@@ -120,23 +125,83 @@
120
125
  }
121
126
  },
122
127
  "uiHints": {
123
- "serverUrl": { "label": "Server URL", "placeholder": "https://api.sulcus.ca" },
124
- "apiKey": { "label": "API Key", "sensitive": true, "placeholder": "sk-..." },
125
- "agentId": { "label": "Agent ID", "placeholder": "daedalus" },
126
- "namespace": { "label": "Namespace", "placeholder": "daedalus" },
127
- "autoRecall": { "label": "Auto-Recall (disabled by default)" },
128
- "autoCapture": { "label": "Auto-Capture (disabled by default)" },
129
- "maxRecallResults": { "label": "Max Recall Results" },
130
- "minRecallScore": { "label": "Min Recall Score" },
131
- "captureFromAssistant": { "label": "Capture from Assistant Messages" },
132
- "captureOnCompaction": { "label": "Preserve Memories on Compaction" },
133
- "captureOnReset": { "label": "Capture Summary on Session Reset" },
134
- "trackSessions": { "label": "Track Session Start/End" },
135
- "boostOnRecall": { "label": "Boost Heat on Recall (Spaced Repetition)" },
136
- "captureToolResults": { "label": "Capture Tool Results" },
137
- "captureLlmInsights": { "label": "Capture LLM Insights" },
138
- "captureToolResults": { "label": "Capture Tool Results" },
139
- "captureLlmInsights": { "label": "Capture LLM Insights" },
140
- "maxCapturePerTurn": { "label": "Max Auto-Capture per Turn" }
128
+ "serverUrl": {
129
+ "label": "Sulcus Server URL",
130
+ "placeholder": "https://api.sulcus.ca",
131
+ "help": "Your Sulcus server URL. Leave empty for local-only mode."
132
+ },
133
+ "apiKey": {
134
+ "label": "API Key",
135
+ "sensitive": true,
136
+ "placeholder": "sk-...",
137
+ "help": "Your Sulcus API key (from sulcus.ca dashboard)"
138
+ },
139
+ "agentId": {
140
+ "label": "Agent ID",
141
+ "placeholder": "icarus",
142
+ "help": "Agent identifier for memory namespacing"
143
+ },
144
+ "namespace": {
145
+ "label": "Namespace",
146
+ "placeholder": "icarus",
147
+ "help": "Memory namespace (defaults to agentId)"
148
+ },
149
+ "autoRecall": {
150
+ "label": "Auto-Recall",
151
+ "help": "Inject relevant memories before every AI turn (uses prependContext SDK path)"
152
+ },
153
+ "autoCapture": {
154
+ "label": "Auto-Capture",
155
+ "help": "Automatically store important information from conversations (quality-gated by SIVU)"
156
+ },
157
+ "maxRecallResults": {
158
+ "label": "Max Recall Results",
159
+ "placeholder": "5",
160
+ "help": "Maximum memories injected into context per turn",
161
+ "advanced": true
162
+ },
163
+ "profileFrequency": {
164
+ "label": "Profile Injection Frequency",
165
+ "placeholder": "10",
166
+ "help": "Inject full user profile (preferences + facts) every N turns",
167
+ "advanced": true
168
+ },
169
+ "minRecallScore": {
170
+ "label": "Min Recall Score",
171
+ "advanced": true,
172
+ "help": "Minimum relevance score for auto-recall (0.0–1.0)"
173
+ },
174
+ "captureFromAssistant": {
175
+ "label": "Capture from Assistant Messages",
176
+ "advanced": true
177
+ },
178
+ "captureOnCompaction": {
179
+ "label": "Preserve Memories on Compaction",
180
+ "advanced": true
181
+ },
182
+ "captureOnReset": {
183
+ "label": "Capture Summary on Session Reset",
184
+ "advanced": true
185
+ },
186
+ "trackSessions": {
187
+ "label": "Track Session Start/End",
188
+ "advanced": true
189
+ },
190
+ "boostOnRecall": {
191
+ "label": "Boost Heat on Recall (Spaced Repetition)",
192
+ "advanced": true
193
+ },
194
+ "captureToolResults": {
195
+ "label": "Capture Tool Results",
196
+ "advanced": true
197
+ },
198
+ "captureLlmInsights": {
199
+ "label": "Capture LLM Insights",
200
+ "advanced": true
201
+ },
202
+ "maxCapturePerTurn": {
203
+ "label": "Max Auto-Capture per Turn",
204
+ "advanced": true
205
+ }
141
206
  }
142
207
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@digitalforgestudios/openclaw-sulcus",
3
- "version": "3.11.1",
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.",
3
+ "version": "4.0.0",
4
+ "description": "Sulcus — thermodynamic memory + Apache AGE knowledge graph for OpenClaw agents. v4: registerMemoryRuntime, prependContext recall, registerMemoryPromptSection, registerService lifecycle, uiHints, provider-filtered auto-capture. SIU v2 pipeline auto-classifies and scores memories. Interaction-based decay (3 modes). Curator sleep-cycle. Relevance-weighted recall. Cross-agent sync.",
5
5
  "keywords": [
6
6
  "openclaw",
7
7
  "openclaw-plugin",
@@ -9,11 +9,16 @@
9
9
  "memory",
10
10
  "sulcus",
11
11
  "thermodynamic",
12
+ "knowledge-graph",
13
+ "age-graph",
14
+ "siu-pipeline",
12
15
  "ai-agent",
13
16
  "ai-memory",
14
17
  "long-term-memory",
15
18
  "heat-decay",
16
- "cross-agent"
19
+ "cross-agent",
20
+ "curator",
21
+ "interaction-decay"
17
22
  ],
18
23
  "author": "Digital Forge Studios <contact@dforge.ca>",
19
24
  "license": "MIT",