@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.
- package/app/page.tsx +3 -8
- package/components/Bookmarks/ChatBookmarksButton.tsx +4 -0
- package/components/Bus/MessagesPanel.tsx +155 -0
- package/components/Bus/index.ts +1 -2
- package/components/Chat/ChatPanel.tsx +9 -1
- package/components/CommandPalette/useAppCommands.ts +12 -4
- package/components/Features/FeaturesSection.tsx +2 -2
- package/components/Inbox/InboxButton.tsx +39 -0
- package/components/Inbox/InboxDialog.tsx +139 -0
- package/components/Inbox/NeedsYouList.tsx +120 -0
- package/components/Inbox/index.ts +2 -0
- package/components/LumifyHub/index.ts +0 -1
- package/components/Pane/DesktopTabBar.tsx +2 -0
- package/components/Pane/PaneMenu.test.ts +118 -0
- package/components/Pane/PaneMenu.tsx +37 -0
- package/components/SessionList/OrchestratorPinRow.tsx +3 -1
- package/components/SessionList/RowShell.tsx +14 -2
- package/components/SessionList/SidebarHeader.tsx +7 -4
- package/components/Tasks/TaskRow.tsx +3 -3
- package/components/Tasks/TasksPanel.tsx +63 -0
- package/components/Tasks/index.ts +1 -1
- package/components/views/DesktopAppActions.tsx +10 -63
- package/components/views/DesktopView.tsx +1 -11
- package/hooks/useInbox.ts +69 -0
- package/lib/inbox/counts.ts +140 -0
- package/package.json +1 -1
- package/scripts/check-bundle.mjs +25 -10
- package/scripts/check-bundle.test.ts +2 -2
- package/stores/inboxUi.ts +60 -0
- package/stores/needsYouFocus.ts +11 -3
- package/components/Bus/MessagesButton.tsx +0 -25
- package/components/Bus/MessagesDialog.tsx +0 -176
- package/components/LumifyHub/Docs/DocsButton.tsx +0 -31
- package/components/NotificationsMenu.tsx +0 -86
- package/components/Tasks/TasksButton.tsx +0 -28
- package/components/Tasks/TasksDialog.tsx +0 -75
- package/stores/busUi.ts +0 -12
- 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
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
|
-
};
|