genai-electron 0.5.0 → 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 (65) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +87 -85
  3. package/dist/config/defaults.d.ts +21 -17
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +23 -19
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/reasoning-models.d.ts.map +1 -1
  8. package/dist/config/reasoning-models.js.map +1 -1
  9. package/dist/index.d.ts +4 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/managers/BinaryManager.d.ts.map +1 -1
  14. package/dist/managers/BinaryManager.js +12 -3
  15. package/dist/managers/BinaryManager.js.map +1 -1
  16. package/dist/managers/DiffusionServerManager.d.ts +5 -0
  17. package/dist/managers/DiffusionServerManager.d.ts.map +1 -1
  18. package/dist/managers/DiffusionServerManager.js +106 -31
  19. package/dist/managers/DiffusionServerManager.js.map +1 -1
  20. package/dist/managers/GenerationRegistry.d.ts.map +1 -1
  21. package/dist/managers/GenerationRegistry.js +1 -1
  22. package/dist/managers/GenerationRegistry.js.map +1 -1
  23. package/dist/managers/LlamaServerManager.d.ts +17 -0
  24. package/dist/managers/LlamaServerManager.d.ts.map +1 -1
  25. package/dist/managers/LlamaServerManager.js +284 -28
  26. package/dist/managers/LlamaServerManager.js.map +1 -1
  27. package/dist/managers/ModelManager.d.ts +3 -0
  28. package/dist/managers/ModelManager.d.ts.map +1 -1
  29. package/dist/managers/ModelManager.js +206 -0
  30. package/dist/managers/ModelManager.js.map +1 -1
  31. package/dist/managers/ResourceOrchestrator.d.ts.map +1 -1
  32. package/dist/managers/ResourceOrchestrator.js +52 -51
  33. package/dist/managers/ResourceOrchestrator.js.map +1 -1
  34. package/dist/managers/ServerManager.d.ts +1 -1
  35. package/dist/managers/ServerManager.d.ts.map +1 -1
  36. package/dist/managers/ServerManager.js +6 -2
  37. package/dist/managers/ServerManager.js.map +1 -1
  38. package/dist/managers/StorageManager.d.ts.map +1 -1
  39. package/dist/managers/StorageManager.js +51 -0
  40. package/dist/managers/StorageManager.js.map +1 -1
  41. package/dist/process/health-check.d.ts +4 -3
  42. package/dist/process/health-check.d.ts.map +1 -1
  43. package/dist/process/health-check.js +12 -6
  44. package/dist/process/health-check.js.map +1 -1
  45. package/dist/process/log-manager.d.ts +11 -1
  46. package/dist/process/log-manager.d.ts.map +1 -1
  47. package/dist/process/log-manager.js +49 -2
  48. package/dist/process/log-manager.js.map +1 -1
  49. package/dist/process/port-utils.d.ts +3 -0
  50. package/dist/process/port-utils.d.ts.map +1 -0
  51. package/dist/process/port-utils.js +28 -0
  52. package/dist/process/port-utils.js.map +1 -0
  53. package/dist/types/images.d.ts +2 -2
  54. package/dist/types/images.d.ts.map +1 -1
  55. package/dist/types/index.d.ts +2 -2
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/models.d.ts +7 -0
  58. package/dist/types/models.d.ts.map +1 -1
  59. package/dist/types/servers.d.ts +20 -2
  60. package/dist/types/servers.d.ts.map +1 -1
  61. package/dist/utils/debug-log.d.ts +3 -0
  62. package/dist/utils/debug-log.d.ts.map +1 -0
  63. package/dist/utils/debug-log.js +10 -0
  64. package/dist/utils/debug-log.js.map +1 -0
  65. package/package.json +73 -73
@@ -68,6 +68,11 @@ export class ModelManager {
68
68
  }
69
69
  const modelId = this.generateModelId(config.name);
70
70
  const filename = this.extractFilename(downloadURL, sourceFile);
71
+ const shardBasename = sourceFile ? (sourceFile.split('/').pop() ?? filename) : filename;
72
+ const extraShardFiles = this.resolveShardFilenames(shardBasename, config);
73
+ if (extraShardFiles.length > 0) {
74
+ return this.downloadShardedModel(config, downloadURL, sourceRepo, sourceFile, shardBasename, extraShardFiles);
75
+ }
71
76
  const destinationPath = storageManager.getModelPath(config.type, filename);
72
77
  const exists = await fileExists(destinationPath);
73
78
  if (exists) {
@@ -322,6 +327,207 @@ export class ModelManager {
322
327
  await storageManager.saveModelMetadata(modelInfo);
323
328
  return modelInfo;
324
329
  }
330
+ resolveShardFilenames(primaryFilename, config) {
331
+ if (config.shardFiles && config.shardFiles.length > 0) {
332
+ return config.shardFiles;
333
+ }
334
+ const match = /^(.*)-(\d{5})-of-(\d{5})\.gguf$/i.exec(primaryFilename);
335
+ if (!match) {
336
+ return [];
337
+ }
338
+ const shardIndex = parseInt(match[2], 10);
339
+ const shardTotal = parseInt(match[3], 10);
340
+ if (shardTotal <= 1) {
341
+ return [];
342
+ }
343
+ if (shardIndex !== 1) {
344
+ throw new DownloadError(`Multi-shard model download must point at the FIRST shard (got shard ${shardIndex} of ${shardTotal}): ${primaryFilename}`, {
345
+ suggestion: `Use the -00001-of-${match[3]} file; the remaining shards are downloaded automatically`,
346
+ });
347
+ }
348
+ const MAX_SHARDS = 500;
349
+ if (shardTotal > MAX_SHARDS) {
350
+ throw new DownloadError(`Implausible shard count ${shardTotal} in filename: ${primaryFilename} (max supported: ${MAX_SHARDS})`, { suggestion: 'Check the filename, or list the shards explicitly via shardFiles' });
351
+ }
352
+ const prefix = match[1];
353
+ const suffix = primaryFilename.slice(prefix.length + 1 + 5);
354
+ const siblings = [];
355
+ for (let i = 2; i <= shardTotal; i++) {
356
+ siblings.push(`${prefix}-${String(i).padStart(5, '0')}${suffix}`);
357
+ }
358
+ return siblings;
359
+ }
360
+ resolveShardURL(shardEntry, config, primaryURL) {
361
+ if (/^https?:\/\//i.test(shardEntry)) {
362
+ return shardEntry;
363
+ }
364
+ if (config.source === 'huggingface') {
365
+ const hfFile = config.file.includes('/')
366
+ ? config.file.replace(/[^/]+$/, () => shardEntry)
367
+ : shardEntry;
368
+ return getHuggingFaceURL(config.repo, hfFile);
369
+ }
370
+ try {
371
+ const url = new URL(primaryURL);
372
+ url.pathname = url.pathname.slice(0, url.pathname.lastIndexOf('/') + 1) + shardEntry;
373
+ return url.toString();
374
+ }
375
+ catch {
376
+ return primaryURL.slice(0, primaryURL.lastIndexOf('/') + 1) + shardEntry;
377
+ }
378
+ }
379
+ async downloadShardedModel(config, primaryURL, sourceRepo, sourceFile, primaryFilename, extraShardFiles) {
380
+ const modelId = this.generateModelId(config.name);
381
+ try {
382
+ await storageManager.loadModelMetadata(config.type, modelId);
383
+ throw new DownloadError(`Model already exists: ${modelId}`, { modelId });
384
+ }
385
+ catch (error) {
386
+ if (error instanceof DownloadError)
387
+ throw error;
388
+ }
389
+ const modelDir = getModelDirectory(config.type, modelId);
390
+ const shardItems = [
391
+ {
392
+ url: primaryURL,
393
+ filename: primaryFilename,
394
+ destination: path.join(modelDir, sanitizeFilename(primaryFilename)),
395
+ },
396
+ ];
397
+ for (const entry of extraShardFiles) {
398
+ const url = this.resolveShardURL(entry, config, primaryURL);
399
+ const shardFilename = this.extractFilename(url, /^https?:\/\//i.test(entry) ? undefined : entry);
400
+ shardItems.push({
401
+ url,
402
+ filename: shardFilename,
403
+ destination: path.join(modelDir, sanitizeFilename(shardFilename)),
404
+ });
405
+ }
406
+ for (const item of shardItems) {
407
+ if (await fileExists(item.destination)) {
408
+ throw new DownloadError(`Model file already exists: ${item.filename}`, {
409
+ path: item.destination,
410
+ });
411
+ }
412
+ }
413
+ let ggufMetadata;
414
+ try {
415
+ const parsedGGUF = await fetchGGUFMetadata(primaryURL);
416
+ ggufMetadata = this.createGGUFMetadataFromParsed(parsedGGUF);
417
+ }
418
+ catch (error) {
419
+ const errorMessage = error instanceof Error ? error.message : String(error);
420
+ throw new DownloadError(`Failed to fetch GGUF metadata before download: ${errorMessage}`, {
421
+ url: primaryURL,
422
+ originalError: error,
423
+ suggestion: 'Verify the URL points to a valid GGUF file. Check network connectivity if the error persists.',
424
+ });
425
+ }
426
+ const itemSizes = [];
427
+ await Promise.all(shardItems.map(async (item, index) => {
428
+ try {
429
+ const controller = new AbortController();
430
+ const timeout = setTimeout(() => controller.abort(), 10_000);
431
+ const response = await fetch(item.url, { method: 'HEAD', signal: controller.signal });
432
+ clearTimeout(timeout);
433
+ itemSizes[index] = parseInt(response.headers.get('content-length') || '0', 10);
434
+ }
435
+ catch {
436
+ itemSizes[index] = 0;
437
+ }
438
+ }));
439
+ let totalBytes = itemSizes.reduce((sum, s) => sum + s, 0);
440
+ await mkdir(modelDir, { recursive: true });
441
+ const downloadedPaths = [];
442
+ let completedBytes = 0;
443
+ try {
444
+ for (let i = 0; i < shardItems.length; i++) {
445
+ const item = shardItems[i];
446
+ const wrappedProgress = config.onProgress
447
+ ? (downloaded, itemTotal) => {
448
+ if (itemSizes[i] === 0 && itemTotal > 0) {
449
+ itemSizes[i] = itemTotal;
450
+ totalBytes = itemSizes.reduce((sum, s) => sum + s, 0);
451
+ }
452
+ const aggregateDownloaded = completedBytes + downloaded;
453
+ const clampedTotal = Math.max(totalBytes, aggregateDownloaded);
454
+ config.onProgress(aggregateDownloaded, clampedTotal);
455
+ }
456
+ : undefined;
457
+ await this.downloader.download({
458
+ url: item.url,
459
+ destination: item.destination,
460
+ onProgress: wrappedProgress,
461
+ });
462
+ downloadedPaths.push(item.destination);
463
+ completedBytes += await getFileSize(item.destination);
464
+ }
465
+ if (config.checksum) {
466
+ const calculatedChecksum = await calculateSHA256(shardItems[0].destination);
467
+ const expectedChecksum = config.checksum.replace(/^sha256:/, '');
468
+ if (calculatedChecksum !== expectedChecksum) {
469
+ throw new DownloadError('Checksum verification failed', {
470
+ expected: expectedChecksum,
471
+ actual: calculatedChecksum,
472
+ });
473
+ }
474
+ }
475
+ }
476
+ catch (error) {
477
+ for (const filePath of downloadedPaths) {
478
+ try {
479
+ await deleteFile(filePath);
480
+ }
481
+ catch {
482
+ }
483
+ }
484
+ try {
485
+ await rmdir(modelDir);
486
+ }
487
+ catch {
488
+ }
489
+ if (error instanceof DownloadError) {
490
+ throw error;
491
+ }
492
+ throw new DownloadError('Multi-shard download failed', {
493
+ error: error instanceof Error ? error.message : String(error),
494
+ });
495
+ }
496
+ const shards = [];
497
+ let aggregateSize = 0;
498
+ for (let i = 0; i < shardItems.length; i++) {
499
+ const item = shardItems[i];
500
+ const fileSize = await getFileSize(item.destination);
501
+ aggregateSize += fileSize;
502
+ const shard = { path: item.destination, size: fileSize };
503
+ if (i === 0 && config.checksum) {
504
+ shard.checksum = formatChecksum(config.checksum.replace(/^sha256:/, ''));
505
+ }
506
+ shards.push(shard);
507
+ }
508
+ const modelInfo = {
509
+ id: modelId,
510
+ name: config.name,
511
+ type: config.type,
512
+ size: aggregateSize,
513
+ path: shardItems[0].destination,
514
+ downloadedAt: new Date().toISOString(),
515
+ source: {
516
+ type: config.source,
517
+ url: primaryURL,
518
+ repo: sourceRepo,
519
+ file: sourceFile,
520
+ },
521
+ checksum: config.checksum
522
+ ? formatChecksum(config.checksum.replace(/^sha256:/, ''))
523
+ : undefined,
524
+ supportsReasoning: detectReasoningSupport(primaryFilename),
525
+ ggufMetadata,
526
+ shards,
527
+ };
528
+ await storageManager.saveModelMetadata(modelInfo);
529
+ return modelInfo;
530
+ }
325
531
  resolveComponentURL(spec) {
326
532
  if (spec.source === 'url') {
327
533
  if (!spec.url) {
@@ -1 +1 @@
1
- {"version":3,"file":"ModelManager.js","sourceRoot":"","sources":["../../src/managers/ModelManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelManager.js","sourceRoot":"","sources":["../../src/managers/ModelManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceOrchestrator.d.ts","sourceRoot":"","sources":["../../src/managers/ResourceOrchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAMpG,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,YAAY,CAAC;IAErB,UAAU,EAAE,OAAO,CAAC;IAEpB,OAAO,EAAE,IAAI,CAAC;CACf;AAsCD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAErD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAA8B;gBAWjD,UAAU,EAAE,UAAU,YAA2B,EACjD,WAAW,EAAE,kBAAkB,EAC/B,eAAe,EAAE,sBAAsB,EACvC,YAAY,GAAE,YAAyC;IA4BnD,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;YA6DjF,oBAAoB;YA8DpB,gBAAgB;YAiEhB,sBAAsB;YAuCtB,UAAU;YAwCV,SAAS;IAiDvB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,KAAK;IAcb,eAAe,IAAI,IAAI;IAoBvB,aAAa,IAAI,aAAa,GAAG,SAAS;IAqBpC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG3C"}
1
+ {"version":3,"file":"ResourceOrchestrator.d.ts","sourceRoot":"","sources":["../../src/managers/ResourceOrchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAOpG,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,YAAY,CAAC;IAErB,UAAU,EAAE,OAAO,CAAC;IAEpB,OAAO,EAAE,IAAI,CAAC;CACf;AAsCD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAErD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAA8B;gBAWjD,UAAU,EAAE,UAAU,YAA2B,EACjD,WAAW,EAAE,kBAAkB,EAC/B,eAAe,EAAE,sBAAsB,EACvC,YAAY,GAAE,YAAyC;IA4BnD,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;YA6DjF,oBAAoB;YA8DpB,gBAAgB;YAiEhB,sBAAsB;YAuCtB,UAAU;YAwCV,SAAS;IAiDvB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,KAAK;IAcb,eAAe,IAAI,IAAI;IAoBvB,aAAa,IAAI,aAAa,GAAG,SAAS;IAqBpC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG3C"}
@@ -1,6 +1,7 @@
1
1
  import { SystemInfo } from '../system/SystemInfo.js';
2
2
  import { ModelManager } from './ModelManager.js';
3
3
  import { ServerError } from '../errors/index.js';
4
+ import { debugLog } from '../utils/debug-log.js';
4
5
  export class ResourceOrchestrator {
5
6
  static RELOAD_RETRY_DELAY_MS = 2000;
6
7
  systemInfo;
@@ -16,101 +17,101 @@ export class ResourceOrchestrator {
16
17
  this.modelManager = modelManager;
17
18
  }
18
19
  async orchestrateImageGeneration(config) {
19
- console.log('[Orchestrator] orchestrateImageGeneration called');
20
+ debugLog('[Orchestrator] orchestrateImageGeneration called');
20
21
  if (this.pendingReload) {
21
- console.log('[Orchestrator] Awaiting pending LLM reload from previous generation...');
22
+ debugLog('[Orchestrator] Awaiting pending LLM reload from previous generation...');
22
23
  await this.pendingReload;
23
24
  this.pendingReload = null;
24
25
  }
25
26
  const needsOffload = await this.needsOffloadForImage();
26
27
  const llamaIsRunning = this.llamaServer.isRunning();
27
- console.log('[Orchestrator] needsOffload:', needsOffload);
28
- console.log('[Orchestrator] llamaServer.isRunning():', llamaIsRunning);
28
+ debugLog('[Orchestrator] needsOffload:', needsOffload);
29
+ debugLog('[Orchestrator] llamaServer.isRunning():', llamaIsRunning);
29
30
  if (needsOffload && llamaIsRunning) {
30
- console.log('[Orchestrator] ⚠️ Resources constrained - offloading LLM before generation');
31
+ debugLog('[Orchestrator] ⚠️ Resources constrained - offloading LLM before generation');
31
32
  await this.offloadLLM();
32
33
  let result;
33
34
  try {
34
- console.log('[Orchestrator] Generating image with LLM offloaded...');
35
+ debugLog('[Orchestrator] Generating image with LLM offloaded...');
35
36
  result = await this.diffusionServer.executeImageGeneration(config);
36
37
  }
37
38
  catch (error) {
38
- console.log('[Orchestrator] Image generation failed, reloading LLM in background...');
39
+ debugLog('[Orchestrator] Image generation failed, reloading LLM in background...');
39
40
  this.fireAndForgetReload();
40
41
  throw error;
41
42
  }
42
- console.log('[Orchestrator] Image ready, reloading LLM in background...');
43
+ debugLog('[Orchestrator] Image ready, reloading LLM in background...');
43
44
  this.fireAndForgetReload();
44
45
  return result;
45
46
  }
46
47
  else {
47
48
  if (!needsOffload) {
48
- console.log('[Orchestrator] ✅ Sufficient resources - generating directly without offload');
49
+ debugLog('[Orchestrator] ✅ Sufficient resources - generating directly without offload');
49
50
  }
50
51
  else {
51
- console.log('[Orchestrator] ✅ LLM not running - generating directly');
52
+ debugLog('[Orchestrator] ✅ LLM not running - generating directly');
52
53
  }
53
54
  return await this.diffusionServer.executeImageGeneration(config);
54
55
  }
55
56
  }
56
57
  async needsOffloadForImage() {
57
- console.log('[Orchestrator] Checking if offload needed...');
58
+ debugLog('[Orchestrator] Checking if offload needed...');
58
59
  const memory = this.systemInfo.getMemoryInfo();
59
60
  const capabilities = await this.systemInfo.detect();
60
61
  const llamaUsage = await this.estimateLLMUsage();
61
62
  const diffusionUsage = await this.estimateDiffusionUsage();
62
63
  const isGPUSystem = capabilities.gpu.available && capabilities.gpu.vram;
63
- console.log('[Orchestrator] System type:', isGPUSystem ? 'GPU' : 'CPU-only');
64
+ debugLog('[Orchestrator] System type:', isGPUSystem ? 'GPU' : 'CPU-only');
64
65
  if (isGPUSystem) {
65
66
  const totalVRAM = capabilities.gpu.vram || 0;
66
67
  const vramNeeded = (llamaUsage.vram || 0) + (diffusionUsage.vram || 0);
67
68
  const threshold = totalVRAM * 0.75;
68
- console.log('[Orchestrator] VRAM Analysis:');
69
- console.log(' - LLM VRAM usage:', (llamaUsage.vram || 0) / 1024 ** 3, 'GB');
70
- console.log(' - Diffusion VRAM usage:', (diffusionUsage.vram || 0) / 1024 ** 3, 'GB');
71
- console.log(' - Total VRAM needed:', vramNeeded / 1024 ** 3, 'GB');
72
- console.log(' - Total VRAM available:', totalVRAM / 1024 ** 3, 'GB');
73
- console.log(' - Threshold (75%):', threshold / 1024 ** 3, 'GB');
74
- console.log(' - Offload needed:', vramNeeded > threshold);
69
+ debugLog('[Orchestrator] VRAM Analysis:');
70
+ debugLog(' - LLM VRAM usage:', (llamaUsage.vram || 0) / 1024 ** 3, 'GB');
71
+ debugLog(' - Diffusion VRAM usage:', (diffusionUsage.vram || 0) / 1024 ** 3, 'GB');
72
+ debugLog(' - Total VRAM needed:', vramNeeded / 1024 ** 3, 'GB');
73
+ debugLog(' - Total VRAM available:', totalVRAM / 1024 ** 3, 'GB');
74
+ debugLog(' - Threshold (75%):', threshold / 1024 ** 3, 'GB');
75
+ debugLog(' - Offload needed:', vramNeeded > threshold);
75
76
  return vramNeeded > threshold;
76
77
  }
77
78
  else {
78
79
  const ramNeeded = llamaUsage.ram + diffusionUsage.ram;
79
80
  const threshold = memory.available * 0.75;
80
- console.log('[Orchestrator] RAM Analysis:');
81
- console.log(' - LLM RAM usage:', llamaUsage.ram / 1024 ** 3, 'GB');
82
- console.log(' - Diffusion RAM usage:', diffusionUsage.ram / 1024 ** 3, 'GB');
83
- console.log(' - Total RAM needed:', ramNeeded / 1024 ** 3, 'GB');
84
- console.log(' - Available RAM:', memory.available / 1024 ** 3, 'GB');
85
- console.log(' - Threshold (75%):', threshold / 1024 ** 3, 'GB');
86
- console.log(' - Offload needed:', ramNeeded > threshold);
81
+ debugLog('[Orchestrator] RAM Analysis:');
82
+ debugLog(' - LLM RAM usage:', llamaUsage.ram / 1024 ** 3, 'GB');
83
+ debugLog(' - Diffusion RAM usage:', diffusionUsage.ram / 1024 ** 3, 'GB');
84
+ debugLog(' - Total RAM needed:', ramNeeded / 1024 ** 3, 'GB');
85
+ debugLog(' - Available RAM:', memory.available / 1024 ** 3, 'GB');
86
+ debugLog(' - Threshold (75%):', threshold / 1024 ** 3, 'GB');
87
+ debugLog(' - Offload needed:', ramNeeded > threshold);
87
88
  return ramNeeded > threshold;
88
89
  }
89
90
  }
90
91
  async estimateLLMUsage() {
91
92
  if (!this.llamaServer.isRunning()) {
92
- console.log('[Orchestrator] LLM not running - usage: 0');
93
+ debugLog('[Orchestrator] LLM not running - usage: 0');
93
94
  return { ram: 0, vram: 0 };
94
95
  }
95
96
  const config = this.llamaServer.getConfig();
96
97
  if (!config) {
97
- console.log('[Orchestrator] LLM config not found - usage: 0');
98
+ debugLog('[Orchestrator] LLM config not found - usage: 0');
98
99
  return { ram: 0, vram: 0 };
99
100
  }
100
101
  try {
101
102
  const modelInfo = await this.modelManager.getModelInfo(config.modelId);
102
103
  const gpuLayers = config.gpuLayers || 0;
103
104
  const totalLayers = await this.modelManager.getModelLayerCount(config.modelId);
104
- console.log('[Orchestrator] LLM model:', config.modelId);
105
- console.log('[Orchestrator] LLM model size:', modelInfo.size / 1024 ** 3, 'GB');
106
- console.log('[Orchestrator] LLM GPU layers:', gpuLayers, '/', totalLayers);
105
+ debugLog('[Orchestrator] LLM model:', config.modelId);
106
+ debugLog('[Orchestrator] LLM model size:', modelInfo.size / 1024 ** 3, 'GB');
107
+ debugLog('[Orchestrator] LLM GPU layers:', gpuLayers, '/', totalLayers);
107
108
  if (gpuLayers > 0) {
108
109
  const gpuRatio = Math.min(gpuLayers / totalLayers, 1.0);
109
110
  const result = {
110
111
  ram: modelInfo.size * (1 - gpuRatio) * 1.2,
111
112
  vram: modelInfo.size * gpuRatio * 1.2,
112
113
  };
113
- console.log('[Orchestrator] LLM usage (mixed):', {
114
+ debugLog('[Orchestrator] LLM usage (mixed):', {
114
115
  ram: `${result.ram / 1024 ** 3} GB`,
115
116
  vram: `${result.vram / 1024 ** 3} GB`,
116
117
  });
@@ -121,7 +122,7 @@ export class ResourceOrchestrator {
121
122
  ram: modelInfo.size * 1.2,
122
123
  vram: 0,
123
124
  };
124
- console.log('[Orchestrator] LLM usage (CPU-only):', {
125
+ debugLog('[Orchestrator] LLM usage (CPU-only):', {
125
126
  ram: `${result.ram / 1024 ** 3} GB`,
126
127
  vram: '0 GB',
127
128
  });
@@ -129,7 +130,7 @@ export class ResourceOrchestrator {
129
130
  }
130
131
  }
131
132
  catch (error) {
132
- console.log('[Orchestrator] Failed to get LLM model info:', error);
133
+ debugLog('[Orchestrator] Failed to get LLM model info:', error);
133
134
  return { ram: 0, vram: 0 };
134
135
  }
135
136
  }
@@ -137,39 +138,39 @@ export class ResourceOrchestrator {
137
138
  const config = this.diffusionServer.getConfig();
138
139
  if (!config) {
139
140
  const defaultSize = 6.5 * 1024 * 1024 * 1024;
140
- console.log('[Orchestrator] Diffusion config not found - using default estimate: 6.5GB');
141
+ debugLog('[Orchestrator] Diffusion config not found - using default estimate: 6.5GB');
141
142
  return { ram: defaultSize * 1.2, vram: defaultSize * 1.2 };
142
143
  }
143
144
  try {
144
145
  const modelInfo = await this.modelManager.getModelInfo(config.modelId);
145
- console.log('[Orchestrator] Diffusion model:', config.modelId);
146
- console.log('[Orchestrator] Diffusion model size:', modelInfo.size / 1024 ** 3, 'GB');
146
+ debugLog('[Orchestrator] Diffusion model:', config.modelId);
147
+ debugLog('[Orchestrator] Diffusion model size:', modelInfo.size / 1024 ** 3, 'GB');
147
148
  const usage = modelInfo.size * 1.2;
148
149
  const result = {
149
150
  ram: usage,
150
151
  vram: usage,
151
152
  };
152
- console.log('[Orchestrator] Diffusion usage:', usage / 1024 ** 3, 'GB (both RAM and VRAM)');
153
+ debugLog('[Orchestrator] Diffusion usage:', usage / 1024 ** 3, 'GB (both RAM and VRAM)');
153
154
  return result;
154
155
  }
155
156
  catch (error) {
156
- console.log('[Orchestrator] Failed to get diffusion model info:', error);
157
+ debugLog('[Orchestrator] Failed to get diffusion model info:', error);
157
158
  const defaultSize = 6.5 * 1024 * 1024 * 1024;
158
- console.log('[Orchestrator] Using default estimate: 6.5GB');
159
+ debugLog('[Orchestrator] Using default estimate: 6.5GB');
159
160
  return { ram: defaultSize * 1.2, vram: defaultSize * 1.2 };
160
161
  }
161
162
  }
162
163
  async offloadLLM() {
163
- console.log('[Orchestrator] offloadLLM called');
164
+ debugLog('[Orchestrator] offloadLLM called');
164
165
  if (!this.llamaServer.isRunning()) {
165
- console.log('[Orchestrator] LLM not running - nothing to offload');
166
+ debugLog('[Orchestrator] LLM not running - nothing to offload');
166
167
  return;
167
168
  }
168
169
  const config = this.llamaServer.getConfig();
169
170
  if (!config) {
170
171
  throw new ServerError('Cannot offload LLM: no configuration found');
171
172
  }
172
- console.log('[Orchestrator] Saving LLM state:', {
173
+ debugLog('[Orchestrator] Saving LLM state:', {
173
174
  modelId: config.modelId,
174
175
  port: config.port,
175
176
  gpuLayers: config.gpuLayers,
@@ -179,24 +180,24 @@ export class ResourceOrchestrator {
179
180
  wasRunning: true,
180
181
  savedAt: new Date(),
181
182
  };
182
- console.log('[Orchestrator] Stopping LLM server...');
183
+ debugLog('[Orchestrator] Stopping LLM server...');
183
184
  await this.llamaServer.stop();
184
- console.log('[Orchestrator] ✅ LLM server stopped successfully');
185
+ debugLog('[Orchestrator] ✅ LLM server stopped successfully');
185
186
  }
186
187
  async reloadLLM() {
187
- console.log('[Orchestrator] reloadLLM called');
188
+ debugLog('[Orchestrator] reloadLLM called');
188
189
  if (!this.savedLLMState || !this.savedLLMState.wasRunning) {
189
- console.log('[Orchestrator] No saved LLM state - nothing to reload');
190
+ debugLog('[Orchestrator] No saved LLM state - nothing to reload');
190
191
  return;
191
192
  }
192
193
  const savedConfig = this.savedLLMState.config;
193
194
  try {
194
- console.log('[Orchestrator] Restarting LLM with saved config:', {
195
+ debugLog('[Orchestrator] Restarting LLM with saved config:', {
195
196
  modelId: savedConfig.modelId,
196
197
  port: savedConfig.port,
197
198
  });
198
199
  await this.llamaServer.start(savedConfig);
199
- console.log('[Orchestrator] ✅ LLM server restarted successfully');
200
+ debugLog('[Orchestrator] ✅ LLM server restarted successfully');
200
201
  this.savedLLMState = undefined;
201
202
  return;
202
203
  }
@@ -204,11 +205,11 @@ export class ResourceOrchestrator {
204
205
  console.warn('[Orchestrator] ⚠️ First reload attempt failed:', firstError);
205
206
  }
206
207
  try {
207
- console.log(`[Orchestrator] Retrying reload after ${ResourceOrchestrator.RELOAD_RETRY_DELAY_MS}ms...`);
208
+ debugLog(`[Orchestrator] Retrying reload after ${ResourceOrchestrator.RELOAD_RETRY_DELAY_MS}ms...`);
208
209
  await this.delay(ResourceOrchestrator.RELOAD_RETRY_DELAY_MS);
209
210
  this.systemInfo.clearCache();
210
211
  await this.llamaServer.start(savedConfig);
211
- console.log('[Orchestrator] ✅ LLM server restarted on retry');
212
+ debugLog('[Orchestrator] ✅ LLM server restarted on retry');
212
213
  this.savedLLMState = undefined;
213
214
  }
214
215
  catch (retryError) {
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceOrchestrator.js","sourceRoot":"","sources":["../../src/managers/ResourceOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceOrchestrator.js","sourceRoot":"","sources":["../../src/managers/ResourceOrchestrator.ts"],"names":[],"mappings":"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"}