orez 0.1.32 → 0.1.35

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":"server.d.ts","sourceRoot":"","sources":["../../src/admin/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAGZ,MAAM,WAAW,CAAA;AAKlB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAgBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAqIvE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/admin/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAGZ,MAAM,WAAW,CAAA;AAKlB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAgBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgJvE"}
@@ -25,7 +25,18 @@ export function startAdminServer(opts) {
25
25
  }
26
26
  const url = new URL(req.url || '/', 'http://localhost:' + opts.port);
27
27
  try {
28
- if (req.method === 'GET' && url.pathname === '/') {
28
+ const uiPaths = new Set([
29
+ '/',
30
+ '/all',
31
+ '/zero',
32
+ '/pglite',
33
+ '/proxy',
34
+ '/orez',
35
+ '/s3',
36
+ '/http',
37
+ '/env',
38
+ ]);
39
+ if (req.method === 'GET' && uiPaths.has(url.pathname)) {
29
40
  res.writeHead(200, { ...headers, 'Content-Type': 'text/html' });
30
41
  res.end(html);
31
42
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/admin/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/admin/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/admin/ui.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,MAAM,CAgsBrC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/admin/ui.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,MAAM,CAwtBrC"}
package/dist/admin/ui.js CHANGED
@@ -35,14 +35,14 @@ export function getAdminHtml() {
35
35
  '.header {\n' +
36
36
  ' display: flex;\n' +
37
37
  ' align-items: center;\n' +
38
- ' padding: 12px 16px;\n' +
38
+ ' padding: 4px 12px;\n' +
39
39
  ' background: var(--surface);\n' +
40
40
  ' border-bottom: 0.5px solid var(--border);\n' +
41
- ' gap: 12px;\n' +
41
+ ' gap: 8px;\n' +
42
42
  ' flex-shrink: 0;\n' +
43
43
  '}\n' +
44
44
  '.header .logo {\n' +
45
- ' font-size: 15px;\n' +
45
+ ' font-size: 12px;\n' +
46
46
  ' font-weight: 700;\n' +
47
47
  ' color: var(--accent);\n' +
48
48
  ' letter-spacing: -0.5px;\n' +
@@ -50,12 +50,12 @@ export function getAdminHtml() {
50
50
  '.badge {\n' +
51
51
  ' display: inline-flex;\n' +
52
52
  ' align-items: center;\n' +
53
- ' padding: 2px 8px;\n' +
53
+ ' padding: 1px 6px;\n' +
54
54
  ' border-radius: 12px;\n' +
55
- ' font-size: 11px;\n' +
55
+ ' font-size: 10px;\n' +
56
56
  ' border: 0.5px solid var(--border);\n' +
57
57
  ' color: var(--text-dim);\n' +
58
- ' gap: 4px;\n' +
58
+ ' gap: 3px;\n' +
59
59
  '}\n' +
60
60
  '.badge .dot {\n' +
61
61
  ' width: 6px;\n' +
@@ -66,15 +66,15 @@ export function getAdminHtml() {
66
66
  '.spacer { flex: 1; }\n' +
67
67
  '.tabs {\n' +
68
68
  ' display: flex;\n' +
69
- ' padding: 0 16px;\n' +
69
+ ' padding: 0 12px;\n' +
70
70
  ' background: var(--surface);\n' +
71
71
  ' border-bottom: 0.5px solid var(--border);\n' +
72
- ' gap: 2px;\n' +
72
+ ' gap: 0;\n' +
73
73
  ' flex-shrink: 0;\n' +
74
74
  '}\n' +
75
75
  '.tab {\n' +
76
- ' padding: 8px 14px;\n' +
77
- ' font-size: 12px;\n' +
76
+ ' padding: 4px 10px;\n' +
77
+ ' font-size: 11px;\n' +
78
78
  ' color: var(--text-dim);\n' +
79
79
  ' cursor: pointer;\n' +
80
80
  ' border-bottom: 2px solid transparent;\n' +
@@ -93,13 +93,13 @@ export function getAdminHtml() {
93
93
  '.toolbar {\n' +
94
94
  ' display: flex;\n' +
95
95
  ' align-items: center;\n' +
96
- ' padding: 8px 16px;\n' +
97
- ' gap: 10px;\n' +
96
+ ' padding: 3px 12px;\n' +
97
+ ' gap: 8px;\n' +
98
98
  ' border-bottom: 0.5px solid var(--border);\n' +
99
99
  ' flex-shrink: 0;\n' +
100
100
  '}\n' +
101
101
  '.toolbar label {\n' +
102
- ' font-size: 11px;\n' +
102
+ ' font-size: 10px;\n' +
103
103
  ' color: var(--text-dim);\n' +
104
104
  ' text-transform: uppercase;\n' +
105
105
  ' letter-spacing: 0.5px;\n' +
@@ -108,9 +108,9 @@ export function getAdminHtml() {
108
108
  ' background: var(--surface);\n' +
109
109
  ' color: var(--text);\n' +
110
110
  ' border: 0.5px solid var(--border);\n' +
111
- ' border-radius: 6px;\n' +
112
- ' padding: 4px 8px;\n' +
113
- ' font-size: 12px;\n' +
111
+ ' border-radius: 4px;\n' +
112
+ ' padding: 2px 6px;\n' +
113
+ ' font-size: 11px;\n' +
114
114
  ' font-family: inherit;\n' +
115
115
  ' cursor: pointer;\n' +
116
116
  '}\n' +
@@ -119,23 +119,23 @@ export function getAdminHtml() {
119
119
  ' background: var(--surface);\n' +
120
120
  ' color: var(--text);\n' +
121
121
  ' border: 0.5px solid var(--border);\n' +
122
- ' border-radius: 6px;\n' +
123
- ' padding: 4px 8px;\n' +
124
- ' font-size: 12px;\n' +
122
+ ' border-radius: 4px;\n' +
123
+ ' padding: 2px 6px;\n' +
124
+ ' font-size: 11px;\n' +
125
125
  ' font-family: inherit;\n' +
126
- ' width: 200px;\n' +
126
+ ' width: 180px;\n' +
127
127
  '}\n' +
128
128
  '.toolbar input[type="text"]:focus { outline: none; border-color: var(--accent); }\n' +
129
129
  '.toolbar input[type="text"]::placeholder { color: var(--text-dim); }\n' +
130
130
  '.sep { width: 1px; height: 20px; background: var(--border); }\n' +
131
131
  '.action-btn {\n' +
132
- ' padding: 5px 12px;\n' +
133
- ' border-radius: 6px;\n' +
132
+ ' padding: 2px 8px;\n' +
133
+ ' border-radius: 4px;\n' +
134
134
  ' border: 1px solid;\n' +
135
135
  ' background: transparent;\n' +
136
136
  ' cursor: pointer;\n' +
137
137
  ' font-family: inherit;\n' +
138
- ' font-size: 11px;\n' +
138
+ ' font-size: 10px;\n' +
139
139
  ' transition: all 0.15s ease;\n' +
140
140
  ' white-space: nowrap;\n' +
141
141
  '}\n' +
@@ -163,9 +163,9 @@ export function getAdminHtml() {
163
163
  '.log-view {\n' +
164
164
  ' height: 100%;\n' +
165
165
  ' overflow-y: auto;\n' +
166
- ' padding: 8px 16px;\n' +
167
- ' font-size: 12px;\n' +
168
- ' line-height: 1.5;\n' +
166
+ ' padding: 4px 12px;\n' +
167
+ ' font-size: 11px;\n' +
168
+ ' line-height: 1.4;\n' +
169
169
  '}\n' +
170
170
  '.log-line { white-space: pre-wrap; word-break: break-all; }\n' +
171
171
  '.log-line .ts { color: var(--text-dim); }\n' +
@@ -290,27 +290,12 @@ export function getAdminHtml() {
290
290
  '}\n' +
291
291
  '.http-detail .hdr-key { color: var(--accent); }\n' +
292
292
  '.http-detail .hdr-val { color: var(--text-dim); }\n' +
293
- // actions panel
294
- '.actions-panel {\n' +
295
- ' flex-shrink: 0;\n' +
296
- ' border-top: 0.5px solid var(--border);\n' +
297
- ' background: var(--surface);\n' +
298
- ' padding: 8px 16px;\n' +
299
- '}\n' +
300
- '.action-row {\n' +
293
+ '.toolbar-actions {\n' +
301
294
  ' display: flex;\n' +
302
295
  ' align-items: center;\n' +
303
- ' gap: 8px;\n' +
304
- ' padding: 4px 0;\n' +
296
+ ' gap: 6px;\n' +
297
+ ' margin-left: auto;\n' +
305
298
  '}\n' +
306
- '.action-label {\n' +
307
- ' font-size: 11px;\n' +
308
- ' font-weight: 600;\n' +
309
- ' width: 7ch;\n' +
310
- ' flex-shrink: 0;\n' +
311
- '}\n' +
312
- '.action-label.zero { color: var(--purple); }\n' +
313
- '.action-label.logs { color: var(--text-dim); }\n' +
314
299
  // toast
315
300
  '.toast {\n' +
316
301
  ' position: fixed;\n' +
@@ -335,7 +320,7 @@ export function getAdminHtml() {
335
320
  '</style>\n' +
336
321
  '</head>\n' +
337
322
  '<body>\n' +
338
- ' <div class="header">\n' +
323
+ ' <div class="header" id="admin-header">\n' +
339
324
  ' <span class="logo">&#9670; oreZ admin</span>\n' +
340
325
  ' <div class="spacer"></div>\n' +
341
326
  ' <span class="badge"><span class="dot"></span> pg <span id="pg-port">-</span></span>\n' +
@@ -364,11 +349,34 @@ export function getAdminHtml() {
364
349
  ' <option value="info">info+</option>\n' +
365
350
  ' <option value="debug">debug+</option>\n' +
366
351
  ' </select>\n' +
352
+ ' <div class="toolbar-actions" id="toolbar-log-actions">\n' +
353
+ ' <button class="action-btn gray" onclick="doAction(\'clear-logs\', this)">&#x2715; Clear</button>\n' +
354
+ ' </div>\n' +
355
+ ' </div>\n' +
356
+ '\n' +
357
+ ' <div class="toolbar" id="zero-toolbar" style="display:none">\n' +
358
+ ' <label>Level</label>\n' +
359
+ ' <select id="zero-level-filter">\n' +
360
+ ' <option value="">all levels</option>\n' +
361
+ ' <option value="error">error only</option>\n' +
362
+ ' <option value="warn">warn+</option>\n' +
363
+ ' <option value="info" selected>info+</option>\n' +
364
+ ' <option value="debug">debug+</option>\n' +
365
+ ' </select>\n' +
366
+ ' <div class="toolbar-actions">\n' +
367
+ ' <button class="action-btn blue" data-zero-action onclick="doAction(\'restart-zero\', this)">&#x21bb; Restart</button>\n' +
368
+ ' <button class="action-btn orange" data-zero-action onclick="doAction(\'reset-zero\', this)">&#x21ba; Reset</button>\n' +
369
+ ' <button class="action-btn red" data-zero-action onclick="doAction(\'reset-zero-full\', this)">&#x26a0; Full</button>\n' +
370
+ ' <button class="action-btn gray" onclick="doAction(\'clear-logs\', this)">&#x2715; Clear</button>\n' +
371
+ ' </div>\n' +
367
372
  ' </div>\n' +
368
373
  '\n' +
369
374
  ' <div class="toolbar" id="http-toolbar" style="display:none">\n' +
370
375
  ' <label>Filter</label>\n' +
371
376
  ' <input type="text" id="http-path-filter" placeholder="filter by path...">\n' +
377
+ ' <div class="toolbar-actions">\n' +
378
+ ' <button class="action-btn gray" onclick="doAction(\'clear-http\', this)">&#x2715; Clear</button>\n' +
379
+ ' </div>\n' +
372
380
  ' </div>\n' +
373
381
  '\n' +
374
382
  ' <div class="content-area">\n' +
@@ -395,32 +403,23 @@ export function getAdminHtml() {
395
403
  ' </div>\n' +
396
404
  ' <button class="jump-btn" id="jump-btn" onclick="jumpToBottom()">&#x2193; Jump to bottom</button>\n' +
397
405
  ' </div>\n' +
398
- '\n' +
399
- ' <div class="actions-panel" id="actions-panel">\n' +
400
- ' <div class="action-row">\n' +
401
- ' <span class="action-label zero">zero</span>\n' +
402
- ' <button class="action-btn blue" data-zero-action onclick="doAction(\'restart-zero\', this)">&#x21bb; Restart</button>\n' +
403
- ' <button class="action-btn orange" data-zero-action onclick="doAction(\'reset-zero\', this)">&#x21ba; Reset</button>\n' +
404
- ' <button class="action-btn red" data-zero-action onclick="doAction(\'reset-zero-full\', this)">&#x26a0; Full Reset</button>\n' +
405
- ' </div>\n' +
406
- ' <div class="action-row">\n' +
407
- ' <span class="action-label logs">logs</span>\n' +
408
- ' <button class="action-btn gray" onclick="doAction(\'clear-logs\', this)">&#x2715; Clear Logs</button>\n' +
409
- ' <button class="action-btn gray" onclick="doAction(\'clear-http\', this)">&#x2715; Clear HTTP</button>\n' +
410
- ' </div>\n' +
411
- ' </div>\n' +
412
406
  ' </div>\n' +
413
407
  '\n' +
414
408
  ' <div class="toast" id="toast"></div>\n' +
415
409
  '\n' +
416
410
  '<script>\n' +
417
- 'var activeSource = "";\n' +
418
- 'var activeLevel = "";\n' +
411
+ '// resolve initial tab from url path\n' +
412
+ 'var pathMap = {"/":"","/all":"","/zero":"zero","/pglite":"pglite","/proxy":"proxy","/orez":"orez","/s3":"s3","/http":"http","/env":"env"};\n' +
413
+ 'var initPath = window.location.pathname.replace(/\\/$/, "") || "/";\n' +
414
+ 'var initSource = pathMap[initPath] !== undefined ? pathMap[initPath] : "";\n' +
415
+ 'var standalone = initPath !== "/" && initPath !== "/all";\n' +
416
+ 'var activeSource = initSource;\n' +
417
+ 'var activeLevel = initSource === "zero" ? "info" : "";\n' +
419
418
  'var lastCursor = 0;\n' +
420
419
  'var autoScroll = true;\n' +
421
420
  'var envLoaded = false;\n' +
422
- 'var isEnvTab = false;\n' +
423
- 'var isHttpTab = false;\n' +
421
+ 'var isEnvTab = initSource === "env";\n' +
422
+ 'var isHttpTab = initSource === "http";\n' +
424
423
  'var httpCursor = 0;\n' +
425
424
  'var httpAutoScroll = true;\n' +
426
425
  '\n' +
@@ -430,20 +429,21 @@ export function getAdminHtml() {
430
429
  'var jumpBtn = document.getElementById("jump-btn");\n' +
431
430
  'var toastEl = document.getElementById("toast");\n' +
432
431
  'var toolbar = document.getElementById("toolbar");\n' +
432
+ 'var zeroToolbar = document.getElementById("zero-toolbar");\n' +
433
433
  'var httpToolbar = document.getElementById("http-toolbar");\n' +
434
434
  '\n' +
435
- 'document.getElementById("tab-bar").addEventListener("click", function(e) {\n' +
436
- ' var tab = e.target.closest(".tab");\n' +
437
- ' if (!tab) return;\n' +
438
- ' document.querySelectorAll(".tab").forEach(function(t) { t.classList.remove("active"); });\n' +
439
- ' tab.classList.add("active");\n' +
440
- ' var source = tab.dataset.source;\n' +
435
+ 'function sourceToPath(s) { return s ? "/" + s : "/"; }\n' +
436
+ '\n' +
437
+ 'function switchTab(source, pushState) {\n' +
441
438
  ' isEnvTab = source === "env";\n' +
442
439
  ' isHttpTab = source === "http";\n' +
440
+ ' var isZero = source === "zero";\n' +
441
+ ' if (pushState) history.pushState(null, "", sourceToPath(source));\n' +
443
442
  ' logView.style.display = "none";\n' +
444
443
  ' envView.style.display = "none";\n' +
445
444
  ' httpView.style.display = "none";\n' +
446
445
  ' toolbar.style.display = "none";\n' +
446
+ ' zeroToolbar.style.display = "none";\n' +
447
447
  ' httpToolbar.style.display = "none";\n' +
448
448
  ' if (isEnvTab) {\n' +
449
449
  ' envView.style.display = "block";\n' +
@@ -456,22 +456,34 @@ export function getAdminHtml() {
456
456
  ' fetchHttp();\n' +
457
457
  ' } else {\n' +
458
458
  ' logView.style.display = "block";\n' +
459
- ' toolbar.style.display = "flex";\n' +
460
459
  ' activeSource = source;\n' +
461
- ' // default zero tab to info level (too verbose otherwise)\n' +
462
- ' var levelSelect = document.getElementById("level-filter");\n' +
463
- ' if (source === "zero") {\n' +
460
+ ' if (isZero) {\n' +
461
+ ' zeroToolbar.style.display = "flex";\n' +
464
462
  ' activeLevel = "info";\n' +
465
- ' levelSelect.value = "info";\n' +
466
- ' } else if (activeLevel === "info" && levelSelect.value === "info") {\n' +
467
- ' // reset to all levels when leaving zero tab if still on info\n' +
468
- ' activeLevel = "";\n' +
469
- ' levelSelect.value = "";\n' +
463
+ ' } else {\n' +
464
+ ' toolbar.style.display = "flex";\n' +
465
+ ' if (activeLevel === "info") { activeLevel = ""; document.getElementById("level-filter").value = ""; }\n' +
470
466
  ' }\n' +
471
467
  ' lastCursor = 0;\n' +
472
468
  ' logView.innerHTML = "";\n' +
473
469
  ' fetchLogs();\n' +
474
470
  ' }\n' +
471
+ '}\n' +
472
+ '\n' +
473
+ '// standalone mode: hide header + tabs\n' +
474
+ 'if (standalone) {\n' +
475
+ ' document.getElementById("admin-header").style.display = "none";\n' +
476
+ ' document.getElementById("tab-bar").style.display = "none";\n' +
477
+ '}\n' +
478
+ '// activate initial tab\n' +
479
+ 'switchTab(initSource, false);\n' +
480
+ '\n' +
481
+ 'document.getElementById("tab-bar").addEventListener("click", function(e) {\n' +
482
+ ' var tab = e.target.closest(".tab");\n' +
483
+ ' if (!tab) return;\n' +
484
+ ' document.querySelectorAll(".tab").forEach(function(t) { t.classList.remove("active"); });\n' +
485
+ ' tab.classList.add("active");\n' +
486
+ ' switchTab(tab.dataset.source, true);\n' +
475
487
  '});\n' +
476
488
  '\n' +
477
489
  'document.getElementById("level-filter").addEventListener("change", function(e) {\n' +
@@ -481,6 +493,13 @@ export function getAdminHtml() {
481
493
  ' fetchLogs();\n' +
482
494
  '});\n' +
483
495
  '\n' +
496
+ 'document.getElementById("zero-level-filter").addEventListener("change", function(e) {\n' +
497
+ ' activeLevel = e.target.value;\n' +
498
+ ' lastCursor = 0;\n' +
499
+ ' logView.innerHTML = "";\n' +
500
+ ' fetchLogs();\n' +
501
+ '});\n' +
502
+ '\n' +
484
503
  'var httpFilterTimeout = null;\n' +
485
504
  'document.getElementById("http-path-filter").addEventListener("input", function() {\n' +
486
505
  ' clearTimeout(httpFilterTimeout);\n' +
@@ -683,7 +702,6 @@ export function getAdminHtml() {
683
702
  ' setTimeout(function() { toastEl.className = "toast"; }, 2500);\n' +
684
703
  '}\n' +
685
704
  '\n' +
686
- 'fetchLogs();\n' +
687
705
  'fetchStatus();\n' +
688
706
  'setInterval(function() {\n' +
689
707
  ' if (document.hidden) return;\n' +
@@ -697,6 +715,12 @@ export function getAdminHtml() {
697
715
  ' else if (!isEnvTab) fetchLogs();\n' +
698
716
  ' fetchStatus();\n' +
699
717
  '});\n' +
718
+ 'window.addEventListener("popstate", function() {\n' +
719
+ ' var p = window.location.pathname.replace(/\\/$/, "") || "/";\n' +
720
+ ' var s = pathMap[p] !== undefined ? pathMap[p] : "";\n' +
721
+ ' var tab = document.querySelector(".tab[data-source=\\"" + s + "\\"]");\n' +
722
+ ' if (tab) tab.click();\n' +
723
+ '});\n' +
700
724
  '</script>\n' +
701
725
  '</body>\n' +
702
726
  '</html>');
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/admin/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/admin/ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.1.32",
3
+ "version": "0.1.35",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -50,9 +50,9 @@
50
50
  "release": "bun scripts/release.ts"
51
51
  },
52
52
  "dependencies": {
53
- "@electric-sql/pglite": "^0.3.15",
53
+ "@electric-sql/pglite": "0.3.16",
54
54
  "@electric-sql/pglite-tools": "^0.2.20",
55
- "bedrock-sqlite": "0.1.32",
55
+ "bedrock-sqlite": "0.1.35",
56
56
  "citty": "^0.2.0",
57
57
  "pg-gateway": "0.3.0-beta.4",
58
58
  "pgsql-parser": "^17.9.11",
@@ -59,7 +59,18 @@ export function startAdminServer(opts: AdminServerOpts): Promise<Server> {
59
59
  const url = new URL(req.url || '/', 'http://localhost:' + opts.port)
60
60
 
61
61
  try {
62
- if (req.method === 'GET' && url.pathname === '/') {
62
+ const uiPaths = new Set([
63
+ '/',
64
+ '/all',
65
+ '/zero',
66
+ '/pglite',
67
+ '/proxy',
68
+ '/orez',
69
+ '/s3',
70
+ '/http',
71
+ '/env',
72
+ ])
73
+ if (req.method === 'GET' && uiPaths.has(url.pathname)) {
63
74
  res.writeHead(200, { ...headers, 'Content-Type': 'text/html' })
64
75
  res.end(html)
65
76
  return
package/src/admin/ui.ts CHANGED
@@ -36,14 +36,14 @@ export function getAdminHtml(): string {
36
36
  '.header {\n' +
37
37
  ' display: flex;\n' +
38
38
  ' align-items: center;\n' +
39
- ' padding: 12px 16px;\n' +
39
+ ' padding: 4px 12px;\n' +
40
40
  ' background: var(--surface);\n' +
41
41
  ' border-bottom: 0.5px solid var(--border);\n' +
42
- ' gap: 12px;\n' +
42
+ ' gap: 8px;\n' +
43
43
  ' flex-shrink: 0;\n' +
44
44
  '}\n' +
45
45
  '.header .logo {\n' +
46
- ' font-size: 15px;\n' +
46
+ ' font-size: 12px;\n' +
47
47
  ' font-weight: 700;\n' +
48
48
  ' color: var(--accent);\n' +
49
49
  ' letter-spacing: -0.5px;\n' +
@@ -51,12 +51,12 @@ export function getAdminHtml(): string {
51
51
  '.badge {\n' +
52
52
  ' display: inline-flex;\n' +
53
53
  ' align-items: center;\n' +
54
- ' padding: 2px 8px;\n' +
54
+ ' padding: 1px 6px;\n' +
55
55
  ' border-radius: 12px;\n' +
56
- ' font-size: 11px;\n' +
56
+ ' font-size: 10px;\n' +
57
57
  ' border: 0.5px solid var(--border);\n' +
58
58
  ' color: var(--text-dim);\n' +
59
- ' gap: 4px;\n' +
59
+ ' gap: 3px;\n' +
60
60
  '}\n' +
61
61
  '.badge .dot {\n' +
62
62
  ' width: 6px;\n' +
@@ -67,15 +67,15 @@ export function getAdminHtml(): string {
67
67
  '.spacer { flex: 1; }\n' +
68
68
  '.tabs {\n' +
69
69
  ' display: flex;\n' +
70
- ' padding: 0 16px;\n' +
70
+ ' padding: 0 12px;\n' +
71
71
  ' background: var(--surface);\n' +
72
72
  ' border-bottom: 0.5px solid var(--border);\n' +
73
- ' gap: 2px;\n' +
73
+ ' gap: 0;\n' +
74
74
  ' flex-shrink: 0;\n' +
75
75
  '}\n' +
76
76
  '.tab {\n' +
77
- ' padding: 8px 14px;\n' +
78
- ' font-size: 12px;\n' +
77
+ ' padding: 4px 10px;\n' +
78
+ ' font-size: 11px;\n' +
79
79
  ' color: var(--text-dim);\n' +
80
80
  ' cursor: pointer;\n' +
81
81
  ' border-bottom: 2px solid transparent;\n' +
@@ -94,13 +94,13 @@ export function getAdminHtml(): string {
94
94
  '.toolbar {\n' +
95
95
  ' display: flex;\n' +
96
96
  ' align-items: center;\n' +
97
- ' padding: 8px 16px;\n' +
98
- ' gap: 10px;\n' +
97
+ ' padding: 3px 12px;\n' +
98
+ ' gap: 8px;\n' +
99
99
  ' border-bottom: 0.5px solid var(--border);\n' +
100
100
  ' flex-shrink: 0;\n' +
101
101
  '}\n' +
102
102
  '.toolbar label {\n' +
103
- ' font-size: 11px;\n' +
103
+ ' font-size: 10px;\n' +
104
104
  ' color: var(--text-dim);\n' +
105
105
  ' text-transform: uppercase;\n' +
106
106
  ' letter-spacing: 0.5px;\n' +
@@ -109,9 +109,9 @@ export function getAdminHtml(): string {
109
109
  ' background: var(--surface);\n' +
110
110
  ' color: var(--text);\n' +
111
111
  ' border: 0.5px solid var(--border);\n' +
112
- ' border-radius: 6px;\n' +
113
- ' padding: 4px 8px;\n' +
114
- ' font-size: 12px;\n' +
112
+ ' border-radius: 4px;\n' +
113
+ ' padding: 2px 6px;\n' +
114
+ ' font-size: 11px;\n' +
115
115
  ' font-family: inherit;\n' +
116
116
  ' cursor: pointer;\n' +
117
117
  '}\n' +
@@ -120,23 +120,23 @@ export function getAdminHtml(): string {
120
120
  ' background: var(--surface);\n' +
121
121
  ' color: var(--text);\n' +
122
122
  ' border: 0.5px solid var(--border);\n' +
123
- ' border-radius: 6px;\n' +
124
- ' padding: 4px 8px;\n' +
125
- ' font-size: 12px;\n' +
123
+ ' border-radius: 4px;\n' +
124
+ ' padding: 2px 6px;\n' +
125
+ ' font-size: 11px;\n' +
126
126
  ' font-family: inherit;\n' +
127
- ' width: 200px;\n' +
127
+ ' width: 180px;\n' +
128
128
  '}\n' +
129
129
  '.toolbar input[type="text"]:focus { outline: none; border-color: var(--accent); }\n' +
130
130
  '.toolbar input[type="text"]::placeholder { color: var(--text-dim); }\n' +
131
131
  '.sep { width: 1px; height: 20px; background: var(--border); }\n' +
132
132
  '.action-btn {\n' +
133
- ' padding: 5px 12px;\n' +
134
- ' border-radius: 6px;\n' +
133
+ ' padding: 2px 8px;\n' +
134
+ ' border-radius: 4px;\n' +
135
135
  ' border: 1px solid;\n' +
136
136
  ' background: transparent;\n' +
137
137
  ' cursor: pointer;\n' +
138
138
  ' font-family: inherit;\n' +
139
- ' font-size: 11px;\n' +
139
+ ' font-size: 10px;\n' +
140
140
  ' transition: all 0.15s ease;\n' +
141
141
  ' white-space: nowrap;\n' +
142
142
  '}\n' +
@@ -164,9 +164,9 @@ export function getAdminHtml(): string {
164
164
  '.log-view {\n' +
165
165
  ' height: 100%;\n' +
166
166
  ' overflow-y: auto;\n' +
167
- ' padding: 8px 16px;\n' +
168
- ' font-size: 12px;\n' +
169
- ' line-height: 1.5;\n' +
167
+ ' padding: 4px 12px;\n' +
168
+ ' font-size: 11px;\n' +
169
+ ' line-height: 1.4;\n' +
170
170
  '}\n' +
171
171
  '.log-line { white-space: pre-wrap; word-break: break-all; }\n' +
172
172
  '.log-line .ts { color: var(--text-dim); }\n' +
@@ -291,27 +291,12 @@ export function getAdminHtml(): string {
291
291
  '}\n' +
292
292
  '.http-detail .hdr-key { color: var(--accent); }\n' +
293
293
  '.http-detail .hdr-val { color: var(--text-dim); }\n' +
294
- // actions panel
295
- '.actions-panel {\n' +
296
- ' flex-shrink: 0;\n' +
297
- ' border-top: 0.5px solid var(--border);\n' +
298
- ' background: var(--surface);\n' +
299
- ' padding: 8px 16px;\n' +
300
- '}\n' +
301
- '.action-row {\n' +
294
+ '.toolbar-actions {\n' +
302
295
  ' display: flex;\n' +
303
296
  ' align-items: center;\n' +
304
- ' gap: 8px;\n' +
305
- ' padding: 4px 0;\n' +
297
+ ' gap: 6px;\n' +
298
+ ' margin-left: auto;\n' +
306
299
  '}\n' +
307
- '.action-label {\n' +
308
- ' font-size: 11px;\n' +
309
- ' font-weight: 600;\n' +
310
- ' width: 7ch;\n' +
311
- ' flex-shrink: 0;\n' +
312
- '}\n' +
313
- '.action-label.zero { color: var(--purple); }\n' +
314
- '.action-label.logs { color: var(--text-dim); }\n' +
315
300
  // toast
316
301
  '.toast {\n' +
317
302
  ' position: fixed;\n' +
@@ -336,7 +321,7 @@ export function getAdminHtml(): string {
336
321
  '</style>\n' +
337
322
  '</head>\n' +
338
323
  '<body>\n' +
339
- ' <div class="header">\n' +
324
+ ' <div class="header" id="admin-header">\n' +
340
325
  ' <span class="logo">&#9670; oreZ admin</span>\n' +
341
326
  ' <div class="spacer"></div>\n' +
342
327
  ' <span class="badge"><span class="dot"></span> pg <span id="pg-port">-</span></span>\n' +
@@ -365,11 +350,34 @@ export function getAdminHtml(): string {
365
350
  ' <option value="info">info+</option>\n' +
366
351
  ' <option value="debug">debug+</option>\n' +
367
352
  ' </select>\n' +
353
+ ' <div class="toolbar-actions" id="toolbar-log-actions">\n' +
354
+ ' <button class="action-btn gray" onclick="doAction(\'clear-logs\', this)">&#x2715; Clear</button>\n' +
355
+ ' </div>\n' +
356
+ ' </div>\n' +
357
+ '\n' +
358
+ ' <div class="toolbar" id="zero-toolbar" style="display:none">\n' +
359
+ ' <label>Level</label>\n' +
360
+ ' <select id="zero-level-filter">\n' +
361
+ ' <option value="">all levels</option>\n' +
362
+ ' <option value="error">error only</option>\n' +
363
+ ' <option value="warn">warn+</option>\n' +
364
+ ' <option value="info" selected>info+</option>\n' +
365
+ ' <option value="debug">debug+</option>\n' +
366
+ ' </select>\n' +
367
+ ' <div class="toolbar-actions">\n' +
368
+ ' <button class="action-btn blue" data-zero-action onclick="doAction(\'restart-zero\', this)">&#x21bb; Restart</button>\n' +
369
+ ' <button class="action-btn orange" data-zero-action onclick="doAction(\'reset-zero\', this)">&#x21ba; Reset</button>\n' +
370
+ ' <button class="action-btn red" data-zero-action onclick="doAction(\'reset-zero-full\', this)">&#x26a0; Full</button>\n' +
371
+ ' <button class="action-btn gray" onclick="doAction(\'clear-logs\', this)">&#x2715; Clear</button>\n' +
372
+ ' </div>\n' +
368
373
  ' </div>\n' +
369
374
  '\n' +
370
375
  ' <div class="toolbar" id="http-toolbar" style="display:none">\n' +
371
376
  ' <label>Filter</label>\n' +
372
377
  ' <input type="text" id="http-path-filter" placeholder="filter by path...">\n' +
378
+ ' <div class="toolbar-actions">\n' +
379
+ ' <button class="action-btn gray" onclick="doAction(\'clear-http\', this)">&#x2715; Clear</button>\n' +
380
+ ' </div>\n' +
373
381
  ' </div>\n' +
374
382
  '\n' +
375
383
  ' <div class="content-area">\n' +
@@ -396,32 +404,23 @@ export function getAdminHtml(): string {
396
404
  ' </div>\n' +
397
405
  ' <button class="jump-btn" id="jump-btn" onclick="jumpToBottom()">&#x2193; Jump to bottom</button>\n' +
398
406
  ' </div>\n' +
399
- '\n' +
400
- ' <div class="actions-panel" id="actions-panel">\n' +
401
- ' <div class="action-row">\n' +
402
- ' <span class="action-label zero">zero</span>\n' +
403
- ' <button class="action-btn blue" data-zero-action onclick="doAction(\'restart-zero\', this)">&#x21bb; Restart</button>\n' +
404
- ' <button class="action-btn orange" data-zero-action onclick="doAction(\'reset-zero\', this)">&#x21ba; Reset</button>\n' +
405
- ' <button class="action-btn red" data-zero-action onclick="doAction(\'reset-zero-full\', this)">&#x26a0; Full Reset</button>\n' +
406
- ' </div>\n' +
407
- ' <div class="action-row">\n' +
408
- ' <span class="action-label logs">logs</span>\n' +
409
- ' <button class="action-btn gray" onclick="doAction(\'clear-logs\', this)">&#x2715; Clear Logs</button>\n' +
410
- ' <button class="action-btn gray" onclick="doAction(\'clear-http\', this)">&#x2715; Clear HTTP</button>\n' +
411
- ' </div>\n' +
412
- ' </div>\n' +
413
407
  ' </div>\n' +
414
408
  '\n' +
415
409
  ' <div class="toast" id="toast"></div>\n' +
416
410
  '\n' +
417
411
  '<script>\n' +
418
- 'var activeSource = "";\n' +
419
- 'var activeLevel = "";\n' +
412
+ '// resolve initial tab from url path\n' +
413
+ 'var pathMap = {"/":"","/all":"","/zero":"zero","/pglite":"pglite","/proxy":"proxy","/orez":"orez","/s3":"s3","/http":"http","/env":"env"};\n' +
414
+ 'var initPath = window.location.pathname.replace(/\\/$/, "") || "/";\n' +
415
+ 'var initSource = pathMap[initPath] !== undefined ? pathMap[initPath] : "";\n' +
416
+ 'var standalone = initPath !== "/" && initPath !== "/all";\n' +
417
+ 'var activeSource = initSource;\n' +
418
+ 'var activeLevel = initSource === "zero" ? "info" : "";\n' +
420
419
  'var lastCursor = 0;\n' +
421
420
  'var autoScroll = true;\n' +
422
421
  'var envLoaded = false;\n' +
423
- 'var isEnvTab = false;\n' +
424
- 'var isHttpTab = false;\n' +
422
+ 'var isEnvTab = initSource === "env";\n' +
423
+ 'var isHttpTab = initSource === "http";\n' +
425
424
  'var httpCursor = 0;\n' +
426
425
  'var httpAutoScroll = true;\n' +
427
426
  '\n' +
@@ -431,20 +430,21 @@ export function getAdminHtml(): string {
431
430
  'var jumpBtn = document.getElementById("jump-btn");\n' +
432
431
  'var toastEl = document.getElementById("toast");\n' +
433
432
  'var toolbar = document.getElementById("toolbar");\n' +
433
+ 'var zeroToolbar = document.getElementById("zero-toolbar");\n' +
434
434
  'var httpToolbar = document.getElementById("http-toolbar");\n' +
435
435
  '\n' +
436
- 'document.getElementById("tab-bar").addEventListener("click", function(e) {\n' +
437
- ' var tab = e.target.closest(".tab");\n' +
438
- ' if (!tab) return;\n' +
439
- ' document.querySelectorAll(".tab").forEach(function(t) { t.classList.remove("active"); });\n' +
440
- ' tab.classList.add("active");\n' +
441
- ' var source = tab.dataset.source;\n' +
436
+ 'function sourceToPath(s) { return s ? "/" + s : "/"; }\n' +
437
+ '\n' +
438
+ 'function switchTab(source, pushState) {\n' +
442
439
  ' isEnvTab = source === "env";\n' +
443
440
  ' isHttpTab = source === "http";\n' +
441
+ ' var isZero = source === "zero";\n' +
442
+ ' if (pushState) history.pushState(null, "", sourceToPath(source));\n' +
444
443
  ' logView.style.display = "none";\n' +
445
444
  ' envView.style.display = "none";\n' +
446
445
  ' httpView.style.display = "none";\n' +
447
446
  ' toolbar.style.display = "none";\n' +
447
+ ' zeroToolbar.style.display = "none";\n' +
448
448
  ' httpToolbar.style.display = "none";\n' +
449
449
  ' if (isEnvTab) {\n' +
450
450
  ' envView.style.display = "block";\n' +
@@ -457,22 +457,34 @@ export function getAdminHtml(): string {
457
457
  ' fetchHttp();\n' +
458
458
  ' } else {\n' +
459
459
  ' logView.style.display = "block";\n' +
460
- ' toolbar.style.display = "flex";\n' +
461
460
  ' activeSource = source;\n' +
462
- ' // default zero tab to info level (too verbose otherwise)\n' +
463
- ' var levelSelect = document.getElementById("level-filter");\n' +
464
- ' if (source === "zero") {\n' +
461
+ ' if (isZero) {\n' +
462
+ ' zeroToolbar.style.display = "flex";\n' +
465
463
  ' activeLevel = "info";\n' +
466
- ' levelSelect.value = "info";\n' +
467
- ' } else if (activeLevel === "info" && levelSelect.value === "info") {\n' +
468
- ' // reset to all levels when leaving zero tab if still on info\n' +
469
- ' activeLevel = "";\n' +
470
- ' levelSelect.value = "";\n' +
464
+ ' } else {\n' +
465
+ ' toolbar.style.display = "flex";\n' +
466
+ ' if (activeLevel === "info") { activeLevel = ""; document.getElementById("level-filter").value = ""; }\n' +
471
467
  ' }\n' +
472
468
  ' lastCursor = 0;\n' +
473
469
  ' logView.innerHTML = "";\n' +
474
470
  ' fetchLogs();\n' +
475
471
  ' }\n' +
472
+ '}\n' +
473
+ '\n' +
474
+ '// standalone mode: hide header + tabs\n' +
475
+ 'if (standalone) {\n' +
476
+ ' document.getElementById("admin-header").style.display = "none";\n' +
477
+ ' document.getElementById("tab-bar").style.display = "none";\n' +
478
+ '}\n' +
479
+ '// activate initial tab\n' +
480
+ 'switchTab(initSource, false);\n' +
481
+ '\n' +
482
+ 'document.getElementById("tab-bar").addEventListener("click", function(e) {\n' +
483
+ ' var tab = e.target.closest(".tab");\n' +
484
+ ' if (!tab) return;\n' +
485
+ ' document.querySelectorAll(".tab").forEach(function(t) { t.classList.remove("active"); });\n' +
486
+ ' tab.classList.add("active");\n' +
487
+ ' switchTab(tab.dataset.source, true);\n' +
476
488
  '});\n' +
477
489
  '\n' +
478
490
  'document.getElementById("level-filter").addEventListener("change", function(e) {\n' +
@@ -482,6 +494,13 @@ export function getAdminHtml(): string {
482
494
  ' fetchLogs();\n' +
483
495
  '});\n' +
484
496
  '\n' +
497
+ 'document.getElementById("zero-level-filter").addEventListener("change", function(e) {\n' +
498
+ ' activeLevel = e.target.value;\n' +
499
+ ' lastCursor = 0;\n' +
500
+ ' logView.innerHTML = "";\n' +
501
+ ' fetchLogs();\n' +
502
+ '});\n' +
503
+ '\n' +
485
504
  'var httpFilterTimeout = null;\n' +
486
505
  'document.getElementById("http-path-filter").addEventListener("input", function() {\n' +
487
506
  ' clearTimeout(httpFilterTimeout);\n' +
@@ -684,7 +703,6 @@ export function getAdminHtml(): string {
684
703
  ' setTimeout(function() { toastEl.className = "toast"; }, 2500);\n' +
685
704
  '}\n' +
686
705
  '\n' +
687
- 'fetchLogs();\n' +
688
706
  'fetchStatus();\n' +
689
707
  'setInterval(function() {\n' +
690
708
  ' if (document.hidden) return;\n' +
@@ -698,6 +716,12 @@ export function getAdminHtml(): string {
698
716
  ' else if (!isEnvTab) fetchLogs();\n' +
699
717
  ' fetchStatus();\n' +
700
718
  '});\n' +
719
+ 'window.addEventListener("popstate", function() {\n' +
720
+ ' var p = window.location.pathname.replace(/\\/$/, "") || "/";\n' +
721
+ ' var s = pathMap[p] !== undefined ? pathMap[p] : "";\n' +
722
+ ' var tab = document.querySelector(".tab[data-source=\\"" + s + "\\"]");\n' +
723
+ ' if (tab) tab.click();\n' +
724
+ '});\n' +
701
725
  '</script>\n' +
702
726
  '</body>\n' +
703
727
  '</html>'
@@ -0,0 +1,19 @@
1
+ # CF-Compatible PGlite Build
2
+
3
+ PGlite compiled without `-sMAIN_MODULE=2` and `-sALLOW_TABLE_GROWTH`
4
+ for Cloudflare Workers compatibility.
5
+
6
+ Key differences from standard PGlite:
7
+
8
+ - No dynamic linking (extensions must be statically linked)
9
+ - No `addFunction`/`removeFunction` (no runtime WASM compilation)
10
+ - `ENVIRONMENT=web,worker` only (no node — avoids require("fs"))
11
+ - No side modules (no dlopen/dlsym)
12
+
13
+ Files:
14
+
15
+ - `pglite.wasm` — CF-compatible postgres WASM binary
16
+ - `pglite.data` — filesystem bundle (postgres data directory)
17
+ - `pglite.js` — Emscripten JS glue
18
+
19
+ Build: `cd postgres-pglite && docker run ... ./build-pglite-cf.sh`