sweet-search 2.5.10 → 2.5.11

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.
@@ -86,6 +86,10 @@ export async function showBanner(opts = {}) {
86
86
  try {
87
87
  if (!shouldRender(out, env)) return false;
88
88
 
89
+ // Clear the screen first so a tall banner can't half-overflow / strand the
90
+ // shell prompt mid-image (home + erase screen + erase scrollback, like `clear`).
91
+ if (opts.clear) out.write('\x1b[H\x1b[2J\x1b[3J');
92
+
89
93
  const sharp = require('sharp');
90
94
  const man = JSON.parse(readFileSync(join(ASSET_DIR, 'banner-manifest.json'), 'utf8'));
91
95
  const { gridCols: GC, cellW: CW, cellH: CH, count: N, frameMs } = man;
@@ -123,7 +123,7 @@ async function main() {
123
123
 
124
124
  // Animated banner (best-effort; interactive TTY only, never in CI / quiet / stdin-fed runs).
125
125
  if (!quiet && !help && !filesFromStdin && process.stdout.isTTY && !process.env.CI && !process.env.NO_BANNER && !process.env.SWEET_SEARCH_NO_BANNER) {
126
- try { const { showBanner } = await import('../banner/render-banner.js'); await showBanner(); } catch { /* non-fatal */ }
126
+ try { const { showBanner } = await import('../banner/render-banner.js'); await showBanner({ clear: true }); } catch { /* non-fatal */ }
127
127
  }
128
128
 
129
129
  // Apply late interaction model overrides before any model code runs.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sweet-search",
3
- "version": "2.5.10",
3
+ "version": "2.5.11",
4
4
  "description": "Sweet Search - SOTA Hybrid Code Search Engine with WASM CatBoost Query Router, Semantic/Lexical/Structural Search, and Multilingual Support",
5
5
  "type": "module",
6
6
  "main": "core/search/sweet-search.js",
@@ -163,12 +163,12 @@
163
163
  },
164
164
  "optionalDependencies": {
165
165
  "usearch": "^2.21.4",
166
- "@sweet-search/native-darwin-arm64": "2.5.10",
167
- "@sweet-search/native-darwin-x64": "2.5.10",
168
- "@sweet-search/native-linux-arm64-gnu": "2.5.10",
169
- "@sweet-search/native-linux-arm64-gnu-cuda": "2.5.10",
170
- "@sweet-search/native-linux-x64-gnu": "2.5.10",
171
- "@sweet-search/native-linux-x64-gnu-cuda": "2.5.10"
166
+ "@sweet-search/native-darwin-arm64": "2.5.11",
167
+ "@sweet-search/native-darwin-x64": "2.5.11",
168
+ "@sweet-search/native-linux-arm64-gnu": "2.5.11",
169
+ "@sweet-search/native-linux-arm64-gnu-cuda": "2.5.11",
170
+ "@sweet-search/native-linux-x64-gnu": "2.5.11",
171
+ "@sweet-search/native-linux-x64-gnu-cuda": "2.5.11"
172
172
  },
173
173
  "engines": {
174
174
  "node": ">=18.0.0"
package/scripts/init.js CHANGED
@@ -1470,7 +1470,7 @@ export async function runInit(args) {
1470
1470
  // 0. Animated banner (best-effort; only on an interactive TTY, never in CI/pipes).
1471
1471
  if (process.stdout.isTTY && !process.env.CI && !process.env.NO_BANNER && !process.env.SWEET_SEARCH_NO_BANNER) {
1472
1472
  // query:false — init is interactive (readline); avoid any stdin contention with the terminal capability probe.
1473
- try { const { showBanner } = await import('../core/banner/render-banner.js'); await showBanner({ query: false }); } catch { /* non-fatal */ }
1473
+ try { const { showBanner } = await import('../core/banner/render-banner.js'); await showBanner({ query: false, clear: true }); } catch { /* non-fatal */ }
1474
1474
  }
1475
1475
 
1476
1476
  // 1. Node.js version check
@@ -34,8 +34,8 @@ function run() {
34
34
  const L2 = '▄▄█ ▀▄█▄▀ ██▄ ██▄ █ ▄▄█ ██▄ █▀█ ██▄ █▄▄ █▀█';
35
35
  const msg = [
36
36
  '',
37
- ` ${c('1;38;5;135', L1)}`,
38
- ` ${c('1;38;5;135', L2)}`,
37
+ ` ${c('1;38;2;90;115;220', L1)}`,
38
+ ` ${c('1;38;2;90;115;220', L2)}`,
39
39
  '',
40
40
  ` ${c('1', 'Get started:')}`,
41
41
  ` ${c('36', 'sweet-search init')} set up the current project`,