@tiens.nguyen/gonext-local-worker 1.0.322 → 1.0.323

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/gonext-repl.mjs +15 -3
  2. package/package.json +1 -1
package/gonext-repl.mjs CHANGED
@@ -1779,9 +1779,21 @@ async function runAgentTurn(history) {
1779
1779
  continue;
1780
1780
  }
1781
1781
  if (line.trim() === "") {
1782
- // Several sources (swallowed routing lines, swallowed step summaries) each leave
1783
- // their own blank-line companion behind collapse consecutive blanks into one.
1784
- if (!thinking && !statusShown && !lastWasBlank) {
1782
+ // Vertical rhythm (task #115). Blank lines arrive from the worker unconditionally —
1783
+ // every {"type":"step"} chunk is `text + "\n\n"`, and closeStreamFence() adds its
1784
+ // own — but whether one was PRINTED used to depend on `!thinking && !statusShown`,
1785
+ // i.e. on whether the status ticker happened to have redrawn its two-line block in
1786
+ // the last ~120ms. Identical output rendered two different ways (reported live: the
1787
+ // first ● bullet flush against the prompt, the next three each with a gap above).
1788
+ // Spacing must not be a race, so neither term is consulted any more:
1789
+ // • ACTION stream → swallow every stream-borne blank. Bullets and edit cards form
1790
+ // ONE tight list (task #41); the blank line before the final answer is written
1791
+ // by the CALLER (`console.log(shown ? "" : "\n\n" + answer)`), not here.
1792
+ // • PLAIN-REPLY answer → this text IS the answer, so its blanks are real
1793
+ // paragraph breaks. Keep them (collapsing runs) and clear the status block
1794
+ // first, which is what the old `!statusShown` guard was really protecting.
1795
+ if (plainReplyFlow && !lastWasBlank) {
1796
+ onContent();
1785
1797
  process.stdout.write("\n");
1786
1798
  lastWasBlank = true;
1787
1799
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiens.nguyen/gonext-local-worker",
3
- "version": "1.0.322",
3
+ "version": "1.0.323",
4
4
  "description": "Polls GoNext cloud API for async local LLM jobs and runs them against Ollama/OpenAI-compatible servers on this Mac",
5
5
  "type": "module",
6
6
  "license": "MIT",