feat: migrate task jobs to workflow notifications + timeline

This commit is contained in:
2026-03-02 14:29:31 -05:00
parent 36c4ed2ee2
commit d81a681905
33 changed files with 2437 additions and 292 deletions

View File

@@ -12,6 +12,8 @@ import type {
PortfolioInsight,
PortfolioSummary,
Task,
TaskStatus,
TaskTimeline,
User,
WatchlistItem
} from './types';
@@ -244,10 +246,29 @@ export async function getTask(taskId: string) {
return await unwrapData<{ task: Task }>(result, 'Unable to fetch task');
}
export async function listRecentTasks(limit = 20) {
export async function getTaskTimeline(taskId: string) {
const result = await client.api.tasks[taskId].timeline.get();
return await unwrapData<TaskTimeline>(result, 'Unable to fetch task timeline');
}
export async function updateTaskNotificationState(
taskId: string,
input: { read?: boolean; silenced?: boolean }
) {
const result = await client.api.tasks[taskId].notification.patch(input);
return await unwrapData<{ task: Task }>(result, 'Unable to update task notification state');
}
export async function listRecentTasks(input: {
limit?: number;
statuses?: TaskStatus[];
} = {}) {
const result = await client.api.tasks.get({
$query: {
limit
limit: input.limit ?? 20,
...(input.statuses && input.statuses.length > 0
? { status: input.statuses }
: {})
}
});