Skip to content

[WIP] feat: task lists #6593

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft

Conversation

uinstinct
Copy link
Contributor

@uinstinct uinstinct commented Jul 12, 2025

Description

Task list in the assistant which adds and shows what task is being currently executed by the agent. Useful to plan and add more tasks while the agent is executing.

resolves CON-2763

Checklist

  • [] I've read the contributing guide
  • [] The relevant docs, if any, have been updated or created
  • [] The relevant tests, if any, have been updated or created

Screenshots

image

Tests

[ What tests were added or updated to ensure the changes work as expected? ]


Summary by cubic

Added a task list feature that lets users view and manage tasks being executed by the assistant, including a new UI section to display current and completed tasks.

  • New Features
    • Introduced backend task manager for adding, updating, removing, and listing tasks.
    • Added a Tasks section in the UI to show the current task queue and statuses.

@uinstinct uinstinct requested a review from a team as a code owner July 12, 2025 16:04
@uinstinct uinstinct requested review from sestinj and removed request for a team July 12, 2025 16:04
Copy link

netlify bot commented Jul 12, 2025

👷 Deploy request for continuedev pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 99a94dd

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jul 12, 2025
@uinstinct uinstinct marked this pull request as draft July 12, 2025 16:08
- create fetch task list functions and protocol

export const taskListImpl: ToolImpl = async (args, extras) => {
let contextItem: ContextItem;
const manager = getTaskManagerForSession("abcd", extras.messenger!);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how to get the IDEMessenger here with the send method implemented?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to implement the event receiving here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extras.messenger is available as verified on call!


request for the sessionId can be done using extras.messenger.request("some-session-id-method")

import { ContextItem } from "../..";
import { getTaskManagerForSession } from "../../context/taskList";

export const taskListImpl: ToolImpl = async (args, extras) => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how to get the session id in the tool call?

Copy link
Collaborator

@tomasz-stefaniak tomasz-stefaniak Jul 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@uinstinct I'd probably pass session id in ToolExtras. You will need to modify ToolExtras payload to make it happen

@chezsmithy
Copy link
Contributor

This is super cool. The new AWS tool Kiro suggests this kind of spec or task driven development. Love the idea of maybe using a markdown file to drive the work somehow as well.

Could you quickly attach a session to a task to drive the notion of lowering context before starting the next task.

Also curious if there might be a way in the future to match a model to a task. Lower cost, faster models for simple tasks maybe.

Love the possibilities!

@uinstinct
Copy link
Contributor Author

Also curious if there might be a way in the future to match a model to a task. Lower cost, faster models for simple tasks maybe.

Awesome idea!!!
I will have this in an upcoming improvement.

Could you quickly attach a session to a task to drive the notion of lowering context before starting the next task.

I am thinking of having each session its own task list. Hence the entire context would be passed for each task. By lowering the context do you mean for independent and non-related tasks, one task should not use other's context?

@chezsmithy
Copy link
Contributor

Yes. Thinking tasks have discrete context where possible to encourage healthy context management. Or maybe it's an option?

Tasks by repo might also be interesting so you could store your task list as markdown and restart at a later point in time or share the task list with another developer.

@uinstinct
Copy link
Contributor Author

Yes something like how Kiro does

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:L This PR changes 100-499 lines, ignoring generated files.
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

3 participants