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.
- package/README.md +588 -0
- package/dist/config.d.ts +33 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +258 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +618 -0
- package/dist/plugin.d.ts +5 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +15 -0
- package/dist/services/api-handlers.d.ts +102 -0
- package/dist/services/api-handlers.d.ts.map +1 -0
- package/dist/services/api-handlers.js +494 -0
- package/dist/services/auto-capture.d.ts +32 -0
- package/dist/services/auto-capture.d.ts.map +1 -0
- package/dist/services/auto-capture.js +451 -0
- package/dist/services/cleanup-service.d.ts +20 -0
- package/dist/services/cleanup-service.d.ts.map +1 -0
- package/dist/services/cleanup-service.js +88 -0
- package/dist/services/client.d.ts +104 -0
- package/dist/services/client.d.ts.map +1 -0
- package/dist/services/client.js +251 -0
- package/dist/services/compaction.d.ts +92 -0
- package/dist/services/compaction.d.ts.map +1 -0
- package/dist/services/compaction.js +421 -0
- package/dist/services/context.d.ts +17 -0
- package/dist/services/context.d.ts.map +1 -0
- package/dist/services/context.js +41 -0
- package/dist/services/deduplication-service.d.ts +30 -0
- package/dist/services/deduplication-service.d.ts.map +1 -0
- package/dist/services/deduplication-service.js +131 -0
- package/dist/services/embedding.d.ts +10 -0
- package/dist/services/embedding.d.ts.map +1 -0
- package/dist/services/embedding.js +77 -0
- package/dist/services/jsonc.d.ts +7 -0
- package/dist/services/jsonc.d.ts.map +1 -0
- package/dist/services/jsonc.js +76 -0
- package/dist/services/logger.d.ts +2 -0
- package/dist/services/logger.d.ts.map +1 -0
- package/dist/services/logger.js +16 -0
- package/dist/services/migration-service.d.ts +42 -0
- package/dist/services/migration-service.d.ts.map +1 -0
- package/dist/services/migration-service.js +258 -0
- package/dist/services/privacy.d.ts +4 -0
- package/dist/services/privacy.d.ts.map +1 -0
- package/dist/services/privacy.js +10 -0
- package/dist/services/sqlite/connection-manager.d.ts +10 -0
- package/dist/services/sqlite/connection-manager.d.ts.map +1 -0
- package/dist/services/sqlite/connection-manager.js +45 -0
- package/dist/services/sqlite/shard-manager.d.ts +20 -0
- package/dist/services/sqlite/shard-manager.d.ts.map +1 -0
- package/dist/services/sqlite/shard-manager.js +221 -0
- package/dist/services/sqlite/types.d.ts +39 -0
- package/dist/services/sqlite/types.d.ts.map +1 -0
- package/dist/services/sqlite/types.js +1 -0
- package/dist/services/sqlite/vector-search.d.ts +18 -0
- package/dist/services/sqlite/vector-search.d.ts.map +1 -0
- package/dist/services/sqlite/vector-search.js +129 -0
- package/dist/services/sqlite-client.d.ts +116 -0
- package/dist/services/sqlite-client.d.ts.map +1 -0
- package/dist/services/sqlite-client.js +284 -0
- package/dist/services/tags.d.ts +20 -0
- package/dist/services/tags.d.ts.map +1 -0
- package/dist/services/tags.js +76 -0
- package/dist/services/web-server-lock.d.ts +12 -0
- package/dist/services/web-server-lock.d.ts.map +1 -0
- package/dist/services/web-server-lock.js +157 -0
- package/dist/services/web-server-worker.d.ts +2 -0
- package/dist/services/web-server-worker.d.ts.map +1 -0
- package/dist/services/web-server-worker.js +221 -0
- package/dist/services/web-server.d.ts +22 -0
- package/dist/services/web-server.d.ts.map +1 -0
- package/dist/services/web-server.js +134 -0
- package/dist/types/index.d.ts +48 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/web/app.d.ts +2 -0
- package/dist/web/app.d.ts.map +1 -0
- package/dist/web/app.js +691 -0
- package/dist/web/favicon.ico +0 -0
- package/dist/web/favicon.svg +14 -0
- package/dist/web/index.html +202 -0
- package/dist/web/styles.css +851 -0
- 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>
|