laminark 0.1.0 → 2.21.7
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/.claude-plugin/marketplace.json +15 -0
- package/README.md +71 -36
- package/package.json +7 -9
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/dist/hooks/handler.d.ts +1 -3
- package/plugin/dist/hooks/handler.d.ts.map +1 -1
- package/plugin/dist/hooks/handler.js +22 -310
- package/plugin/dist/hooks/handler.js.map +1 -1
- package/plugin/dist/index.d.ts +1 -3
- package/plugin/dist/index.d.ts.map +1 -1
- package/plugin/dist/index.js +392 -1895
- package/plugin/dist/index.js.map +1 -1
- package/plugin/dist/{observations-CorAAc1A.d.mts → observations-Ch0nc47i.d.mts} +1 -23
- package/plugin/dist/observations-Ch0nc47i.d.mts.map +1 -0
- package/plugin/dist/{tool-registry-e710BvXq.mjs → tool-registry-CZ3mJ4iR.mjs} +13 -932
- package/plugin/dist/tool-registry-CZ3mJ4iR.mjs.map +1 -0
- package/plugin/hooks/hooks.json +6 -6
- package/plugin/scripts/README.md +1 -19
- package/plugin/scripts/bump-version.sh +3 -1
- package/plugin/scripts/ensure-deps.sh +2 -5
- package/plugin/scripts/install.sh +39 -115
- package/plugin/scripts/local-install.sh +58 -93
- package/plugin/scripts/setup-tmpdir.sh +65 -0
- package/plugin/scripts/uninstall.sh +38 -76
- package/plugin/scripts/update.sh +69 -20
- package/plugin/scripts/verify-install.sh +25 -69
- package/plugin/ui/activity.js +0 -12
- package/plugin/ui/app.js +54 -24
- package/plugin/ui/graph.js +186 -413
- package/plugin/ui/help.js +172 -876
- package/plugin/ui/index.html +242 -506
- package/plugin/ui/settings.js +17 -781
- package/plugin/ui/styles.css +44 -990
- package/plugin/ui/timeline.js +2 -2
- package/plugin/CLAUDE.md +0 -10
- package/plugin/commands/recall.md +0 -55
- package/plugin/commands/remember.md +0 -34
- package/plugin/commands/resume.md +0 -45
- package/plugin/commands/stash.md +0 -34
- package/plugin/commands/status.md +0 -33
- package/plugin/dist/observations-CorAAc1A.d.mts.map +0 -1
- package/plugin/dist/tool-registry-e710BvXq.mjs.map +0 -1
- package/plugin/laminark.db +0 -0
- package/plugin/package.json +0 -17
- package/plugin/scripts/dev-sync.sh +0 -58
- package/plugin/ui/help/activity-feed.png +0 -0
- package/plugin/ui/help/analysis-panel.png +0 -0
- package/plugin/ui/help/graph-toolbar.png +0 -0
- package/plugin/ui/help/graph-view.png +0 -0
- package/plugin/ui/help/settings.png +0 -0
- package/plugin/ui/help/timeline.png +0 -0
- package/plugin/ui/tools.js +0 -826
package/plugin/ui/index.html
CHANGED
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
<button class="nav-tab active" data-view="graph-view">Knowledge Graph</button>
|
|
16
16
|
<button class="nav-tab" data-view="timeline-view">Timeline</button>
|
|
17
17
|
<button class="nav-tab" data-view="activity-view">Activity</button>
|
|
18
|
-
<button class="nav-tab" data-view="tools-view">Tools</button>
|
|
19
18
|
<button class="nav-tab" data-view="settings-view">Settings</button>
|
|
20
19
|
<button class="nav-tab" data-view="help-view">Help</button>
|
|
21
20
|
</div>
|
|
@@ -67,7 +66,6 @@
|
|
|
67
66
|
<button class="layout-btn" data-layout="hierarchical" title="Top-down tree layout">Hierarchical</button>
|
|
68
67
|
<button class="layout-btn" data-layout="concentric" title="Rings by entity type">Concentric</button>
|
|
69
68
|
<button class="layout-btn" data-layout="communities" title="Community-grouped layout">Communities</button>
|
|
70
|
-
<button class="layout-btn" data-layout="detangle" title="Minimize edge crossings">Detangle</button>
|
|
71
69
|
</div>
|
|
72
70
|
<button id="edge-labels-btn" class="edge-labels-btn active" title="Toggle edge labels">
|
|
73
71
|
<svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor">
|
|
@@ -75,11 +73,12 @@
|
|
|
75
73
|
<path d="M5 5.5a1.5 1.5 0 013 0v.25h1V5.5a2.5 2.5 0 00-5 0v5a2.5 2.5 0 005 0v-.25H8v.25a1.5 1.5 0 01-3 0v-5z" opacity=".6"/>
|
|
76
74
|
</svg>
|
|
77
75
|
</button>
|
|
78
|
-
<button id="paths-toggle-btn" class="paths-toggle-btn" title="
|
|
76
|
+
<button id="paths-toggle-btn" class="paths-toggle-btn active" title="Toggle debug path overlay">
|
|
79
77
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
|
|
80
|
-
<
|
|
81
|
-
<circle cx="
|
|
82
|
-
<
|
|
78
|
+
<path d="M2 8c0-.4.3-.7.7-.7h1.6c.4 0 .7.3.7.7s-.3.7-.7.7H2.7C2.3 8.7 2 8.4 2 8zm4.3 0c0-.4.3-.7.7-.7h1.6c.4 0 .7.3.7.7s-.3.7-.7.7H7C6.6 8.7 6.3 8.4 6.3 8zm4.4 0c0-.4.3-.7.7-.7h1.6c.4 0 .7.3.7.7s-.3.7-.7.7h-1.6c-.4 0-.7-.3-.7-.7z"/>
|
|
79
|
+
<circle cx="2" cy="8" r="1.5"/>
|
|
80
|
+
<circle cx="8" cy="8" r="1.5"/>
|
|
81
|
+
<circle cx="14" cy="8" r="1.5"/>
|
|
83
82
|
</svg>
|
|
84
83
|
</button>
|
|
85
84
|
<button id="analysis-btn" class="analysis-btn" title="Graph analysis">
|
|
@@ -132,573 +131,311 @@
|
|
|
132
131
|
</div>
|
|
133
132
|
</div>
|
|
134
133
|
|
|
135
|
-
<div id="
|
|
136
|
-
<div class="
|
|
137
|
-
<
|
|
138
|
-
|
|
139
|
-
<
|
|
140
|
-
<span class="tools-separator">|</span>
|
|
141
|
-
<label class="tools-toggle-label">
|
|
142
|
-
<input type="checkbox" id="tools-cluster-toggle" checked>
|
|
143
|
-
<span>Show clusters</span>
|
|
144
|
-
</label>
|
|
145
|
-
</div>
|
|
146
|
-
<div class="tools-toolbar-right">
|
|
147
|
-
<select id="tools-filter-type" class="tools-filter-select" title="Filter by tool type">
|
|
148
|
-
<option value="">All types</option>
|
|
149
|
-
<option value="mcp_server">MCP Server</option>
|
|
150
|
-
<option value="mcp_tool">MCP Tool</option>
|
|
151
|
-
<option value="slash_command">Slash Command</option>
|
|
152
|
-
<option value="skill">Skill</option>
|
|
153
|
-
<option value="plugin">Plugin</option>
|
|
154
|
-
<option value="builtin">Built-in</option>
|
|
155
|
-
</select>
|
|
156
|
-
<select id="tools-filter-server" class="tools-filter-select" title="Filter by server">
|
|
157
|
-
<option value="">All servers</option>
|
|
158
|
-
</select>
|
|
159
|
-
</div>
|
|
160
|
-
</div>
|
|
161
|
-
<div class="tools-content-row">
|
|
162
|
-
<div class="tools-graph-area">
|
|
163
|
-
<svg id="tools-svg"></svg>
|
|
164
|
-
<div class="tools-graph-stats" id="tools-stats">0 tools, 0 flows</div>
|
|
134
|
+
<div id="settings-view" class="view-container">
|
|
135
|
+
<div class="settings-container">
|
|
136
|
+
<h2 class="settings-heading">Database Statistics</h2>
|
|
137
|
+
<div id="db-stats-grid" class="db-stats-grid">
|
|
138
|
+
<p class="empty-state">Loading statistics...</p>
|
|
165
139
|
</div>
|
|
166
|
-
<aside id="tools-detail-panel" class="tools-detail-panel hidden">
|
|
167
|
-
<div class="panel-header">
|
|
168
|
-
<h3 id="tools-detail-title">Tool Details</h3>
|
|
169
|
-
<button id="tools-detail-close" aria-label="Close detail panel">×</button>
|
|
170
|
-
</div>
|
|
171
|
-
<div id="tools-detail-body">
|
|
172
|
-
<p class="empty-state">Click a tool node to view details</p>
|
|
173
|
-
</div>
|
|
174
|
-
</aside>
|
|
175
|
-
</div>
|
|
176
|
-
<div class="tools-session-strip" id="tools-session-strip">
|
|
177
|
-
<div class="tools-session-strip-label">Recent sessions</div>
|
|
178
|
-
<div class="tools-session-strip-content" id="tools-session-strip-content"></div>
|
|
179
|
-
</div>
|
|
180
|
-
</div>
|
|
181
140
|
|
|
182
|
-
|
|
183
|
-
<div class="settings-layout">
|
|
184
|
-
<nav class="settings-sidebar">
|
|
185
|
-
<div class="settings-sidebar-item active" data-settings-tab="overview">Overview</div>
|
|
186
|
-
<div class="settings-sidebar-item" data-settings-tab="database">Database</div>
|
|
187
|
-
<div class="settings-sidebar-item" data-settings-tab="intelligence">Intelligence</div>
|
|
188
|
-
<div class="settings-sidebar-item" data-settings-tab="configuration">Configuration</div>
|
|
189
|
-
<div class="settings-sidebar-item settings-sidebar-item-danger" data-settings-tab="danger">Danger Zone</div>
|
|
190
|
-
</nav>
|
|
191
|
-
|
|
192
|
-
<div class="settings-content">
|
|
193
|
-
<div id="settings-success" class="settings-success hidden"></div>
|
|
194
|
-
|
|
195
|
-
<!-- Overview Panel -->
|
|
196
|
-
<div class="settings-panel active" data-settings-panel="overview">
|
|
197
|
-
<h2 class="settings-heading">Database Statistics</h2>
|
|
198
|
-
<div id="db-stats-grid" class="db-stats-grid">
|
|
199
|
-
<p class="empty-state">Loading statistics...</p>
|
|
200
|
-
</div>
|
|
141
|
+
<div id="settings-success" class="settings-success hidden"></div>
|
|
201
142
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
143
|
+
<!-- Topic Detection Config -->
|
|
144
|
+
<div id="topic-detection-section" class="config-section collapsed">
|
|
145
|
+
<div class="config-section-header" data-config-toggle="topic-detection">
|
|
146
|
+
<h3><span class="toggle-icon">▼</span> Topic Detection</h3>
|
|
147
|
+
<span id="td-status" class="config-section-status enabled">Enabled</span>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="config-section-body" id="td-body">
|
|
150
|
+
<div class="config-field">
|
|
151
|
+
<div class="config-field-header">
|
|
152
|
+
<span class="config-field-label">Enabled</span>
|
|
153
|
+
<label class="config-toggle">
|
|
154
|
+
<input type="checkbox" id="td-enabled" checked>
|
|
155
|
+
<span class="config-toggle-slider"></span>
|
|
156
|
+
</label>
|
|
157
|
+
</div>
|
|
158
|
+
<div class="config-field-desc">Master toggle for topic shift detection</div>
|
|
205
159
|
</div>
|
|
206
160
|
|
|
207
|
-
<
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
161
|
+
<div id="td-fields">
|
|
162
|
+
<div class="config-field">
|
|
163
|
+
<div class="config-field-label">Sensitivity Preset</div>
|
|
164
|
+
<div class="config-field-desc">Controls how easily topic shifts are detected</div>
|
|
165
|
+
<div class="config-radio-group" id="td-preset">
|
|
166
|
+
<button class="config-radio" data-value="sensitive">Sensitive</button>
|
|
167
|
+
<button class="config-radio active" data-value="balanced">Balanced</button>
|
|
168
|
+
<button class="config-radio" data-value="relaxed">Relaxed</button>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
211
171
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
172
|
+
<div class="config-field">
|
|
173
|
+
<div class="config-field-label">Sensitivity Multiplier</div>
|
|
174
|
+
<div class="config-field-desc">Multiplied with EWMA stddev for threshold (auto-filled from preset)</div>
|
|
175
|
+
<div class="config-field-value">
|
|
176
|
+
<input type="number" id="td-multiplier" class="config-number-input" step="0.1" min="0.1" value="1.5">
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
217
179
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
</p>
|
|
226
|
-
<span id="hy-status" class="config-section-status disabled" style="margin-bottom:12px;display:inline-block;">Not scanned</span>
|
|
227
|
-
|
|
228
|
-
<div class="config-field">
|
|
229
|
-
<div class="config-field-label">Tier Filter</div>
|
|
230
|
-
<div class="config-field-desc">Which confidence tier to analyze</div>
|
|
231
|
-
<div class="config-radio-group" id="hy-tier">
|
|
232
|
-
<button class="config-radio active" data-value="high">High (≥ 0.7)</button>
|
|
233
|
-
<button class="config-radio" data-value="medium">Medium+ (≥ 0.5)</button>
|
|
234
|
-
<button class="config-radio" data-value="all">All</button>
|
|
235
|
-
</div>
|
|
180
|
+
<div class="config-field">
|
|
181
|
+
<div class="config-field-header">
|
|
182
|
+
<span class="config-field-label">Manual Threshold</span>
|
|
183
|
+
<label class="config-toggle">
|
|
184
|
+
<input type="checkbox" id="td-manual-enabled">
|
|
185
|
+
<span class="config-toggle-slider"></span>
|
|
186
|
+
</label>
|
|
236
187
|
</div>
|
|
188
|
+
<div class="config-field-desc">Override adaptive threshold with a fixed value</div>
|
|
189
|
+
<div class="config-field-value">
|
|
190
|
+
<input type="number" id="td-manual-value" class="config-number-input" step="0.01" min="0" value="0.3" disabled>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
237
193
|
|
|
238
|
-
|
|
239
|
-
|
|
194
|
+
<div class="config-field">
|
|
195
|
+
<div class="config-field-label">EWMA Alpha</div>
|
|
196
|
+
<div class="config-field-desc">Decay factor for exponentially weighted moving average (0.01 - 1.0)</div>
|
|
197
|
+
<div class="config-field-value">
|
|
198
|
+
<input type="range" id="td-ewma" class="config-slider" min="0.01" max="1" step="0.01" value="0.3">
|
|
199
|
+
<span id="td-ewma-val" class="config-slider-value">0.30</span>
|
|
240
200
|
</div>
|
|
201
|
+
</div>
|
|
241
202
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
<th>Kind</th>
|
|
250
|
-
<th>Source</th>
|
|
251
|
-
<th>Confidence</th>
|
|
252
|
-
<th>Signals</th>
|
|
253
|
-
<th>Preview</th>
|
|
254
|
-
</tr>
|
|
255
|
-
</thead>
|
|
256
|
-
<tbody id="hy-table-body"></tbody>
|
|
257
|
-
</table>
|
|
203
|
+
<div class="config-field">
|
|
204
|
+
<div class="config-field-label">Threshold Bounds</div>
|
|
205
|
+
<div class="config-field-desc">Hard min/max limits for the adaptive threshold</div>
|
|
206
|
+
<div class="config-field-row">
|
|
207
|
+
<div class="config-field-inline">
|
|
208
|
+
<span>Min</span>
|
|
209
|
+
<input type="number" id="td-bounds-min" class="config-number-input" step="0.01" min="0.05" max="0.95" value="0.15">
|
|
258
210
|
</div>
|
|
259
|
-
<div class="config-
|
|
260
|
-
<
|
|
211
|
+
<div class="config-field-inline">
|
|
212
|
+
<span>Max</span>
|
|
213
|
+
<input type="number" id="td-bounds-max" class="config-number-input" step="0.01" min="0.05" max="0.95" value="0.6">
|
|
261
214
|
</div>
|
|
262
215
|
</div>
|
|
263
216
|
</div>
|
|
264
217
|
</div>
|
|
265
218
|
|
|
266
|
-
<
|
|
267
|
-
|
|
268
|
-
<
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
<div class="config-field-group-label">Signal Weights</div>
|
|
274
|
-
|
|
275
|
-
<div class="config-threshold-grid" id="hc-weights">
|
|
276
|
-
<div class="config-threshold-row">
|
|
277
|
-
<span class="config-threshold-label">Orphaned</span>
|
|
278
|
-
<input type="range" class="config-slider" id="hc-w-orphaned" min="0" max="1" step="0.01" value="0.30">
|
|
279
|
-
<span class="config-slider-value" id="hc-w-orphaned-val">0.30</span>
|
|
280
|
-
</div>
|
|
281
|
-
<div class="config-threshold-row">
|
|
282
|
-
<span class="config-threshold-label">Island Node</span>
|
|
283
|
-
<input type="range" class="config-slider" id="hc-w-islandNode" min="0" max="1" step="0.01" value="0.25">
|
|
284
|
-
<span class="config-slider-value" id="hc-w-islandNode-val">0.25</span>
|
|
285
|
-
</div>
|
|
286
|
-
<div class="config-threshold-row">
|
|
287
|
-
<span class="config-threshold-label">Noise</span>
|
|
288
|
-
<input type="range" class="config-slider" id="hc-w-noiseClassified" min="0" max="1" step="0.01" value="0.25">
|
|
289
|
-
<span class="config-slider-value" id="hc-w-noiseClassified-val">0.25</span>
|
|
290
|
-
</div>
|
|
291
|
-
<div class="config-threshold-row">
|
|
292
|
-
<span class="config-threshold-label">Short Content</span>
|
|
293
|
-
<input type="range" class="config-slider" id="hc-w-shortContent" min="0" max="1" step="0.01" value="0.10">
|
|
294
|
-
<span class="config-slider-value" id="hc-w-shortContent-val">0.10</span>
|
|
295
|
-
</div>
|
|
296
|
-
<div class="config-threshold-row">
|
|
297
|
-
<span class="config-threshold-label">Auto-Captured</span>
|
|
298
|
-
<input type="range" class="config-slider" id="hc-w-autoCaptured" min="0" max="1" step="0.01" value="0.10">
|
|
299
|
-
<span class="config-slider-value" id="hc-w-autoCaptured-val">0.10</span>
|
|
300
|
-
</div>
|
|
301
|
-
<div class="config-threshold-row">
|
|
302
|
-
<span class="config-threshold-label">Stale</span>
|
|
303
|
-
<input type="range" class="config-slider" id="hc-w-stale" min="0" max="1" step="0.01" value="0.10">
|
|
304
|
-
<span class="config-slider-value" id="hc-w-stale-val">0.10</span>
|
|
305
|
-
</div>
|
|
306
|
-
</div>
|
|
219
|
+
<div class="config-actions">
|
|
220
|
+
<button class="btn-config-save" id="td-save">Save</button>
|
|
221
|
+
<button class="btn-config-defaults" id="td-defaults">Reset to Defaults</button>
|
|
222
|
+
</div>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
307
225
|
|
|
308
|
-
|
|
226
|
+
<!-- Graph Extraction Config -->
|
|
227
|
+
<div id="graph-extraction-section" class="config-section collapsed">
|
|
228
|
+
<div class="config-section-header" data-config-toggle="graph-extraction">
|
|
229
|
+
<h3><span class="toggle-icon">▼</span> Graph Extraction</h3>
|
|
230
|
+
<span id="ge-status" class="config-section-status enabled">Enabled</span>
|
|
231
|
+
</div>
|
|
232
|
+
<div class="config-section-body" id="ge-body">
|
|
233
|
+
<div class="config-field">
|
|
234
|
+
<div class="config-field-header">
|
|
235
|
+
<span class="config-field-label">Enabled</span>
|
|
236
|
+
<label class="config-toggle">
|
|
237
|
+
<input type="checkbox" id="ge-enabled" checked>
|
|
238
|
+
<span class="config-toggle-slider"></span>
|
|
239
|
+
</label>
|
|
240
|
+
</div>
|
|
241
|
+
<div class="config-field-desc">Master toggle for knowledge graph extraction</div>
|
|
242
|
+
</div>
|
|
309
243
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
<span class="config-threshold-label">High Tier ≥</span>
|
|
313
|
-
<input type="range" class="config-slider" id="hc-t-high" min="0" max="1" step="0.01" value="0.70">
|
|
314
|
-
<span class="config-slider-value" id="hc-t-high-val">0.70</span>
|
|
315
|
-
</div>
|
|
316
|
-
<div class="config-threshold-row">
|
|
317
|
-
<span class="config-threshold-label">Medium Tier ≥</span>
|
|
318
|
-
<input type="range" class="config-slider" id="hc-t-medium" min="0" max="1" step="0.01" value="0.50">
|
|
319
|
-
<span class="config-slider-value" id="hc-t-medium-val">0.50</span>
|
|
320
|
-
</div>
|
|
321
|
-
</div>
|
|
244
|
+
<div id="ge-fields">
|
|
245
|
+
<div class="config-field-group-label">Temporal Decay</div>
|
|
322
246
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
247
|
+
<div class="config-field">
|
|
248
|
+
<div class="config-field-label">Half-Life (days)</div>
|
|
249
|
+
<div class="config-field-desc">How many days until edge weight decays to 50%</div>
|
|
250
|
+
<div class="config-field-value">
|
|
251
|
+
<input type="number" id="ge-halflife" class="config-number-input" min="1" value="30">
|
|
328
252
|
</div>
|
|
253
|
+
</div>
|
|
329
254
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
255
|
+
<div class="config-field">
|
|
256
|
+
<div class="config-field-label">Minimum Floor</div>
|
|
257
|
+
<div class="config-field-desc">Lowest weight an edge can decay to before deletion check</div>
|
|
258
|
+
<div class="config-field-value">
|
|
259
|
+
<input type="range" id="ge-minfloor" class="config-slider" min="0" max="0.99" step="0.01" value="0.05">
|
|
260
|
+
<span id="ge-minfloor-val" class="config-slider-value">0.05</span>
|
|
333
261
|
</div>
|
|
262
|
+
</div>
|
|
334
263
|
|
|
335
|
-
|
|
336
|
-
<
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
<
|
|
341
|
-
</div>
|
|
342
|
-
<div id="hc-find-results" class="hidden">
|
|
343
|
-
<div id="hc-find-summary" class="hygiene-summary"></div>
|
|
344
|
-
<div id="hc-find-histogram" class="hygiene-distribution"></div>
|
|
345
|
-
<div id="hc-find-islands" class="hygiene-summary" style="margin-top:8px;"></div>
|
|
264
|
+
<div class="config-field">
|
|
265
|
+
<div class="config-field-label">Deletion Threshold</div>
|
|
266
|
+
<div class="config-field-desc">Edges below this weight are deleted during curation</div>
|
|
267
|
+
<div class="config-field-value">
|
|
268
|
+
<input type="range" id="ge-delthresh" class="config-slider" min="0" max="0.99" step="0.01" value="0.08">
|
|
269
|
+
<span id="ge-delthresh-val" class="config-slider-value">0.08</span>
|
|
346
270
|
</div>
|
|
347
271
|
</div>
|
|
348
|
-
</div>
|
|
349
|
-
</div>
|
|
350
272
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
<div class="config-field">
|
|
357
|
-
<div class="config-field-header">
|
|
358
|
-
<span class="config-field-label">Enabled</span>
|
|
359
|
-
<label class="config-toggle">
|
|
360
|
-
<input type="checkbox" id="td-enabled" checked>
|
|
361
|
-
<span class="config-toggle-slider"></span>
|
|
362
|
-
</label>
|
|
363
|
-
</div>
|
|
364
|
-
<div class="config-field-desc">Master toggle for topic shift detection</div>
|
|
365
|
-
<span id="td-status" class="config-section-status enabled" style="margin-top:8px;display:inline-block;">Enabled</span>
|
|
273
|
+
<div class="config-field">
|
|
274
|
+
<div class="config-field-label">Max Age (days)</div>
|
|
275
|
+
<div class="config-field-desc">Maximum age before forced deletion regardless of weight</div>
|
|
276
|
+
<div class="config-field-value">
|
|
277
|
+
<input type="number" id="ge-maxage" class="config-number-input" min="1" value="180">
|
|
366
278
|
</div>
|
|
279
|
+
</div>
|
|
367
280
|
|
|
368
|
-
|
|
369
|
-
<div class="config-field">
|
|
370
|
-
<div class="config-field-label">Sensitivity Preset</div>
|
|
371
|
-
<div class="config-field-desc">Controls how easily topic shifts are detected</div>
|
|
372
|
-
<div class="config-radio-group" id="td-preset">
|
|
373
|
-
<button class="config-radio" data-value="sensitive">Sensitive</button>
|
|
374
|
-
<button class="config-radio active" data-value="balanced">Balanced</button>
|
|
375
|
-
<button class="config-radio" data-value="relaxed">Relaxed</button>
|
|
376
|
-
</div>
|
|
377
|
-
</div>
|
|
378
|
-
|
|
379
|
-
<div class="config-field">
|
|
380
|
-
<div class="config-field-label">Sensitivity Multiplier</div>
|
|
381
|
-
<div class="config-field-desc">Multiplied with EWMA stddev for threshold (auto-filled from preset)</div>
|
|
382
|
-
<div class="config-field-value">
|
|
383
|
-
<input type="number" id="td-multiplier" class="config-number-input" step="0.1" min="0.1" value="1.5">
|
|
384
|
-
</div>
|
|
385
|
-
</div>
|
|
386
|
-
|
|
387
|
-
<div class="config-field">
|
|
388
|
-
<div class="config-field-header">
|
|
389
|
-
<span class="config-field-label">Manual Threshold</span>
|
|
390
|
-
<label class="config-toggle">
|
|
391
|
-
<input type="checkbox" id="td-manual-enabled">
|
|
392
|
-
<span class="config-toggle-slider"></span>
|
|
393
|
-
</label>
|
|
394
|
-
</div>
|
|
395
|
-
<div class="config-field-desc">Override adaptive threshold with a fixed value</div>
|
|
396
|
-
<div class="config-field-value">
|
|
397
|
-
<input type="number" id="td-manual-value" class="config-number-input" step="0.01" min="0" value="0.3" disabled>
|
|
398
|
-
</div>
|
|
399
|
-
</div>
|
|
400
|
-
|
|
401
|
-
<div class="config-field">
|
|
402
|
-
<div class="config-field-label">EWMA Alpha</div>
|
|
403
|
-
<div class="config-field-desc">Decay factor for exponentially weighted moving average (0.01 - 1.0)</div>
|
|
404
|
-
<div class="config-field-value">
|
|
405
|
-
<input type="range" id="td-ewma" class="config-slider" min="0.01" max="1" step="0.01" value="0.3">
|
|
406
|
-
<span id="td-ewma-val" class="config-slider-value">0.30</span>
|
|
407
|
-
</div>
|
|
408
|
-
</div>
|
|
409
|
-
|
|
410
|
-
<div class="config-field">
|
|
411
|
-
<div class="config-field-label">Threshold Bounds</div>
|
|
412
|
-
<div class="config-field-desc">Hard min/max limits for the adaptive threshold</div>
|
|
413
|
-
<div class="config-field-row">
|
|
414
|
-
<div class="config-field-inline">
|
|
415
|
-
<span>Min</span>
|
|
416
|
-
<input type="number" id="td-bounds-min" class="config-number-input" step="0.01" min="0.05" max="0.95" value="0.15">
|
|
417
|
-
</div>
|
|
418
|
-
<div class="config-field-inline">
|
|
419
|
-
<span>Max</span>
|
|
420
|
-
<input type="number" id="td-bounds-max" class="config-number-input" step="0.01" min="0.05" max="0.95" value="0.6">
|
|
421
|
-
</div>
|
|
422
|
-
</div>
|
|
423
|
-
</div>
|
|
424
|
-
</div>
|
|
281
|
+
<div class="config-field-group-label">Fuzzy Deduplication</div>
|
|
425
282
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
283
|
+
<div class="config-field">
|
|
284
|
+
<div class="config-field-label">Max Levenshtein Distance</div>
|
|
285
|
+
<div class="config-field-desc">Maximum edit distance for typo matching</div>
|
|
286
|
+
<div class="config-field-value">
|
|
287
|
+
<input type="number" id="ge-levenshtein" class="config-number-input" min="1" max="10" value="2">
|
|
429
288
|
</div>
|
|
430
289
|
</div>
|
|
431
|
-
</div>
|
|
432
290
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
<div class="config-field">
|
|
437
|
-
<
|
|
438
|
-
|
|
439
|
-
<label class="config-toggle">
|
|
440
|
-
<input type="checkbox" id="ge-enabled" checked>
|
|
441
|
-
<span class="config-toggle-slider"></span>
|
|
442
|
-
</label>
|
|
443
|
-
</div>
|
|
444
|
-
<div class="config-field-desc">Master toggle for knowledge graph extraction</div>
|
|
445
|
-
<span id="ge-status" class="config-section-status enabled" style="margin-top:8px;display:inline-block;">Enabled</span>
|
|
291
|
+
<div class="config-field">
|
|
292
|
+
<div class="config-field-label">Jaccard Threshold</div>
|
|
293
|
+
<div class="config-field-desc">Minimum word-overlap similarity for dedup matching</div>
|
|
294
|
+
<div class="config-field-value">
|
|
295
|
+
<input type="range" id="ge-jaccard" class="config-slider" min="0" max="1" step="0.01" value="0.7">
|
|
296
|
+
<span id="ge-jaccard-val" class="config-slider-value">0.70</span>
|
|
446
297
|
</div>
|
|
298
|
+
</div>
|
|
447
299
|
|
|
448
|
-
|
|
449
|
-
<div class="config-field-group-label">Temporal Decay</div>
|
|
450
|
-
|
|
451
|
-
<div class="config-field">
|
|
452
|
-
<div class="config-field-label">Half-Life (days)</div>
|
|
453
|
-
<div class="config-field-desc">How many days until edge weight decays to 50%</div>
|
|
454
|
-
<div class="config-field-value">
|
|
455
|
-
<input type="number" id="ge-halflife" class="config-number-input" min="1" value="30">
|
|
456
|
-
</div>
|
|
457
|
-
</div>
|
|
458
|
-
|
|
459
|
-
<div class="config-field">
|
|
460
|
-
<div class="config-field-label">Minimum Floor</div>
|
|
461
|
-
<div class="config-field-desc">Lowest weight an edge can decay to before deletion check</div>
|
|
462
|
-
<div class="config-field-value">
|
|
463
|
-
<input type="range" id="ge-minfloor" class="config-slider" min="0" max="0.99" step="0.01" value="0.05">
|
|
464
|
-
<span id="ge-minfloor-val" class="config-slider-value">0.05</span>
|
|
465
|
-
</div>
|
|
466
|
-
</div>
|
|
467
|
-
|
|
468
|
-
<div class="config-field">
|
|
469
|
-
<div class="config-field-label">Deletion Threshold</div>
|
|
470
|
-
<div class="config-field-desc">Edges below this weight are deleted during curation</div>
|
|
471
|
-
<div class="config-field-value">
|
|
472
|
-
<input type="range" id="ge-delthresh" class="config-slider" min="0" max="0.99" step="0.01" value="0.08">
|
|
473
|
-
<span id="ge-delthresh-val" class="config-slider-value">0.08</span>
|
|
474
|
-
</div>
|
|
475
|
-
</div>
|
|
476
|
-
|
|
477
|
-
<div class="config-field">
|
|
478
|
-
<div class="config-field-label">Max Age (days)</div>
|
|
479
|
-
<div class="config-field-desc">Maximum age before forced deletion regardless of weight</div>
|
|
480
|
-
<div class="config-field-value">
|
|
481
|
-
<input type="number" id="ge-maxage" class="config-number-input" min="1" value="180">
|
|
482
|
-
</div>
|
|
483
|
-
</div>
|
|
484
|
-
|
|
485
|
-
<div class="config-field-group-label">Fuzzy Deduplication</div>
|
|
486
|
-
|
|
487
|
-
<div class="config-field">
|
|
488
|
-
<div class="config-field-label">Max Levenshtein Distance</div>
|
|
489
|
-
<div class="config-field-desc">Maximum edit distance for typo matching</div>
|
|
490
|
-
<div class="config-field-value">
|
|
491
|
-
<input type="number" id="ge-levenshtein" class="config-number-input" min="1" max="10" value="2">
|
|
492
|
-
</div>
|
|
493
|
-
</div>
|
|
494
|
-
|
|
495
|
-
<div class="config-field">
|
|
496
|
-
<div class="config-field-label">Jaccard Threshold</div>
|
|
497
|
-
<div class="config-field-desc">Minimum word-overlap similarity for dedup matching</div>
|
|
498
|
-
<div class="config-field-value">
|
|
499
|
-
<input type="range" id="ge-jaccard" class="config-slider" min="0" max="1" step="0.01" value="0.7">
|
|
500
|
-
<span id="ge-jaccard-val" class="config-slider-value">0.70</span>
|
|
501
|
-
</div>
|
|
502
|
-
</div>
|
|
300
|
+
<div class="config-field-group-label">Quality Gate</div>
|
|
503
301
|
|
|
504
|
-
|
|
302
|
+
<div class="config-field">
|
|
303
|
+
<div class="config-field-label">Max Files per Observation</div>
|
|
304
|
+
<div class="config-field-desc">Maximum File nodes extracted from a single observation</div>
|
|
305
|
+
<div class="config-field-value">
|
|
306
|
+
<input type="number" id="ge-maxfiles" class="config-number-input" min="1" value="5">
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
505
309
|
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
</
|
|
310
|
+
<div class="config-field">
|
|
311
|
+
<div class="config-field-label">Type Confidence Thresholds</div>
|
|
312
|
+
<div class="config-field-desc">Minimum confidence to persist each entity type</div>
|
|
313
|
+
<div class="config-threshold-grid" id="ge-thresholds">
|
|
314
|
+
<div class="config-threshold-row">
|
|
315
|
+
<span class="config-threshold-label">File</span>
|
|
316
|
+
<input type="range" class="config-slider" data-type="File" min="0" max="1" step="0.01" value="0.95">
|
|
317
|
+
<span class="config-slider-value">0.95</span>
|
|
512
318
|
</div>
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
<
|
|
516
|
-
<
|
|
517
|
-
<div class="config-threshold-grid" id="ge-thresholds">
|
|
518
|
-
<div class="config-threshold-row">
|
|
519
|
-
<span class="config-threshold-label">File</span>
|
|
520
|
-
<input type="range" class="config-slider" data-type="File" min="0" max="1" step="0.01" value="0.95">
|
|
521
|
-
<span class="config-slider-value">0.95</span>
|
|
522
|
-
</div>
|
|
523
|
-
<div class="config-threshold-row">
|
|
524
|
-
<span class="config-threshold-label">Project</span>
|
|
525
|
-
<input type="range" class="config-slider" data-type="Project" min="0" max="1" step="0.01" value="0.8">
|
|
526
|
-
<span class="config-slider-value">0.80</span>
|
|
527
|
-
</div>
|
|
528
|
-
<div class="config-threshold-row">
|
|
529
|
-
<span class="config-threshold-label">Reference</span>
|
|
530
|
-
<input type="range" class="config-slider" data-type="Reference" min="0" max="1" step="0.01" value="0.85">
|
|
531
|
-
<span class="config-slider-value">0.85</span>
|
|
532
|
-
</div>
|
|
533
|
-
<div class="config-threshold-row">
|
|
534
|
-
<span class="config-threshold-label">Decision</span>
|
|
535
|
-
<input type="range" class="config-slider" data-type="Decision" min="0" max="1" step="0.01" value="0.65">
|
|
536
|
-
<span class="config-slider-value">0.65</span>
|
|
537
|
-
</div>
|
|
538
|
-
<div class="config-threshold-row">
|
|
539
|
-
<span class="config-threshold-label">Problem</span>
|
|
540
|
-
<input type="range" class="config-slider" data-type="Problem" min="0" max="1" step="0.01" value="0.6">
|
|
541
|
-
<span class="config-slider-value">0.60</span>
|
|
542
|
-
</div>
|
|
543
|
-
<div class="config-threshold-row">
|
|
544
|
-
<span class="config-threshold-label">Solution</span>
|
|
545
|
-
<input type="range" class="config-slider" data-type="Solution" min="0" max="1" step="0.01" value="0.6">
|
|
546
|
-
<span class="config-slider-value">0.60</span>
|
|
547
|
-
</div>
|
|
548
|
-
</div>
|
|
319
|
+
<div class="config-threshold-row">
|
|
320
|
+
<span class="config-threshold-label">Project</span>
|
|
321
|
+
<input type="range" class="config-slider" data-type="Project" min="0" max="1" step="0.01" value="0.8">
|
|
322
|
+
<span class="config-slider-value">0.80</span>
|
|
549
323
|
</div>
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
<
|
|
553
|
-
<
|
|
554
|
-
<div class="config-field-value">
|
|
555
|
-
<input type="range" id="ge-filenonchange" class="config-slider" min="0" max="1" step="0.01" value="0.74">
|
|
556
|
-
<span id="ge-filenonchange-val" class="config-slider-value">0.74</span>
|
|
557
|
-
</div>
|
|
324
|
+
<div class="config-threshold-row">
|
|
325
|
+
<span class="config-threshold-label">Reference</span>
|
|
326
|
+
<input type="range" class="config-slider" data-type="Reference" min="0" max="1" step="0.01" value="0.85">
|
|
327
|
+
<span class="config-slider-value">0.85</span>
|
|
558
328
|
</div>
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
<
|
|
562
|
-
|
|
563
|
-
<span>Min Name Length</span>
|
|
564
|
-
<input type="number" id="ge-minname" class="config-number-input" min="1" value="3">
|
|
565
|
-
</div>
|
|
566
|
-
<div class="config-field-inline">
|
|
567
|
-
<span>Max Name Length</span>
|
|
568
|
-
<input type="number" id="ge-maxname" class="config-number-input" min="10" value="200">
|
|
569
|
-
</div>
|
|
570
|
-
</div>
|
|
329
|
+
<div class="config-threshold-row">
|
|
330
|
+
<span class="config-threshold-label">Decision</span>
|
|
331
|
+
<input type="range" class="config-slider" data-type="Decision" min="0" max="1" step="0.01" value="0.65">
|
|
332
|
+
<span class="config-slider-value">0.65</span>
|
|
571
333
|
</div>
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
<div class="config-field-label">Min Edge Confidence</div>
|
|
577
|
-
<div class="config-field-desc">Minimum confidence to persist a relationship edge</div>
|
|
578
|
-
<div class="config-field-value">
|
|
579
|
-
<input type="range" id="ge-minedge" class="config-slider" min="0" max="1" step="0.01" value="0.45">
|
|
580
|
-
<span id="ge-minedge-val" class="config-slider-value">0.45</span>
|
|
581
|
-
</div>
|
|
334
|
+
<div class="config-threshold-row">
|
|
335
|
+
<span class="config-threshold-label">Problem</span>
|
|
336
|
+
<input type="range" class="config-slider" data-type="Problem" min="0" max="1" step="0.01" value="0.6">
|
|
337
|
+
<span class="config-slider-value">0.60</span>
|
|
582
338
|
</div>
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
<div class="config-field-label">Min Content Length</div>
|
|
588
|
-
<div class="config-field-desc">Minimum characters required to process an observation</div>
|
|
589
|
-
<div class="config-field-value">
|
|
590
|
-
<input type="number" id="ge-mincontent" class="config-number-input" min="0" value="30">
|
|
591
|
-
</div>
|
|
339
|
+
<div class="config-threshold-row">
|
|
340
|
+
<span class="config-threshold-label">Solution</span>
|
|
341
|
+
<input type="range" class="config-slider" data-type="Solution" min="0" max="1" step="0.01" value="0.6">
|
|
342
|
+
<span class="config-slider-value">0.60</span>
|
|
592
343
|
</div>
|
|
593
344
|
</div>
|
|
345
|
+
</div>
|
|
594
346
|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
347
|
+
<div class="config-field">
|
|
348
|
+
<div class="config-field-label">File Non-Change Multiplier</div>
|
|
349
|
+
<div class="config-field-desc">Confidence multiplier for File paths from non-change observations</div>
|
|
350
|
+
<div class="config-field-value">
|
|
351
|
+
<input type="range" id="ge-filenonchange" class="config-slider" min="0" max="1" step="0.01" value="0.74">
|
|
352
|
+
<span id="ge-filenonchange-val" class="config-slider-value">0.74</span>
|
|
598
353
|
</div>
|
|
599
354
|
</div>
|
|
600
|
-
</div>
|
|
601
|
-
</div>
|
|
602
355
|
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
<div class="config-field">
|
|
609
|
-
<div class="config-field-label">Verbosity Level</div>
|
|
610
|
-
<div class="config-field-desc">Controls how much detail MCP tool responses include</div>
|
|
611
|
-
<span id="tv-status" class="config-section-status enabled" style="margin-bottom:8px;display:inline-block;">Standard</span>
|
|
612
|
-
<div class="config-radio-group" id="tv-level">
|
|
613
|
-
<button class="config-radio" data-value="1">Minimal</button>
|
|
614
|
-
<button class="config-radio active" data-value="2">Standard</button>
|
|
615
|
-
<button class="config-radio" data-value="3">Verbose</button>
|
|
356
|
+
<div class="config-field">
|
|
357
|
+
<div class="config-field-row">
|
|
358
|
+
<div class="config-field-inline">
|
|
359
|
+
<span>Min Name Length</span>
|
|
360
|
+
<input type="number" id="ge-minname" class="config-number-input" min="1" value="3">
|
|
616
361
|
</div>
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
<div class="config-field-desc" style="margin-top: 4px; line-height: 1.6;">
|
|
621
|
-
<strong>Minimal:</strong> Just confirms the tool ran<br>
|
|
622
|
-
<strong>Standard:</strong> Shows titles and key info<br>
|
|
623
|
-
<strong>Verbose:</strong> Full text with all details
|
|
362
|
+
<div class="config-field-inline">
|
|
363
|
+
<span>Max Name Length</span>
|
|
364
|
+
<input type="number" id="ge-maxname" class="config-number-input" min="10" value="200">
|
|
624
365
|
</div>
|
|
625
366
|
</div>
|
|
367
|
+
</div>
|
|
368
|
+
|
|
369
|
+
<div class="config-field-group-label">Relationship Detector</div>
|
|
626
370
|
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
371
|
+
<div class="config-field">
|
|
372
|
+
<div class="config-field-label">Min Edge Confidence</div>
|
|
373
|
+
<div class="config-field-desc">Minimum confidence to persist a relationship edge</div>
|
|
374
|
+
<div class="config-field-value">
|
|
375
|
+
<input type="range" id="ge-minedge" class="config-slider" min="0" max="1" step="0.01" value="0.45">
|
|
376
|
+
<span id="ge-minedge-val" class="config-slider-value">0.45</span>
|
|
630
377
|
</div>
|
|
631
378
|
</div>
|
|
632
|
-
</div>
|
|
633
379
|
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
<div class="config-
|
|
637
|
-
<
|
|
638
|
-
<
|
|
639
|
-
<div class="
|
|
640
|
-
<
|
|
641
|
-
<div class="cross-access-list-header">Available</div>
|
|
642
|
-
<ul id="ca-available" class="cross-access-items"></ul>
|
|
643
|
-
</div>
|
|
644
|
-
<div class="cross-access-list">
|
|
645
|
-
<div class="cross-access-list-header">Can Read From</div>
|
|
646
|
-
<ul id="ca-readable" class="cross-access-items"></ul>
|
|
647
|
-
</div>
|
|
648
|
-
</div>
|
|
649
|
-
<div class="config-actions">
|
|
650
|
-
<button class="btn-config-save" id="ca-save">Save</button>
|
|
651
|
-
<button class="btn-config-defaults" id="ca-defaults">Reset to Defaults</button>
|
|
380
|
+
<div class="config-field-group-label">Signal Classifier</div>
|
|
381
|
+
|
|
382
|
+
<div class="config-field">
|
|
383
|
+
<div class="config-field-label">Min Content Length</div>
|
|
384
|
+
<div class="config-field-desc">Minimum characters required to process an observation</div>
|
|
385
|
+
<div class="config-field-value">
|
|
386
|
+
<input type="number" id="ge-mincontent" class="config-number-input" min="0" value="30">
|
|
652
387
|
</div>
|
|
653
388
|
</div>
|
|
654
389
|
</div>
|
|
655
|
-
</div>
|
|
656
390
|
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
<div class="settings-scope">
|
|
661
|
-
<label class="scope-radio"><input type="radio" name="reset-scope" value="current" checked> Current project only (<span id="reset-scope-project-name">—</span>)</label>
|
|
662
|
-
<label class="scope-radio"><input type="radio" name="reset-scope" value="all"> All projects</label>
|
|
391
|
+
<div class="config-actions">
|
|
392
|
+
<button class="btn-config-save" id="ge-save">Save</button>
|
|
393
|
+
<button class="btn-config-defaults" id="ge-defaults">Reset to Defaults</button>
|
|
663
394
|
</div>
|
|
395
|
+
</div>
|
|
396
|
+
</div>
|
|
664
397
|
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
398
|
+
<h2 class="settings-heading settings-heading-danger">Danger Zone</h2>
|
|
399
|
+
<div class="settings-scope">
|
|
400
|
+
<label class="scope-radio"><input type="radio" name="reset-scope" value="current" checked> Current project only</label>
|
|
401
|
+
<label class="scope-radio"><input type="radio" name="reset-scope" value="all"> All projects</label>
|
|
402
|
+
</div>
|
|
403
|
+
|
|
404
|
+
<div class="danger-zone">
|
|
405
|
+
<div class="reset-action-card">
|
|
406
|
+
<div class="reset-action-info">
|
|
407
|
+
<h3>Reset Observations</h3>
|
|
408
|
+
<p>Delete all observations, FTS indexes, and vector embeddings.</p>
|
|
409
|
+
</div>
|
|
410
|
+
<button class="btn-danger reset-action-btn" data-reset-type="observations">Reset Observations</button>
|
|
411
|
+
</div>
|
|
412
|
+
<div class="reset-action-card">
|
|
413
|
+
<div class="reset-action-info">
|
|
414
|
+
<h3>Reset Knowledge Graph</h3>
|
|
415
|
+
<p>Delete all graph nodes and edges.</p>
|
|
416
|
+
</div>
|
|
417
|
+
<button class="btn-danger reset-action-btn" data-reset-type="graph">Reset Graph</button>
|
|
418
|
+
</div>
|
|
419
|
+
<div class="reset-action-card">
|
|
420
|
+
<div class="reset-action-info">
|
|
421
|
+
<h3>Reset Sessions & Intelligence</h3>
|
|
422
|
+
<p>Delete all sessions, context stashes, threshold history, and shift decisions.</p>
|
|
423
|
+
</div>
|
|
424
|
+
<button class="btn-danger reset-action-btn" data-reset-type="sessions">Reset Sessions</button>
|
|
425
|
+
</div>
|
|
426
|
+
<div class="reset-action-card reset-action-card-destructive">
|
|
427
|
+
<div class="reset-action-info">
|
|
428
|
+
<h3>Reset Everything</h3>
|
|
429
|
+
<p>Delete all data across all table groups. This cannot be undone.</p>
|
|
694
430
|
</div>
|
|
431
|
+
<button class="btn-danger-primary reset-action-btn" data-reset-type="all">Reset Everything</button>
|
|
695
432
|
</div>
|
|
696
433
|
</div>
|
|
697
434
|
</div>
|
|
698
435
|
</div>
|
|
699
436
|
|
|
700
437
|
<div id="help-view" class="view-container">
|
|
701
|
-
<div
|
|
438
|
+
<div class="help-container" id="help-content">
|
|
702
439
|
<p class="empty-state">Loading help...</p>
|
|
703
440
|
</div>
|
|
704
441
|
</div>
|
|
@@ -751,6 +488,5 @@
|
|
|
751
488
|
<script src="/activity.js"></script>
|
|
752
489
|
<script src="/settings.js"></script>
|
|
753
490
|
<script src="/help.js"></script>
|
|
754
|
-
<script src="/tools.js"></script>
|
|
755
491
|
</body>
|
|
756
492
|
</html>
|