@atolis-hq/wake 0.1.14 → 0.1.15

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,29 +1,54 @@
1
1
  import { wakeVersion } from '../../version.js';
2
+ const logoSvg = `<svg viewBox="0 0 110 110" xmlns="http://www.w3.org/2000/svg">
3
+ <g transform="translate(55 55)">
4
+ <circle r="54" fill="none" stroke="#0F766E" opacity=".10"></circle>
5
+ <path d="M-42.5-11.5 A44 44 0 1 0 42.5-11.5" fill="none" stroke="#2DD4BF" stroke-width="7.5" stroke-linecap="round"></path>
6
+ <path d="M-36-25.2 A44 44 0 0 1-25.2-36" fill="none" stroke="#5EEAD4" stroke-width="7.5" stroke-linecap="round"></path>
7
+ <path d="M25.2-36 A44 44 0 0 1 36-25.2" fill="none" stroke="#5EEAD4" stroke-width="7.5" stroke-linecap="round"></path>
8
+ <circle r="25" fill="#2DD4BF" opacity=".08"></circle>
9
+ <circle r="11" fill="#2DD4BF" opacity=".25"></circle>
10
+ <path d="M-18 23 C-9 22 -8 2 0-2 C8 2 9 22 18 23" fill="none" stroke="#2DD4BF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"></path>
11
+ </g>
12
+ </svg>`;
13
+ const faviconHref = `data:image/svg+xml,${encodeURIComponent(logoSvg)}`;
2
14
  export const indexHtml = `<!DOCTYPE html>
3
15
  <html lang="en">
4
16
  <head>
5
17
  <meta charset="utf-8" />
6
18
  <title>Wake control plane</title>
19
+ <link rel="icon" type="image/svg+xml" href="${faviconHref}" />
7
20
  <meta name="viewport" content="width=device-width, initial-scale=1" />
8
21
  <style>
9
- :root { color-scheme: dark light; }
22
+ :root {
23
+ color-scheme: dark light;
24
+ --brand: #0f766e;
25
+ --brand-dark: #134e4a;
26
+ --brand-darker: #103a37;
27
+ --accent: #2dd4bf;
28
+ --accent-light: #5eead4;
29
+ }
10
30
  body { font-family: -apple-system, Segoe UI, Roboto, sans-serif; margin: 0; background: #14161a; color: #e8e8e8; }
11
- header { display: flex; align-items: center; gap: 1rem; padding: 0.6rem 1rem; background: #1d2026; border-bottom: 1px solid #2c313a; flex-wrap: wrap; }
12
- header h1 { font-size: 1rem; margin: 0; font-weight: 600; }
13
- .version { color: #9aa2ad; font-size: 0.78rem; }
31
+ .topbar { display: flex; align-items: center; gap: 0.55rem; padding: 0.55rem 1rem; background: var(--brand); }
32
+ .topbar .logo { display: flex; width: 24px; height: 24px; flex-shrink: 0; }
33
+ .topbar .logo svg { width: 100%; height: 100%; display: block; }
34
+ .topbar .brand-name { font-size: 1.05rem; font-weight: 700; color: #fff; letter-spacing: 0.01em; }
35
+ .topbar .version { color: rgba(255, 255, 255, 0.7); font-size: 0.78rem; }
36
+ .statusbar { display: flex; align-items: center; gap: 1rem; padding: 0.45rem 1rem; background: var(--brand-dark); border-top: 1px solid rgba(0, 0, 0, 0.18); flex-wrap: wrap; font-size: 0.8rem; }
37
+ .statusbar .meta { color: rgba(255, 255, 255, 0.72); }
14
38
  .pill { padding: 0.15rem 0.5rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; }
15
39
  .pill-idle { background: #1f3d2c; color: #7fe3a3; }
16
40
  .pill-ticking { background: #1f3350; color: #7fb3ff; }
17
41
  .pill-paused { background: #4a3510; color: #ffcf7f; }
18
- nav { display: flex; gap: 0.25rem; padding: 0.5rem 1rem; background: #191c22; border-bottom: 1px solid #2c313a; }
19
- nav button { background: none; border: none; color: #9aa2ad; padding: 0.4rem 0.8rem; cursor: pointer; border-radius: 6px; font-size: 0.85rem; }
20
- nav button.active { background: #262b33; color: #fff; }
42
+ nav { display: flex; gap: 0.25rem; padding: 0.4rem 1rem 0 0.3rem; background: var(--brand-darker); border-bottom: 1px solid #2c313a; }
43
+ nav button { background: none; border: none; border-bottom: 2px solid transparent; color: rgba(255, 255, 255, 0.65); padding: 0.4rem 0.7rem 0.45rem; margin-bottom: -1px; cursor: pointer; font-size: 0.85rem; transition: color 0.12s ease; }
44
+ nav button:hover { color: #fff; }
45
+ nav button.active { color: var(--accent-light); border-bottom-color: var(--accent); }
21
46
  main { padding: 1rem; }
22
47
  .columns { display: grid; grid-template-columns: repeat(6, minmax(180px, 1fr)); gap: 0.6rem; overflow-x: auto; }
23
- .col { background: #1a1d23; border-radius: 8px; padding: 0.5rem; min-height: 200px; }
48
+ .col { background: #1a1d23; border-radius: 10px; padding: 0.5rem; min-height: 200px; }
24
49
  .col h2 { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: #9aa2ad; margin: 0.2rem 0.4rem 0.5rem; }
25
- .card { background: #22262e; border: 1px solid #2c313a; border-radius: 6px; padding: 0.5rem; margin-bottom: 0.5rem; cursor: pointer; font-size: 0.8rem; }
26
- .card:hover { border-color: #4d5866; }
50
+ .card { background: #22262e; border: 1px solid #2c313a; border-radius: 8px; padding: 0.5rem; margin-bottom: 0.5rem; cursor: pointer; font-size: 0.8rem; transition: border-color 0.12s ease; }
51
+ .card:hover { border-color: var(--accent); }
27
52
  .card .title { font-weight: 600; margin-bottom: 0.25rem; }
28
53
  .card .meta { color: #9aa2ad; font-size: 0.72rem; }
29
54
  .chip { display: inline-block; background: #2c313a; border-radius: 4px; padding: 0.05rem 0.35rem; font-size: 0.68rem; margin-right: 0.2rem; }
@@ -34,23 +59,28 @@ export const indexHtml = `<!DOCTYPE html>
34
59
  .drawer { position: fixed; top: 0; right: 0; width: min(560px, 100%); height: 100%; background: #191c22; border-left: 1px solid #2c313a; overflow-y: auto; padding: 1rem; transform: translateX(100%); transition: transform 0.15s ease; }
35
60
  .drawer.open { transform: translateX(0); }
36
61
  .drawer .close { float: right; cursor: pointer; color: #9aa2ad; }
62
+ .drawer .close:hover { color: var(--accent-light); }
37
63
  .tiles { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-bottom: 1rem; }
38
- .tile { background: #1a1d23; border-radius: 8px; padding: 0.6rem 0.9rem; min-width: 120px; }
64
+ .tile { background: #1a1d23; border-radius: 10px; padding: 0.6rem 0.9rem; min-width: 120px; }
39
65
  .tile .n { font-size: 1.3rem; font-weight: 700; }
40
66
  .tile .l { color: #9aa2ad; font-size: 0.72rem; text-transform: uppercase; }
41
67
  .amber { color: #ffcf7f; }
42
68
  .red { color: #ff8f7f; }
43
69
  .ok { color: #7fe3a3; }
44
- input[type=text] { background: #1a1d23; border: 1px solid #2c313a; color: #e8e8e8; padding: 0.3rem 0.5rem; border-radius: 6px; margin-bottom: 0.6rem; width: 260px; }
70
+ input[type=text] { background: #1a1d23; border: 1px solid #2c313a; color: #e8e8e8; padding: 0.3rem 0.5rem; border-radius: 6px; margin-bottom: 0.6rem; width: 260px; transition: border-color 0.12s ease, box-shadow 0.12s ease; }
71
+ input[type=text]:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.15); }
45
72
  </style>
46
73
  </head>
47
74
  <body>
48
- <header>
49
- <h1>Wake control plane</h1>
75
+ <header class="topbar">
76
+ <span class="logo">${logoSvg}</span>
77
+ <span class="brand-name">Wake</span>
50
78
  <span class="version">${wakeVersion}</span>
79
+ </header>
80
+ <div class="statusbar">
51
81
  <span id="loop-pill" class="pill">…</span>
52
82
  <span id="status-summary" class="meta"></span>
53
- </header>
83
+ </div>
54
84
  <nav>
55
85
  <button data-view="board" class="active">Board</button>
56
86
  <button data-view="activity">Activity</button>
@@ -1 +1 @@
1
- export const wakeVersion = "0.1.14+g082a8c4";
1
+ export const wakeVersion = "0.1.15+ge2584a1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atolis-hq/wake",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "description": "Local autonomous agent control plane for software development",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {