linersh 0.5.2 → 0.5.3

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/bin/liner.js CHANGED
@@ -9,13 +9,23 @@
9
9
  import { fileURLToPath } from "node:url";
10
10
  import { createRequire } from "node:module";
11
11
  import { spawn, spawnSync } from "node:child_process";
12
- import { existsSync } from "node:fs";
12
+ import { existsSync, readFileSync } from "node:fs";
13
13
  import { dirname, join } from "node:path";
14
14
 
15
15
  const here = dirname(fileURLToPath(import.meta.url));
16
16
  const packageRoot = join(here, "..");
17
17
  const argv = process.argv.slice(2);
18
18
 
19
+ // `liner --version` used to forward straight to the Python core, so it
20
+ // reported the core version (e.g. 0.5.0) regardless of which TUI package was
21
+ // installed — confusing when verifying an npm publish. Report the npm/TUI
22
+ // version (the thing the user actually installed) and, when resolvable, the
23
+ // bundled core version alongside it.
24
+ if (argv[0] === "--version" || argv[0] === "-v") {
25
+ printVersion();
26
+ process.exit(0);
27
+ }
28
+
19
29
  const CLI_COMMANDS = new Set([
20
30
  "init",
21
31
  "replay",
@@ -161,3 +171,34 @@ function findPathBinary() {
161
171
  function exeName() {
162
172
  return process.platform === "win32" ? "liner.exe" : "liner";
163
173
  }
174
+
175
+ function readTuiVersion() {
176
+ try {
177
+ const pkg = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf8"));
178
+ return typeof pkg.version === "string" ? pkg.version : "unknown";
179
+ } catch {
180
+ return "unknown";
181
+ }
182
+ }
183
+
184
+ // Like resolveCliBinary() but non-fatal: returns null instead of exiting when
185
+ // no core binary is found, so `--version` still prints the TUI version on a
186
+ // host where the bundled core is missing (e.g. Windows pre-unblock).
187
+ function tryResolveCliCommand() {
188
+ const envBin = process.env.LINER_BIN;
189
+ if (envBin && existsSync(envBin)) return envBin;
190
+ return findBundledBinary() || findRepoVenvBinary() || findPathBinary() || null;
191
+ }
192
+
193
+ function printVersion() {
194
+ const tui = readTuiVersion();
195
+ let coreVer = null;
196
+ const core = tryResolveCliCommand();
197
+ if (core) {
198
+ const r = spawnSync(core, ["--version"], { encoding: "utf8" });
199
+ if (r.status === 0 && typeof r.stdout === "string") {
200
+ coreVer = r.stdout.trim().replace(/^liner\s+/i, "") || null;
201
+ }
202
+ }
203
+ console.log(coreVer ? `liner ${tui} (tui) · ${coreVer} (core)` : `liner ${tui} (tui)`);
204
+ }
@@ -89,7 +89,6 @@ Captured after comparing cli-writer-3 (v0.3 methodology, 15 sources) and cli-wri
89
89
  - **`ink-link` for clickable URLs** in error messages (e.g., the "missing agent" install hints).
90
90
  - **Smoke test that mounts the TUI** — vitest currently only covers `yaml-io`. Could use `ink-testing-library` to render-test the wizard and hub.
91
91
  - **Width-aware truncation.** Several places do `truncate(s, 70)` with a hardcoded width. Should derive from terminal columns.
92
- - **Header version pin.** The version constant in `Header.tsx` is hardcoded `"0.3.0"`. Wire it to `package.json` at build time (or via a `--define` in tsc) so it can't go stale.
93
92
  - **NO_COLOR + FORCE_COLOR test.** Ink respects these; we should manually verify on a real `NO_COLOR=1` run that the brand chip degrades gracefully.
94
93
 
95
94
  ---
@@ -108,6 +107,7 @@ The TUI work isn't blocking on these, but they shape what we build next.
108
107
 
109
108
  ## Done
110
109
 
110
+ - 2026-05-28 (0.5.3) — **`liner --version` reports the TUI version + version-pin drift killed.** The shim forwarded `--version` to the Python core, so it printed the core version (0.5.0) regardless of the installed npm package — confusing when verifying a publish. Now intercepts `--version`/`-v` in `bin/liner.js` and prints `liner <tui> (tui) · <core> (core)`. Also collapsed the three separately-edited version constants (package.json, Header.tsx, BootSplash.tsx) into one runtime read of package.json via `src/version.ts` — BootSplash had silently sat at 0.5.0 through the whole 0.5.2 cycle. Closes the old "Header version pin" hygiene item.
111
111
  - 2026-05-28 (0.5.2) — **Fixed the hard API-400 crash on long/resumed agent runs.** A multi-turn phase (or any resume of a failed run) died with `400 … thinking blocks in the latest assistant message cannot be modified` once Claude Code auto-compacted a conversation with interleaved thinking on. Confirmed it was *not* resume-only: a fresh framing run hit it at ~26 turns, and resume then re-hit it instantly because it replays the corrupted message. Fix: spawn the agent with `MAX_THINKING_TOKENS=0` (verified empirically that this zeroes thinking blocks on claude 2.1.146 + opus-4-7), so the failure class can't occur. Supersedes the old "Resume + extended-thinking → API 400" item, which was mis-scoped as resume-only and low-priority. Change in `runner.ts` spawn env.
112
112
  - 2026-05-28 (0.5.2) — **Isolated the methodology agent from the user's global environment.** The run log showed the spawned `claude` inheriting all the user's global MCP servers (Gmail, Drive, third-party connectors), plus Bash/Task — the `--allowedTools` whitelist is a no-op under `--dangerously-skip-permissions`. Added `--strict-mcp-config` (with no `--mcp-config` → zero MCP servers) so the agent no longer loads irrelevant connectors. *Still open:* hooks/auto-memory still load (didn't touch `--setting-sources` to avoid auth/behavior risk), and Bash/Task aren't hard-denied — a follow-up could add `--disallowedTools` or drop skip-permissions. Change in `runner.ts buildArgs`.
113
113
  - 2026-05-28 (0.5.2) — **Fixed the mixtape browser (`TapeBrowser`) scrollback laddering + garbled selected row.** On a small terminal the project list rendered taller AND wider than the window, so arrow-key navigation reprinted the header on every keystroke (stacked `▶ liner` rows) and the selected row's highlight bled across wrapped lines. Fixes: a terminal-sized scrolling viewport (`maxRows = termRows − 12`, windowed around the selection, with `↑/↓ N more` indicators) so total height never exceeds the terminal; each row rendered as a single `wrap="truncate"` line with terminal-responsive column widths so rows never wrap; and `Header` subtitle set to `wrap="truncate"`. The alt-screen buffer alone couldn't fix this — it doesn't help when a single frame is taller than the viewport.
@@ -1,9 +1,7 @@
1
1
  import React from "react";
2
2
  import { Box, Text } from "ink";
3
3
  import { MUTED, ON_FILL, STRUCTURE } from "../colors.js";
4
- // Single source of truth for the brand chip. The version is read from the
5
- // build at compile time — see scripts/inject-version or fall back to a static.
6
- const VERSION = "0.5.2";
4
+ import { VERSION } from "../version.js";
7
5
  export function Header({ title, subtitle, }) {
8
6
  return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
9
7
  React.createElement(Box, null,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,0EAA0E;AAC1E,+EAA+E;AAC/E,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,UAAU,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,GAIT;IACC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC;QACzC,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,UACnD,WAAW,CACP;YACP,oBAAC,IAAI,QAAE,IAAI,CAAQ;YACnB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,SAAS,IACxB,KAAK,CACD;YACP,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,GAAG,OAAO,CAAQ,CAC3C;QACL,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACf,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,UAAU,IAAE,QAAQ,CAAQ,CACjD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,GAIT;IACC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC;QACzC,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,UACnD,WAAW,CACP;YACP,oBAAC,IAAI,QAAE,IAAI,CAAQ;YACnB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,SAAS,IACxB,KAAK,CACD;YACP,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,GAAG,OAAO,CAAQ,CAC3C;QACL,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACf,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,UAAU,IAAE,QAAQ,CAAQ,CACjD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;AACJ,CAAC"}
@@ -4,19 +4,8 @@ import BigText from "ink-big-text";
4
4
  import Gradient from "ink-gradient";
5
5
  import { useApp } from "../store.js";
6
6
  import { MUTED, CURRENT, HEADING, PALETTE, STRUCTURE } from "../colors.js";
7
+ import { VERSION } from "../version.js";
7
8
  import { SMALL_CASSETTE_ROWS, SMALL_CASSETTE_WIDTH, } from "./cassette-art.js";
8
- // First-paint splash. An ASCII-art logo (rendered as foreground text in the
9
- // brand color) above a real interactive launch menu. Arrows move the
10
- // selection; Enter activates it; `n` / `i` / `o` are direct hotkeys.
11
- //
12
- // The compact (~66×19) cassette is the default — it fits comfortably in
13
- // every reasonable terminal width and the visual balance against the menu
14
- // rows below is tighter than the maximalist 100×29 version. The full
15
- // CASSETTE_ROWS export still lives in cassette-art.ts for any future
16
- // "show the big one" affordance, but the splash never auto-promotes.
17
- // Skipped via `shouldShowSplash()` when stdout isn't a TTY or
18
- // LINER_NO_SPLASH is set.
19
- const VERSION = "0.5.0"; // mirrors package.json — header pin tracked in TUI-BACKLOG
20
9
  const ITEMS = [
21
10
  { action: "new", hotkey: "n", label: "New mixtape", hint: "open the curation wizard" },
22
11
  { action: "import", hotkey: "i", label: "Import archive", hint: "load a .mixtape file" },
@@ -1 +1 @@
1
- {"version":3,"file":"BootSplash.js","sourceRoot":"","sources":["../../src/screens/BootSplash.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BootSplash.js","sourceRoot":"","sources":["../../src/screens/BootSplash.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { fileURLToPath } from "node:url";
3
+ import { dirname, join } from "node:path";
4
+ // Single source of truth for the TUI version. Read from package.json at
5
+ // runtime so the header chip, the boot splash, and `liner --version` can
6
+ // never drift from the published package version (they used to be three
7
+ // separately-edited string constants — BootSplash silently sat at 0.5.0
8
+ // through the whole 0.5.2 cycle). The only number to bump on release is
9
+ // package.json's `version`.
10
+ //
11
+ // At runtime this module is dist/version.js, so `..` resolves to the package
12
+ // root; under tsx (dev) it's src/version.ts and `..` is the package root too.
13
+ function readVersion() {
14
+ try {
15
+ const here = dirname(fileURLToPath(import.meta.url));
16
+ const pkg = JSON.parse(readFileSync(join(here, "..", "package.json"), "utf8"));
17
+ return typeof pkg.version === "string" ? pkg.version : "unknown";
18
+ }
19
+ catch {
20
+ return "unknown";
21
+ }
22
+ }
23
+ export const VERSION = readVersion();
24
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AACxE,4BAA4B;AAC5B,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAE5E,CAAC;QACF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linersh",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "Liner — interactive tape editor for building curated mixtapes (AI-consumable context bundles).",
5
5
  "type": "module",
6
6
  "license": "MIT",