summaryrefslogtreecommitdiff
path: root/web/app.js
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-07 00:10:23 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-07 00:10:23 +0000
commit68453478f516ae923e99df85f5642f0f865b5bcc (patch)
treefdca9b81f7c3f4bf7d1487ea523039a4aa443032 /web/app.js
parent0291a7880d29b39d7cd56a6a8be66a9b5ec3f457 (diff)
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 <noreply@anthropic.com>
Diffstat (limited to 'web/app.js')
-rw-r--r--web/app.js10
1 files changed, 7 insertions, 3 deletions
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');