@saadnvd1/agent-os 0.3.602 → 0.3.605

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 (38) hide show
  1. package/app/page.tsx +3 -8
  2. package/components/Bookmarks/ChatBookmarksButton.tsx +4 -0
  3. package/components/Bus/MessagesPanel.tsx +155 -0
  4. package/components/Bus/index.ts +1 -2
  5. package/components/Chat/ChatPanel.tsx +9 -1
  6. package/components/CommandPalette/useAppCommands.ts +12 -4
  7. package/components/Features/FeaturesSection.tsx +2 -2
  8. package/components/Inbox/InboxButton.tsx +39 -0
  9. package/components/Inbox/InboxDialog.tsx +139 -0
  10. package/components/Inbox/NeedsYouList.tsx +120 -0
  11. package/components/Inbox/index.ts +2 -0
  12. package/components/LumifyHub/index.ts +0 -1
  13. package/components/Pane/DesktopTabBar.tsx +2 -0
  14. package/components/Pane/PaneMenu.test.ts +118 -0
  15. package/components/Pane/PaneMenu.tsx +37 -0
  16. package/components/SessionList/OrchestratorPinRow.tsx +3 -1
  17. package/components/SessionList/RowShell.tsx +14 -2
  18. package/components/SessionList/SidebarHeader.tsx +7 -4
  19. package/components/Tasks/TaskRow.tsx +3 -3
  20. package/components/Tasks/TasksPanel.tsx +63 -0
  21. package/components/Tasks/index.ts +1 -1
  22. package/components/views/DesktopAppActions.tsx +10 -63
  23. package/components/views/DesktopView.tsx +1 -11
  24. package/hooks/useInbox.ts +69 -0
  25. package/lib/inbox/counts.ts +140 -0
  26. package/package.json +1 -1
  27. package/scripts/check-bundle.mjs +25 -10
  28. package/scripts/check-bundle.test.ts +2 -2
  29. package/stores/inboxUi.ts +60 -0
  30. package/stores/needsYouFocus.ts +11 -3
  31. package/components/Bus/MessagesButton.tsx +0 -25
  32. package/components/Bus/MessagesDialog.tsx +0 -176
  33. package/components/LumifyHub/Docs/DocsButton.tsx +0 -31
  34. package/components/NotificationsMenu.tsx +0 -86
  35. package/components/Tasks/TasksButton.tsx +0 -28
  36. package/components/Tasks/TasksDialog.tsx +0 -75
  37. package/stores/busUi.ts +0 -12
  38. package/stores/tasksUi.ts +0 -14
@@ -1,75 +0,0 @@
1
- "use client";
2
-
3
- import { useSnapshot } from "valtio";
4
- import { Plus } from "lucide-react";
5
- import {
6
- Dialog,
7
- DialogContent,
8
- DialogHeader,
9
- DialogTitle,
10
- } from "@/components/ui/dialog";
11
- import { Button } from "@/components/ui/button";
12
- import { useTasksQuery } from "@/data/tasks";
13
- import { isFinished, needsHuman } from "@/lib/tasks/state";
14
- import { tasksUi, tasksUiActions } from "@/stores/tasksUi";
15
- import { newDraft } from "@/stores/drafts";
16
- import { TaskRow } from "./TaskRow";
17
- import { BoardTodoSection } from "@/components/LumifyHub";
18
- import { StacksSection } from "@/components/Stacks";
19
- import { FeaturesSection } from "@/components/Features";
20
-
21
- export function TasksDialog() {
22
- const { panelOpen } = useSnapshot(tasksUi);
23
- const { data: tasks = [], isPending } = useTasksQuery();
24
- const active = tasks.filter((t) => !isFinished(t.state));
25
- // Whatever needs a human first.
26
- active.sort(
27
- (a, b) => Number(needsHuman(b.state)) - Number(needsHuman(a.state))
28
- );
29
- const done = tasks.filter((t) => !active.includes(t)).slice(0, 10);
30
-
31
- return (
32
- <Dialog open={panelOpen} onOpenChange={tasksUiActions.setPanelOpen}>
33
- <DialogContent className="max-h-[85vh] max-w-xl overflow-y-auto [&>*]:min-w-0">
34
- <DialogHeader className="flex-row items-center justify-between gap-4 space-y-0">
35
- <DialogTitle>Tasks</DialogTitle>
36
- <Button
37
- size="sm"
38
- className="mr-6"
39
- onClick={() => {
40
- tasksUiActions.setPanelOpen(false);
41
- newDraft({ kind: "current", openPr: true });
42
- }}
43
- >
44
- <Plus className="h-4 w-4" />
45
- New task
46
- </Button>
47
- </DialogHeader>
48
- {isPending && (
49
- <div className="bg-muted/40 h-16 animate-pulse rounded-xl" />
50
- )}
51
- {!isPending && tasks.length === 0 && (
52
- <p className="text-muted-foreground py-6 text-center text-sm">
53
- No tasks yet. Start one and keep working while it runs.
54
- </p>
55
- )}
56
- <div className="space-y-2">
57
- {active.map((t) => (
58
- <TaskRow key={t.id} task={t} />
59
- ))}
60
- </div>
61
- <FeaturesSection />
62
- <StacksSection />
63
- <BoardTodoSection />
64
- {done.length > 0 && (
65
- <div className="space-y-2">
66
- <p className="label-mono text-muted-foreground pt-2">Finished</p>
67
- {done.map((t) => (
68
- <TaskRow key={t.id} task={t} />
69
- ))}
70
- </div>
71
- )}
72
- </DialogContent>
73
- </Dialog>
74
- );
75
- }
package/stores/busUi.ts DELETED
@@ -1,12 +0,0 @@
1
- import { proxy } from "valtio";
2
-
3
- export const busUi = proxy({ open: false });
4
-
5
- export const busUiActions = {
6
- setOpen: (open: boolean) => {
7
- busUi.open = open;
8
- },
9
- open: () => {
10
- busUi.open = true;
11
- },
12
- };
package/stores/tasksUi.ts DELETED
@@ -1,14 +0,0 @@
1
- import { proxy } from "valtio";
2
-
3
- // The Tasks panel's open state, shared by the header and the sidebar menu.
4
- // A new task is a draft with "Open a PR when done" (stores/drafts).
5
- export const tasksUi = proxy({ panelOpen: false });
6
-
7
- export const tasksUiActions = {
8
- openPanel: () => {
9
- tasksUi.panelOpen = true;
10
- },
11
- setPanelOpen: (open: boolean) => {
12
- tasksUi.panelOpen = open;
13
- },
14
- };