@vincemakes/kiso-code 0.1.17 → 0.1.19

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.
package/dist/body.js CHANGED
@@ -54,13 +54,15 @@ export class Body {
54
54
  this.#active = opts.active();
55
55
  if (this.#isActive()) {
56
56
  this.#heartbeat = setInterval(() => {
57
- // #14 (P1): the idle heartbeat PAINTS NOTHING. An idle body
58
- // (every cell frozen) has no glyph/elapsed to advance — a
59
- // beat that renders anyway re-paints the tail + the dock
60
- // every 200ms with ZERO change (12s idle = 61 copies /
61
- // ~47KB the measured defect). Only an ACTIVE tail makes
62
- // the beat matter: paint, then.
63
- if (!this.#cells.some((c) => !c.done))
57
+ // #14/#15: the idle heartbeat PAINTS NOTHING unless an
58
+ // ANIMATION advances only a RUNNING tool's glyph/elapsed
59
+ // changes between beats. The #14 fix skipped an all-frozen
60
+ // body; #15 widened the skip to ANY no-change body: a cell
61
+ // that stays unfinished without animating (an unclosed text
62
+ // or thinking block) would otherwise re-paint the tail AND
63
+ // the dock every 200ms with zero change — the short-session
64
+ // leak (measured: 51KB / 46 beats after the recap, LF=0).
65
+ if (!this.#cells.some((c) => c.kind === "tool" && c.state === "running"))
64
66
  return;
65
67
  this.#spinnerI = (this.#spinnerI + 1) % SPINNER.length;
66
68
  this.#dirty = true; // the running cells' glyph/elapsed advance
package/dist/index.js CHANGED
@@ -17,18 +17,18 @@
17
17
  */
18
18
  import { existsSync, mkdtempSync, readFileSync, readdirSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
19
19
  import { createInterface } from "node:readline";
20
- import { Body } from "./body.js";
21
- import { editFileDiff, writeFileDiff } from "./diff.js";
20
+ import { Body } from "@vincemakes/kiso-tui";
21
+ import { editFileDiff, writeFileDiff } from "@vincemakes/kiso-tui";
22
22
  import { MODES, getMode, modeExtensions, modeFromEnv, modeSystemPrompt, setMode } from "./mode.js";
23
- import { Editor, PROMPT as EDITOR_PROMPT } from "./editor.js";
23
+ import { Editor, PROMPT as EDITOR_PROMPT } from "@vincemakes/kiso-tui";
24
24
  import { homedir, tmpdir } from "node:os";
25
25
  import { dirname, join } from "node:path";
26
26
  import { fileURLToPath } from "node:url";
27
27
  import { createAgent, disposeExtensions, loadExtensions, loadProjectExtensions, projectArtifacts, recordTrust, SessionStore, trustFor, } from "@vincemakes/kiso-runtime";
28
28
  import { createFauxProvider } from "@vincemakes/kiso-evals";
29
- import { createCodingTools } from "@vincemakes/kiso-tools-node";
30
- import { escapeTerminal, foldResult, foldThinking, palette, renderEvent, renderSessionLine, renderStatusLine, renderTerminalGap, renderToolSummary, bannerLines, kUnit, renderRecap, truncateRow, } from "./render.js";
31
- import { Dock } from "./dock.js";
29
+ import { canonicalTargetPath, createCodingTools } from "@vincemakes/kiso-tools-node";
30
+ import { escapeTerminal, foldResult, foldThinking, palette, renderEvent, renderSessionLine, renderStatusLine, renderTerminalGap, renderToolSummary, bannerLines, kUnit, renderRecap, truncateRow, } from "@vincemakes/kiso-tui";
31
+ import { Dock } from "@vincemakes/kiso-tui";
32
32
  /** 发现#11: KISO_HOME is the ONE root — every default path derives from
33
33
  * it (sessions, trust, extensions, mcp config, skills). The dedicated
34
34
  * env vars (KISO_EXTENSIONS_DIR / KISO_MCP_CONFIG / KISO_SKILLS_DIR)
@@ -833,7 +833,7 @@ async function consumeRun(session, run, input, turnNo, faux, liveInput, statusCb
833
833
  default: {
834
834
  // Events without a cell (stop, …) — the generic render, byte-
835
835
  // preserved for the pipe path.
836
- const rendered = renderEvent(ev);
836
+ const rendered = renderEvent(ev, false, canonicalTargetPath);
837
837
  if (rendered.text !== "") {
838
838
  body.raw(rendered.text.replace(/\n$/, "").split("\n"));
839
839
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vincemakes/kiso-code",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "kiso CLI — the coding-agent reference product: kiso chat / kiso resume / kiso sessions.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -18,12 +18,13 @@
18
18
  "test": "vitest run"
19
19
  },
20
20
  "dependencies": {
21
- "@vincemakes/kiso-core": "0.1.17",
22
- "@vincemakes/kiso-evals": "0.1.17",
23
- "@vincemakes/kiso-provider-anthropic": "0.1.17",
24
- "@vincemakes/kiso-provider-openai": "0.1.17",
25
- "@vincemakes/kiso-runtime": "0.1.17",
26
- "@vincemakes/kiso-tools-node": "0.1.17"
21
+ "@vincemakes/kiso-core": "0.1.19",
22
+ "@vincemakes/kiso-evals": "0.1.19",
23
+ "@vincemakes/kiso-provider-anthropic": "0.1.19",
24
+ "@vincemakes/kiso-provider-openai": "0.1.19",
25
+ "@vincemakes/kiso-runtime": "0.1.19",
26
+ "@vincemakes/kiso-tools-node": "0.1.19",
27
+ "@vincemakes/kiso-tui": "0.1.19"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@types/node": "^26.1.2",