solrouter 0.3.1 → 0.3.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/package.json +1 -1
  2. package/src/banner.js +34 -38
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solrouter",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Local privacy router for coding tools: pseudonymises every request before it leaves your machine, and sends work a frontier model would refuse to an uncensored open-weight model you control.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/banner.js CHANGED
@@ -16,46 +16,42 @@ export const bgc = (h) => { const [r, g, b] = rgb(h); return `\x1b[48;2;${r};${g
16
16
  export const RESET = "\x1b[0m";
17
17
  export const paint = (h, t, bold = false) => fg(h) + (bold ? "\x1b[1m" : "") + t + RESET;
18
18
 
19
- // Base cat, clean hoodie. .=transparent o=outline b=body e=eye n=nose p=ear H=hoodie
19
+ // The cat, generated to hold the REAL wave mark on its black hoodie at full
20
+ // resolution (verified rendered, not downsampled). .=transparent b=body e=eye
21
+ // n=nose p=ear-inner H=hoodie(black) v=mark(cream).
20
22
  const CAT = [
21
- "...oo................oo....",
22
- "..obbo..............obbo..",
23
- "..obpbo............obpbo..",
24
- "..obbbbo..........obbbbo..",
25
- "...obbbboooooooooobbbbo...",
26
- "....obbbbbbbbbbbbbbbbo....",
27
- "...obbbbbbbbbbbbbbbbbbo...",
28
- "..obbbbbbbbbbbbbbbbbbbbo..",
29
- "..obbbeebbbbbbbbeebbbbbo..",
30
- "..obbbeebbbbbbbbeebbbbbo..",
31
- "..obbbbbbbbbnnbbbbbbbbbo..",
32
- "..obbbbbbbbbnnbbbbbbbbbo..",
33
- "...obbbbbbbbbbbbbbbbbbo...",
34
- "....obbbbbbbbbbbbbbbbo....",
35
- "...oHHHHHHHHHHHHHHHHHHo...",
36
- "..oHHHHHHHHHHHHHHHHHHHHo..",
37
- "..oHHHHHHHHHHHHHHHHHHHHo..",
38
- "..oHHHHHHHHHHHHHHHHHHHHo..",
39
- "..oHHHHHHHHHHHHHHHHHHHHo..",
40
- "..oHHHHHHHHHHHHHHHHHHHHo..",
41
- "..oHHHHHHHHHHHHHHHHHHHHo..",
42
- "..obbHHHHHHHHHHHHHHHHbbo..",
43
- "..obbboHHHHHHHHHHHHobbbo..",
44
- "...oooo.oooooooooo.oooo...",
23
+ "................................",
24
+ "..........b..........b..........",
25
+ ".........bbb........bbb.........",
26
+ "........bbpbb......bbpbb........",
27
+ ".......bbbbbbbbbbbbbbbbbb.......",
28
+ ".......bbbbbbbbbbbbbbbbbb.......",
29
+ ".......bbbbbbbbbbbbbbbbbb.......",
30
+ "......bbbbbbbbbbbbbbbbbbbb......",
31
+ "......bbbbbbbbbbbbbbbbbbbb......",
32
+ "......bbbbeebbbbbbbeebbbbb......",
33
+ "......bbbbeebbbbbbbeebbbbb......",
34
+ "......bbbbbbbbbnnbbbbbbbbb......",
35
+ "......bbbbbbbbbnnbbbbbbbbb......",
36
+ ".......bbbbbbbbbbbbbbbbbb.......",
37
+ "........bbbbbbbbbbbbbbbb........",
38
+ "..........bbbbbbbbbbbb..........",
39
+ ".............bbbbbb.............",
40
+ "....HHHHHHHHHHHHHHHHHHHHHHHH....",
41
+ "..HHHHHHvvvvHHHHHHHHvvvvHHHHHH..",
42
+ "..HHHHHvvvvvvHHHHHHvvvvvvvHHHH..",
43
+ "..HHHvvvHHHHvvvHHvvvvHHHvvvHHH..",
44
+ "..HvvvvHHHHHHvvvvvvHHHHHHvvvvH..",
45
+ "..HvvHHHHHHHHHvvvvHHHHHHHHHvvH..",
46
+ "..HHHHHHHHHHHHHHHHHHHHHHHHHHHH..",
47
+ "..HHHHHHvvvvHHHHHHHHvvvvHHHHHH..",
48
+ "..HHHHHvvvvvvHHHHHHvvvvvvvHHHH..",
49
+ "..HHHvvvvHHHvvvHHHvvvHHHvvvHHH..",
50
+ "..HvvvvHHHHHHvvvvvvHHHHHHvvvvH..",
51
+ "..bbbbHHHHHHHHvvvvHHHHHHHHbbbb..",
52
+ "..bbbbHHHHHHHHHHHHHHHHHHHHbbbb..",
45
53
  ];
46
54
 
47
- // Overlay the real mark (SM) onto the hoodie, centred.
48
- function catWithMark() {
49
- const g = CAT.map(r => r.split(""));
50
- const mw = MARK_SM[0].length, mh = MARK_SM.length;
51
- const c0 = Math.round((CAT[0].length - mw) / 2); // centre horizontally
52
- const r0 = 16; // centred on the black hoodie
53
- for (let y = 0; y < mh; y++) for (let x = 0; x < mw; x++) {
54
- if (MARK_SM[y][x] === "v" && g[r0 + y] && g[r0 + y][c0 + x] === "H") g[r0 + y][c0 + x] = "v";
55
- }
56
- return g.map(r => r.join(""));
57
- }
58
-
59
55
  const CMAP = { o: PAL.out, b: PAL.cream, e: PAL.eye, n: PAL.nose, p: PAL.nose, H: PAL.hood, v: PAL.cream };
60
56
 
61
57
  /** Render a pixel grid to ANSI half-block lines. Display width = grid width in chars. */
@@ -76,7 +72,7 @@ export function renderGrid(grid, cmap = CMAP) {
76
72
  return lines;
77
73
  }
78
74
 
79
- export const catLines = () => renderGrid(catWithMark());
75
+ export const catLines = () => renderGrid(CAT);
80
76
  export const catWidth = () => CAT[0].length;
81
77
  export const markLines = () => renderGrid(MARK_LG, { v: PAL.cream });
82
78