| 61 | * system-reminder so the browser renders them; scaffolding is hidden. |
| 62 | */ |
| 63 | export function buildUltraplanPrompt(blurb: string, seedPlan?: string): string { |
| 64 | const parts: string[] = []; |
| 65 | if (seedPlan) { |
| 66 | parts.push('Here is a draft plan to refine:', '', seedPlan, ''); |
| 67 | } |
| 68 | parts.push(ULTRAPLAN_INSTRUCTIONS); |
| 69 | if (blurb) { |
| 70 | parts.push('', blurb); |
| 71 | } |
| 72 | return parts.join('\n'); |
| 73 | } |
| 74 | function startDetachedPoll(taskId: string, sessionId: string, url: string, getAppState: () => AppState, setAppState: (f: (prev: AppState) => AppState) => void): void { |
| 75 | const started = Date.now(); |
| 76 | let failed = false; |