@pat-lewczuk/cezar 0.1.4 → 0.1.5

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 (85) hide show
  1. package/README.md +124 -37
  2. package/dist/config.d.ts +46 -0
  3. package/dist/config.js +31 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/core/agent-runner.d.ts +16 -0
  6. package/dist/core/agent-runner.js +9 -0
  7. package/dist/core/agent-runner.js.map +1 -1
  8. package/dist/core/claude-cli-runner.d.ts +6 -0
  9. package/dist/core/claude-cli-runner.js +27 -43
  10. package/dist/core/claude-cli-runner.js.map +1 -1
  11. package/dist/core/codex-app-server-runner.js +42 -5
  12. package/dist/core/codex-app-server-runner.js.map +1 -1
  13. package/dist/core/opencode-server-runner.js +42 -5
  14. package/dist/core/opencode-server-runner.js.map +1 -1
  15. package/dist/git-worktree.d.ts +21 -0
  16. package/dist/git-worktree.js +48 -4
  17. package/dist/git-worktree.js.map +1 -1
  18. package/dist/handoff.d.ts +1 -1
  19. package/dist/handoff.js +2 -0
  20. package/dist/handoff.js.map +1 -1
  21. package/dist/index.js +34 -4
  22. package/dist/index.js.map +1 -1
  23. package/dist/runs/store.d.ts +82 -1
  24. package/dist/runs/store.js +57 -5
  25. package/dist/runs/store.js.map +1 -1
  26. package/dist/server/git.js +12 -1
  27. package/dist/server/git.js.map +1 -1
  28. package/dist/server/github.d.ts +8 -29
  29. package/dist/server/github.js +7 -139
  30. package/dist/server/github.js.map +1 -1
  31. package/dist/server/pr.d.ts +5 -20
  32. package/dist/server/pr.js +4 -95
  33. package/dist/server/pr.js.map +1 -1
  34. package/dist/server/server.d.ts +30 -1
  35. package/dist/server/server.js +448 -19
  36. package/dist/server/server.js.map +1 -1
  37. package/dist/workflows/run.d.ts +90 -0
  38. package/dist/workflows/run.js +412 -29
  39. package/dist/workflows/run.js.map +1 -1
  40. package/dist/workflows/types.d.ts +16 -16
  41. package/package.json +44 -6
  42. package/scripts/check-pack.mjs +46 -0
  43. package/scripts/dev.mjs +74 -0
  44. package/scripts/mock-claude.mjs +54 -2
  45. package/scripts/test-process-usage.mjs +47 -0
  46. package/web/dist/assets/{toaster-BS2E1bhz.js → centered-state-zgEVNWsj.js} +1 -1
  47. package/web/dist/assets/compare-variants-ChHCcSQX.js +1 -0
  48. package/web/dist/assets/dialog-DDRjj-uK.js +1 -0
  49. package/web/dist/assets/{diff-view-CctnJHWe.js → diff-view-CWRO0GMe.js} +1 -1
  50. package/web/dist/assets/dist-id2CeyV-.js +1 -0
  51. package/web/dist/assets/git-toolbar-C4jo602L.js +1 -0
  52. package/web/dist/assets/github-BOIzQFwE.js +1 -0
  53. package/web/dist/assets/index-Cv1pQs9U.js +11 -0
  54. package/web/dist/assets/repo-git-BuyJiqna.js +1 -0
  55. package/web/dist/assets/{run-diff-C7mfxj7f.js → run-diff-BocG6LVd.js} +1 -1
  56. package/web/dist/assets/run-header-CDKw22ek.js +1 -0
  57. package/web/dist/assets/skill-detail-CcFFKmGO.js +1 -0
  58. package/web/dist/assets/skills-Bc_4U3yq.js +1 -0
  59. package/web/dist/assets/tab-link-C77EP3i6.js +1 -0
  60. package/web/dist/assets/task-changes-DsDgN8-x.js +1 -0
  61. package/web/dist/assets/task-commits-Dve6Fozc.js +1 -0
  62. package/web/dist/assets/{task-files-FOAAz2FB.js → task-files-BDMc_z0B.js} +1 -1
  63. package/web/dist/assets/{task-thread-Bncxe8Os.js → task-thread-CmRuPj9H.js} +2 -2
  64. package/web/dist/assets/use-desktop-CyEWsxSU.js +3 -0
  65. package/web/dist/assets/{workflows-Dg2wQg6i.js → workflows-J3z3kYic.js} +1 -1
  66. package/web/dist/index.html +5 -5
  67. package/web/app/node_modules/.vite/vitest/ca84d1343b96baa8137c943ed1860e522cacb238/results.json +0 -1
  68. package/web/app/src/components/app-shell-container.tsx +0 -76
  69. package/web/app.js +0 -3428
  70. package/web/dist/assets/compare-variants-D6fPL9cS.js +0 -1
  71. package/web/dist/assets/dialog-BEgEWFDS.js +0 -1
  72. package/web/dist/assets/dist-CW7M_Jhs.js +0 -1
  73. package/web/dist/assets/git-toolbar-D8OPPqBP.js +0 -1
  74. package/web/dist/assets/github-BYIHwIJB.js +0 -1
  75. package/web/dist/assets/index-9qG98Orw.js +0 -11
  76. package/web/dist/assets/repo-git-XTqlVOl2.js +0 -1
  77. package/web/dist/assets/run-header-CfVeY3uM.js +0 -1
  78. package/web/dist/assets/skill-detail-C9cniyId.js +0 -1
  79. package/web/dist/assets/skills-DXgY1uXJ.js +0 -1
  80. package/web/dist/assets/tab-link-phWEqSBy.js +0 -1
  81. package/web/dist/assets/task-changes-DYwnPnTN.js +0 -1
  82. package/web/dist/assets/task-commits-DZzxEzbn.js +0 -1
  83. package/web/dist/assets/use-desktop-eHm2iTXX.js +0 -3
  84. package/web/index.html +0 -108
  85. package/web/style.css +0 -1767
@@ -1,76 +0,0 @@
1
- import type { ReactNode } from 'react'
2
-
3
- import { useHealth, useTodos } from '@/api/queries'
4
- import type { HealthResponse } from '@/api/types'
5
- import { AppShell, type RepoChip } from '@/components/app-shell'
6
- import { CommandPalette } from '@/components/command-palette'
7
- import { ListViewProvider } from '@/components/list-view'
8
- import { TaskQuickListContainer } from '@/components/task-quick-list'
9
- import { ToolsMenu } from '@/components/tools-menu'
10
- import { visibleTodos } from '@/routes/inbox'
11
-
12
- /**
13
- * Derive the sidebar's repo chip from `/api/health`.
14
- *
15
- * Null — the chip renders nothing — whenever there is nothing true to say: health hasn't
16
- * answered yet, or cezar is running outside a git repository (`repo: null`), which is a
17
- * supported way to run it. An empty chip is honest; "loading…" or a guessed folder name is not.
18
- *
19
- * The name is the repo root's basename: `/home/me/Projects/cezar` → `cezar`. Both separators,
20
- * because the server sends whatever path git gave it, and a trailing one is stripped first so
21
- * `/repo/` doesn't chip as an empty string.
22
- */
23
- export function repoChipOf(health: HealthResponse | undefined): RepoChip | null {
24
- const repo = health?.repo
25
- if (!repo) return null
26
- const name = repo.root.replace(/[\\/]+$/, '').split(/[\\/]/).pop()
27
- if (!name) return null
28
- return { name, branch: repo.branch }
29
- }
30
-
31
- /**
32
- * The app shell, wired to live data.
33
- *
34
- * AppShell itself stays presentational — it takes repo/version/inboxCount and renders them, or
35
- * renders nothing. This is the seam where those become real: `useHealth()` for the repo and
36
- * version chips, `useTodos()` for the inbox badge.
37
- *
38
- * Nothing here caches boot-time values (#369: the legacy UI read the branch once at startup and
39
- * then showed a stale branch forever). The chips read whatever is currently in the health query,
40
- * so making them live is Step 3.2's job of invalidating that query — not a change here.
41
- */
42
- export function AppShellContainer({ children }: { children: ReactNode }) {
43
- const health = useHealth()
44
- const todos = useTodos()
45
-
46
- return (
47
- // The Active/Archived filter is shared by the quick-list below and the Tasks table (Step 3.4),
48
- // which renders in `children`. The provider goes here because this is the lowest node that has
49
- // both of them under it — the spec requires the two sets of tabs to be one filter.
50
- <ListViewProvider>
51
- <AppShell
52
- repo={repoChipOf(health.data)}
53
- version={health.data?.version ?? null}
54
- latestVersion={health.data?.latestVersion ?? null}
55
- // `?? null` rather than `?? 0`: no badge while the inbox is unknown, and no badge when it
56
- // is known to be empty — AppShell renders neither for a falsy count.
57
- //
58
- // `visibleTodos()` — not raw `.length` — so the badge counts exactly the cards the
59
- // inbox route shows: started entries (`startedTaskId`) are the audit trail, not the
60
- // inbox (#396-style disagreement where the badge read 5 but the page listed 3).
61
- inboxCount={todos.data ? visibleTodos(todos.data).length : null}
62
- // Hidden until health confirms the forge driver (R6 Step 1.1) — same honesty rule as
63
- // the chips: the nav must not claim a GitHub tab it cannot back. The Tools menu's
64
- // forge note says why it is absent.
65
- forgeAvailable={health.data?.forge?.available === true}
66
- taskQuickList={<TaskQuickListContainer />}
67
- toolsMenu={<ToolsMenu health={health.data} />}
68
- >
69
- {children}
70
- </AppShell>
71
- {/* Global chrome, not a route: ⌘K must work on every URL. Mounted here (not in AppShell)
72
- because it needs the query client and router this container already assumes. */}
73
- <CommandPalette />
74
- </ListViewProvider>
75
- )
76
- }