claude-memory-layer 1.0.35 → 1.0.37

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.
@@ -207,6 +207,10 @@ async function sendChatMessage() {
207
207
  const message = input.value.trim();
208
208
  if (!message) return;
209
209
 
210
+ const memoryOnlyCommand = /^\/memory\s+/i.test(message);
211
+ const requestMessage = memoryOnlyCommand ? message.replace(/^\/memory\s+/i, '').trim() : message;
212
+ if (!requestMessage) return;
213
+
210
214
  input.value = '';
211
215
  input.style.height = 'auto';
212
216
  document.getElementById('chat-send-btn').disabled = true;
@@ -230,8 +234,9 @@ async function sendChatMessage() {
230
234
  method: 'POST',
231
235
  headers: { 'Content-Type': 'application/json' },
232
236
  body: JSON.stringify({
233
- message,
234
- history: state.chatMessages.slice(-10)
237
+ message: requestMessage,
238
+ history: state.chatMessages.slice(-10),
239
+ mode: memoryOnlyCommand ? 'memory-only' : 'assistant'
235
240
  }),
236
241
  signal: state.chatAbortController.signal
237
242
  });
@@ -248,6 +253,7 @@ async function sendChatMessage() {
248
253
  const reader = response.body.getReader();
249
254
  const decoder = new TextDecoder();
250
255
  let sseBuffer = '';
256
+ let pendingEvent = 'message';
251
257
 
252
258
  while (true) {
253
259
  const { done, value } = await reader.read();
@@ -258,11 +264,22 @@ async function sendChatMessage() {
258
264
  sseBuffer = lines.pop() || '';
259
265
 
260
266
  for (const line of lines) {
267
+ if (line.startsWith('event: ')) {
268
+ pendingEvent = line.slice(7).trim() || 'message';
269
+ continue;
270
+ }
271
+
261
272
  if (line.startsWith('data: ')) {
262
273
  const dataStr = line.slice(6);
263
274
  try {
264
275
  const data = JSON.parse(dataStr);
265
- if (data.content) {
276
+ if (pendingEvent === 'diagnostic' && data.mode === 'memory-only') {
277
+ fullContent += `\n\n> Memory-only mode: Claude provider ${data.status || 'skipped'}; showing ${data.retrievedMemories || 0} retrieved memories.\n\n`;
278
+ updateChatMessageContent(msgEl, fullContent);
279
+ } else if (pendingEvent === 'provider_error') {
280
+ fullContent += `\n\n> Provider diagnostic (${data.code || 'error'}): ${data.message || 'falling back to memory-only context'}\n\n`;
281
+ updateChatMessageContent(msgEl, fullContent);
282
+ } else if (data.content) {
266
283
  fullContent += data.content;
267
284
  updateChatMessageContent(msgEl, fullContent);
268
285
  scrollChatToBottom();
@@ -272,6 +289,7 @@ async function sendChatMessage() {
272
289
  updateChatMessageContent(msgEl, fullContent);
273
290
  }
274
291
  } catch { /* skip */ }
292
+ pendingEvent = 'message';
275
293
  }
276
294
  }
277
295
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-memory-layer",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "description": "Claude Code plugin that learns from conversations to provide personalized assistance",
5
5
  "main": "dist/index.js",
6
6
  "bin": {