@vainplex/openclaw-membrane 0.3.1 → 0.3.2
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/dist/index.js +13 -5
- package/dist/mapping.js +1 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -149,17 +149,25 @@ const SEARCH_TOOL_SCHEMA = {
|
|
|
149
149
|
const plugin = {
|
|
150
150
|
id: 'openclaw-membrane',
|
|
151
151
|
name: '@vainplex/openclaw-membrane',
|
|
152
|
-
version: '0.3.
|
|
152
|
+
version: '0.3.2',
|
|
153
153
|
register(api) {
|
|
154
154
|
const config = createConfig(api.pluginConfig);
|
|
155
155
|
const logger = api.logger;
|
|
156
156
|
const client = new MembraneClient(config.grpc_endpoint);
|
|
157
157
|
const reliability = new ReliabilityManager(config.buffer_size, async (item) => { await client.call(item.method, item.payload); }, logger);
|
|
158
158
|
logger.info(`[membrane] Registered bridge to ${config.grpc_endpoint}`);
|
|
159
|
-
// Write path: subscribe to
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
159
|
+
// Write path: subscribe to specific OpenClaw hooks
|
|
160
|
+
// OpenClaw fires named hooks, not a generic 'event' hook
|
|
161
|
+
const hookHandler = (type) => (event, ctx) => {
|
|
162
|
+
const e = event;
|
|
163
|
+
const c = ctx;
|
|
164
|
+
handleEvent({ type, payload: e, context: c }, config, reliability, logger);
|
|
165
|
+
};
|
|
166
|
+
api.on('message_received', hookHandler('message_received'));
|
|
167
|
+
api.on('message_sent', hookHandler('message_sent'));
|
|
168
|
+
api.on('message_sending', hookHandler('message_sending'));
|
|
169
|
+
api.on('after_tool_call', hookHandler('after_tool_call'));
|
|
170
|
+
api.on('session_start', hookHandler('session_start'));
|
|
163
171
|
// Search tool: gRPC Retrieve (boosts salience via rehearsal)
|
|
164
172
|
api.registerTool({
|
|
165
173
|
name: 'membrane_search',
|
package/dist/mapping.js
CHANGED
|
@@ -112,6 +112,7 @@ export function mapEvent(event, sensitivity) {
|
|
|
112
112
|
case 'message_received':
|
|
113
113
|
return mapMessageReceived(event.payload, timestamp, sensitivity);
|
|
114
114
|
case 'message_sent':
|
|
115
|
+
case 'message_sending':
|
|
115
116
|
return mapMessageSent(event.payload, timestamp, sensitivity);
|
|
116
117
|
case 'session_start':
|
|
117
118
|
return mapSessionStart(timestamp, sensitivity);
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "openclaw-membrane",
|
|
3
3
|
"name": "@vainplex/openclaw-membrane",
|
|
4
4
|
"description": "Membrane gRPC bridge for OpenClaw — episodic memory ingestion, search tool, and auto-context injection",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.2",
|
|
6
6
|
"configSchema": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vainplex/openclaw-membrane",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Membrane gRPC bridge for OpenClaw — episodic memory ingestion, search tool, and auto-context injection via Membrane sidecar",
|
|
6
6
|
"main": "dist/index.js",
|