@synapcores/openclaw-memory 0.2.0 → 0.4.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 +64 -25
- package/dist/cli-metadata.d.ts +9 -0
- package/dist/cli-metadata.d.ts.map +1 -0
- package/dist/cli-metadata.js +22 -0
- package/dist/cli-metadata.js.map +1 -0
- package/dist/index.d.ts +58 -104
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +576 -262
- package/dist/index.js.map +1 -1
- package/openclaw.plugin.json +8 -0
- package/package.json +23 -5
package/README.md
CHANGED
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
# @synapcores/openclaw-memory
|
|
2
2
|
|
|
3
|
-
A long-term memory plugin for [OpenClaw](https://github.com/openclaw/openclaw) that uses **SynapCores AIDB** as the storage backend. Drop-in alternative to `@openclaw/memory-lancedb` with the same auto-recall / auto-capture lifecycle, plus
|
|
3
|
+
A long-term memory plugin for [OpenClaw](https://github.com/openclaw/openclaw) that uses **SynapCores AIDB** as the storage backend. Drop-in alternative to `@openclaw/memory-lancedb` with the same auto-recall / auto-capture lifecycle, plus four SynapCores-only extensions: SQL-filtered semantic recall, graph-relation walks, AutoML relevance scoring, and a model-training helper.
|
|
4
4
|
|
|
5
|
-
> **0.
|
|
5
|
+
> **0.4.0 shipping note:** the core memory ops (`memory_store` / `memory_recall` / `memory_forget`) now ride the engine-side `MEMORY_STORE` / `MEMORY_RECALL` / `MEMORY_FORGET` primitives via `@synapcores/sdk@^0.5.0`'s `client.memory` surface. The plugin's public API (tools, CLI, extensions, types) is unchanged — only the internal storage path moved.
|
|
6
6
|
>
|
|
7
|
-
> -
|
|
8
|
-
> -
|
|
9
|
-
> -
|
|
7
|
+
> - **Requires SynapCores gateway `v1.8.5-ce` or newer** (the version that ships the `MEMORY_*` SQL functions).
|
|
8
|
+
> - **Embedding moved server-side for the hot path.** `memory_store` / `memory_recall` no longer call OpenAI — the gateway embeds via its configured model. The OpenAI client is still used by the relevance extensions (`predictRelevance`, `trainRelevanceModel`) and the `autoLinkSimilar` graph-node embedding.
|
|
9
|
+
> - **Migration from 0.3.x: the engine-managed table is `_memory_<namespace>`, a different storage backend from the v0.3.x vector collection. Existing v0.3.x memories WILL NOT appear after upgrade — re-capture them.** See "Upgrading from 0.3.x" below.
|
|
10
|
+
> - **`collection` config field becomes the engine `namespace`.** It must now match `^[A-Za-z_][A-Za-z0-9_]*$`. The default `openclaw_memories` continues to work; other custom values with hyphens or other non-identifier characters need updating.
|
|
11
|
+
> - **`recallFiltered` WHERE clauses run engine-side** against the `MEMORY_RECALL(?, ?, ?)` result-set. The plugin auto-rewrites the four legacy column shorthands (`category`, `importance`, `createdAt`, `text`) into the JSON-extract form so most existing call sites keep working unchanged.
|
|
12
|
+
|
|
13
|
+
## Upgrading from 0.3.x
|
|
14
|
+
|
|
15
|
+
`@synapcores/openclaw-memory@0.4.0` is a **hard cut**: the storage backend changes, so old memories will not migrate automatically. Steps:
|
|
16
|
+
|
|
17
|
+
1. Upgrade the SynapCores gateway to `v1.8.5-ce` or newer.
|
|
18
|
+
2. `npm install @synapcores/openclaw-memory@0.4.0`.
|
|
19
|
+
3. If your `collection` config value contains hyphens or other non-identifier characters, rename it to match `^[A-Za-z_][A-Za-z0-9_]*$` before restarting.
|
|
20
|
+
4. (Optional) export any high-value memories from the v0.3.x vector collection (the legacy `openclaw_memories` collection in your gateway) and re-store them via `memory_store` so they land in the new `_memory_<namespace>` table.
|
|
21
|
+
5. (Optional) drop the old vector collection from the gateway once you're sure the export is done.
|
|
22
|
+
|
|
23
|
+
If your `recallFiltered` callers use plain column names (`category`, `importance`, `createdAt`, `text`), they continue to work via auto-rewrite. Callers using the more general SQL surface should switch to the JSON-extract form (`metadata->>'…'`) directly.
|
|
10
24
|
|
|
11
25
|
## Why use this over `@openclaw/memory-lancedb`?
|
|
12
26
|
|
|
@@ -47,33 +61,58 @@ Create an API key from the SynapCores admin UI (default `http://localhost:8095`)
|
|
|
47
61
|
|
|
48
62
|
## Configure
|
|
49
63
|
|
|
50
|
-
|
|
64
|
+
Requires OpenClaw **`>=2026.4.10`**. Install the plugin, then add its config and
|
|
65
|
+
give it the **memory slot**:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
openclaw plugins install @synapcores/openclaw-memory
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Add this to your OpenClaw config (run `openclaw config file` to find the path,
|
|
72
|
+
typically `~/.openclaw/openclaw.json`). Three things matter: the
|
|
73
|
+
`plugins.entries.<id>.config` nesting, the `plugins.allow` entry, and
|
|
74
|
+
**`plugins.slots.memory`**:
|
|
51
75
|
|
|
52
76
|
```json
|
|
53
77
|
{
|
|
54
78
|
"plugins": {
|
|
55
|
-
"memory-synapcores"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
79
|
+
"allow": ["memory-synapcores"],
|
|
80
|
+
"slots": { "memory": "memory-synapcores" },
|
|
81
|
+
"entries": {
|
|
82
|
+
"memory-synapcores": {
|
|
83
|
+
"enabled": true,
|
|
84
|
+
"config": {
|
|
85
|
+
"embedding": {
|
|
86
|
+
"apiKey": "${OPENAI_API_KEY}",
|
|
87
|
+
"model": "text-embedding-3-small"
|
|
88
|
+
},
|
|
89
|
+
"synapcores": {
|
|
90
|
+
"host": "localhost",
|
|
91
|
+
"port": 8080,
|
|
92
|
+
"apiKey": "${SYNAPCORES_API_KEY}",
|
|
93
|
+
"useHttps": false
|
|
94
|
+
},
|
|
95
|
+
"collection": "openclaw_memories",
|
|
96
|
+
"graph": "openclaw_memory_graph",
|
|
97
|
+
"autoCapture": true,
|
|
98
|
+
"autoRecall": true,
|
|
99
|
+
"autoLinkSimilar": true
|
|
100
|
+
}
|
|
101
|
+
}
|
|
71
102
|
}
|
|
72
103
|
}
|
|
73
104
|
}
|
|
74
105
|
```
|
|
75
106
|
|
|
76
|
-
|
|
107
|
+
> **You must set `plugins.slots.memory` to `"memory-synapcores"`.** Only one
|
|
108
|
+
> plugin can own the memory slot, and the default is OpenClaw's built-in
|
|
109
|
+
> `memory-core` — without claiming the slot the plugin loads but stays
|
|
110
|
+
> **disabled**.
|
|
111
|
+
|
|
112
|
+
Then `openclaw config validate`. Environment-variable interpolation
|
|
113
|
+
(`${OPENAI_API_KEY}`, `${SYNAPCORES_API_KEY}`) is supported in any string field
|
|
114
|
+
so you don't have to commit secrets. (Store keys **clean** — a trailing newline
|
|
115
|
+
in `apiKey` will break auth.)
|
|
77
116
|
|
|
78
117
|
### Config fields
|
|
79
118
|
|
|
@@ -200,9 +239,9 @@ await plugin.extensions.trainRelevanceModel(feedback);
|
|
|
200
239
|
|
|
201
240
|
Requires at least 10 samples; throws otherwise. Train periodically (cron / on-demand) — the next `predictRelevance` call will detect the model and switch out of heuristic mode.
|
|
202
241
|
|
|
203
|
-
Under the hood, v0.
|
|
242
|
+
Under the hood, v0.4.0 stages feedback rows in a SQL table (`openclaw_memory_relevance_training[_<workspace>]`) on the gateway, then calls `/v1/automl/train` with `target: 'score'` and `task: 'regression'`. The table is preserved across calls so feedback accumulates between sessions; clear it manually with `DROP TABLE` (via `client.executeQuery`) if you want a clean restart. Memory hydration is via `MEMORY_RECALL(?, ?, ?) WHERE id = ?` against the engine's namespace; rows whose memories have been deleted are skipped.
|
|
204
243
|
|
|
205
|
-
## Roadmap (0.
|
|
244
|
+
## Roadmap (0.5.0+)
|
|
206
245
|
|
|
207
246
|
- **Entity extraction on capture** — parse `@mention` tokens and known-contact names out of incoming text and create `Person` / `Project` graph nodes with `MENTIONS` edges back to the memory.
|
|
208
247
|
- **Tag inference** — auto-classify memories into a configurable tag vocabulary on capture (small classifier or LLM call) so `recallFiltered` queries can use tags out of the box.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
configSchema: import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginConfigSchema;
|
|
6
|
+
register: NonNullable<import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginDefinition["register"]>;
|
|
7
|
+
} & Pick<import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginDefinition, "kind" | "reload" | "nodeHostCommands" | "securityAuditCollectors">;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=cli-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-metadata.d.ts","sourceRoot":"","sources":["../cli-metadata.ts"],"names":[],"mappings":";;;;;;;AAMA,wBAeG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
2
|
+
// Lightweight CLI-metadata entry: lets `openclaw plugins` list the `ltm`
|
|
3
|
+
// command + its subcommands without loading the full plugin runtime. The
|
|
4
|
+
// actual command implementation (list / search / stats) is wired via
|
|
5
|
+
// `api.registerCli` inside the main plugin entry (index.ts).
|
|
6
|
+
export default definePluginEntry({
|
|
7
|
+
id: "memory-synapcores",
|
|
8
|
+
name: "Memory (SynapCores)",
|
|
9
|
+
description: "SynapCores-backed long-term memory provider",
|
|
10
|
+
register(api) {
|
|
11
|
+
api.registerCli(() => { }, {
|
|
12
|
+
descriptors: [
|
|
13
|
+
{
|
|
14
|
+
name: "ltm",
|
|
15
|
+
description: "Inspect and query SynapCores-backed memory",
|
|
16
|
+
hasSubcommands: true,
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=cli-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-metadata.js","sourceRoot":"","sources":["../cli-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,yEAAyE;AACzE,yEAAyE;AACzE,qEAAqE;AACrE,6DAA6D;AAC7D,eAAe,iBAAiB,CAAC;IAC/B,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE;YACxB,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,4CAA4C;oBACzD,cAAc,EAAE,IAAI;iBACrB;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,20 +2,29 @@
|
|
|
2
2
|
* OpenClaw Memory (SynapCores) Plugin
|
|
3
3
|
*
|
|
4
4
|
* Long-term memory with vector search for AI conversations.
|
|
5
|
-
* Uses SynapCores AIDB for storage
|
|
5
|
+
* Uses SynapCores AIDB for storage via the engine-side
|
|
6
|
+
* `MEMORY_STORE` / `MEMORY_RECALL` / `MEMORY_FORGET` primitives and
|
|
7
|
+
* OpenAI for the relevance-extension features that still need a
|
|
8
|
+
* client-side embedding (cosine feature in `predictRelevance`,
|
|
9
|
+
* graph-node embedding when `autoLinkSimilar` is on).
|
|
10
|
+
*
|
|
6
11
|
* Provides seamless auto-recall and auto-capture via lifecycle hooks,
|
|
7
|
-
* plus
|
|
8
|
-
* walks,
|
|
9
|
-
* `recallRelated`,
|
|
12
|
+
* plus four SynapCores-only extensions (SQL-filtered recall, graph-relation
|
|
13
|
+
* walks, AutoML relevance scoring, and a model-training helper) — see
|
|
14
|
+
* `recallFiltered`, `recallRelated`, `predictRelevance`, and
|
|
15
|
+
* `trainRelevanceModel`.
|
|
10
16
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* gateway v1.6.5.2-ce. Requires @synapcores/sdk@^0.4.0 — which added
|
|
14
|
-
* `client.vectorCollection(name)` + `client.createVectorCollection(...)`
|
|
15
|
-
* and switched API-key auth to `Authorization: Bearer`.
|
|
17
|
+
* v0.4.0 migrates the core memory ops to `@synapcores/sdk@^0.5.0`'s
|
|
18
|
+
* `client.memory` surface. Requires SynapCores gateway v1.8.5-ce+.
|
|
16
19
|
*/
|
|
17
|
-
import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
|
|
18
20
|
import { type MemoryCategory } from "./config.js";
|
|
21
|
+
/**
|
|
22
|
+
* Internal memory record shape used throughout the plugin. The legacy v0.3.x
|
|
23
|
+
* surface guaranteed `vector: number[]` on every entry because storage went
|
|
24
|
+
* through `client.vectorCollection(...)`. v0.4.0's `client.memory.recall`
|
|
25
|
+
* does not return embeddings — `vector` is filled lazily by callers that
|
|
26
|
+
* need it (currently only `predictRelevance` / `trainRelevanceModel`).
|
|
27
|
+
*/
|
|
19
28
|
export type MemoryEntry = {
|
|
20
29
|
id: string;
|
|
21
30
|
text: string;
|
|
@@ -34,9 +43,21 @@ export type MemorySearchResult = {
|
|
|
34
43
|
* importance thresholds, category equality, etc.).
|
|
35
44
|
*/
|
|
36
45
|
export type RecallFilteredOptions = {
|
|
37
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* SQL fragment applied as the search filter.
|
|
48
|
+
*
|
|
49
|
+
* v0.4.0 note: the WHERE clause is now evaluated against the columns
|
|
50
|
+
* returned by `MEMORY_RECALL(?, ?, ?)` — `id`, `content`, `similarity`,
|
|
51
|
+
* `metadata`, `created_at`. The legacy v0.3.x `category = 'preference'`
|
|
52
|
+
* shorthand still works for callers that wrote category/importance into
|
|
53
|
+
* the metadata blob (the plugin always does so) BUT the path is now
|
|
54
|
+
* engine-side JSON access: `metadata->>'category' = 'preference'` is the
|
|
55
|
+
* portable form. The plugin auto-rewrites a handful of the legacy
|
|
56
|
+
* shorthands (`category`, `importance`, `createdAt`, `text`) into the
|
|
57
|
+
* JSON-extract form so most existing callers keep working unchanged.
|
|
58
|
+
*/
|
|
38
59
|
where: string;
|
|
39
|
-
/** Natural-language query that gets embedded and used as the search vector. */
|
|
60
|
+
/** Natural-language query that gets embedded engine-side and used as the search vector. */
|
|
40
61
|
semantic: string;
|
|
41
62
|
/** Maximum results to return (default: 5). */
|
|
42
63
|
limit?: number;
|
|
@@ -97,11 +118,12 @@ export type RelevanceFeedback = {
|
|
|
97
118
|
/**
|
|
98
119
|
* Escape a string literal for safe inlining into a Cypher query.
|
|
99
120
|
*
|
|
100
|
-
* Gateway v1.6.5.2
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* safe, BUT we never trust
|
|
104
|
-
* inside `'...'` in a Cypher
|
|
121
|
+
* Gateway v1.6.5.2+ rejects named-parameter bindings (`$param`) with HTTP
|
|
122
|
+
* 400; the supported path is to inline literal values into the query
|
|
123
|
+
* string. Memory IDs flow in from `MEMORY_STORE` (engine-generated, e.g.
|
|
124
|
+
* `mem_1kv69sxfn_5ofzwK`) so they are normally safe, BUT we never trust
|
|
125
|
+
* upstream input — every string that ends up inside `'...'` in a Cypher
|
|
126
|
+
* fragment must go through this helper.
|
|
105
127
|
*
|
|
106
128
|
* Escapes single quotes (`'` -> `\'`) and backslashes (`\` -> `\\`).
|
|
107
129
|
* Returns the inner content only; callers are responsible for the
|
|
@@ -114,9 +136,8 @@ export declare function escapeCypherString(value: string): string;
|
|
|
114
136
|
* them through the OpenClaw plugin registry.
|
|
115
137
|
*
|
|
116
138
|
* The four SynapCores-only methods use:
|
|
117
|
-
* - `
|
|
118
|
-
*
|
|
119
|
-
* `filter: { sql: where }`.
|
|
139
|
+
* - `client.executeQuery(...)` against MEMORY_RECALL for `recallFiltered`,
|
|
140
|
+
* wrapping the user's WHERE clause around the engine's recall result-set.
|
|
120
141
|
* - `client.graph.cypher(...)` for `recallRelated`, walking the synthetic
|
|
121
142
|
* `SIMILAR_TO` edges that resolve against `Memory.embedding`.
|
|
122
143
|
* - `client.automl.getModel(...).predict(...)` for `predictRelevance`, with
|
|
@@ -131,7 +152,7 @@ export interface MemorySynapCoresExtensions {
|
|
|
131
152
|
*
|
|
132
153
|
* @example
|
|
133
154
|
* await ext.recallFiltered({
|
|
134
|
-
* where: "category = 'preference' AND importance >= 0.7
|
|
155
|
+
* where: "category = 'preference' AND importance >= 0.7",
|
|
135
156
|
* semantic: "what kind of UI does the user prefer?",
|
|
136
157
|
* limit: 5,
|
|
137
158
|
* });
|
|
@@ -141,13 +162,13 @@ export interface MemorySynapCoresExtensions {
|
|
|
141
162
|
* Graph walk from a memory through `SIMILAR_TO` / `MENTIONS` / `RELATES_TO`
|
|
142
163
|
* edges, returning the neighborhood.
|
|
143
164
|
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
165
|
+
* Wires against the gateway's synthetic-SIMILAR_TO Cypher syntax
|
|
166
|
+
* (`[:SIMILAR_TO > T]`) which resolves against the `embedding` property
|
|
167
|
+
* the plugin writes onto every captured Memory node. If a source memory
|
|
168
|
+
* has not been promoted to a graph node yet (e.g. `autoLinkSimilar:
|
|
169
|
+
* false`), this returns an empty array.
|
|
149
170
|
*
|
|
150
|
-
* @param memoryId -
|
|
171
|
+
* @param memoryId - id of the source memory (engine-assigned, e.g. `mem_...`).
|
|
151
172
|
* @param options - Hops, edge-kind filter, similarity threshold, limit.
|
|
152
173
|
*/
|
|
153
174
|
recallRelated(memoryId: string, options?: RecallRelatedOptions): Promise<RelatedMemoryResult[]>;
|
|
@@ -172,12 +193,12 @@ export interface MemorySynapCoresExtensions {
|
|
|
172
193
|
/**
|
|
173
194
|
* Train (or retrain) the AutoML model used by `predictRelevance`.
|
|
174
195
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
196
|
+
* Wires against the staged-collection workflow: feedback rows are
|
|
197
|
+
* inserted into a SQL table the gateway's AutoML can read via
|
|
198
|
+
* `SELECT * FROM {table}`, then `/v1/automl/train` is invoked with
|
|
178
199
|
* `target: 'score'` to fit a regression model. Existing training data
|
|
179
|
-
* in the staging table is preserved across calls so feedback
|
|
180
|
-
*
|
|
200
|
+
* in the staging table is preserved across calls so feedback accumulates
|
|
201
|
+
* across sessions.
|
|
181
202
|
*
|
|
182
203
|
* @param feedback - Array of `{ memoryId, queryText, score }` samples.
|
|
183
204
|
* Requires at least {@link MIN_TRAINING_SAMPLES} samples;
|
|
@@ -189,79 +210,12 @@ export interface MemorySynapCoresExtensions {
|
|
|
189
210
|
modelName: string;
|
|
190
211
|
}>;
|
|
191
212
|
}
|
|
192
|
-
declare const
|
|
213
|
+
declare const pluginEntry: {
|
|
193
214
|
id: string;
|
|
194
215
|
name: string;
|
|
195
216
|
description: string;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
"embedding.apiKey": {
|
|
201
|
-
label: string;
|
|
202
|
-
sensitive: boolean;
|
|
203
|
-
placeholder: string;
|
|
204
|
-
help: string;
|
|
205
|
-
};
|
|
206
|
-
"embedding.model": {
|
|
207
|
-
label: string;
|
|
208
|
-
placeholder: string;
|
|
209
|
-
help: string;
|
|
210
|
-
};
|
|
211
|
-
"synapcores.host": {
|
|
212
|
-
label: string;
|
|
213
|
-
placeholder: string;
|
|
214
|
-
help: string;
|
|
215
|
-
};
|
|
216
|
-
"synapcores.port": {
|
|
217
|
-
label: string;
|
|
218
|
-
placeholder: string;
|
|
219
|
-
help: string;
|
|
220
|
-
};
|
|
221
|
-
"synapcores.apiKey": {
|
|
222
|
-
label: string;
|
|
223
|
-
sensitive: boolean;
|
|
224
|
-
placeholder: string;
|
|
225
|
-
help: string;
|
|
226
|
-
};
|
|
227
|
-
"synapcores.useHttps": {
|
|
228
|
-
label: string;
|
|
229
|
-
advanced: boolean;
|
|
230
|
-
help: string;
|
|
231
|
-
};
|
|
232
|
-
collection: {
|
|
233
|
-
label: string;
|
|
234
|
-
placeholder: string;
|
|
235
|
-
advanced: boolean;
|
|
236
|
-
help: string;
|
|
237
|
-
};
|
|
238
|
-
graph: {
|
|
239
|
-
label: string;
|
|
240
|
-
placeholder: string;
|
|
241
|
-
advanced: boolean;
|
|
242
|
-
help: string;
|
|
243
|
-
};
|
|
244
|
-
autoCapture: {
|
|
245
|
-
label: string;
|
|
246
|
-
help: string;
|
|
247
|
-
};
|
|
248
|
-
autoRecall: {
|
|
249
|
-
label: string;
|
|
250
|
-
help: string;
|
|
251
|
-
};
|
|
252
|
-
autoLinkSimilar: {
|
|
253
|
-
label: string;
|
|
254
|
-
advanced: boolean;
|
|
255
|
-
help: string;
|
|
256
|
-
};
|
|
257
|
-
workspace: {
|
|
258
|
-
label: string;
|
|
259
|
-
advanced: boolean;
|
|
260
|
-
help: string;
|
|
261
|
-
};
|
|
262
|
-
};
|
|
263
|
-
};
|
|
264
|
-
register(api: OpenClawPluginApi): void;
|
|
265
|
-
};
|
|
266
|
-
export default memoryPlugin;
|
|
217
|
+
configSchema: import("openclaw/plugin-sdk/core").OpenClawPluginConfigSchema;
|
|
218
|
+
register: NonNullable<import("openclaw/plugin-sdk/core").OpenClawPluginDefinition["register"]>;
|
|
219
|
+
} & Pick<import("openclaw/plugin-sdk/core").OpenClawPluginDefinition, "kind" | "reload" | "nodeHostCommands" | "securityAuditCollectors">;
|
|
220
|
+
export default pluginEntry;
|
|
267
221
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,aAAa,CAAC;AAMrB;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,WAAW,CAAC;IACnB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAiqBF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAqGD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE9E;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEhG;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,WAAW,EAAE,GACxB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAEpC;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrG;AA4zBD,QAAA,MAAM,WAAW;;;;;;yIAAkC,CAAC;AAEpD,eAAe,WAAW,CAAC"}
|