mac app new task

This commit is contained in:
Ian Gulliver
2026-10-17 08:34:49 -07:00
parent 57a99f2ed2
commit aea1a81b2c
6 changed files with 33 additions and 14 deletions
+5 -3
View File
@@ -128,10 +128,10 @@ export function openSwitcher() {
focusTask(taskId, "transcript");
}
};
const create = async (projectId, title, workflow) => {
const create = async (projectId, title, body = {}) => {
close();
try {
const task = await post("/api/projects/{projectId}/tasks", { path: { projectId }, body: { title, workflow } });
const task = await post("/api/projects/{projectId}/tasks", { path: { projectId }, body: { title, ...body } });
go(task.id);
}
catch (err) {
@@ -164,7 +164,7 @@ export function openSwitcher() {
.filter((w) => `${w.name} ${w.description}`.toLowerCase().includes(q))
.map((w) => {
const el = h("li", { class: "new-task" }, h("span", { class: "task-title" }, "Start ", h("span", { class: "workflow-name" }, w.name), " in ", h("span", { class: "project-name" }, p.project.name), ": ", p.title, w.description && h("span", { class: "workflow-description" }, w.description)), h("span", { class: "task-state" }, "workflow"));
return { el, pick: () => void create(p.project.id, p.title, w.name) };
return { el, pick: () => void create(p.project.id, p.title, { workflow: w.name }) };
});
if (p.workflows === undefined) {
return "Loading workflows…";
@@ -216,6 +216,8 @@ export function openSwitcher() {
for (const project of title ? (targets ?? (fallback ? [fallback] : [])) : []) {
const el = h("li", { class: "new-task" }, h("span", { class: "task-title" }, "New task in ", h("span", { class: "project-name" }, project.name), ": ", title), h("span", { class: "task-state", title: "Model for the first message" }, models[0]));
rows.push({ el, pick: () => void create(project.id, title) });
const start = h("li", { class: "new-task" }, h("span", { class: "task-title" }, "Start in ", h("span", { class: "project-name" }, project.name), ": ", title), h("span", { class: "task-state", title: "The title is the agent's first message" }, models[0]));
rows.push({ el: start, pick: () => void create(project.id, title, { prompt: title, model: models[0] }) });
const wf = h("li", { class: "new-task" }, h("span", { class: "task-title" }, "Start workflow… in ", h("span", { class: "project-name" }, project.name), ": ", title), h("span", { class: "task-state" }, "workflow"));
rows.push({ el: wf, pick: () => void pickWorkflow(project, title) });
}