@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 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.1',
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 events
160
- api.on('event', (event) => {
161
- handleEvent(event, config, reliability, logger);
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);
@@ -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.1",
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.1",
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",