graphvault-studio 0.1.5 → 0.1.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.6
4
+
5
+ - Remove the global KPI strip from every Studio tab; summary signals now stay in Overview and Operations instead of occupying the main workspace everywhere.
6
+
3
7
  ## 0.1.5
4
8
 
5
9
  - Restore the Object Hierarchy view as an expandable lazy tree with persistent root context instead of a drilldown-only list.
package/dist/admin-ui.js CHANGED
@@ -25,7 +25,7 @@ export const ADMIN_HTML = `<!doctype html>
25
25
  }
26
26
  * { box-sizing: border-box; }
27
27
  body { margin: 0; min-height: 100vh; }
28
- strong, b, .status, .panel-title, .mutation summary, .object-id, .tag, .field-name, .kpi strong { text-shadow: none; }
28
+ strong, b, .status, .panel-title, .mutation summary, .object-id, .tag, .field-name { text-shadow: none; }
29
29
  button, input, select, textarea { font: inherit; }
30
30
  button { border: 1px solid var(--line); background: #fff; border-radius: 7px; cursor: pointer; }
31
31
  button:hover { border-color: #98aab3; background: #f6fafb; }
@@ -51,11 +51,7 @@ export const ADMIN_HTML = `<!doctype html>
51
51
  .topbar h1 { margin: 0; font-family: "Avenir Next", "SF Pro Display", "Aptos Display", "Inter", ui-sans-serif, system-ui, sans-serif; font-size: 24px; letter-spacing: 0; font-weight: 600; }
52
52
  .auth { display: none; grid-template-columns: minmax(160px, 280px) auto; gap: 8px; }
53
53
  .workspace { padding: 18px; display: grid; gap: 14px; }
54
- .kpis { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; }
55
- .kpi, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 10px 28px rgba(15, 35, 45, 0.05); }
56
- .kpi { padding: 14px; display: grid; gap: 8px; min-height: 94px; }
57
- .kpi span { color: var(--muted); font-size: 13px; }
58
- .kpi strong { font-size: 28px; line-height: 1; overflow-wrap: anywhere; font-weight: 600; }
54
+ .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 10px 28px rgba(15, 35, 45, 0.05); }
59
55
  .workgrid { display: grid; grid-template-columns: minmax(330px, 500px) minmax(560px, 1fr); gap: 14px; min-height: 0; }
60
56
  .panel { min-width: 0; overflow: hidden; }
61
57
  .panel-head { padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); background: #fbfdfd; }
@@ -118,7 +114,7 @@ export const ADMIN_HTML = `<!doctype html>
118
114
  .field-actions { grid-area: actions; justify-content: flex-start; }
119
115
  }
120
116
  @media (max-width: 980px) {
121
- .shell, .kpis, .mutation-grid, .audit-grid, .topbar, .fields-head { grid-template-columns: 1fr; }
117
+ .shell, .mutation-grid, .audit-grid, .topbar, .fields-head { grid-template-columns: 1fr; }
122
118
  .gvql-actions, .gvql-parameter-row { grid-template-columns: 1fr; }
123
119
  nav { grid-template-rows: auto; gap: 10px; padding: 12px; }
124
120
  .brand { grid-template-columns: 42px 1fr; padding-bottom: 2px; }
@@ -167,7 +163,6 @@ export const ADMIN_HTML = `<!doctype html>
167
163
  <span class="status" id="status">loading</span>
168
164
  </header>
169
165
  <main class="workspace">
170
- <div class="kpis" id="kpis"></div>
171
166
  <div class="workgrid">
172
167
  <div class="panel">
173
168
  <div class="panel-head"><span class="panel-title" id="listTitle">Objects</span><span class="hint" id="listHint">Select a record</span></div>
@@ -220,7 +215,6 @@ OFFSET 0</textarea>
220
215
  const viz = document.getElementById('viz');
221
216
  const fields = document.getElementById('fields');
222
217
  const list = document.getElementById('list');
223
- const kpis = document.getElementById('kpis');
224
218
  const status = document.getElementById('status');
225
219
  const title = document.getElementById('title');
226
220
  const subtitle = document.getElementById('subtitle');
@@ -300,7 +294,6 @@ OFFSET 0</textarea>
300
294
  return value;
301
295
  };
302
296
  const postJson = (url, body) => requestJson(url, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(body) });
303
- const kpi = (label, value) => '<div class="kpi"><span>' + esc(label) + '</span><strong>' + esc(value) + '</strong></div>';
304
297
  function setRows(rows, emptyText) {
305
298
  if (!rows.length) {
306
299
  const empty = document.createElement('div');
@@ -326,16 +319,7 @@ OFFSET 0</textarea>
326
319
  }));
327
320
  }
328
321
  async function refreshKpis() {
329
- const summary = await requestJson('/api/summary?verify=false');
330
- const hardening = summary.hardening || {};
331
- const ops = summary.operations || {};
332
- const library = summary.library || {};
333
- const safety = summary.productionSafety || {};
334
- const walLabel = (hardening.transactionLog || '-') + (typeof ops.pendingWalCommits === 'number' ? ' / ' + ops.pendingWalCommits + ' pending' : '');
335
- const libraryLabel = (library.installedVersion || '-') + (library.status === 'warning' ? ' warning' : '');
336
- const safetyLabel = (safety.status || '-') + (typeof safety.score === 'number' ? ' / ' + safety.score : '');
337
- kpis.innerHTML = kpi('Objects', summary.objectCount) + kpi('Transaction', summary.transactionId) + kpi('Safety', safetyLabel) + kpi('Library', libraryLabel) + kpi('WAL', walLabel) + kpi('Lock', hardening.writerLock || '-') + kpi('Ops', ops.status || '-') + kpi('Snapshot', summary.currentSnapshot || '-');
338
- return summary;
322
+ return apiJson('/api/summary?verify=false');
339
323
  }
340
324
  async function showHierarchy() {
341
325
  setView('hierarchy');
@@ -1 +1 @@
1
- {"version":3,"file":"admin-ui.js","sourceRoot":"","sources":["../src/admin-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmOC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkyBvD,CAAC"}
1
+ {"version":3,"file":"admin-ui.js","sourceRoot":"","sources":["../src/admin-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA6NC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwxBvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphvault-studio",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Graphical admin client for GraphVault object graph stores.",
5
5
  "repository": {
6
6
  "type": "git",