opencode-mem 1.0.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.
Files changed (84) hide show
  1. package/README.md +588 -0
  2. package/dist/config.d.ts +33 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +258 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +618 -0
  8. package/dist/plugin.d.ts +5 -0
  9. package/dist/plugin.d.ts.map +1 -0
  10. package/dist/plugin.js +15 -0
  11. package/dist/services/api-handlers.d.ts +102 -0
  12. package/dist/services/api-handlers.d.ts.map +1 -0
  13. package/dist/services/api-handlers.js +494 -0
  14. package/dist/services/auto-capture.d.ts +32 -0
  15. package/dist/services/auto-capture.d.ts.map +1 -0
  16. package/dist/services/auto-capture.js +451 -0
  17. package/dist/services/cleanup-service.d.ts +20 -0
  18. package/dist/services/cleanup-service.d.ts.map +1 -0
  19. package/dist/services/cleanup-service.js +88 -0
  20. package/dist/services/client.d.ts +104 -0
  21. package/dist/services/client.d.ts.map +1 -0
  22. package/dist/services/client.js +251 -0
  23. package/dist/services/compaction.d.ts +92 -0
  24. package/dist/services/compaction.d.ts.map +1 -0
  25. package/dist/services/compaction.js +421 -0
  26. package/dist/services/context.d.ts +17 -0
  27. package/dist/services/context.d.ts.map +1 -0
  28. package/dist/services/context.js +41 -0
  29. package/dist/services/deduplication-service.d.ts +30 -0
  30. package/dist/services/deduplication-service.d.ts.map +1 -0
  31. package/dist/services/deduplication-service.js +131 -0
  32. package/dist/services/embedding.d.ts +10 -0
  33. package/dist/services/embedding.d.ts.map +1 -0
  34. package/dist/services/embedding.js +77 -0
  35. package/dist/services/jsonc.d.ts +7 -0
  36. package/dist/services/jsonc.d.ts.map +1 -0
  37. package/dist/services/jsonc.js +76 -0
  38. package/dist/services/logger.d.ts +2 -0
  39. package/dist/services/logger.d.ts.map +1 -0
  40. package/dist/services/logger.js +16 -0
  41. package/dist/services/migration-service.d.ts +42 -0
  42. package/dist/services/migration-service.d.ts.map +1 -0
  43. package/dist/services/migration-service.js +258 -0
  44. package/dist/services/privacy.d.ts +4 -0
  45. package/dist/services/privacy.d.ts.map +1 -0
  46. package/dist/services/privacy.js +10 -0
  47. package/dist/services/sqlite/connection-manager.d.ts +10 -0
  48. package/dist/services/sqlite/connection-manager.d.ts.map +1 -0
  49. package/dist/services/sqlite/connection-manager.js +45 -0
  50. package/dist/services/sqlite/shard-manager.d.ts +20 -0
  51. package/dist/services/sqlite/shard-manager.d.ts.map +1 -0
  52. package/dist/services/sqlite/shard-manager.js +221 -0
  53. package/dist/services/sqlite/types.d.ts +39 -0
  54. package/dist/services/sqlite/types.d.ts.map +1 -0
  55. package/dist/services/sqlite/types.js +1 -0
  56. package/dist/services/sqlite/vector-search.d.ts +18 -0
  57. package/dist/services/sqlite/vector-search.d.ts.map +1 -0
  58. package/dist/services/sqlite/vector-search.js +129 -0
  59. package/dist/services/sqlite-client.d.ts +116 -0
  60. package/dist/services/sqlite-client.d.ts.map +1 -0
  61. package/dist/services/sqlite-client.js +284 -0
  62. package/dist/services/tags.d.ts +20 -0
  63. package/dist/services/tags.d.ts.map +1 -0
  64. package/dist/services/tags.js +76 -0
  65. package/dist/services/web-server-lock.d.ts +12 -0
  66. package/dist/services/web-server-lock.d.ts.map +1 -0
  67. package/dist/services/web-server-lock.js +157 -0
  68. package/dist/services/web-server-worker.d.ts +2 -0
  69. package/dist/services/web-server-worker.d.ts.map +1 -0
  70. package/dist/services/web-server-worker.js +221 -0
  71. package/dist/services/web-server.d.ts +22 -0
  72. package/dist/services/web-server.d.ts.map +1 -0
  73. package/dist/services/web-server.js +134 -0
  74. package/dist/types/index.d.ts +48 -0
  75. package/dist/types/index.d.ts.map +1 -0
  76. package/dist/types/index.js +1 -0
  77. package/dist/web/app.d.ts +2 -0
  78. package/dist/web/app.d.ts.map +1 -0
  79. package/dist/web/app.js +691 -0
  80. package/dist/web/favicon.ico +0 -0
  81. package/dist/web/favicon.svg +14 -0
  82. package/dist/web/index.html +202 -0
  83. package/dist/web/styles.css +851 -0
  84. package/package.json +52 -0
@@ -0,0 +1,202 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>OpenCode Memory Explorer</title>
7
+ <link rel="stylesheet" href="/styles.css" />
8
+ <link rel="icon" type="image/x-icon" href="/favicon.ico" />
9
+ <script src="https://unpkg.com/lucide@latest"></script>
10
+ </head>
11
+ <body>
12
+ <div class="container">
13
+ <header class="header">
14
+ <div class="header-top">
15
+ <h1 class="title">┌─ OPENCODE MEMORY EXPLORER ─┐</h1>
16
+ <a
17
+ href="https://github.com/tickernelz/opencode-mem"
18
+ target="_blank"
19
+ rel="noopener noreferrer"
20
+ class="github-link"
21
+ title="View on GitHub"
22
+ >
23
+ <i data-lucide="github" class="icon"></i>
24
+ </a>
25
+ </div>
26
+ <div class="stats-bar">
27
+ <span id="stats-total">Total: 0</span>
28
+ <span id="stats-user">User: 0</span>
29
+ <span id="stats-project">Project: 0</span>
30
+ <span id="refresh-indicator" class="hidden"
31
+ ><i data-lucide="rotate-cw" class="icon icon-spin"></i
32
+ ></span>
33
+ </div>
34
+ </header>
35
+
36
+ <div class="controls">
37
+ <div class="filter-group">
38
+ <label>Scope:</label>
39
+ <select id="scope-filter">
40
+ <option value="">All</option>
41
+ <option value="user">User</option>
42
+ <option value="project">Project</option>
43
+ </select>
44
+ </div>
45
+
46
+ <div class="filter-group">
47
+ <label>Tag:</label>
48
+ <select id="tag-filter">
49
+ <option value="">All Tags</option>
50
+ </select>
51
+ </div>
52
+
53
+ <div class="search-group">
54
+ <input type="text" id="search-input" placeholder="Search memories..." />
55
+ <button id="search-btn"><i data-lucide="search" class="icon"></i></button>
56
+ <button id="clear-search-btn" class="hidden"><i data-lucide="x" class="icon"></i></button>
57
+ </div>
58
+
59
+ <div class="maintenance-actions">
60
+ <button id="cleanup-btn" class="btn-maintenance">
61
+ <i data-lucide="trash" class="icon"></i> Cleanup
62
+ </button>
63
+ <button id="deduplicate-btn" class="btn-maintenance">
64
+ <i data-lucide="refresh-cw" class="icon"></i> Deduplicate
65
+ </button>
66
+ </div>
67
+
68
+ <div class="bulk-actions hidden" id="bulk-actions">
69
+ <span id="selected-count">0 selected</span>
70
+ <button id="bulk-delete-btn">
71
+ <i data-lucide="trash-2" class="icon"></i> Delete Selected
72
+ </button>
73
+ <button id="deselect-all-btn"><i data-lucide="x" class="icon"></i> Deselect All</button>
74
+ </div>
75
+ </div>
76
+
77
+ <div class="migration-section hidden" id="migration-section">
78
+ <div class="migration-warning">
79
+ <i data-lucide="alert-triangle" class="icon"></i>
80
+ <span id="migration-message">Model dimension mismatch detected!</span>
81
+ </div>
82
+ <div class="migration-info">
83
+ <label>
84
+ <input type="checkbox" id="migration-confirm-checkbox" />
85
+ I understand this operation is irreversible and will affect all stored memories
86
+ </label>
87
+ </div>
88
+ <div class="migration-actions">
89
+ <button id="migration-fresh-btn" class="btn-migration" disabled>
90
+ <i data-lucide="trash" class="icon"></i> Fresh Start (Delete All)
91
+ </button>
92
+ <button id="migration-reembed-btn" class="btn-migration" disabled>
93
+ <i data-lucide="refresh-cw" class="icon"></i> Re-embed (Preserve Data)
94
+ </button>
95
+ </div>
96
+ </div>
97
+
98
+ <div class="memories-section">
99
+ <div class="section-header">
100
+ <h2 id="section-title">└─ MEMORIES (0) ──</h2>
101
+ <div class="pagination" id="pagination-top">
102
+ <button id="prev-page-top" disabled>
103
+ <i data-lucide="chevron-left" class="icon"></i>
104
+ </button>
105
+ <span id="page-info-top">Page 1 of 1</span>
106
+ <button id="next-page-top" disabled>
107
+ <i data-lucide="chevron-right" class="icon"></i>
108
+ </button>
109
+ </div>
110
+ </div>
111
+
112
+ <div id="memories-list" class="memories-list">
113
+ <div class="loading">Initializing...</div>
114
+ </div>
115
+
116
+ <div class="pagination" id="pagination-bottom">
117
+ <button id="prev-page-bottom" disabled>
118
+ <i data-lucide="chevron-left" class="icon"></i>
119
+ </button>
120
+ <span id="page-info-bottom">Page 1 of 1</span>
121
+ <button id="next-page-bottom" disabled>
122
+ <i data-lucide="chevron-right" class="icon"></i>
123
+ </button>
124
+ </div>
125
+ </div>
126
+
127
+ <div class="add-section">
128
+ <h2>└─ ADD NEW MEMORY ──</h2>
129
+ <form id="add-form">
130
+ <div class="form-row">
131
+ <div class="form-group">
132
+ <label>Scope:</label>
133
+ <select id="add-scope" required>
134
+ <option value="">Select scope</option>
135
+ <option value="user">User</option>
136
+ <option value="project">Project</option>
137
+ </select>
138
+ </div>
139
+
140
+ <div class="form-group">
141
+ <label>Tag:</label>
142
+ <select id="add-tag" required>
143
+ <option value="">Select tag</option>
144
+ </select>
145
+ </div>
146
+
147
+ <div class="form-group">
148
+ <label>Type:</label>
149
+ <input type="text" id="add-type" placeholder="preference, architecture, etc." />
150
+ </div>
151
+ </div>
152
+
153
+ <div class="form-group">
154
+ <label>Content:</label>
155
+ <textarea
156
+ id="add-content"
157
+ rows="4"
158
+ placeholder="Enter memory content..."
159
+ required
160
+ ></textarea>
161
+ </div>
162
+
163
+ <button type="submit" class="btn-primary">
164
+ <i data-lucide="plus" class="icon"></i> Add Memory
165
+ </button>
166
+ </form>
167
+ </div>
168
+ </div>
169
+
170
+ <div id="edit-modal" class="modal hidden">
171
+ <div class="modal-content">
172
+ <div class="modal-header">
173
+ <h3>Edit Memory</h3>
174
+ <button class="modal-close" id="modal-close"><i data-lucide="x" class="icon"></i></button>
175
+ </div>
176
+ <form id="edit-form">
177
+ <input type="hidden" id="edit-id" />
178
+ <div class="form-group">
179
+ <label>Type:</label>
180
+ <input type="text" id="edit-type" />
181
+ </div>
182
+ <div class="form-group">
183
+ <label>Content:</label>
184
+ <textarea id="edit-content" rows="6" required></textarea>
185
+ </div>
186
+ <div class="modal-actions">
187
+ <button type="button" class="btn-secondary" id="cancel-edit">
188
+ <i data-lucide="x" class="icon"></i> Cancel
189
+ </button>
190
+ <button type="submit" class="btn-primary">
191
+ <i data-lucide="check" class="icon"></i> Save Changes
192
+ </button>
193
+ </div>
194
+ </form>
195
+ </div>
196
+ </div>
197
+
198
+ <div id="toast" class="toast hidden"></div>
199
+
200
+ <script src="/app.js"></script>
201
+ </body>
202
+ </html>