@xmemo/openclaw-memory 1.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.
- package/README.md +212 -0
- package/assets/icon.png +0 -0
- package/dist/doctor-contract-api.d.ts +13 -0
- package/dist/doctor-contract-api.js +60 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +32 -0
- package/dist/openclaw.plugin.json +203 -0
- package/dist/src/auto-capture.d.ts +2 -0
- package/dist/src/auto-capture.js +267 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +73 -0
- package/dist/src/client.d.ts +253 -0
- package/dist/src/client.js +257 -0
- package/dist/src/config.d.ts +30 -0
- package/dist/src/config.js +108 -0
- package/dist/src/memory-text.d.ts +1 -0
- package/dist/src/memory-text.js +12 -0
- package/dist/src/prompt-section.d.ts +2 -0
- package/dist/src/prompt-section.js +31 -0
- package/dist/src/runtime.d.ts +2 -0
- package/dist/src/runtime.js +41 -0
- package/dist/src/search-manager.d.ts +31 -0
- package/dist/src/search-manager.js +153 -0
- package/dist/src/tools.d.ts +2 -0
- package/dist/src/tools.js +814 -0
- package/npm-shrinkwrap.json +21 -0
- package/openclaw.plugin.json +203 -0
- package/package.json +79 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xmemo/openclaw-memory",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"lockfileVersion": 3,
|
|
5
|
+
"requires": true,
|
|
6
|
+
"packages": {
|
|
7
|
+
"": {
|
|
8
|
+
"name": "@xmemo/openclaw-memory",
|
|
9
|
+
"version": "1.0.0",
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"typebox": "1.1.39"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"node_modules/typebox": {
|
|
15
|
+
"version": "1.1.39",
|
|
16
|
+
"resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.39.tgz",
|
|
17
|
+
"integrity": "sha512-vj0afVtOfLQvv0GR0VxVagYxsXN64btL7Z9XoaG0ZggH3mruMMkOO6hXdgMsjCY3shZgEvooAWVeznQVs5c43w==",
|
|
18
|
+
"license": "MIT"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "xmemo-memory",
|
|
3
|
+
"name": "XMemo for OpenClaw",
|
|
4
|
+
"description": "XMemo identity-aware memory control plane for OpenClaw. Brings user-owned, auditable, cross-agent memory into OpenClaw.",
|
|
5
|
+
"kind": "memory",
|
|
6
|
+
"activation": {
|
|
7
|
+
"onStartup": false,
|
|
8
|
+
"onCommands": ["memory"]
|
|
9
|
+
},
|
|
10
|
+
"contracts": {
|
|
11
|
+
"tools": [
|
|
12
|
+
"memory_search",
|
|
13
|
+
"memory_get",
|
|
14
|
+
"memory_store",
|
|
15
|
+
"memory_forget",
|
|
16
|
+
"xmemo_memory_list",
|
|
17
|
+
"xmemo_memory_update",
|
|
18
|
+
"xmemo_todo_create",
|
|
19
|
+
"xmemo_todo_list",
|
|
20
|
+
"xmemo_todo_complete",
|
|
21
|
+
"xmemo_record_event",
|
|
22
|
+
"xmemo_restart_snapshot_save",
|
|
23
|
+
"xmemo_restart_snapshot_restore",
|
|
24
|
+
"xmemo_ledger_monthly_summary",
|
|
25
|
+
"xmemo_audit_events",
|
|
26
|
+
"xmemo_audit_consolidation"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"uiHints": {
|
|
30
|
+
"baseUrl": {
|
|
31
|
+
"label": "XMemo Service URL",
|
|
32
|
+
"placeholder": "https://xmemo.dev",
|
|
33
|
+
"help": "Base URL of the XMemo instance. Use a private/self-hosted URL if not using the hosted service.",
|
|
34
|
+
"advanced": true
|
|
35
|
+
},
|
|
36
|
+
"apiKey": {
|
|
37
|
+
"label": "XMemo API Key",
|
|
38
|
+
"placeholder": "xmemo_...",
|
|
39
|
+
"help": "Create a scoped API key in XMemo Memory Console -> API Keys -> Create API key. Prefer setting XMEMO_KEY instead of storing the key here.",
|
|
40
|
+
"sensitive": true
|
|
41
|
+
},
|
|
42
|
+
"token": {
|
|
43
|
+
"label": "XMemo Token (deprecated)",
|
|
44
|
+
"placeholder": "xmemo_...",
|
|
45
|
+
"help": "Deprecated alias for apiKey. Prefer apiKey or the XMEMO_KEY environment variable.",
|
|
46
|
+
"sensitive": true,
|
|
47
|
+
"advanced": true
|
|
48
|
+
},
|
|
49
|
+
"authMode": {
|
|
50
|
+
"label": "Auth Mode",
|
|
51
|
+
"placeholder": "api-key",
|
|
52
|
+
"help": "How to send the credential: api-key (X-API-Key header), bearer (Authorization: Bearer), or both.",
|
|
53
|
+
"advanced": true
|
|
54
|
+
},
|
|
55
|
+
"bucket": {
|
|
56
|
+
"label": "Default Bucket",
|
|
57
|
+
"placeholder": "openclaw",
|
|
58
|
+
"help": "Default bucket for memories created by OpenClaw."
|
|
59
|
+
},
|
|
60
|
+
"scope": {
|
|
61
|
+
"label": "Default Scope",
|
|
62
|
+
"placeholder": "openclaw",
|
|
63
|
+
"help": "Optional scope for isolating this workspace/agent.",
|
|
64
|
+
"advanced": true
|
|
65
|
+
},
|
|
66
|
+
"teamId": {
|
|
67
|
+
"label": "Team ID",
|
|
68
|
+
"placeholder": "",
|
|
69
|
+
"help": "Optional team/organization id for enterprise XMemo deployments.",
|
|
70
|
+
"advanced": true
|
|
71
|
+
},
|
|
72
|
+
"agentId": {
|
|
73
|
+
"label": "Agent ID",
|
|
74
|
+
"placeholder": "openclaw",
|
|
75
|
+
"help": "Non-secret agent identifier sent to XMemo for attribution.",
|
|
76
|
+
"advanced": true
|
|
77
|
+
},
|
|
78
|
+
"autoCapture": {
|
|
79
|
+
"label": "Auto Capture",
|
|
80
|
+
"help": "Automatically persist high-signal decisions and fixes to XMemo."
|
|
81
|
+
},
|
|
82
|
+
"captureMaxChars": {
|
|
83
|
+
"label": "Capture Max Chars",
|
|
84
|
+
"help": "Maximum message length eligible for auto-capture.",
|
|
85
|
+
"advanced": true,
|
|
86
|
+
"placeholder": "500"
|
|
87
|
+
},
|
|
88
|
+
"customTriggers": {
|
|
89
|
+
"label": "Custom Auto-Capture Triggers",
|
|
90
|
+
"help": "Additional words or phrases that trigger auto-capture (case-insensitive).",
|
|
91
|
+
"advanced": true
|
|
92
|
+
},
|
|
93
|
+
"recallMaxChars": {
|
|
94
|
+
"label": "Recall Query Max Chars",
|
|
95
|
+
"help": "Maximum prompt/query length sent to XMemo for recall.",
|
|
96
|
+
"advanced": true,
|
|
97
|
+
"placeholder": "1000"
|
|
98
|
+
},
|
|
99
|
+
"recallMaxItems": {
|
|
100
|
+
"label": "Recall Max Items",
|
|
101
|
+
"help": "Maximum number of memories returned by XMemo recall.",
|
|
102
|
+
"advanced": true,
|
|
103
|
+
"placeholder": "8"
|
|
104
|
+
},
|
|
105
|
+
"recallMaxTokens": {
|
|
106
|
+
"label": "Recall Max Tokens",
|
|
107
|
+
"help": "Maximum token budget for the recalled context package.",
|
|
108
|
+
"advanced": true,
|
|
109
|
+
"placeholder": "1500"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"configSchema": {
|
|
113
|
+
"type": "object",
|
|
114
|
+
"additionalProperties": false,
|
|
115
|
+
"properties": {
|
|
116
|
+
"baseUrl": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"format": "uri"
|
|
119
|
+
},
|
|
120
|
+
"apiKey": {
|
|
121
|
+
"oneOf": [
|
|
122
|
+
{ "type": "string" },
|
|
123
|
+
{
|
|
124
|
+
"type": "object",
|
|
125
|
+
"additionalProperties": false,
|
|
126
|
+
"properties": {
|
|
127
|
+
"source": { "type": "string", "enum": ["env"] },
|
|
128
|
+
"provider": { "type": "string" },
|
|
129
|
+
"id": { "type": "string" }
|
|
130
|
+
},
|
|
131
|
+
"required": ["source", "provider", "id"]
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"token": {
|
|
136
|
+
"oneOf": [
|
|
137
|
+
{ "type": "string" },
|
|
138
|
+
{
|
|
139
|
+
"type": "object",
|
|
140
|
+
"additionalProperties": false,
|
|
141
|
+
"properties": {
|
|
142
|
+
"source": { "type": "string", "enum": ["env"] },
|
|
143
|
+
"provider": { "type": "string" },
|
|
144
|
+
"id": { "type": "string" }
|
|
145
|
+
},
|
|
146
|
+
"required": ["source", "provider", "id"]
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"authMode": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"enum": ["api-key", "bearer", "both"],
|
|
153
|
+
"default": "api-key"
|
|
154
|
+
},
|
|
155
|
+
"bucket": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"default": "openclaw"
|
|
158
|
+
},
|
|
159
|
+
"scope": {
|
|
160
|
+
"type": ["string", "null"]
|
|
161
|
+
},
|
|
162
|
+
"teamId": {
|
|
163
|
+
"type": ["string", "null"]
|
|
164
|
+
},
|
|
165
|
+
"agentId": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"default": "openclaw"
|
|
168
|
+
},
|
|
169
|
+
"autoCapture": {
|
|
170
|
+
"type": "boolean",
|
|
171
|
+
"default": false
|
|
172
|
+
},
|
|
173
|
+
"captureMaxChars": {
|
|
174
|
+
"type": "number",
|
|
175
|
+
"minimum": 100,
|
|
176
|
+
"maximum": 10000,
|
|
177
|
+
"default": 500
|
|
178
|
+
},
|
|
179
|
+
"customTriggers": {
|
|
180
|
+
"type": "array",
|
|
181
|
+
"items": { "type": "string" }
|
|
182
|
+
},
|
|
183
|
+
"recallMaxChars": {
|
|
184
|
+
"type": "number",
|
|
185
|
+
"minimum": 100,
|
|
186
|
+
"maximum": 10000,
|
|
187
|
+
"default": 1000
|
|
188
|
+
},
|
|
189
|
+
"recallMaxItems": {
|
|
190
|
+
"type": "integer",
|
|
191
|
+
"minimum": 1,
|
|
192
|
+
"maximum": 50,
|
|
193
|
+
"default": 8
|
|
194
|
+
},
|
|
195
|
+
"recallMaxTokens": {
|
|
196
|
+
"type": "integer",
|
|
197
|
+
"minimum": 100,
|
|
198
|
+
"maximum": 8000,
|
|
199
|
+
"default": 1500
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xmemo/openclaw-memory",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "XMemo for OpenClaw — bring XMemo's identity-aware memory control plane into OpenClaw as the active memory backend.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"xmemo",
|
|
7
|
+
"memory-os",
|
|
8
|
+
"openclaw",
|
|
9
|
+
"memory",
|
|
10
|
+
"agent-memory",
|
|
11
|
+
"identity-aware-memory",
|
|
12
|
+
"memory-control-plane"
|
|
13
|
+
],
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/yonro/xmemo-openclaw-memory"
|
|
17
|
+
},
|
|
18
|
+
"type": "module",
|
|
19
|
+
"main": "./dist/index.js",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": "./dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist/**",
|
|
25
|
+
"assets/**",
|
|
26
|
+
"openclaw.plugin.json",
|
|
27
|
+
"README.md",
|
|
28
|
+
"package.json",
|
|
29
|
+
"npm-shrinkwrap.json"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "tsc -p tsconfig.build.json",
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"typecheck": "tsc --noEmit",
|
|
35
|
+
"lint": "oxlint .",
|
|
36
|
+
"prepack": "pnpm build"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"typebox": "1.1.39"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@types/node": "25.9.1",
|
|
43
|
+
"openclaw": "2026.6.8",
|
|
44
|
+
"oxlint": "0.16.8",
|
|
45
|
+
"typescript": "6.0.3",
|
|
46
|
+
"vitest": "4.1.8"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"openclaw": ">=2026.6.8"
|
|
50
|
+
},
|
|
51
|
+
"peerDependenciesMeta": {
|
|
52
|
+
"openclaw": {
|
|
53
|
+
"optional": true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"openclaw": {
|
|
57
|
+
"extensions": [
|
|
58
|
+
"./dist/index.js"
|
|
59
|
+
],
|
|
60
|
+
"install": {
|
|
61
|
+
"npmSpec": "@xmemo/openclaw-memory",
|
|
62
|
+
"clawhubSpec": "clawhub:@xmemo/openclaw-memory",
|
|
63
|
+
"defaultChoice": "clawhub",
|
|
64
|
+
"minHostVersion": ">=2026.6.8"
|
|
65
|
+
},
|
|
66
|
+
"compat": {
|
|
67
|
+
"pluginApi": ">=2026.6.8"
|
|
68
|
+
},
|
|
69
|
+
"build": {
|
|
70
|
+
"openclawVersion": "2026.6.8"
|
|
71
|
+
},
|
|
72
|
+
"release": {
|
|
73
|
+
"bundleRuntimeDependencies": false,
|
|
74
|
+
"publishToClawHub": true,
|
|
75
|
+
"publishToNpm": true
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319"
|
|
79
|
+
}
|