(msg: string)
| 4865 | // so it lands after the assistant reply, not |
| 4866 | // between the user's prompt and the reply. |
| 4867 | const appendWhenIdle = (msg: string) => { |
| 4868 | if (!queryGuard.isActive) { |
| 4869 | appendStdout(msg); |
| 4870 | return; |
| 4871 | } |
| 4872 | const unsub = queryGuard.subscribe(() => { |
| 4873 | if (queryGuard.isActive) return; |
| 4874 | unsub(); |
| 4875 | // Skip if the user stopped ultraplan while we |
| 4876 | // were waiting — avoids a stale "Monitoring |
| 4877 | // <url>" message for a session that's gone. |
| 4878 | if (!store.getState().ultraplanSessionUrl) return; |
| 4879 | appendStdout(msg); |
| 4880 | }); |
| 4881 | }; |
| 4882 | void launchUltraplan({ |
| 4883 | blurb, |
| 4884 | getAppState: () => store.getState(), |
nothing calls this directly
no test coverage detected