opencode-mem 2.7.0 → 2.7.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/services/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA4CpD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAAkB;;YAIzB,UAAU;IAiBlB,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,SAAS,IAAI;QACX,WAAW,EAAE,OAAO,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;KAChB;IAQD,KAAK,IAAI,IAAI;IAIP,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;;;IA6BlD,SAAS,CACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB;;;;;;;;;IA+DG,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;;;;IA0B7B,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,SAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDpD;AAED,eAAO,MAAM,YAAY,mBAA0B,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/services/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA4CpD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAAkB;;YAIzB,UAAU;IAiBlB,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,SAAS,IAAI;QACX,WAAW,EAAE,OAAO,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;KAChB;IAQD,KAAK,IAAI,IAAI;IAIP,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;;;IA6BlD,SAAS,CACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB;;;;;;;;;IA+DG,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;;;;IA2B7B,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,SAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDpD;AAED,eAAO,MAAM,YAAY,mBAA0B,CAAC"}
@@ -141,9 +141,10 @@ export class LocalMemoryClient {
141
141
  async deleteMemory(memoryId) {
142
142
  try {
143
143
  await this.initialize();
144
- const { scope, hash } = extractScopeFromContainerTag(memoryId);
145
- const shards = shardManager.getAllShards(scope, hash);
146
- for (const shard of shards) {
144
+ const userShards = shardManager.getAllShards("user", "");
145
+ const projectShards = shardManager.getAllShards("project", "");
146
+ const allShards = [...userShards, ...projectShards];
147
+ for (const shard of allShards) {
147
148
  const db = connectionManager.getConnection(shard.dbPath);
148
149
  const memory = vectorSearch.getMemoryById(db, memoryId);
149
150
  if (memory) {
package/dist/web/app.js CHANGED
@@ -170,6 +170,7 @@ function groupMemories(items) {
170
170
  function renderCombinedCard(pair) {
171
171
  const { memory, prompt } = pair;
172
172
  const isSelected = state.selectedMemories.has(memory.id);
173
+ const isPinned = memory.isPinned || false;
173
174
  const similarityHtml =
174
175
  memory.similarity !== undefined
175
176
  ? `<span class="similarity-score">${Math.round(memory.similarity * 100)}%</span>`
@@ -180,8 +181,20 @@ function renderCombinedCard(pair) {
180
181
  ? `<div class="tags-list">${memory.tags.map((t) => `<span class="tag-badge">${escapeHtml(t)}</span>`).join("")}</div>`
181
182
  : "";
182
183
 
184
+ const pinButton = isPinned
185
+ ? `<button class="btn-pin pinned" onclick="unpinMemory('${memory.id}')" title="Unpin"><i data-lucide="pin" class="icon icon-filled"></i></button>`
186
+ : `<button class="btn-pin" onclick="pinMemory('${memory.id}')" title="Pin"><i data-lucide="pin" class="icon"></i></button>`;
187
+
188
+ const createdDate = formatDate(memory.createdAt);
189
+ const updatedDate =
190
+ memory.updatedAt && memory.updatedAt !== memory.createdAt ? formatDate(memory.updatedAt) : null;
191
+
192
+ const dateInfo = updatedDate
193
+ ? `<span>Created: ${createdDate}</span><span>Updated: ${updatedDate}</span>`
194
+ : `<span>Created: ${createdDate}</span>`;
195
+
183
196
  return `
184
- <div class="combined-card ${isSelected ? "selected" : ""}" data-id="${memory.id}">
197
+ <div class="combined-card ${isSelected ? "selected" : ""} ${isPinned ? "pinned" : ""}" data-id="${memory.id}">
185
198
  <div class="combined-prompt-section">
186
199
  <div class="combined-header">
187
200
  <span class="badge badge-prompt">USER PROMPT</span>
@@ -201,9 +214,12 @@ function renderCombinedCard(pair) {
201
214
  <span class="badge badge-memory">MEMORY</span>
202
215
  ${memory.memoryType ? `<span class="badge badge-type">${memory.memoryType}</span>` : ""}
203
216
  ${similarityHtml}
217
+ ${isPinned ? '<span class="badge badge-pinned">PINNED</span>' : ""}
204
218
  <span class="memory-display-name">${escapeHtml(memory.displayName || memory.id)}</span>
205
219
  </div>
206
220
  <div class="memory-actions">
221
+ ${pinButton}
222
+ <button class="btn-edit" onclick="editMemory('${memory.id}')"><i data-lucide="edit-3" class="icon"></i></button>
207
223
  <button class="btn-delete" onclick="deleteMemoryWithLink('${memory.id}', true)">
208
224
  <i data-lucide="trash-2" class="icon"></i> Delete Pair
209
225
  </button>
@@ -211,6 +227,10 @@ function renderCombinedCard(pair) {
211
227
  </div>
212
228
  ${tagsHtml}
213
229
  <div class="memory-content markdown-content">${renderMarkdown(memory.content)}</div>
230
+ <div class="memory-footer">
231
+ ${dateInfo}
232
+ <span>ID: ${memory.id}</span>
233
+ </div>
214
234
  </div>
215
235
  </div>
216
236
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-mem",
3
- "version": "2.7.0",
3
+ "version": "2.7.1",
4
4
  "description": "OpenCode plugin that gives coding agents persistent memory using local vector database",
5
5
  "type": "module",
6
6
  "main": "dist/plugin.js",