From 68453478f516ae923e99df85f5642f0f865b5bcc Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Sat, 7 Mar 2026 00:10:23 +0000 Subject: feat: pass selected project directory to elaborate The elaborate call now sends working_dir from the Project dropdown. The backend uses it (falling back to server workDir) when building the system prompt, so AI-drafted tasks are contextualised to the selected project. Co-Authored-By: Claude Sonnet 4.6 --- web/app.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'web') diff --git a/web/app.js b/web/app.js index 044d779..a3c425e 100644 --- a/web/app.js +++ b/web/app.js @@ -950,11 +950,11 @@ async function submitAnswer(taskId, questionId, answer, banner) { // ── Elaborate (Draft with AI) ───────────────────────────────────────────────── -async function elaborateTask(prompt) { +async function elaborateTask(prompt, workingDir) { const res = await fetch(`${API_BASE}/api/tasks/elaborate`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ prompt }), + body: JSON.stringify({ prompt, working_dir: workingDir }), }); if (!res.ok) { let msg = `HTTP ${res.status}`; @@ -1699,7 +1699,11 @@ if (typeof document !== 'undefined') document.addEventListener('DOMContentLoaded form.querySelectorAll('.form-error, .elaborate-banner').forEach(el => el.remove()); try { - const result = await elaborateTask(prompt); + const sel = document.getElementById('project-select'); + const workingDir = sel.value === '__new__' + ? document.getElementById('new-project-input').value.trim() + : sel.value; + const result = await elaborateTask(prompt, workingDir); // Populate form fields const f = document.getElementById('task-form'); -- cgit v1.2.3