codebot-ai 2.1.1 → 2.1.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.
package/dist/banner.d.ts CHANGED
@@ -2,37 +2,24 @@
2
2
  * CodeBot AI mascot and CLI banner.
3
3
  *
4
4
  * Mascot name: Codi
5
- * Three designs: Neural Core, Terminal Shield, Sentinel
5
+ * Three designs: Core, Terminal, Sentinel
6
6
  * See BRANDING.md for full identity guide.
7
- *
8
- * Design philosophy: Enterprise-grade. Clean geometry.
9
- * No crayon vibes — precision engineering.
10
7
  */
11
8
  export type CodiMood = 'ready' | 'working' | 'success' | 'error' | 'thinking' | 'idle' | 'alert';
12
- export declare const MASCOT_1 = "\n \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 \u250C\u2500\u2500\u2510 \u250C\u2500\u2500\u2510 \u2502\n \u2502 \u2502\u2593\u2593\u2502 \u2502\u2593\u2593\u2502 \u2502\n \u2502 \u2514\u2500\u2500\u2518 \u2514\u2500\u2500\u2518 \u2502\n \u2576\u2500\u2500\u2500\u2500\u2524 \u251C\u2500\u2500\u2500\u2500\u2574\n \u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F \u2502\n \u2502 \u2502\n \u2514\u2500\u2500\u252C\u2500\u2500\u252C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u252C\u2500\u2500\u2518\n \u2502 \u2502 \u2502 \u2502\n";
9
+ export declare const MASCOT_1 = "\n \u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2584\n \u2588\u2588 \u2588\u2588\n \u2588\u2588 \u2584\u2588\u2588\u2584 \u2584\u2588\u2588\u2584 \u2588\u2588\n \u2588\u2588 \u2580\u2588\u2588\u2580 \u2580\u2588\u2588\u2580 \u2588\u2588\n \u2588\u2588 \u2588\u2588\n \u2588\u2588 \u2580\u2588\u2588\u2588\u2588\u2588\u2588\u2580 \u2588\u2588\n \u2580\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2580\n";
13
10
  export declare const BANNER_1: (version: string, model: string, provider: string, session: string, autonomous: boolean) => string;
14
- export declare const MASCOT_2 = "\n \u250C\u2500\u2510 \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557 \u250C\u2500\u2510\n \u2502\u2591\u2502 \u2551 \u25C9 \u25C9 \u2551 \u2502\u2591\u2502\n \u2502\u2591\u2502 \u2551 \u2551 \u2502\u2591\u2502\n \u2502\u2591\u2502 \u2551 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F \u2551 \u2502\u2591\u2502\n \u2502\u2591\u2502 \u2551 \u2551 \u2502\u2591\u2502\n \u2514\u2500\u2518 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u2514\u2500\u2518\n \u25AA \u25AA \u25AA \u25AA \u25AA \u25AA \u25AA \u25AA\n";
11
+ export declare const MASCOT_2 = "\n \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n \u2551 \u2551\n \u2551 \u25CF \u25CF \u2551\n \u2551 \u2551\n \u2551 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F \u2551\n \u2551 \u2551\n \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D\n";
15
12
  export declare const BANNER_2: (version: string, model: string, provider: string, session: string, autonomous: boolean) => string;
16
- export declare const MASCOT_3 = "\n \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n \u2554\u255D \u255A\u2557\n \u2551 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2591\u2591\u2591 \u2551\n \u2551 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2551\n \u255A\u2557 \u2554\u255D\n \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D\n \u2551 \u2551 \u2551 \u2551\n";
13
+ export declare const MASCOT_3 = "\n \u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2584\n \u2584\u2588\u2580 \u2580\u2588\u2584\n \u2588\u2580 \u2591\u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591\u2591 \u2580\u2588\n \u2588\u2584 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2584\u2588\n \u2580\u2588\u2584 \u2584\u2588\u2580\n \u2580\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2580\n";
17
14
  export declare const BANNER_3: (version: string, model: string, provider: string, session: string, autonomous: boolean) => string;
18
15
  export declare const banner: (version: string, model: string, provider: string, session: string, autonomous: boolean) => string;
19
16
  export declare const CODI_FACE: Record<CodiMood, string>;
20
- /**
21
- * Random startup greeting from Codi.
22
- */
23
17
  export declare function randomGreeting(mood?: string): string;
24
18
  export interface CodiReaction {
25
19
  face: string;
26
20
  message: string;
27
21
  }
28
- /**
29
- * Get a context-aware reaction from Codi.
30
- * Returns a face expression + message pair.
31
- */
32
22
  export declare function codiReact(event: string): CodiReaction;
33
- /**
34
- * Format a Codi reaction as a styled CLI string.
35
- */
36
23
  export declare function formatReaction(event: string): string;
37
24
  export declare function sessionSummaryBanner(stats: {
38
25
  iterations: number;
@@ -41,12 +28,6 @@ export declare function sessionSummaryBanner(stats: {
41
28
  cost?: number;
42
29
  duration?: number;
43
30
  }): string;
44
- /**
45
- * Compact single-line startup for non-TTY / piped usage.
46
- */
47
31
  export declare function compactBanner(version: string, model: string): string;
48
- /**
49
- * Pick a random banner design (for variety on startup).
50
- */
51
32
  export declare function randomBanner(): typeof BANNER_1;
52
33
  //# sourceMappingURL=banner.d.ts.map
package/dist/banner.js CHANGED
@@ -3,11 +3,8 @@
3
3
  * CodeBot AI mascot and CLI banner.
4
4
  *
5
5
  * Mascot name: Codi
6
- * Three designs: Neural Core, Terminal Shield, Sentinel
6
+ * Three designs: Core, Terminal, Sentinel
7
7
  * See BRANDING.md for full identity guide.
8
- *
9
- * Design philosophy: Enterprise-grade. Clean geometry.
10
- * No crayon vibes — precision engineering.
11
8
  */
12
9
  Object.defineProperty(exports, "__esModule", { value: true });
13
10
  exports.CODI_FACE = exports.banner = exports.BANNER_3 = exports.MASCOT_3 = exports.BANNER_2 = exports.MASCOT_2 = exports.BANNER_1 = exports.MASCOT_1 = void 0;
@@ -37,118 +34,114 @@ const C = {
37
34
  brightBlue: '\x1b[94m',
38
35
  };
39
36
  // ─────────────────────────────────────────────────────────────
40
- // DESIGN 1: "Neural Core" — Precision-engineered AI processor
41
- // Clean, symmetric, enterprise. The signature look.
37
+ // DESIGN 1: "Core" — Solid block-character robot head
38
+ // Double-thick walls. Heavy, industrial, enterprise.
42
39
  // ─────────────────────────────────────────────────────────────
43
40
  exports.MASCOT_1 = `
44
- ┌─────────────────────┐
45
- │ ┌──┐ ┌──┐ │
46
- │▓▓│ │▓▓│ │
47
- └──┘ └──┘ │
48
- ╶────┤ ├────╴
49
- ╰─────────╯
50
- │ │
51
- └──┬──┬───────┬──┬──┘
52
- │ │ │ │
41
+ ▄██████████████████▄
42
+ ██ ██
43
+ ██ ▄██▄ ▄██▄ ██
44
+ ██ ▀██▀ ▀██▀ ██
45
+ ██ ██
46
+ ██ ▀██████▀ ██
47
+ ▀██████████████████▀
53
48
  `;
54
49
  const BANNER_1 = (version, model, provider, session, autonomous) => {
55
- const a = C.cyan; // frame
56
- const e = C.brightGreen; // eyes
57
- const m = C.brightCyan; // mouth
58
- const d = C.dim; // connectors
50
+ const f = C.cyan;
51
+ const e = C.brightGreen;
52
+ const m = C.brightCyan;
53
+ const d = C.dim;
59
54
  const r = C.reset;
60
55
  const lines = [
61
56
  '',
62
- `${a} ┌─────────────────────┐${r}`,
63
- `${a} │${r} ${e}┌──┐${r} ${e}┌──┐${r} ${a}│${r}`,
64
- `${a} │${r} ${e}│▓▓│${r} ${e}│▓▓│${r} ${a}│${r} ${C.bold}${C.brightCyan}CodeBot AI${r} ${d}v${version}${r}`,
65
- `${a} │${r} ${e}└──┘${r} ${e}└──┘${r} ${a}│${r} ${d}Think local. Code global.${r}`,
66
- `${d} ╶────${a}┤${r} ${a}├${d}────╴${r}`,
67
- `${a} │${r} ${m}╰─────────╯${r} ${a}│${r} ${d}Model: ${C.white}${model}${r}`,
68
- `${a} │${r} ${a}│${r} ${d}Provider: ${C.white}${provider}${r}`,
69
- `${a} └──┬──┬───────┬──┬──┘${r} ${d}Session: ${C.white}${session}${r}`,
70
- `${d} │ │ │ │${r}` + (autonomous ? ` ${C.brightYellow}${C.bold}⚡ AUTONOMOUS${r}` : ''),
57
+ `${f} ▄██████████████████▄${r}`,
58
+ `${f} ██${r} ${f}██${r}`,
59
+ `${f} ██${r} ${e}▄██▄${r} ${e}▄██▄${r} ${f}██${r} ${C.bold}${C.brightCyan}CodeBot AI${r} ${d}v${version}${r}`,
60
+ `${f} ██${r} ${e}▀██▀${r} ${e}▀██▀${r} ${f}██${r} ${d}Think local. Code global.${r}`,
61
+ `${f} ██${r} ${f}██${r}`,
62
+ `${f} ██${r} ${m}▀██████▀${r} ${f}██${r} ${d}Model: ${C.white}${model}${r}`,
63
+ `${f} ▀██████████████████▀${r} ${d}Provider: ${C.white}${provider}${r}`,
64
+ ` ${d}Session: ${C.white}${session}${r}`,
65
+ autonomous ? ` ${C.brightYellow}${C.bold}⚡ AUTONOMOUS${r}` : '',
71
66
  '',
72
67
  ];
73
68
  return lines.join('\n');
74
69
  };
75
70
  exports.BANNER_1 = BANNER_1;
76
71
  // ─────────────────────────────────────────────────────────────
77
- // DESIGN 2: "Terminal Shield" — Secure terminal with status LEDs
78
- // Enterprise security aesthetic. Trust indicator built in.
72
+ // DESIGN 2: "Terminal" — Clean double-line border monitor
73
+ // Formal, corporate. Minimal decoration.
79
74
  // ─────────────────────────────────────────────────────────────
80
75
  exports.MASCOT_2 = `
81
- ┌─┐ ╔═══════════════════╗ ┌─┐
82
- │░│ ◉ ◉ │░│
83
- │░│ │░│
84
- │░│ ╰───────────╯ │░│
85
- │░│ │░│
86
- └─┘ ╚═══════════════════╝ └─┘
87
- ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
76
+ ╔══════════════════════╗
77
+
78
+ ● ●
79
+
80
+ ╰────────╯
81
+ ║ ║
82
+ ╚══════════════════════╝
88
83
  `;
89
84
  const BANNER_2 = (version, model, provider, session, autonomous) => {
90
- const f = C.cyan; // frame
91
- const s = C.dim; // side panels
92
- const e = C.brightGreen; // eyes
93
- const m = C.brightCyan; // mouth
85
+ const f = C.cyan;
86
+ const e = C.brightGreen;
87
+ const m = C.brightCyan;
88
+ const d = C.dim;
94
89
  const r = C.reset;
95
- const led = C.brightGreen;
96
90
  const lines = [
97
91
  '',
98
- `${s} ┌─┐${r} ${f}╔═══════════════════╗${r} ${s}┌─┐${r}`,
99
- `${s} │░│${r} ${f}║${r} ${e}◉${r} ${e}◉${r} ${f}║${r} ${s}│░│${r} ${C.bold}${C.brightCyan}CodeBot AI${r} ${C.dim}v${version}${r}`,
100
- `${s} │░│${r} ${f}║${r} ${f}║${r} ${s}│░│${r} ${C.dim}Think local. Code global.${r}`,
101
- `${s} │░│${r} ${f}║${r} ${m}╰───────────╯${r} ${f}║${r} ${s}│░│${r}`,
102
- `${s} │░│${r} ${f}║${r} ${f}║${r} ${s}│░│${r} ${C.dim}Model: ${C.white}${model}${r}`,
103
- `${s} └─┘${r} ${f}╚═══════════════════╝${r} ${s}└─┘${r} ${C.dim}Provider: ${C.white}${provider}${r}`,
104
- ` ${led}▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪${r} ${C.dim}Session: ${C.white}${session}${r}`,
105
- autonomous ? ` ${C.brightYellow}${C.bold}⚡ AUTONOMOUS${r}` : '',
92
+ `${f} ╔══════════════════════╗${r}`,
93
+ `${f} ║${r} ${f}║${r}`,
94
+ `${f} ║${r} ${e}●${r} ${e}●${r} ${f}║${r} ${C.bold}${C.brightCyan}CodeBot AI${r} ${d}v${version}${r}`,
95
+ `${f} ║${r} ${f}║${r} ${d}Think local. Code global.${r}`,
96
+ `${f} ║${r} ${m}╰────────╯${r} ${f}║${r}`,
97
+ `${f} ║${r} ${f}║${r} ${d}Model: ${C.white}${model}${r}`,
98
+ `${f} ╚══════════════════════╝${r} ${d}Provider: ${C.white}${provider}${r}`,
99
+ ` ${d}Session: ${C.white}${session}${r}`,
100
+ autonomous ? ` ${C.brightYellow}${C.bold}⚡ AUTONOMOUS${r}` : '',
106
101
  '',
107
102
  ];
108
103
  return lines.join('\n');
109
104
  };
110
105
  exports.BANNER_2 = BANNER_2;
111
106
  // ─────────────────────────────────────────────────────────────
112
- // DESIGN 3: "Sentinel" — Armored visor. Threat detection mode.
113
- // Cybersecurity aesthetic. Used in autonomous/scanning contexts.
107
+ // DESIGN 3: "Sentinel" — Visor helmet with gradient scan bar
108
+ // Sleek armor plating. Diamond silhouette.
114
109
  // ─────────────────────────────────────────────────────────────
115
110
  exports.MASCOT_3 = `
116
- ╔═══════════╗
117
- ╔╝ ╚╗
118
- ║ ░░░█████░░░ ║
119
- ║ ░░░░░░░░░░░ ║
120
- ╚╗ ╔╝
121
- ╚═══════════╝
122
- ║ ║ ║ ║
111
+ ▄████████████▄
112
+ ▄█▀ ▀█▄
113
+ █▀ ░░▒▓██████▓▒░░ ▀█
114
+ █▄ ░░░░░░░░░░░░░░ ▄█
115
+ ▀█▄ ▄█▀
116
+ ▀████████████▀
123
117
  `;
124
118
  const BANNER_3 = (version, model, provider, session, autonomous) => {
125
- const f = C.cyan; // frame
126
- const v = C.brightCyan; // visor glow
127
- const g = C.brightGreen; // visor core
119
+ const f = C.cyan;
120
+ const v = C.brightCyan;
121
+ const g = C.brightGreen;
128
122
  const d = C.dim;
129
123
  const r = C.reset;
130
124
  const lines = [
131
125
  '',
132
- `${f} ╔═══════════╗${r}`,
133
- `${f} ╔╝${r} ${f}╚╗${r} ${C.bold}${C.brightCyan}CodeBot AI${r} ${d}v${version}${r}`,
134
- `${f} ║${r} ${v}░░░${g}█████${v}░░░${r} ${f}║${r} ${d}Think local. Code global.${r}`,
135
- `${f} ║${r} ${d}░░░░░░░░░░░${r} ${f}║${r}`,
136
- `${f} ╚╗${r} ${f}╔╝${r} ${d}Model: ${C.white}${model}${r}`,
137
- `${f} ╚═══════════╝${r} ${d}Provider: ${C.white}${provider}${r}`,
138
- `${d} ║ ║ ║ ║${r} ${d}Session: ${C.white}${session}${r}`,
139
- autonomous ? ` ${C.brightYellow}${C.bold}⚡ AUTONOMOUS${r}` : '',
126
+ `${f} ▄████████████▄${r}`,
127
+ `${f} ▄█▀${r} ${f}▀█▄${r} ${C.bold}${C.brightCyan}CodeBot AI${r} ${d}v${version}${r}`,
128
+ `${f} █▀${r} ${v}░░▒▓${g}██████${v}▓▒░░${r} ${f}▀█${r} ${d}Think local. Code global.${r}`,
129
+ `${f} █▄${r} ${d}░░░░░░░░░░░░░░${r} ${f}▄█${r}`,
130
+ `${f} ▀█▄${r} ${f}▄█▀${r} ${d}Model: ${C.white}${model}${r}`,
131
+ `${f} ▀████████████▀${r} ${d}Provider: ${C.white}${provider}${r}`,
132
+ ` ${d}Session: ${C.white}${session}${r}`,
133
+ autonomous ? ` ${C.brightYellow}${C.bold}⚡ AUTONOMOUS${r}` : '',
140
134
  '',
141
135
  ];
142
136
  return lines.join('\n');
143
137
  };
144
138
  exports.BANNER_3 = BANNER_3;
145
139
  // ─────────────────────────────────────────────────────────────
146
- // Default banner (Design 1 — Neural Core)
140
+ // Default banner (Design 1 — Core)
147
141
  // ─────────────────────────────────────────────────────────────
148
142
  exports.banner = exports.BANNER_1;
149
143
  // ─────────────────────────────────────────────────────────────
150
- // Codi's Expressions — Compact inline status indicators
151
- // Enterprise-grade: no emoji, no cartoon. Clean symbols.
144
+ // Inline status indicators
152
145
  // ─────────────────────────────────────────────────────────────
153
146
  exports.CODI_FACE = {
154
147
  ready: `${C.cyan}[${C.brightGreen}◉ ◉${C.cyan}]${C.reset}`,
@@ -160,7 +153,7 @@ exports.CODI_FACE = {
160
153
  alert: `${C.cyan}[${C.brightYellow}▲ ▲${C.cyan}]${C.reset}`,
161
154
  };
162
155
  // ─────────────────────────────────────────────────────────────
163
- // Greeting System — Mood-categorized randomized greetings
156
+ // Greeting System
164
157
  // ─────────────────────────────────────────────────────────────
165
158
  const GREETINGS_BY_MOOD = {
166
159
  confident: [
@@ -197,11 +190,7 @@ const GREETINGS_BY_MOOD = {
197
190
  "Session recovered. Let's continue.",
198
191
  ],
199
192
  };
200
- /** All greetings flattened for random selection */
201
193
  const ALL_GREETINGS = Object.values(GREETINGS_BY_MOOD).flat();
202
- /**
203
- * Random startup greeting from Codi.
204
- */
205
194
  function randomGreeting(mood) {
206
195
  const pool = mood && GREETINGS_BY_MOOD[mood]
207
196
  ? GREETINGS_BY_MOOD[mood]
@@ -258,10 +247,6 @@ const REACTIONS = {
258
247
  "Autonomous. Maximum throughput.",
259
248
  ],
260
249
  };
261
- /**
262
- * Get a context-aware reaction from Codi.
263
- * Returns a face expression + message pair.
264
- */
265
250
  function codiReact(event) {
266
251
  let mood = 'ready';
267
252
  if (event === 'tool_success' || event === 'session_end')
@@ -278,20 +263,14 @@ function codiReact(event) {
278
263
  mood = 'working';
279
264
  const messages = REACTIONS[event] || REACTIONS.tool_success;
280
265
  const message = messages[Math.floor(Math.random() * messages.length)];
281
- return {
282
- face: exports.CODI_FACE[mood],
283
- message,
284
- };
266
+ return { face: exports.CODI_FACE[mood], message };
285
267
  }
286
- /**
287
- * Format a Codi reaction as a styled CLI string.
288
- */
289
268
  function formatReaction(event) {
290
269
  const reaction = codiReact(event);
291
270
  return ` ${reaction.face} ${C.dim}${reaction.message}${C.reset}`;
292
271
  }
293
272
  // ─────────────────────────────────────────────────────────────
294
- // Session Summary Banner — Clean end-of-session report
273
+ // Session Summary Banner
295
274
  // ─────────────────────────────────────────────────────────────
296
275
  function sessionSummaryBanner(stats) {
297
276
  const durationStr = stats.duration !== undefined
@@ -314,15 +293,9 @@ function sessionSummaryBanner(stats) {
314
293
  ];
315
294
  return lines.join('\n');
316
295
  }
317
- /**
318
- * Compact single-line startup for non-TTY / piped usage.
319
- */
320
296
  function compactBanner(version, model) {
321
297
  return `${C.bold}${C.brightCyan}CodeBot AI${C.reset} ${C.dim}v${version}${C.reset} ${C.dim}[${model}]${C.reset}`;
322
298
  }
323
- /**
324
- * Pick a random banner design (for variety on startup).
325
- */
326
299
  function randomBanner() {
327
300
  const banners = [exports.BANNER_1, exports.BANNER_2, exports.BANNER_3];
328
301
  return banners[Math.floor(Math.random() * banners.length)];
package/dist/cli.js CHANGED
@@ -52,7 +52,7 @@ const sandbox_1 = require("./sandbox");
52
52
  const replay_1 = require("./replay");
53
53
  const risk_1 = require("./risk");
54
54
  const sarif_1 = require("./sarif");
55
- const VERSION = '2.1.1';
55
+ const VERSION = '2.1.2';
56
56
  const C = {
57
57
  reset: '\x1b[0m',
58
58
  bold: '\x1b[1m',
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const VERSION = "2.1.1";
1
+ export declare const VERSION = "2.1.2";
2
2
  export { Agent } from './agent';
3
3
  export { OpenAIProvider } from './providers/openai';
4
4
  export { AnthropicProvider } from './providers/anthropic';
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.BANNER_1 = exports.CODI_FACE = exports.randomBanner = exports.sessionSummaryBanner = exports.codiReact = exports.formatReaction = exports.compactBanner = exports.randomGreeting = exports.banner = exports.getPassphrase = exports.deriveKey = exports.isEncryptionEnabled = exports.decryptContent = exports.encryptContent = exports.decryptLine = exports.encryptLine = exports.decrypt = exports.encrypt = exports.generateDefaultPolicyFile = exports.loadPolicy = exports.PolicyEnforcer = exports.sarifToString = exports.exportSarif = exports.RiskScorer = exports.MetricsCollector = exports.listReplayableSessions = exports.compareOutputs = exports.loadSessionForReplay = exports.ReplayProvider = exports.verifyMessages = exports.verifyMessage = exports.signMessage = exports.deriveSessionKey = exports.CapabilityChecker = exports.detectProvider = exports.getModelInfo = exports.PROVIDER_DEFAULTS = exports.MODEL_REGISTRY = exports.loadMCPTools = exports.loadPlugins = exports.parseToolCalls = exports.MemoryManager = exports.SessionManager = exports.buildRepoMap = exports.ContextManager = exports.ToolRegistry = exports.AnthropicProvider = exports.OpenAIProvider = exports.Agent = exports.VERSION = void 0;
18
18
  exports.BANNER_3 = exports.BANNER_2 = void 0;
19
- exports.VERSION = '2.1.1';
19
+ exports.VERSION = '2.1.2';
20
20
  var agent_1 = require("./agent");
21
21
  Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_1.Agent; } });
22
22
  var openai_1 = require("./providers/openai");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebot-ai",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "Zero-dependency autonomous AI agent. Code, browse, search, automate. Works with any LLM — Ollama, Claude, GPT, Gemini, DeepSeek, Groq, Mistral, Grok.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",