@toolkit-cli/toolkode 1.12.0 → 1.13.2

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/README.md +38 -0
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -35,6 +35,44 @@ toolkode --prompt "fix the failing tests"
35
35
  toolkode serve
36
36
  ```
37
37
 
38
+ ## What's new in v1.13 "Dreamer" (v1.13.2 stable)
39
+
40
+ **Memory that fades gracefully.** Working set, facts, goals, and corrections now decay on category-specific exponential curves — corrections stay weighted for a year, working-set notes for 30 minutes, steers for 2 hours. Stale memories stop crowding the prompt, fresh ones get priority, and nothing drops off a cliff.
41
+
42
+ **Idle consolidation ("autoDream").** When you're idle for 60+ seconds, Toolkode quietly reviews the session: dedupes repeated observations, resolves contradictions by recency, and promotes memories seen across sessions. Inspired by the Claude Code autoDream leak — except ours actually runs instead of sitting dead behind a wiring bug.
43
+
44
+ **Cache miss alerts.** If your prompt cache hit rate drops below 30%, the sidebar surfaces which context segment broke it. The resonance panel shows hit rate, turn history, and saved token counts — provider-agnostic, no fake dollar estimates.
45
+
46
+ **Expanded cache breakpoints.** All system messages are tagged `cache_control: ephemeral`, and context layers reorder to system → workspace → task → memory so cache stability maximizes across turns.
47
+
48
+ ### v1.13.2 hotfix (recommended — supersedes v1.13.1)
49
+
50
+ v1.13.0 shipped with a handful of bugs that a deep audit turned up. v1.13.1 was tagged but the build broke before it could publish. v1.13.2 bundles the full audit fix set, the OpenTUI crash fix, a `/compact` server-side fix, a compat-import revert that was blocking the release build, and a slash-command deduplication pass.
51
+
52
+ **New in v1.13.2 (on top of the v1.13.1 fix set):**
53
+
54
+ - **Fixed: `/compact` command produced no visible result.** The `/session/:id/summarize` server route was blocking its HTTP response on the full compaction LLM call (30s-120s), which tripped client-side timeouts and surfaced as "Compaction failed" even though the work was actually running. The route now kicks the loop off fire-and-forget (matching the existing `prompt_async` pattern) and returns 200 immediately. Clients observe progress and the summary message via SSE.
55
+ - **Fixed: two `/compact` entries in the command palette.** A stub entry in `app.tsx` was shadowing the canonical session-route version. While we were there, we also removed duplicate `/rename`, `/copy`, `/export`, and `/rewind` entries that had the same shape collision, and killed a `"search"` alias on `/find` that was colliding with the semantic search command.
56
+ - **Fixed: release build failed to resolve `./routes/compat`.** A Claude/Codex/Gemini artifact-compat feature was partially landed on main (import in `server/instance.ts`) without the corresponding `src/compat/` subtree committed. The import is reverted in v1.13.2 so the build is clean; the full compat feature is targeted for v1.14.0.
57
+ - **Known minor regression**: the `/rewind` command's `checkpoint` alias was removed along with the duplicate entry. If you've been typing `/checkpoint`, use `/rewind` instead for now. The alias will be restored in v1.14.0 on the canonical session-route version.
58
+
59
+ ### v1.13.1 fix set (bundled into v1.13.2)
60
+
61
+ - **Fixed: OpenTUI "Child not found in children" crash** during rapid streaming. The sync event listener is now wrapped in `batch()` and array mutations on hot paths use `reconcile()` for clean keyed diffs. No more mid-stream terminal death.
62
+ - **Fixed: idle consolidation was dead code.** `startIdleConsolidation()` was defined and subscribed to session-idle events but never actually called at boot. Now wired at module load.
63
+ - **Fixed: StructuredMemory wasn't evicted on session teardown.** Module-level state leaked per session. Now cleaned up alongside CacheResonance.
64
+ - **Fixed: cache resonance turnNumber drift.** The turn counter was derived from a capped array length, so after 50 turns the same turnNumber got assigned twice. Replaced with a monotonic counter.
65
+ - **Fixed: contradiction resolver was matching English words as file paths.** The regex's extension group was optional, so "the", "we", and "a" became keys in the file-path map and unrelated memories got collapsed. Disabled pending a tree-sitter-backed replacement.
66
+ - **Fixed: cache token extraction was Anthropic-only.** The helper now tries AI SDK v6's normalized `cachedInputTokens`, then Anthropic's `cacheReadInputTokens`, then OpenAI's `promptTokensDetails.cachedTokens`.
67
+ - **Fixed: unbounded CacheResonance state map.** Added a 100-session LRU cap so crashed sessions don't leak state forever.
68
+ - **Removed: hard-coded "$2.70/MTok" cost estimate** that assumed Anthropic pricing. The panel now shows saved tokens directly — accurate USD requires model context, which consumers should compute from their own pricing tables.
69
+ - **Fixed: `scoreEntry` called `Date.now()` mid-sort** (non-deterministic sort results). Now accepts a snapshotted `now` and both call sites pre-compute it.
70
+ - **Fixed: resonance bar could visually overflow** on ratio > 1 or NaN. Now clamps to [0, 1] and handles non-finite values.
71
+ - **Fixed: context-debug endpoint silently swallowed errors.** Both catch blocks now log distinct warnings (model lookup vs layer build).
72
+ - **Removed: dead `predictBreaks` function** from cache-resonance (no consumers).
73
+
74
+ All 14 audit findings verified and fixed. Typecheck clean.
75
+
38
76
  ## What's new in v1.12 "Cortex"
39
77
 
40
78
  **Cross-tool memory import.** Toolkode now reads memories from other AI coding tools automatically — matching their path resolution, 200-line/25KB truncation, and git-root-aware directory layout. Your memories show up in every session without importing anything. Switching tools shouldn't mean losing your brain.
package/package.json CHANGED
@@ -12,12 +12,12 @@
12
12
  "scripts": {
13
13
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
14
14
  },
15
- "version": "1.12.0",
15
+ "version": "1.13.2",
16
16
  "license": "SEE LICENSE IN LICENSE",
17
17
  "optionalDependencies": {
18
- "@toolkit-cli/toolkode-linux-arm64": "1.12.0",
19
- "@toolkit-cli/toolkode-linux-x64": "1.12.0",
20
- "@toolkit-cli/toolkode-darwin-arm64": "1.12.0",
21
- "@toolkit-cli/toolkode-windows-x64": "1.12.0"
18
+ "@toolkit-cli/toolkode-linux-arm64": "1.13.2",
19
+ "@toolkit-cli/toolkode-linux-x64": "1.13.2",
20
+ "@toolkit-cli/toolkode-darwin-arm64": "1.13.2",
21
+ "@toolkit-cli/toolkode-windows-x64": "1.13.2"
22
22
  }
23
23
  }