altimate-code 0.5.14 → 0.5.15

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/CHANGELOG.md +23 -0
  2. package/package.json +14 -14
package/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.5.15] - 2026-03-29
9
+
10
+ ### Added
11
+
12
+ - **Plan agent two-step approach** — outline first, confirm, then expand; plan refinement loop with edit-in-place (capped at 5 revisions); approval phrase detection ("looks good", "proceed", "lgtm") (#556)
13
+ - **Feature discovery & progressive disclosure** — contextual suggestions after warehouse connection (schema, SQL, lineage, PII); dbt auto-detection recommending `/dbt-develop`, `/dbt-troubleshoot` (#556)
14
+
15
+ ### Fixed
16
+
17
+ - **SQL classifier fallback security hardening** — invert fallback to whitelist reads (not blacklist writes), handle multi-statement SQL, strip line comments, fix `HARD_DENY_PATTERN` `\s` → `\b`; fix `computeSqlFingerprint` referencing undefined `core` after safe-import refactor (#582)
18
+ - **Edit tool nearest-match error messages** — `buildNotFoundMessage` with Levenshtein similarity search shows closest file content when `oldString` not found, helping LLM self-correct (#582)
19
+ - **Webfetch failure caching and actionable errors** — session-level URL failure cache (404/410/451) with 5-min TTL; status-specific error messages telling the model whether to retry; URL sanitization in errors to prevent token leakage (#582)
20
+ - **Nested `node_modules` in `NODE_PATH`** — `@altimateai/altimate-core` NAPI resolution now works for npm's hoisted and nested layouts (#576)
21
+ - **Null guards across 8 tool formatters** — prevent literal `undefined` in user-facing output for sql-analyze, schema-inspect, sql-translate, dbt-manifest, finops, and warehouse tools; DuckDB auto-retry on `database is locked` (#571)
22
+ - **Telemetry error classification** — add `http_error` class, expand connection/validation/permission patterns, redact sensitive keys in input signatures (#566)
23
+ - **Pre-release review findings** — remove dead code, fix `classifySkillTrigger()` unknown trigger handling, add null guards in lineage/translate tools (#580)
24
+ - **Binary alias hard copy** — use `cp` instead of symlink for `altimate-code` binary alias to fix cross-platform compatibility (#578)
25
+
26
+ ### Testing
27
+
28
+ - Verdaccio sanity suite: 50 new tests across 3 phases, added to CI and release workflows (#560, #562)
29
+ - 12 new tests for `buildNotFoundMessage`, `computeSqlFingerprint`, and webfetch error messages (#582)
30
+
8
31
  ## [0.5.14] - 2026-03-28
9
32
 
10
33
  ### Added
package/package.json CHANGED
@@ -14,24 +14,24 @@
14
14
  "scripts": {
15
15
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
16
16
  },
17
- "version": "0.5.14",
17
+ "version": "0.5.15",
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@altimateai/altimate-core": "0.2.5"
20
+ "@altimateai/altimate-core": "0.2.6"
21
21
  },
22
22
  "optionalDependencies": {
23
- "@altimateai/altimate-code-linux-arm64": "0.5.14",
24
- "@altimateai/altimate-code-windows-x64": "0.5.14",
25
- "@altimateai/altimate-code-windows-x64-baseline": "0.5.14",
26
- "@altimateai/altimate-code-darwin-x64": "0.5.14",
27
- "@altimateai/altimate-code-windows-arm64": "0.5.14",
28
- "@altimateai/altimate-code-linux-x64-baseline": "0.5.14",
29
- "@altimateai/altimate-code-linux-arm64-musl": "0.5.14",
30
- "@altimateai/altimate-code-linux-x64-musl": "0.5.14",
31
- "@altimateai/altimate-code-linux-x64": "0.5.14",
32
- "@altimateai/altimate-code-darwin-x64-baseline": "0.5.14",
33
- "@altimateai/altimate-code-linux-x64-baseline-musl": "0.5.14",
34
- "@altimateai/altimate-code-darwin-arm64": "0.5.14"
23
+ "@altimateai/altimate-code-linux-arm64": "0.5.15",
24
+ "@altimateai/altimate-code-windows-x64": "0.5.15",
25
+ "@altimateai/altimate-code-windows-x64-baseline": "0.5.15",
26
+ "@altimateai/altimate-code-darwin-x64": "0.5.15",
27
+ "@altimateai/altimate-code-windows-arm64": "0.5.15",
28
+ "@altimateai/altimate-code-linux-x64-baseline": "0.5.15",
29
+ "@altimateai/altimate-code-linux-arm64-musl": "0.5.15",
30
+ "@altimateai/altimate-code-linux-x64-musl": "0.5.15",
31
+ "@altimateai/altimate-code-linux-x64": "0.5.15",
32
+ "@altimateai/altimate-code-darwin-x64-baseline": "0.5.15",
33
+ "@altimateai/altimate-code-linux-x64-baseline-musl": "0.5.15",
34
+ "@altimateai/altimate-code-darwin-arm64": "0.5.15"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "pg": ">=8",