@pat-lewczuk/cezar 0.1.0 → 0.1.1

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.
Files changed (53) hide show
  1. package/dist/config.d.ts +55 -0
  2. package/dist/config.js +44 -0
  3. package/dist/config.js.map +1 -0
  4. package/dist/core/agent-runner.d.ts +13 -0
  5. package/dist/core/claude-cli-runner.js +23 -2
  6. package/dist/core/claude-cli-runner.js.map +1 -1
  7. package/dist/git-worktree.d.ts +49 -0
  8. package/dist/git-worktree.js +129 -0
  9. package/dist/git-worktree.js.map +1 -0
  10. package/dist/handoff.d.ts +42 -0
  11. package/dist/handoff.js +120 -0
  12. package/dist/handoff.js.map +1 -0
  13. package/dist/index.js +27 -6
  14. package/dist/index.js.map +1 -1
  15. package/dist/planner.d.ts +17 -0
  16. package/dist/planner.js +244 -0
  17. package/dist/planner.js.map +1 -0
  18. package/dist/runs/store.d.ts +40 -13
  19. package/dist/runs/store.js +33 -3
  20. package/dist/runs/store.js.map +1 -1
  21. package/dist/server/github.d.ts +28 -0
  22. package/dist/server/github.js +133 -0
  23. package/dist/server/github.js.map +1 -0
  24. package/dist/server/launch-key.d.ts +7 -0
  25. package/dist/server/launch-key.js +33 -0
  26. package/dist/server/launch-key.js.map +1 -0
  27. package/dist/server/pr.d.ts +22 -0
  28. package/dist/server/pr.js +92 -0
  29. package/dist/server/pr.js.map +1 -0
  30. package/dist/server/server.js +370 -15
  31. package/dist/server/server.js.map +1 -1
  32. package/dist/skills-remote.d.ts +35 -0
  33. package/dist/skills-remote.js +266 -0
  34. package/dist/skills-remote.js.map +1 -0
  35. package/dist/skills.d.ts +18 -6
  36. package/dist/skills.js +8 -4
  37. package/dist/skills.js.map +1 -1
  38. package/dist/todos.d.ts +60 -0
  39. package/dist/todos.js +166 -0
  40. package/dist/todos.js.map +1 -0
  41. package/dist/workflows/load.js +5 -9
  42. package/dist/workflows/load.js.map +1 -1
  43. package/dist/workflows/run.d.ts +62 -3
  44. package/dist/workflows/run.js +332 -43
  45. package/dist/workflows/run.js.map +1 -1
  46. package/dist/workflows/types.d.ts +27 -20
  47. package/dist/workflows/types.js +21 -0
  48. package/dist/workflows/types.js.map +1 -1
  49. package/package.json +1 -1
  50. package/scripts/mock-claude.mjs +118 -0
  51. package/web/app.js +1851 -149
  52. package/web/index.html +73 -22
  53. package/web/style.css +1271 -223
package/web/index.html CHANGED
@@ -5,41 +5,92 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>cezar</title>
7
7
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>⚡</text></svg>">
8
+ <!-- Theme before first paint — no flash. Falls back to dark. -->
9
+ <script>document.documentElement.dataset.theme = localStorage.getItem('cez-theme') || 'dark';</script>
10
+ <!-- Web fonts degrade quietly to system fonts when offline. -->
11
+ <link rel="preconnect" href="https://fonts.googleapis.com">
12
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
13
+ <link href="https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,420;8..60,500;8..60,600&family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
8
14
  <link rel="stylesheet" href="/style.css">
9
15
  </head>
10
16
  <body>
11
- <header>
12
- <div class="brand">⚡ cezar</div>
13
- <div id="repo-chip" class="chip" hidden></div>
14
- <div id="env-chips"></div>
17
+ <aside id="sidebar">
18
+ <div id="brand">
19
+ <svg width="11" height="15" viewBox="0 0 24 30" fill="none" aria-hidden="true"><path d="M14 1L3 17h7l-2 12L20 12h-7l1-11z" fill="var(--accent)"/></svg>
20
+ <span class="brand-name">cezar</span>
21
+ <span id="repo-chip" class="mono" hidden></span>
22
+ </div>
23
+
24
+ <div id="new-task-wrap">
25
+ <form id="new-task" autocomplete="off">
26
+ <textarea name="task" rows="2" placeholder="Describe a task for the agent…" required></textarea>
27
+ <div id="task-thumbs" hidden></div>
28
+ <div class="row opts">
29
+ <div class="pill-select" id="src-pill" data-pill="src"></div>
30
+ </div>
31
+ <div class="row actions">
32
+ <button type="button" id="task-attach" class="icon-btn" data-tip="Attach an image — or paste one with ⌘V">
33
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><path d="M20 11l-8 8a5 5 0 01-7-7l8-8a3.4 3.4 0 015 5l-8 8a1.7 1.7 0 01-2.4-2.4l7-7"/></svg>
34
+ </button>
35
+ <button type="button" id="plan-btn" data-tip="The AI drafts a chain of steps for this task. You review, reorder or trim them — nothing runs until you press Start.">
36
+ <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"><path d="M12 3l2 5.5L19.5 10 14 12l-2 5.5L10 12l-5.5-2L10 8.5 12 3z"/></svg>
37
+ Plan
38
+ </button>
39
+ <div class="pill-select" id="model-pill" data-pill="model"></div>
40
+ <button type="submit" id="run-btn" class="tip-right" data-tip="Run the task (⌘↵)">
41
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2"><path d="M12 19V5M6 11l6-6 6 6"/></svg>
42
+ </button>
43
+ </div>
44
+ <div id="form-error" class="error-text" hidden></div>
45
+ <input type="file" id="task-file" accept="image/*" multiple hidden>
46
+ </form>
47
+ <div id="plan-panel" hidden></div>
48
+ </div>
49
+
15
50
  <nav id="tabs">
16
- <button data-view="runs" class="active">Runs</button>
17
- <button data-view="repo">Repo</button>
18
- <button data-view="skills">Skills</button>
51
+ <button data-view="runs" class="active">
52
+ <svg viewBox="0 0 24 24"><path d="M13 2L4.5 13.5h5.5L9 22l8.5-11.5H12L13 2z"/></svg>
53
+ Runs
54
+ </button>
55
+ <button data-view="inbox">
56
+ <svg viewBox="0 0 24 24"><path d="M3 13h4l2 3h6l2-3h4M5 5h14l2 8v6H3v-6l2-8z"/></svg>
57
+ Inbox <span id="inbox-badge" class="count-badge" hidden></span>
58
+ </button>
59
+ <button data-view="github">
60
+ <svg viewBox="0 0 24 24"><path d="M6 4a2 2 0 100 4 2 2 0 000-4zM6 8v8M6 16a2 2 0 100 4 2 2 0 000-4zM18 4a2 2 0 100 4 2 2 0 000-4zM18 8c0 6-6 8-10 8"/></svg>
61
+ GitHub
62
+ </button>
63
+ <button data-view="repo">
64
+ <svg viewBox="0 0 24 24"><path d="M3 8a2 2 0 012-2h4l2 2h8a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2V8z"/></svg>
65
+ Repo
66
+ </button>
67
+ <button data-view="skills">
68
+ <svg viewBox="0 0 24 24"><path d="M12 3l2 5.5L19.5 10 14 12l-2 5.5L10 12l-5.5-2L10 8.5 12 3z"/></svg>
69
+ Skills
70
+ </button>
19
71
  </nav>
20
- </header>
72
+
73
+ <div id="run-list-wrap">
74
+ <div id="list-tabs"></div>
75
+ <div id="run-list"></div>
76
+ </div>
77
+
78
+ <div id="side-foot">
79
+ <span id="env-chips"></span>
80
+ <button id="theme-toggle" title="Toggle theme"></button>
81
+ </div>
82
+ </aside>
21
83
 
22
84
  <main>
23
85
  <section id="view-runs" class="view">
24
- <aside id="sidebar">
25
- <form id="new-task" autocomplete="off">
26
- <textarea name="task" rows="3" placeholder="What should the agent do in this repo?" required></textarea>
27
- <div class="row">
28
- <select name="workflow" title="workflow"></select>
29
- <input name="model" placeholder="model (optional)" title="model override, e.g. sonnet / opus">
30
- </div>
31
- <button type="submit" class="primary">▶ Run</button>
32
- <div id="form-error" class="error-text" hidden></div>
33
- </form>
34
- <div id="list-tabs"></div>
35
- <div id="run-list"></div>
36
- </aside>
37
86
  <section id="detail">
38
87
  <div class="empty">Select a run — or start one.</div>
39
88
  </section>
40
89
  </section>
41
90
 
42
- <section id="view-repo" class="view" hidden></section>
91
+ <section id="view-inbox" class="view scroll-view" hidden></section>
92
+ <section id="view-github" class="view" hidden></section>
93
+ <section id="view-repo" class="view scroll-view" hidden></section>
43
94
  <section id="view-skills" class="view" hidden></section>
44
95
  </main>
45
96