aiservermanager 0.2.0 → 0.3.0

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 (30) hide show
  1. package/backend/dist/di/container.js +3 -2
  2. package/backend/dist/di/container.js.map +1 -1
  3. package/backend/dist/di/types.js +2 -1
  4. package/backend/dist/di/types.js.map +1 -1
  5. package/backend/dist/routes/gpuRoutes.js +13 -0
  6. package/backend/dist/routes/gpuRoutes.js.map +1 -1
  7. package/backend/dist/services/detectors/amdLinuxDetector.js +1 -3
  8. package/backend/dist/services/detectors/amdLinuxDetector.js.map +1 -1
  9. package/backend/dist/services/detectors/nvidiaSmiDetector.js +1 -3
  10. package/backend/dist/services/detectors/nvidiaSmiDetector.js.map +1 -1
  11. package/backend/dist/services/detectors/wmiDetector.js +1 -3
  12. package/backend/dist/services/detectors/wmiDetector.js.map +1 -1
  13. package/backend/dist/services/gpuLabelManager.js +112 -0
  14. package/backend/dist/services/gpuLabelManager.js.map +1 -0
  15. package/backend/dist/services/gpuService.js +29 -6
  16. package/backend/dist/services/gpuService.js.map +1 -1
  17. package/backend/dist/services/helpers/gpuDedup.js +0 -2
  18. package/backend/dist/services/helpers/gpuDedup.js.map +1 -1
  19. package/backend/dist/services/llamaAutocompleteService.js +7 -8
  20. package/backend/dist/services/llamaAutocompleteService.js.map +1 -1
  21. package/backend/public/browser/chunk-M2HJXJRB.js +4 -0
  22. package/backend/public/browser/{chunk-34LU6STA.js → chunk-URN45YIO.js} +1 -1
  23. package/backend/public/browser/index.html +1 -1
  24. package/backend/public/browser/{main-OTFURQ4F.js → main-AHJOEU5J.js} +36 -36
  25. package/package.json +1 -1
  26. package/backend/dist/services/enrichers/vulkanEnricher.js +0 -57
  27. package/backend/dist/services/enrichers/vulkanEnricher.js.map +0 -1
  28. package/backend/dist/services/helpers/gpuEngineNames.js +0 -22
  29. package/backend/dist/services/helpers/gpuEngineNames.js.map +0 -1
  30. package/backend/public/browser/chunk-JGNPKRLU.js +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiservermanager",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "GPU server monitoring and AI service manager web dashboard",
5
5
  "main": "backend/dist/index.js",
6
6
  "bin": {
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.VulkanEnricher = void 0;
13
- const inversify_1 = require("inversify");
14
- const ExecTools_1 = require("../../helpers/ExecTools");
15
- /**
16
- * Enrich GPU entries with llama.cpp Vulkan device names (vulkan0, vulkan1, ...).
17
- * Uses `vulkaninfo --summary` to detect Vulkan-capable GPUs.
18
- * Linux only.
19
- */
20
- let VulkanEnricher = class VulkanEnricher {
21
- availableCache = null;
22
- constructor() {
23
- if (process.platform !== "linux") {
24
- this.availableCache = false;
25
- }
26
- }
27
- async isAvailable() {
28
- if (this.availableCache !== null)
29
- return this.availableCache;
30
- const result = await ExecTools_1.ExecTools.safeExec("vulkaninfo --summary 2>/dev/null", { timeout: 5000 });
31
- const available = result.stdout.includes("deviceName");
32
- if (available) {
33
- this.availableCache = true;
34
- }
35
- return available;
36
- }
37
- async enrich(gpus) {
38
- if (gpus.length === 0)
39
- return;
40
- const result = await ExecTools_1.ExecTools.safeExec("vulkaninfo --summary 2>/dev/null | grep 'deviceName' | sed 's/.*deviceName = //'", {
41
- timeout: 10000,
42
- });
43
- if (!result.stdout.trim())
44
- return;
45
- // Assign llama.cpp Vulkan device names: vulkan0, vulkan1, ...
46
- const vulkanDevices = result.stdout.trim().split("\n").length;
47
- for (let i = 0; i < gpus.length && i < vulkanDevices; i++) {
48
- gpus[i].engineVulkanName = `vulkan${i}`;
49
- }
50
- }
51
- };
52
- exports.VulkanEnricher = VulkanEnricher;
53
- exports.VulkanEnricher = VulkanEnricher = __decorate([
54
- (0, inversify_1.injectable)(),
55
- __metadata("design:paramtypes", [])
56
- ], VulkanEnricher);
57
- //# sourceMappingURL=vulkanEnricher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vulkanEnricher.js","sourceRoot":"","sources":["../../../src/services/enrichers/vulkanEnricher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuC;AAEvC,uDAAoD;AAGpD;;;;GAIG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,cAAc,GAAmB,IAAI,CAAC;IAE9C;QACE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,cAAyB,CAAC;QAExE,MAAM,MAAM,GAAG,MAAM,qBAAS,CAAC,QAAQ,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,MAAM,GAAG,MAAM,qBAAS,CAAC,QAAQ,CACrC,kFAAkF,EAClF;YACE,OAAO,EAAE,KAAK;SACf,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO;QAElC,8DAA8D;QAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;CACF,CAAA;AAtCY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,sBAAU,GAAE;;GACA,cAAc,CAsC1B"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assignEngineNames = assignEngineNames;
4
- /**
5
- * Assign llama.cpp engine device names based on vendor.
6
- * NVIDIA GPUs get cuda0, cuda1, ...
7
- * AMD GPUs get rocm0, rocm1, ...
8
- * Vulkan names are assigned by the VulkanEnricher.
9
- */
10
- function assignEngineNames(gpus) {
11
- let cudaIndex = 0;
12
- let rocmIndex = 0;
13
- for (const gpu of gpus) {
14
- if (gpu.vendor === "NVIDIA" && !gpu.engineCudaName) {
15
- gpu.engineCudaName = `cuda${cudaIndex++}`;
16
- }
17
- if (gpu.vendor === "AMD" && !gpu.engineRocmName) {
18
- gpu.engineRocmName = `rocm${rocmIndex++}`;
19
- }
20
- }
21
- }
22
- //# sourceMappingURL=gpuEngineNames.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gpuEngineNames.js","sourceRoot":"","sources":["../../../src/services/helpers/gpuEngineNames.ts"],"names":[],"mappings":";;AAQA,8CAYC;AAlBD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,IAAe;IAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACnD,GAAG,CAAC,cAAc,GAAG,OAAO,SAAS,EAAE,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAChD,GAAG,CAAC,cAAc,GAAG,OAAO,SAAS,EAAE,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC"}