genai-electron 0.4.3 → 0.6.1

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 (70) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +87 -84
  3. package/dist/config/defaults.d.ts +37 -54
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +53 -60
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/paths.d.ts +1 -0
  8. package/dist/config/paths.d.ts.map +1 -1
  9. package/dist/config/paths.js +3 -0
  10. package/dist/config/paths.js.map +1 -1
  11. package/dist/config/reasoning-models.d.ts.map +1 -1
  12. package/dist/config/reasoning-models.js.map +1 -1
  13. package/dist/index.d.ts +6 -5
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/managers/BinaryManager.d.ts +1 -0
  18. package/dist/managers/BinaryManager.d.ts.map +1 -1
  19. package/dist/managers/BinaryManager.js +21 -30
  20. package/dist/managers/BinaryManager.js.map +1 -1
  21. package/dist/managers/DiffusionServerManager.d.ts +6 -0
  22. package/dist/managers/DiffusionServerManager.d.ts.map +1 -1
  23. package/dist/managers/DiffusionServerManager.js +186 -50
  24. package/dist/managers/DiffusionServerManager.js.map +1 -1
  25. package/dist/managers/GenerationRegistry.d.ts.map +1 -1
  26. package/dist/managers/GenerationRegistry.js +1 -1
  27. package/dist/managers/GenerationRegistry.js.map +1 -1
  28. package/dist/managers/LlamaServerManager.d.ts +17 -0
  29. package/dist/managers/LlamaServerManager.d.ts.map +1 -1
  30. package/dist/managers/LlamaServerManager.js +284 -28
  31. package/dist/managers/LlamaServerManager.js.map +1 -1
  32. package/dist/managers/ModelManager.d.ts +6 -0
  33. package/dist/managers/ModelManager.d.ts.map +1 -1
  34. package/dist/managers/ModelManager.js +424 -2
  35. package/dist/managers/ModelManager.js.map +1 -1
  36. package/dist/managers/ResourceOrchestrator.d.ts.map +1 -1
  37. package/dist/managers/ResourceOrchestrator.js +52 -51
  38. package/dist/managers/ResourceOrchestrator.js.map +1 -1
  39. package/dist/managers/ServerManager.d.ts +2 -2
  40. package/dist/managers/ServerManager.d.ts.map +1 -1
  41. package/dist/managers/ServerManager.js +8 -3
  42. package/dist/managers/ServerManager.js.map +1 -1
  43. package/dist/managers/StorageManager.d.ts.map +1 -1
  44. package/dist/managers/StorageManager.js +143 -12
  45. package/dist/managers/StorageManager.js.map +1 -1
  46. package/dist/process/health-check.d.ts +4 -3
  47. package/dist/process/health-check.d.ts.map +1 -1
  48. package/dist/process/health-check.js +12 -6
  49. package/dist/process/health-check.js.map +1 -1
  50. package/dist/process/log-manager.d.ts +11 -1
  51. package/dist/process/log-manager.d.ts.map +1 -1
  52. package/dist/process/log-manager.js +49 -2
  53. package/dist/process/log-manager.js.map +1 -1
  54. package/dist/process/port-utils.d.ts +3 -0
  55. package/dist/process/port-utils.d.ts.map +1 -0
  56. package/dist/process/port-utils.js +28 -0
  57. package/dist/process/port-utils.js.map +1 -0
  58. package/dist/types/images.d.ts +4 -2
  59. package/dist/types/images.d.ts.map +1 -1
  60. package/dist/types/index.d.ts +2 -2
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/types/models.d.ts +31 -0
  63. package/dist/types/models.d.ts.map +1 -1
  64. package/dist/types/servers.d.ts +20 -2
  65. package/dist/types/servers.d.ts.map +1 -1
  66. package/dist/utils/debug-log.d.ts +3 -0
  67. package/dist/utils/debug-log.d.ts.map +1 -0
  68. package/dist/utils/debug-log.js +10 -0
  69. package/dist/utils/debug-log.js.map +1 -0
  70. package/package.json +73 -73
@@ -3,7 +3,8 @@ export interface HealthCheckResponse {
3
3
  status: HealthStatus;
4
4
  [key: string]: unknown;
5
5
  }
6
- export declare function checkHealth(port: number, timeout?: number): Promise<HealthCheckResponse>;
7
- export declare function waitForHealthy(port: number, timeout?: number, initialDelay?: number, maxDelay?: number): Promise<void>;
8
- export declare function isServerResponding(port: number, timeout?: number): Promise<boolean>;
6
+ export declare function checkHealth(port: number, timeout?: number, host?: string): Promise<HealthCheckResponse>;
7
+ export declare function waitForHealthy(port: number, timeout?: number, initialDelay?: number, maxDelay?: number, host?: string): Promise<void>;
8
+ export declare function isServerResponding(port: number, timeout?: number, host?: string): Promise<boolean>;
9
+ export declare function normalizeHealthHost(host?: string): string;
9
10
  //# sourceMappingURL=health-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/process/health-check.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD,MAAM,WAAW,mBAAmB;IAElC,MAAM,EAAE,YAAY,CAAC;IAErB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmBD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiD5F;AAsBD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAQ,EACf,YAAY,SAAM,EAClB,QAAQ,SAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAoDf;AAkBD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAcvF"}
1
+ {"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/process/health-check.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD,MAAM,WAAW,mBAAmB;IAElC,MAAM,EAAE,YAAY,CAAC;IAErB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAqBD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,SAAO,EACd,IAAI,SAAc,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAiD9B;AAsBD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAS,EAChB,YAAY,SAAM,EAClB,QAAQ,SAAO,EACf,IAAI,SAAc,GACjB,OAAO,CAAC,IAAI,CAAC,CAoDf;AAkBD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAO,EACd,IAAI,SAAc,GACjB,OAAO,CAAC,OAAO,CAAC,CAclB;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKzD"}
@@ -1,9 +1,9 @@
1
1
  import { ServerError } from '../errors/index.js';
2
- export async function checkHealth(port, timeout = 5000) {
2
+ export async function checkHealth(port, timeout = 5000, host = '127.0.0.1') {
3
3
  const controller = new AbortController();
4
4
  const timeoutId = setTimeout(() => controller.abort(), timeout);
5
5
  try {
6
- const response = await fetch(`http://localhost:${port}/health`, {
6
+ const response = await fetch(`http://${host}:${port}/health`, {
7
7
  signal: controller.signal,
8
8
  headers: {
9
9
  Accept: 'application/json',
@@ -38,14 +38,14 @@ export async function checkHealth(port, timeout = 5000) {
38
38
  return { status: 'unknown' };
39
39
  }
40
40
  }
41
- export async function waitForHealthy(port, timeout = 60000, initialDelay = 100, maxDelay = 2000) {
41
+ export async function waitForHealthy(port, timeout = 120000, initialDelay = 100, maxDelay = 2000, host = '127.0.0.1') {
42
42
  const startTime = Date.now();
43
43
  let delay = initialDelay;
44
44
  let attempt = 0;
45
45
  while (Date.now() - startTime < timeout) {
46
46
  attempt++;
47
47
  try {
48
- const health = await checkHealth(port, 5000);
48
+ const health = await checkHealth(port, 5000, host);
49
49
  if (health.status === 'ok') {
50
50
  return;
51
51
  }
@@ -73,11 +73,11 @@ export async function waitForHealthy(port, timeout = 60000, initialDelay = 100,
73
73
  attempts: attempt,
74
74
  });
75
75
  }
76
- export async function isServerResponding(port, timeout = 2000) {
76
+ export async function isServerResponding(port, timeout = 2000, host = '127.0.0.1') {
77
77
  const controller = new AbortController();
78
78
  const timeoutId = setTimeout(() => controller.abort(), timeout);
79
79
  try {
80
- const response = await fetch(`http://localhost:${port}/health`, {
80
+ const response = await fetch(`http://${host}:${port}/health`, {
81
81
  signal: controller.signal,
82
82
  });
83
83
  clearTimeout(timeoutId);
@@ -88,4 +88,10 @@ export async function isServerResponding(port, timeout = 2000) {
88
88
  return false;
89
89
  }
90
90
  }
91
+ export function normalizeHealthHost(host) {
92
+ if (host === undefined || host === '' || host === '0.0.0.0' || host === '::') {
93
+ return '127.0.0.1';
94
+ }
95
+ return host;
96
+ }
91
97
  //# sourceMappingURL=health-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../src/process/health-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../src/process/health-check.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ export interface LogRotationOptions {
2
+ maxFileSize?: number;
3
+ maxArchives?: number;
4
+ }
1
5
  export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
2
6
  export interface LogEntry {
3
7
  timestamp: string;
@@ -6,9 +10,15 @@ export interface LogEntry {
6
10
  }
7
11
  export declare class LogManager {
8
12
  private logPath;
9
- constructor(logPath: string);
13
+ private maxFileSize;
14
+ private maxArchives;
15
+ private approxSize;
16
+ private writeChain;
17
+ constructor(logPath: string, rotation?: LogRotationOptions);
10
18
  initialize(): Promise<void>;
11
19
  write(message: string, level?: LogLevel): Promise<void>;
20
+ private performWrite;
21
+ private rotate;
12
22
  getRecent(lines?: number): Promise<string[]>;
13
23
  clear(): Promise<void>;
14
24
  getLogPath(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"log-manager.d.ts","sourceRoot":"","sources":["../../src/process/log-manager.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAK3D,MAAM,WAAW,QAAQ;IAEvB,SAAS,EAAE,MAAM,CAAC;IAElB,KAAK,EAAE,QAAQ,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;CACjB;AAuBD,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;gBAOZ,OAAO,EAAE,MAAM;IAWrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,QAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/D,SAAS,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA4BzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,UAAU,IAAI,MAAM;IAWpB,OAAO,CAAC,WAAW;IAcnB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;CAuBjD"}
1
+ {"version":3,"file":"log-manager.d.ts","sourceRoot":"","sources":["../../src/process/log-manager.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,kBAAkB;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAK3D,MAAM,WAAW,QAAQ;IAEvB,SAAS,EAAE,MAAM,CAAC;IAElB,KAAK,EAAE,QAAQ,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;CACjB;AAuBD,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,UAAU,CAAK;IAMvB,OAAO,CAAC,UAAU,CAAoC;gBAQ1C,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;IAcpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,QAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAYvD,YAAY;YA2BZ,MAAM;IAgCd,SAAS,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA4BzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,UAAU,IAAI,MAAM;IAWpB,OAAO,CAAC,WAAW;IAcnB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;CAuBjD"}
@@ -1,11 +1,18 @@
1
1
  import { promises as fs } from 'fs';
2
2
  import { ensureDirectory, fileExists } from '../utils/file-utils.js';
3
3
  import { FileSystemError } from '../errors/index.js';
4
+ import { DEFAULT_LOG_ROTATION } from '../config/defaults.js';
4
5
  import path from 'path';
5
6
  export class LogManager {
6
7
  logPath;
7
- constructor(logPath) {
8
+ maxFileSize;
9
+ maxArchives;
10
+ approxSize = 0;
11
+ writeChain = Promise.resolve();
12
+ constructor(logPath, rotation) {
8
13
  this.logPath = logPath;
14
+ this.maxFileSize = rotation?.maxFileSize ?? DEFAULT_LOG_ROTATION.maxFileSize;
15
+ this.maxArchives = rotation?.maxArchives ?? DEFAULT_LOG_ROTATION.maxArchives;
9
16
  }
10
17
  async initialize() {
11
18
  try {
@@ -15,16 +22,55 @@ export class LogManager {
15
22
  catch (error) {
16
23
  throw new FileSystemError(`Failed to initialize log directory: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: this.logPath, error: error instanceof Error ? error.message : String(error) });
17
24
  }
25
+ try {
26
+ const stat = await fs.stat(this.logPath);
27
+ this.approxSize = stat.size;
28
+ }
29
+ catch {
30
+ this.approxSize = 0;
31
+ }
18
32
  }
19
33
  async write(message, level = 'info') {
34
+ const task = this.writeChain.then(() => this.performWrite(message, level));
35
+ this.writeChain = task.catch(() => void 0);
36
+ return task;
37
+ }
38
+ async performWrite(message, level) {
20
39
  try {
21
40
  const entry = this.formatEntry({ timestamp: new Date().toISOString(), level, message });
22
- await fs.appendFile(this.logPath, `${entry}\n`, 'utf8');
41
+ const line = `${entry}\n`;
42
+ if (this.maxFileSize > 0 && this.approxSize + line.length > this.maxFileSize) {
43
+ await this.rotate();
44
+ }
45
+ await fs.appendFile(this.logPath, line, 'utf8');
46
+ this.approxSize += line.length;
23
47
  }
24
48
  catch (error) {
25
49
  throw new FileSystemError(`Failed to write to log file: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: this.logPath, error: error instanceof Error ? error.message : String(error) });
26
50
  }
27
51
  }
52
+ async rotate() {
53
+ try {
54
+ if (this.maxArchives <= 0) {
55
+ await fs.writeFile(this.logPath, '', 'utf8');
56
+ }
57
+ else {
58
+ for (let i = this.maxArchives - 1; i >= 1; i--) {
59
+ const from = `${this.logPath}.${i}`;
60
+ const to = `${this.logPath}.${i + 1}`;
61
+ try {
62
+ await fs.rename(from, to);
63
+ }
64
+ catch {
65
+ }
66
+ }
67
+ await fs.rename(this.logPath, `${this.logPath}.1`);
68
+ }
69
+ }
70
+ catch {
71
+ }
72
+ this.approxSize = 0;
73
+ }
28
74
  async getRecent(lines = 100) {
29
75
  try {
30
76
  if (!(await fileExists(this.logPath))) {
@@ -41,6 +87,7 @@ export class LogManager {
41
87
  async clear() {
42
88
  try {
43
89
  await fs.writeFile(this.logPath, '', 'utf8');
90
+ this.approxSize = 0;
44
91
  }
45
92
  catch (error) {
46
93
  throw new FileSystemError(`Failed to clear log file: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: this.logPath, error: error instanceof Error ? error.message : String(error) });
@@ -1 +1 @@
1
- {"version":3,"file":"log-manager.js","sourceRoot":"","sources":["../../src/process/log-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-manager.js","sourceRoot":"","sources":["../../src/process/log-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function findFreePort(host?: string): Promise<number>;
2
+ export declare function isPortBindable(port: number, host?: string): Promise<boolean>;
3
+ //# sourceMappingURL=port-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-utils.d.ts","sourceRoot":"","sources":["../../src/process/port-utils.ts"],"names":[],"mappings":"AAwBA,wBAAgB,YAAY,CAAC,IAAI,SAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAehE;AAYD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CASjF"}
@@ -0,0 +1,28 @@
1
+ import net from 'node:net';
2
+ export function findFreePort(host = '127.0.0.1') {
3
+ return new Promise((resolve, reject) => {
4
+ const server = net.createServer();
5
+ server.unref();
6
+ server.on('error', reject);
7
+ server.listen(0, host, () => {
8
+ const address = server.address();
9
+ if (address === null || typeof address === 'string') {
10
+ server.close(() => reject(new Error('Failed to allocate a free port')));
11
+ return;
12
+ }
13
+ const { port } = address;
14
+ server.close((err) => (err ? reject(err) : resolve(port)));
15
+ });
16
+ });
17
+ }
18
+ export function isPortBindable(port, host = '127.0.0.1') {
19
+ return new Promise((resolve) => {
20
+ const server = net.createServer();
21
+ server.unref();
22
+ server.once('error', () => resolve(false));
23
+ server.listen(port, host, () => {
24
+ server.close(() => resolve(true));
25
+ });
26
+ });
27
+ }
28
+ //# sourceMappingURL=port-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-utils.js","sourceRoot":"","sources":["../../src/process/port-utils.ts"],"names":[],"mappings":"AAMA,OAAO,GAAG,MAAM,UAAU,CAAC;AAkB3B,MAAM,UAAU,YAAY,CAAC,IAAI,GAAG,WAAW;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAI,GAAG,WAAW;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -31,13 +31,15 @@ export interface ImageGenerationResult {
31
31
  }
32
32
  export interface DiffusionServerConfig {
33
33
  modelId: string;
34
- port?: number;
34
+ port?: number | 'auto';
35
35
  threads?: number;
36
36
  gpuLayers?: number;
37
37
  forceValidation?: boolean;
38
38
  clipOnCpu?: boolean;
39
39
  vaeOnCpu?: boolean;
40
40
  batchSize?: number;
41
+ offloadToCpu?: boolean;
42
+ diffusionFlashAttention?: boolean;
41
43
  }
42
44
  export interface DiffusionServerInfo {
43
45
  status: ServerStatus;
@@ -49,7 +51,7 @@ export interface DiffusionServerInfo {
49
51
  error?: string;
50
52
  busy?: boolean;
51
53
  }
52
- export type GenerationStatus = 'pending' | 'in_progress' | 'complete' | 'error';
54
+ export type GenerationStatus = 'pending' | 'in_progress' | 'complete' | 'error' | 'cancelled';
53
55
  export interface GenerationState {
54
56
  id: string;
55
57
  status: GenerationStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/types/images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/types/images.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export type { GPUInfo, CPUInfo, MemoryInfo, SystemCapabilities, SystemRecommendations, } from './system.js';
2
- export type { ModelType, ModelInfo, ModelSource, DownloadConfig, DownloadProgress, DownloadProgressCallback, GGUFMetadata, MetadataFetchStrategy, } from './models.js';
3
- export type { ServerStatus, HealthStatus, ServerConfig, ServerInfo, LlamaServerConfig, ServerEvent, ServerEventData, BinaryLogEvent, } from './servers.js';
2
+ export type { ModelType, ModelInfo, ModelSource, DownloadConfig, DownloadProgress, DownloadProgressCallback, GGUFMetadata, MetadataFetchStrategy, DiffusionComponentRole, DiffusionComponentInfo, DiffusionModelComponents, DiffusionComponentDownload, ShardInfo, } from './models.js';
3
+ export type { ServerStatus, HealthStatus, KVCacheType, FlashAttentionSetting, ServerConfig, ServerInfo, LlamaServerConfig, ServerEvent, ServerEventData, BinaryLogEvent, } from './servers.js';
4
4
  export type { ImageSampler, ImageGenerationConfig, ImageGenerationResult, ImageGenerationProgress, ImageGenerationStage, DiffusionServerConfig, DiffusionServerInfo, GenerationStatus, GenerationState, } from './images.js';
5
5
  export type Optional<T> = {
6
6
  [K in keyof T]?: T[K];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,OAAO,EACP,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACtB,CAAC;AAKF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAE3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACpD,CAAC,MAAM,CAAC,CAAC,CAAC;AAKX,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAE3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACpD,CAAC,MAAM,CAAC,CAAC,CAAC;AAKX,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAKjC,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAKvD,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,OAAO,EACP,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACtB,CAAC;AAKF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAE3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACpD,CAAC,MAAM,CAAC,CAAC,CAAC;AAKX,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAE3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACpD,CAAC,MAAM,CAAC,CAAC,CAAC;AAKX,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAKjC,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAKvD,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,4 +1,19 @@
1
1
  export type ModelType = 'llm' | 'diffusion';
2
+ export type DiffusionComponentRole = 'diffusion_model' | 'clip_l' | 'clip_g' | 't5xxl' | 'llm' | 'llm_vision' | 'vae';
3
+ export interface DiffusionComponentInfo {
4
+ path: string;
5
+ size: number;
6
+ checksum?: string;
7
+ }
8
+ export type DiffusionModelComponents = Partial<Record<DiffusionComponentRole, DiffusionComponentInfo>>;
9
+ export interface DiffusionComponentDownload {
10
+ role: DiffusionComponentRole;
11
+ source: 'huggingface' | 'url';
12
+ url?: string;
13
+ repo?: string;
14
+ file?: string;
15
+ checksum?: string;
16
+ }
2
17
  export type MetadataFetchStrategy = 'local-only' | 'remote-only' | 'local-remote' | 'remote-local';
3
18
  export interface ModelSource {
4
19
  type: 'huggingface' | 'url';
@@ -24,6 +39,11 @@ export interface GGUFMetadata {
24
39
  rope_freq_base?: number;
25
40
  raw?: Record<string, unknown>;
26
41
  }
42
+ export interface ShardInfo {
43
+ path: string;
44
+ size: number;
45
+ checksum?: string;
46
+ }
27
47
  export interface ModelInfo {
28
48
  id: string;
29
49
  name: string;
@@ -35,6 +55,8 @@ export interface ModelInfo {
35
55
  checksum?: string;
36
56
  supportsReasoning?: boolean;
37
57
  ggufMetadata?: GGUFMetadata;
58
+ components?: DiffusionModelComponents;
59
+ shards?: ShardInfo[];
38
60
  }
39
61
  export type DownloadProgressCallback = (downloaded: number, total: number) => void;
40
62
  export interface DownloadConfig {
@@ -46,6 +68,15 @@ export interface DownloadConfig {
46
68
  type: ModelType;
47
69
  checksum?: string;
48
70
  onProgress?: DownloadProgressCallback;
71
+ shardFiles?: string[];
72
+ components?: DiffusionComponentDownload[];
73
+ modelDirectory?: string;
74
+ onComponentStart?: (info: {
75
+ role: string;
76
+ filename: string;
77
+ index: number;
78
+ total: number;
79
+ }) => void;
49
80
  }
50
81
  export interface DownloadProgress {
51
82
  downloaded: number;
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC;AAW5C,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;AAKnG,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,aAAa,GAAG,KAAK,CAAC;IAG5B,GAAG,EAAE,MAAM,CAAC;IAGZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD,MAAM,WAAW,YAAY;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAG1C,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAQxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAKD,MAAM,WAAW,SAAS;IAExB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,SAAS,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,YAAY,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,WAAW,CAAC;IAGpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAUlB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAe5B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAKD,MAAM,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAKnF,MAAM,WAAW,cAAc;IAE7B,MAAM,EAAE,aAAa,GAAG,KAAK,CAAC;IAG9B,GAAG,CAAC,EAAE,MAAM,CAAC;IAGb,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,SAAS,CAAC;IAGhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAKD,MAAM,WAAW,gBAAgB;IAE/B,UAAU,EAAE,MAAM,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,MAAM,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC;AAM5C,MAAM,MAAM,sBAAsB,GAC9B,iBAAiB,GACjB,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,KAAK,GACL,YAAY,GACZ,KAAK,CAAC;AAGV,MAAM,WAAW,sBAAsB;IAErC,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CACvD,CAAC;AAMF,MAAM,WAAW,0BAA0B;IAEzC,IAAI,EAAE,sBAAsB,CAAC;IAE7B,MAAM,EAAE,aAAa,GAAG,KAAK,CAAC;IAE9B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;AAKnG,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,aAAa,GAAG,KAAK,CAAC;IAG5B,GAAG,EAAE,MAAM,CAAC;IAGZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD,MAAM,WAAW,YAAY;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAG1C,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAQxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAMD,MAAM,WAAW,SAAS;IAExB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,WAAW,SAAS;IAExB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,SAAS,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,YAAY,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,WAAW,CAAC;IAGpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAQlB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAe5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAQ5B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IAQtC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAKD,MAAM,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAKnF,MAAM,WAAW,cAAc;IAE7B,MAAM,EAAE,aAAa,GAAG,KAAK,CAAC;IAG9B,GAAG,CAAC,EAAE,MAAM,CAAC;IAGb,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,SAAS,CAAC;IAGhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IAUtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAOtB,UAAU,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAQ1C,cAAc,CAAC,EAAE,MAAM,CAAC;IAMxB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;CACZ;AAKD,MAAM,WAAW,gBAAgB;IAE/B,UAAU,EAAE,MAAM,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,MAAM,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC"}
@@ -1,14 +1,18 @@
1
1
  export type ServerStatus = 'stopped' | 'starting' | 'running' | 'stopping' | 'crashed';
2
2
  export type HealthStatus = 'ok' | 'loading' | 'error' | 'unknown';
3
+ export type KVCacheType = 'f16' | 'bf16' | 'q8_0' | 'q4_0' | 'q4_1' | 'q5_0' | 'q5_1' | 'iq4_nl';
4
+ export type FlashAttentionSetting = boolean | 'on' | 'off' | 'auto';
3
5
  export interface ServerConfig {
4
6
  modelId: string;
5
- port: number;
7
+ port?: number | 'auto';
6
8
  threads?: number;
7
9
  contextSize?: number;
8
10
  gpuLayers?: number;
9
11
  parallelRequests?: number;
10
- flashAttention?: boolean;
12
+ flashAttention?: FlashAttentionSetting;
13
+ host?: string;
11
14
  forceValidation?: boolean;
15
+ startupTimeout?: number;
12
16
  }
13
17
  export interface ServerInfo {
14
18
  status: ServerStatus;
@@ -18,6 +22,7 @@ export interface ServerInfo {
18
22
  modelId: string;
19
23
  startedAt?: string;
20
24
  error?: string;
25
+ loadTimeMs?: number;
21
26
  }
22
27
  export interface LlamaServerConfig extends ServerConfig {
23
28
  modelAlias?: string;
@@ -25,6 +30,19 @@ export interface LlamaServerConfig extends ServerConfig {
25
30
  batchSize?: number;
26
31
  useMmap?: boolean;
27
32
  useMlock?: boolean;
33
+ jinja?: boolean;
34
+ cacheTypeK?: KVCacheType;
35
+ cacheTypeV?: KVCacheType;
36
+ overrideTensors?: string;
37
+ cacheRam?: number;
38
+ cpuMoe?: boolean;
39
+ nCpuMoe?: number;
40
+ reasoningFormat?: 'auto' | 'deepseek' | 'deepseek-legacy' | 'none';
41
+ fit?: 'on' | 'off';
42
+ occupancyCheck?: 'warn' | 'strict' | 'off';
43
+ autoRestart?: boolean;
44
+ maxRestarts?: number;
45
+ healthCheckInterval?: number;
28
46
  }
29
47
  export type ServerEvent = 'started' | 'stopped' | 'crashed' | 'restarted' | 'health-check-ok' | 'health-check-failed' | 'binary-log';
30
48
  export interface ServerEventData {
@@ -1 +1 @@
1
- {"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../src/types/servers.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAKvF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAKlE,MAAM,WAAW,YAAY;IAE3B,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,cAAc,CAAC,EAAE,OAAO,CAAC;IAOzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAKD,MAAM,WAAW,UAAU;IAEzB,MAAM,EAAE,YAAY,CAAC;IAGrB,MAAM,EAAE,YAAY,CAAC;IAGrB,GAAG,CAAC,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IAErD,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAKD,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,iBAAiB,GACjB,qBAAqB,GACrB,YAAY,CAAC;AAKjB,MAAM,WAAW,eAAe;IAE9B,KAAK,EAAE,WAAW,CAAC;IAGnB,UAAU,EAAE,UAAU,CAAC;IAGvB,KAAK,CAAC,EAAE,KAAK,CAAC;IAGd,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc;IAE7B,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAClC"}
1
+ {"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../src/types/servers.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAKvF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAMlE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAOjG,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AAKpE,MAAM,WAAW,YAAY;IAE3B,OAAO,EAAE,MAAM,CAAC;IAQhB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAO1B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAOvC,IAAI,CAAC,EAAE,MAAM,CAAC;IAOd,eAAe,CAAC,EAAE,OAAO,CAAC;IAO1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,WAAW,UAAU;IAEzB,MAAM,EAAE,YAAY,CAAC;IAGrB,MAAM,EAAE,YAAY,CAAC;IAGrB,GAAG,CAAC,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IASrD,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAOnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAMhB,UAAU,CAAC,EAAE,WAAW,CAAC;IAQzB,UAAU,CAAC,EAAE,WAAW,CAAC;IAMzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,iBAAiB,GAAG,MAAM,CAAC;IASnE,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IAOnB,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAQ3C,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAQrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAKD,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,iBAAiB,GACjB,qBAAqB,GACrB,YAAY,CAAC;AAKjB,MAAM,WAAW,eAAe;IAE9B,KAAK,EAAE,WAAW,CAAC;IAGnB,UAAU,EAAE,UAAU,CAAC;IAGvB,KAAK,CAAC,EAAE,KAAK,CAAC;IAGd,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc;IAE7B,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAClC"}
@@ -0,0 +1,3 @@
1
+ export declare function isDebugEnabled(): boolean;
2
+ export declare function debugLog(...args: unknown[]): void;
3
+ //# sourceMappingURL=debug-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-log.d.ts","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"AAaA,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAYD,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAIjD"}
@@ -0,0 +1,10 @@
1
+ export function isDebugEnabled() {
2
+ const value = process.env.GENAI_ELECTRON_DEBUG;
3
+ return value !== undefined && value !== '' && value !== '0' && value !== 'false';
4
+ }
5
+ export function debugLog(...args) {
6
+ if (isDebugEnabled()) {
7
+ console.log(...args);
8
+ }
9
+ }
10
+ //# sourceMappingURL=debug-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-log.js","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,OAAO,CAAC;AACnF,CAAC;AAYD,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAe;IACzC,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}