@pat-lewczuk/cezar 0.1.0 → 0.1.2

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 (57) hide show
  1. package/dist/config.d.ts +62 -0
  2. package/dist/config.js +49 -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 +56 -0
  8. package/dist/git-worktree.js +143 -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/git.d.ts +5 -0
  22. package/dist/server/git.js +38 -0
  23. package/dist/server/git.js.map +1 -1
  24. package/dist/server/github.d.ts +29 -0
  25. package/dist/server/github.js +140 -0
  26. package/dist/server/github.js.map +1 -0
  27. package/dist/server/launch-key.d.ts +7 -0
  28. package/dist/server/launch-key.js +33 -0
  29. package/dist/server/launch-key.js.map +1 -0
  30. package/dist/server/pr.d.ts +22 -0
  31. package/dist/server/pr.js +98 -0
  32. package/dist/server/pr.js.map +1 -0
  33. package/dist/server/server.js +537 -19
  34. package/dist/server/server.js.map +1 -1
  35. package/dist/skills-remote.d.ts +35 -0
  36. package/dist/skills-remote.js +266 -0
  37. package/dist/skills-remote.js.map +1 -0
  38. package/dist/skills.d.ts +20 -6
  39. package/dist/skills.js +77 -12
  40. package/dist/skills.js.map +1 -1
  41. package/dist/todos.d.ts +60 -0
  42. package/dist/todos.js +166 -0
  43. package/dist/todos.js.map +1 -0
  44. package/dist/workflows/load.js +8 -10
  45. package/dist/workflows/load.js.map +1 -1
  46. package/dist/workflows/run.d.ts +62 -3
  47. package/dist/workflows/run.js +351 -45
  48. package/dist/workflows/run.js.map +1 -1
  49. package/dist/workflows/types.d.ts +96 -26
  50. package/dist/workflows/types.js +73 -2
  51. package/dist/workflows/types.js.map +1 -1
  52. package/package.json +1 -1
  53. package/scripts/mock-claude.mjs +118 -0
  54. package/web/app.js +2821 -154
  55. package/web/index.html +82 -23
  56. package/web/open-mercato.svg +11 -0
  57. package/web/style.css +1652 -222
package/web/index.html CHANGED
@@ -4,45 +4,104 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>cezar</title>
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>">
7
+ <link rel="icon" type="image/svg+xml" href="/open-mercato.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
+ <img src="/open-mercato.svg" alt="open-mercato" width="18" height="18" style="border-radius:5px;flex:none">
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>
48
+
15
49
  <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>
50
+ <button data-view="runs" class="active">
51
+ <svg viewBox="0 0 24 24"><path d="M13 2L4.5 13.5h5.5L9 22l8.5-11.5H12L13 2z"/></svg>
52
+ Runs
53
+ </button>
54
+ <button data-view="inbox">
55
+ <svg viewBox="0 0 24 24"><path d="M3 13h4l2 3h6l2-3h4M5 5h14l2 8v6H3v-6l2-8z"/></svg>
56
+ Inbox <span id="inbox-badge" class="count-badge" hidden></span>
57
+ </button>
58
+ <button data-view="repo">
59
+ <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>
60
+ Repo
61
+ </button>
62
+ <button data-view="github">
63
+ <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>
64
+ GitHub
65
+ </button>
66
+ <button data-view="skills">
67
+ <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>
68
+ Skills
69
+ </button>
70
+ <button data-view="workflows">
71
+ <svg viewBox="0 0 24 24"><path d="M4 3.5h7v7H4zM13 13.5h7v7h-7zM7.5 10.5v2a2 2 0 002 2H13"/></svg>
72
+ Workflows
73
+ </button>
19
74
  </nav>
20
- </header>
75
+
76
+ <div id="run-list-wrap">
77
+ <div id="list-tabs"></div>
78
+ <div id="run-list"></div>
79
+ </div>
80
+
81
+ <div id="side-foot">
82
+ <span id="env-chips"></span>
83
+ <button id="theme-toggle" title="Toggle theme"></button>
84
+ </div>
85
+ </aside>
21
86
 
22
87
  <main>
23
88
  <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
89
  <section id="detail">
38
90
  <div class="empty">Select a run — or start one.</div>
39
91
  </section>
40
92
  </section>
41
93
 
42
- <section id="view-repo" class="view" hidden></section>
94
+ <section id="view-workflows" class="view" hidden></section>
95
+ <section id="view-inbox" class="view scroll-view" hidden></section>
96
+ <section id="view-github" class="view" hidden></section>
97
+ <section id="view-repo" class="view scroll-view" hidden></section>
43
98
  <section id="view-skills" class="view" hidden></section>
44
99
  </main>
45
100
 
101
+ <!-- proposed chain (spec 008) — an overlay over the main area, roomy enough
102
+ to read full step prompts; the sidebar was too tight for it -->
103
+ <div id="plan-overlay" hidden><div id="plan-panel"></div></div>
104
+
46
105
  <script src="/app.js"></script>
47
106
  </body>
48
107
  </html>
@@ -0,0 +1,11 @@
1
+ <svg width="176" height="176" viewBox="0 0 176 176" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0 24C0 10.7452 10.7452 0 24 0H152C165.255 0 176 10.7452 176 24V152C176 165.255 165.255 176 152 176H24C10.7452 176 0 165.255 0 152V24Z" fill="url(#paint0_linear_337_310)"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M85.6802 33.9483C87.131 33.165 88.8788 33.1758 90.3296 33.9591L108.206 43.6446H108.195C110.132 44.6926 110.132 47.4755 108.195 48.5235L90.563 58.0821C88.9852 58.9394 87.9996 60.5904 87.9995 62.3897V82.9669L88.0103 82.9561L87.9995 82.9825C88.004 83.1917 88.09 85.451 89.7153 86.2481C91.0073 86.8832 92.6382 85.7823 92.6382 85.7823V85.7931L111.35 75.6534L111.339 75.6632C112.186 75.2081 113.214 75.2083 114.061 75.6632L135.909 87.4972C136.83 87.9946 137.402 88.9582 137.402 90.0059V115.452C137.402 116.5 136.83 116.405 135.909 116.902L116.92 127.191C116.657 127.335 116.385 127.451 116.113 127.541L108.481 131.891L89.2495 142.316C88.4765 142.74 87.5439 142.74 86.7603 142.316L67.5298 131.891L58.729 127.297L58.7349 127.294L41.2876 118.501C39.6357 117.675 38.5981 115.981 38.5981 114.129V91.213C38.5981 89.4136 39.5828 87.7618 41.1606 86.9044L60.7417 76.3097C62.3196 75.4523 63.3042 73.8005 63.3042 72.0011V48.8731C63.3042 47.0632 64.2998 45.4122 65.8882 44.5548L85.6802 33.9483ZM89.2173 89.254C87.5681 88.7974 85.6955 89.5707 85.4702 89.6681C85.4589 89.6743 85.4484 89.6824 85.437 89.6886L65.8667 100.295C64.2891 101.152 63.3042 102.803 63.3042 104.603V125.688C63.3042 125.838 63.2896 125.984 63.2642 126.124C63.2652 126.661 63.444 127.567 64.5327 128.101C65.3946 128.518 66.3513 128.101 66.9468 127.732C67.1141 127.57 67.3088 127.426 67.5298 127.307L86.7603 116.881C87.5333 116.458 88.4659 116.458 89.2495 116.881L108.48 127.308H108.481C111.423 127.588 112.408 125.563 112.706 124.624V103.386C112.706 102.338 112.134 101.375 111.212 100.877L92.6382 90.8106C92.525 90.7492 92.4192 90.6807 92.3188 90.6085C91.753 90.2807 90.5109 89.6123 89.2173 89.254Z" fill="#1B1B1B"/>
4
+ <defs>
5
+ <linearGradient id="paint0_linear_337_310" x1="179.177" y1="-54.654" x2="22.4367" y2="188.461" gradientUnits="userSpaceOnUse">
6
+ <stop offset="0.122322" stop-color="#B4F372"/>
7
+ <stop offset="0.583527" stop-color="#EEFB63"/>
8
+ <stop offset="1" stop-color="#BC9AFF"/>
9
+ </linearGradient>
10
+ </defs>
11
+ </svg>