anantham-v2 2.0.3 → 2.0.5

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 (66) hide show
  1. package/dist/bin/anantham.js +10 -1
  2. package/dist/bin/anantham.js.map +1 -1
  3. package/dist/cli/command-registry.d.ts.map +1 -1
  4. package/dist/cli/command-registry.js +178 -99
  5. package/dist/cli/command-registry.js.map +1 -1
  6. package/dist/domain/tui.d.ts +1 -1
  7. package/dist/domain/tui.d.ts.map +1 -1
  8. package/dist/domain/tui.js +1 -0
  9. package/dist/domain/tui.js.map +1 -1
  10. package/dist/persistence/index.d.ts +2 -0
  11. package/dist/persistence/index.d.ts.map +1 -1
  12. package/dist/persistence/index.js +2 -0
  13. package/dist/persistence/index.js.map +1 -1
  14. package/dist/persistence/model-catalog-cache.d.ts +92 -0
  15. package/dist/persistence/model-catalog-cache.d.ts.map +1 -0
  16. package/dist/persistence/model-catalog-cache.js +430 -0
  17. package/dist/persistence/model-catalog-cache.js.map +1 -0
  18. package/dist/persistence/openrouter-key-validator.d.ts +40 -0
  19. package/dist/persistence/openrouter-key-validator.d.ts.map +1 -0
  20. package/dist/persistence/openrouter-key-validator.js +183 -0
  21. package/dist/persistence/openrouter-key-validator.js.map +1 -0
  22. package/dist/persistence/token-metrics-manager.d.ts +8 -2
  23. package/dist/persistence/token-metrics-manager.d.ts.map +1 -1
  24. package/dist/persistence/token-metrics-manager.js +60 -7
  25. package/dist/persistence/token-metrics-manager.js.map +1 -1
  26. package/dist/persistence/user-config-manager.d.ts +33 -9
  27. package/dist/persistence/user-config-manager.d.ts.map +1 -1
  28. package/dist/persistence/user-config-manager.js +133 -11
  29. package/dist/persistence/user-config-manager.js.map +1 -1
  30. package/dist/tui/index.d.ts +1 -0
  31. package/dist/tui/index.d.ts.map +1 -1
  32. package/dist/tui/index.js +1 -0
  33. package/dist/tui/index.js.map +1 -1
  34. package/dist/tui/model-accordion-browser.d.ts +80 -0
  35. package/dist/tui/model-accordion-browser.d.ts.map +1 -0
  36. package/dist/tui/model-accordion-browser.js +487 -0
  37. package/dist/tui/model-accordion-browser.js.map +1 -0
  38. package/dist/tui/model-catalog-cache.d.ts +7 -0
  39. package/dist/tui/model-catalog-cache.d.ts.map +1 -0
  40. package/dist/tui/model-catalog-cache.js +7 -0
  41. package/dist/tui/model-catalog-cache.js.map +1 -0
  42. package/dist/tui/teamwork-preview-canvas.d.ts +63 -0
  43. package/dist/tui/teamwork-preview-canvas.d.ts.map +1 -0
  44. package/dist/tui/teamwork-preview-canvas.js +294 -0
  45. package/dist/tui/teamwork-preview-canvas.js.map +1 -0
  46. package/dist/tui/terminal-layout.d.ts +56 -2
  47. package/dist/tui/terminal-layout.d.ts.map +1 -1
  48. package/dist/tui/terminal-layout.js +258 -22
  49. package/dist/tui/terminal-layout.js.map +1 -1
  50. package/dist/tui/terminal-logo-renderer.d.ts +63 -0
  51. package/dist/tui/terminal-logo-renderer.d.ts.map +1 -0
  52. package/dist/tui/terminal-logo-renderer.js +304 -0
  53. package/dist/tui/terminal-logo-renderer.js.map +1 -0
  54. package/dist/tui/token-usage-tracker.d.ts +8 -0
  55. package/dist/tui/token-usage-tracker.d.ts.map +1 -0
  56. package/dist/tui/token-usage-tracker.js +8 -0
  57. package/dist/tui/token-usage-tracker.js.map +1 -0
  58. package/dist/tui/tui-controller.d.ts +13 -0
  59. package/dist/tui/tui-controller.d.ts.map +1 -1
  60. package/dist/tui/tui-controller.js +116 -6
  61. package/dist/tui/tui-controller.js.map +1 -1
  62. package/dist/tui/tui-renderer.d.ts +3 -1
  63. package/dist/tui/tui-renderer.d.ts.map +1 -1
  64. package/dist/tui/tui-renderer.js +31 -41
  65. package/dist/tui/tui-renderer.js.map +1 -1
  66. package/package.json +1 -1
@@ -110,40 +110,276 @@ export class TerminalLayout {
110
110
  const combined = `${left}${" ".repeat(space)}${right}`;
111
111
  return combined.length <= width ? combined : combined.slice(0, width);
112
112
  }
113
- /**
114
- * Render Antigravity Header with coiled infinity serpent branding & status pill.
115
- */
116
- static renderAntigravityHeader(status, projectId, sessionId, dimensions, activeModel) {
117
- const width = dimensions.width;
113
+ static renderAntigravityHeader(statusOrOptions, projectId, sessionId, dimensions, activeModel) {
114
+ let status = "ONLINE";
115
+ let projId = projectId;
116
+ let sessId = sessionId;
117
+ let dims = dimensions ?? { width: 80, height: 24 };
118
+ let model = activeModel;
119
+ let gateway = "OpenRouter";
120
+ let brandColor = "\x1b[38;2;0;242;152m";
121
+ if (typeof statusOrOptions === "object" && statusOrOptions !== null) {
122
+ status = statusOrOptions.status ?? "ONLINE";
123
+ projId = statusOrOptions.projectId;
124
+ sessId = statusOrOptions.sessionId;
125
+ const w = statusOrOptions.width ?? statusOrOptions.dimensions?.width ?? 80;
126
+ const h = statusOrOptions.dimensions?.height ?? 24;
127
+ dims = statusOrOptions.dimensions ?? { width: w, height: h };
128
+ model = statusOrOptions.activeModel;
129
+ gateway = statusOrOptions.gateway ?? "OpenRouter";
130
+ if (statusOrOptions.brandColor) {
131
+ brandColor = statusOrOptions.brandColor;
132
+ }
133
+ }
134
+ else if (typeof statusOrOptions === "string") {
135
+ status = statusOrOptions;
136
+ if (dimensions) {
137
+ dims = dimensions;
138
+ }
139
+ }
140
+ const width = dims.width;
141
+ if (width < 80) {
142
+ return [TerminalLayout.renderStatusBar(status, projId, sessId, dims)];
143
+ }
118
144
  const lines = [];
119
- const serpentTop = "\x1b[38;2;0;242;152m╭─━∞━─╮\x1b[0m";
120
- const serpentBottom = "\x1b[38;2;0;242;152m╰─━∞━─╯\x1b[0m";
145
+ const serpentTop = `${brandColor}╭─━∞━─╮\x1b[0m`;
146
+ const serpentBottom = `${brandColor}╰─━∞━─╯\x1b[0m`;
121
147
  const title = AnsiGradient.linearGradient("ANANTHAM INFINITE TUI", AnsiGradient.PALETTES.cyanBlue[0], AnsiGradient.PALETTES.cyanBlue[1]);
122
148
  const statusPill = "\x1b[48;2;16;38;56m\x1b[38;2;0;242;254m[HARNESS: ONLINE | LATENCY: 18ms]\x1b[0m";
123
- const statusText = `Status: [${status}]`;
124
- if (width >= 80) {
125
- const left1 = ` ${serpentTop} ${title} ❖ ${statusPill}`;
126
- const right1 = `${statusText} │ ${dimensions.width}x${dimensions.height} `;
127
- const space1 = Math.max(1, width - 68 - right1.length);
128
- lines.push(`${left1}${" ".repeat(space1)}${right1}`);
129
- const subtitle = "\x1b[90mAntigravity Reactive Shell v2.0.3\x1b[0m";
130
- const modelClean = activeModel ? activeModel.split("/").pop() : undefined;
131
- const modelStr = modelClean ? `\x1b[38;2;79;172;254mModel: ${modelClean}\x1b[0m` : "";
132
- const projSess = `Project: ${projectId ?? "(none)"} │ Session: ${sessionId ?? "(none)"} `;
133
- const left2 = ` ${serpentBottom} ${subtitle}${modelStr ? " │ " + modelStr : ""}`;
134
- const space2 = Math.max(1, width - 42 - (modelClean ? modelClean.length + 9 : 0) - projSess.length);
135
- lines.push(`${left2}${" ".repeat(space2)}${projSess}`);
149
+ const shellSubtitle = "\x1b[90mAntigravity Reactive Shell\x1b[0m";
150
+ // --- Line 1 Construction ---
151
+ if (width >= 90) {
152
+ const left1 = ` ${serpentTop} ${title} ${statusPill}`;
153
+ const visLeft1 = TuiSanitizer.stripAnsi(left1).length;
154
+ const remainingForShell = width - visLeft1;
155
+ let right1 = "";
156
+ if (remainingForShell >= 26) {
157
+ const pad1 = remainingForShell - 26;
158
+ right1 = `${" ".repeat(pad1)}${shellSubtitle}`;
159
+ }
160
+ else {
161
+ const pad1 = Math.max(1, remainingForShell - 16);
162
+ right1 = `${" ".repeat(pad1)}Status: [${status}]`;
163
+ }
164
+ const line1 = `${left1}${right1}`;
165
+ lines.push(TuiSanitizer.stripAnsi(line1).length <= width ? line1 : TuiSanitizer.truncate(line1, width));
136
166
  }
137
167
  else {
138
- lines.push(TerminalLayout.renderStatusBar(status, projectId, sessionId, dimensions));
168
+ const left1 = ` ${serpentTop} ${title}`;
169
+ const visLeft1 = TuiSanitizer.stripAnsi(left1).length;
170
+ const statusText = `Status: [${status}] `;
171
+ const visStatus = TuiSanitizer.stripAnsi(statusText).length;
172
+ let right1 = statusText;
173
+ if (projId) {
174
+ const availForProj = Math.max(0, width - visLeft1 - visStatus - 13);
175
+ const displayProj = availForProj > 3
176
+ ? (projId.length > availForProj ? projId.slice(0, availForProj - 3) + "..." : projId)
177
+ : projId.slice(0, availForProj);
178
+ if (displayProj.length > 0) {
179
+ right1 = `Project: ${displayProj} │ ${statusText}`;
180
+ }
181
+ }
182
+ const visRight1 = TuiSanitizer.stripAnsi(right1).length;
183
+ const space1 = Math.max(1, width - visLeft1 - visRight1);
184
+ const line1 = `${left1}${" ".repeat(space1)}${right1}`;
185
+ lines.push(TuiSanitizer.stripAnsi(line1).length <= width ? line1 : TuiSanitizer.truncate(line1, width));
186
+ }
187
+ // --- Line 2 Construction ---
188
+ let displayModel = "auto";
189
+ if (model && model.trim().length > 0 && model.trim() !== "auto") {
190
+ const clean = model.trim();
191
+ displayModel = clean.includes("/") ? (clean.split("/").pop() ?? clean) : clean;
192
+ }
193
+ const logoTag = "\x1b[38;2;0;242;254m[LOGO]\x1b[0m";
194
+ const harnessText = "\x1b[1;37mANTIGRAVITY HARNESS\x1b[0m";
195
+ const sep = "\x1b[90m│\x1b[0m";
196
+ const gwText = `\x1b[38;2;0;242;152mGATEWAY:\x1b[0m ${gateway}`;
197
+ const modelLabel = "\x1b[38;2;79;172;254mMODEL:\x1b[0m";
198
+ const dockPrefix = ` ${serpentBottom} ${logoTag} ${harnessText} ${sep} ${gwText} ${sep} ${modelLabel} `;
199
+ const visDockPrefix = TuiSanitizer.stripAnsi(dockPrefix).length;
200
+ let right2 = "";
201
+ if (width >= 120) {
202
+ right2 = `Project: ${projId ?? "(none)"} │ Status: [${status}] │ ${dims.width}x${dims.height} `;
203
+ }
204
+ else if (width >= 90 && displayModel.length <= 8) {
205
+ right2 = projId ? `Project: ${projId} ` : `Status: [${status}] `;
139
206
  }
207
+ const visRight2 = TuiSanitizer.stripAnsi(right2).length;
208
+ const maxModelLen = Math.max(4, width - visDockPrefix - visRight2 - 1);
209
+ let finalModel = displayModel;
210
+ if (finalModel.length > maxModelLen) {
211
+ finalModel = maxModelLen > 6 ? finalModel.slice(0, maxModelLen - 3) + "..." : finalModel.slice(0, maxModelLen);
212
+ }
213
+ const modelStyled = `\x1b[38;2;79;172;254m${finalModel}\x1b[0m`;
214
+ const left2 = `${dockPrefix}${modelStyled}`;
215
+ const visLeft2 = TuiSanitizer.stripAnsi(left2).length;
216
+ const space2 = Math.max(1, width - visLeft2 - visRight2);
217
+ let line2 = `${left2}${" ".repeat(space2)}${right2}`;
218
+ if (TuiSanitizer.stripAnsi(line2).length > width) {
219
+ const excess = TuiSanitizer.stripAnsi(line2).length - width;
220
+ if (space2 > excess) {
221
+ line2 = `${left2}${" ".repeat(space2 - excess)}${right2}`;
222
+ }
223
+ else {
224
+ line2 = `${left2}`;
225
+ }
226
+ }
227
+ lines.push(TuiSanitizer.stripAnsi(line2).length <= width ? line2 : TuiSanitizer.truncate(line2, width));
140
228
  return lines;
141
229
  }
142
230
  /**
143
231
  * Render horizontal divider.
144
232
  */
145
233
  static renderDivider(width, char = "─") {
146
- return char.repeat(Math.max(10, width));
234
+ return char.repeat(Math.max(0, width));
235
+ }
236
+ /**
237
+ * Helper to resolve command prompt prefix and suffix decorations and their visible lengths.
238
+ * Shared between renderPromptBar and getPromptCursorCol to guarantee zero layout drift.
239
+ */
240
+ static getPromptDecorations(width, commandPrompt) {
241
+ const isSlash = commandPrompt.startsWith("/");
242
+ const isUltraNarrow = width < 25;
243
+ const isNarrow = !isUltraNarrow && (isSlash ? width < 70 : width < 50);
244
+ let prefix;
245
+ let suffix;
246
+ if (isUltraNarrow) {
247
+ prefix = " : ";
248
+ suffix = "_";
249
+ }
250
+ else if (isNarrow) {
251
+ prefix = " [CMD] : ";
252
+ suffix = "_ | [↵] [ESC]";
253
+ }
254
+ else if (isSlash) {
255
+ prefix = " \x1b[38;2;0;242;254m❖ anantham:preview >\x1b[0m ";
256
+ suffix = "_ \x1b[90m| [ENTER] Run, [TAB] Complete, [ESC] Close\x1b[0m";
257
+ }
258
+ else {
259
+ prefix = " [COMMAND MODE] : ";
260
+ suffix = "_ | [ENTER] Run, [ESC] Cancel";
261
+ }
262
+ const visPrefixLen = TuiSanitizer.stripAnsi(prefix).length;
263
+ const visSuffixLen = TuiSanitizer.stripAnsi(suffix).length;
264
+ return { prefix, suffix, visPrefixLen, visSuffixLen, isUltraNarrow, isNarrow, isSlash };
265
+ }
266
+ /**
267
+ * Render Antigravity Prompt Bar framed by divider rule lines.
268
+ * Preserves exact row indexing and bottom-line indexing for terminal stability.
269
+ */
270
+ static renderPromptBar(options) {
271
+ const { width, commandPrompt = "", isCommandMode = false, bottomRule = false, ruleChar = "─" } = options;
272
+ const lines = [];
273
+ // Upper framing rule line
274
+ lines.push(TerminalLayout.renderDivider(width, ruleChar));
275
+ // Prompt line layout
276
+ const inCommandMode = isCommandMode || commandPrompt.length > 0;
277
+ let rawLine = "";
278
+ if (inCommandMode) {
279
+ const { prefix, suffix, visPrefixLen, visSuffixLen } = TerminalLayout.getPromptDecorations(width, commandPrompt);
280
+ const avail = Math.max(0, width - visPrefixLen - visSuffixLen);
281
+ const cleanPrompt = TuiSanitizer.sanitize(commandPrompt);
282
+ let visiblePrompt = "";
283
+ if (avail > 0) {
284
+ if (cleanPrompt.length <= avail) {
285
+ visiblePrompt = cleanPrompt;
286
+ }
287
+ else if (avail > 3) {
288
+ visiblePrompt = "..." + cleanPrompt.slice(-(avail - 3));
289
+ }
290
+ else {
291
+ visiblePrompt = cleanPrompt.slice(-avail);
292
+ }
293
+ }
294
+ rawLine = `${prefix}${visiblePrompt}${suffix}`;
295
+ }
296
+ else {
297
+ if (width >= 92) {
298
+ const leftPrompt = " \x1b[38;2;0;242;254m❯\x1b[0m \x1b[90mask anything or type / for commands...\x1b[0m";
299
+ const rightMode = "\x1b[38;2;0;242;254m❖\x1b[0m [NORMAL MODE] [1-9] Views, [:] Command, [q] Quit";
300
+ const visLeft = TuiSanitizer.stripAnsi(leftPrompt).length;
301
+ const visRight = TuiSanitizer.stripAnsi(rightMode).length;
302
+ const gap = Math.max(1, width - visLeft - visRight);
303
+ rawLine = `${leftPrompt}${" ".repeat(gap)}${rightMode}`;
304
+ }
305
+ else if (width >= 80) {
306
+ const leftPrompt = " \x1b[38;2;0;242;254m❯\x1b[0m \x1b[90m/ for commands\x1b[0m";
307
+ const rightMode = "\x1b[38;2;0;242;254m❖\x1b[0m [NORMAL MODE] [1-9] Views, [:] Command, [q] Quit";
308
+ const visLeft = TuiSanitizer.stripAnsi(leftPrompt).length;
309
+ const visRight = TuiSanitizer.stripAnsi(rightMode).length;
310
+ const gap = Math.max(1, width - visLeft - visRight);
311
+ rawLine = `${leftPrompt}${" ".repeat(gap)}${rightMode}`;
312
+ }
313
+ else if (width >= 53) {
314
+ rawLine = " \x1b[38;2;0;242;254m❖\x1b[0m [NORMAL MODE] [1-9] Views, [:] Command, [q] Quit";
315
+ }
316
+ else if (width >= 49) {
317
+ rawLine = " [NORMAL MODE] [1-9] Views, [:] Command, [q] Quit";
318
+ }
319
+ else if (width >= 32) {
320
+ rawLine = " [NORMAL] [:] Cmd, [q] Quit";
321
+ }
322
+ else {
323
+ rawLine = TuiSanitizer.truncate(" [NORM] [:] [q]", width);
324
+ }
325
+ }
326
+ // Mandatory line-level width clamping
327
+ const clampedLine = TuiSanitizer.stripAnsi(rawLine).length <= width
328
+ ? rawLine
329
+ : TuiSanitizer.truncate(rawLine, width);
330
+ lines.push(clampedLine);
331
+ // Optional bottom framing rule line (only when explicitly requested)
332
+ if (bottomRule) {
333
+ lines.push(TerminalLayout.renderDivider(width, ruleChar));
334
+ }
335
+ return lines;
336
+ }
337
+ /**
338
+ * Frame prompt text with an upper divider rule, preserving prompt as the final line.
339
+ */
340
+ static framePromptLine(promptText, width, char = "─") {
341
+ return [
342
+ TerminalLayout.renderDivider(width, char),
343
+ promptText,
344
+ ];
345
+ }
346
+ /**
347
+ * Helper to calculate the exact 1-based terminal row index for the prompt line.
348
+ * Guarantees cursor positioning does not point to a bottom divider rule.
349
+ */
350
+ static getPromptRowIndex(totalLines, hasBottomRule = false) {
351
+ return hasBottomRule ? Math.max(1, totalLines - 1) : Math.max(1, totalLines);
352
+ }
353
+ /**
354
+ * Helper to calculate the exact 1-based terminal column index for the cursor.
355
+ * Strips ANSI sequences from prefix and suffix to prevent ANSI offset drift.
356
+ * Strictly tracks visible display characters, accounts for horizontal ellipsis scrolling,
357
+ * and clamps coordinates to [1, width].
358
+ */
359
+ static getPromptCursorCol(width, commandPrompt, cursorPosition, isCommandMode) {
360
+ if (!isCommandMode)
361
+ return 1;
362
+ const { visPrefixLen, visSuffixLen } = TerminalLayout.getPromptDecorations(width, commandPrompt);
363
+ const avail = Math.max(0, width - visPrefixLen - visSuffixLen);
364
+ const clean = TuiSanitizer.sanitize(commandPrompt);
365
+ const cur = Math.max(0, Math.min(cursorPosition, clean.length));
366
+ let visCursorPos = 0;
367
+ if (avail === 0) {
368
+ visCursorPos = 0;
369
+ }
370
+ else if (clean.length <= avail) {
371
+ visCursorPos = cur;
372
+ }
373
+ else if (avail > 3) {
374
+ const sliceStart = clean.length - (avail - 3);
375
+ visCursorPos = Math.max(0, Math.min(3 + (cur - sliceStart), avail));
376
+ }
377
+ else {
378
+ const sliceStart = clean.length - avail;
379
+ visCursorPos = Math.max(0, Math.min(cur - sliceStart, avail));
380
+ }
381
+ const rawCol = visPrefixLen + visCursorPos + 1;
382
+ return Math.max(1, Math.min(rawCol, width));
147
383
  }
148
384
  /**
149
385
  * Render formatted 2-column table with aligned headers.
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-layout.js","sourceRoot":"","sources":["../../src/tui/terminal-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-layout.js","sourceRoot":"","sources":["../../src/tui/terminal-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ export type GraphicProtocol = "kitty" | "sixel" | "iterm2" | "halfblock";
2
+ export type RGB = [number, number, number];
3
+ export interface HeaderLogoOptions {
4
+ protocol?: GraphicProtocol;
5
+ logoPath?: string;
6
+ width?: number;
7
+ }
8
+ export declare const ANTIGRAVITY_PALETTE: {
9
+ darkOnyx: RGB;
10
+ neonCyan: RGB;
11
+ electricBlue: RGB;
12
+ neonViolet: RGB;
13
+ magenta: RGB;
14
+ neonEmerald: RGB;
15
+ purpleGlow: RGB;
16
+ };
17
+ /**
18
+ * TerminalLogoRenderer provides high-performance terminal logo rendering
19
+ * across Kitty, iTerm2, Sixel graphics protocols with graceful fallback
20
+ * to 24-bit TrueColor ANSI half-blocks (\u2580).
21
+ */
22
+ export declare class TerminalLogoRenderer {
23
+ /**
24
+ * Detects the graphical capability of the current terminal session.
25
+ */
26
+ static detectProtocol(): GraphicProtocol;
27
+ /**
28
+ * Resolves the custom logo path based on authoritative precedence:
29
+ * 1. cliPath
30
+ * 2. process.env.ANANTHAM_LOGO_PATH
31
+ * 3. UserConfigManager.getInstance().getLogoPath()
32
+ * 4. ./assets/logo.png (if exists)
33
+ * 5. null
34
+ */
35
+ static resolveLogoPath(cliPath?: string): string | null;
36
+ /**
37
+ * Renders a 2D pixel matrix of RGB tuples into 24-bit TrueColor half-block lines.
38
+ * Uses '\u2580' ('▀') where top pixel is foreground color and bottom pixel is background color.
39
+ */
40
+ static renderMatrixToHalfBlocks(matrix: RGB[][]): string[];
41
+ /**
42
+ * Renders procedural cybernetic Anantham infinite emblem in 24-bit TrueColor half-blocks.
43
+ * If width is specified, formats or crops/pads the emblem to fit.
44
+ */
45
+ static renderHalfBlockLogo(width?: number): string[];
46
+ /**
47
+ * Emits terminal graphics protocol escape sequences for Kitty, iTerm2, or Sixel.
48
+ */
49
+ static renderGraphicProtocol(protocol: "kitty" | "iterm2" | "sixel", filePath: string): string;
50
+ /**
51
+ * Orchestrates logo rendering across graphics protocols and TrueColor half-blocks.
52
+ * Supports both overload styles:
53
+ * - renderHeaderLogo(protocol?: GraphicProtocol, cliPath?: string)
54
+ * - renderHeaderLogo(options?: HeaderLogoOptions)
55
+ */
56
+ static renderHeaderLogo(optionsOrProtocol?: GraphicProtocol | HeaderLogoOptions, cliPath?: string): string[];
57
+ detectProtocol(): GraphicProtocol;
58
+ resolveLogoPath(cliPath?: string): string | null;
59
+ renderHalfBlockLogo(width?: number): string[];
60
+ renderGraphicProtocol(protocol: "kitty" | "iterm2" | "sixel", filePath: string): string;
61
+ renderHeaderLogo(optionsOrProtocol?: GraphicProtocol | HeaderLogoOptions, cliPath?: string): string[];
62
+ }
63
+ //# sourceMappingURL=terminal-logo-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-logo-renderer.d.ts","sourceRoot":"","sources":["../../src/tui/terminal-logo-renderer.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB;cACJ,GAAG;cACF,GAAG;kBACC,GAAG;gBACL,GAAG;aACL,GAAG;iBACA,GAAG;gBACH,GAAG;CAClC,CAAC;AAiFF;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;WACW,cAAc,IAAI,eAAe;IAoB/C;;;;;;;OAOG;WACW,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqC9D;;;OAGG;WACW,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE;IA4BjE;;;OAGG;WACW,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAsB3D;;OAEG;WACW,qBAAqB,CACjC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,EACtC,QAAQ,EAAE,MAAM,GACf,MAAM;IA8CT;;;;;OAKG;WACW,gBAAgB,CAC5B,iBAAiB,CAAC,EAAE,eAAe,GAAG,iBAAiB,EACvD,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,EAAE;IA2CJ,cAAc,IAAI,eAAe;IAIjC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIhD,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAI7C,qBAAqB,CAC1B,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,EACtC,QAAQ,EAAE,MAAM,GACf,MAAM;IAIF,gBAAgB,CACrB,iBAAiB,CAAC,EAAE,eAAe,GAAG,iBAAiB,EACvD,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,EAAE;CAGZ"}