@wenathlan/saddle 2.0.154 → 2.0.159

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 (314) hide show
  1. package/Dockerfile +167 -1334
  2. package/README.md +59 -60
  3. package/biome.jsonc +3 -3
  4. package/browser.ts +482 -0
  5. package/cli.ts +274 -0
  6. package/distribution.ts +731 -0
  7. package/docker.config +29 -8
  8. package/docs/{architecture.1.8.19.mmd → architecture1819.md} +6 -0
  9. package/docs/artifactavailability.md +2 -2
  10. package/docs/browser.md +18 -1
  11. package/docs/{containerplatforms.2.1.0.md → containerplatforms210.md} +1 -1
  12. package/docs/{documentmap.1.8.12.md → documentmap1812.md} +1 -1
  13. package/docs/extension.md +13 -2
  14. package/docs/features.md +5 -0
  15. package/docs/libraryapi.md +1 -1
  16. package/docs/{ninety.modalities.md → ninetymodalities.md} +87 -4
  17. package/docs/{planning.ninety.md → planningninety.md} +6 -6
  18. package/docs/{releasenotes.1.8.13.md → releasenotes1813.md} +2 -2
  19. package/docs/{releasenotes.1.8.14.md → releasenotes1814.md} +1 -1
  20. package/docs/{repo.synthesis.1.8.16.md → reposynthesis1816.md} +1 -1
  21. package/docs/todo.md +2 -2
  22. package/docs/{todo.1.8.15.md → todo1815.md} +1 -1
  23. package/docs/{todo.1.8.16.md → todo1816.md} +5 -5
  24. package/execution.ts +677 -0
  25. package/foundation.ts +314 -0
  26. package/index.ts +36 -34
  27. package/isolation.ts +84 -0
  28. package/modalityregistry.ts +189 -145
  29. package/modes.ts +170 -0
  30. package/mttg.config +1 -1
  31. package/orchestrator.ts +49 -15
  32. package/package.json +105 -89
  33. package/qemu.config +2 -2
  34. package/sandbox.ts +3279 -0
  35. package/scheduler.ts +1 -1
  36. package/server.ts +52 -0
  37. package/tsconfig.json +12 -13
  38. package/virtual.ts +7528 -0
  39. package/workloadlaw.ts +293 -0
  40. package/dist/App.d.ts +0 -5
  41. package/dist/App.js +0 -52
  42. package/dist/Sol/Sol.d.ts +0 -3
  43. package/dist/Sol/Sol.js +0 -46
  44. package/dist/Sol/agentbrowser/agentbrowser.d.ts +0 -9
  45. package/dist/Sol/agentbrowser/agentbrowser.js +0 -121
  46. package/dist/Sol/architecture/architecture.d.ts +0 -9
  47. package/dist/Sol/architecture/architecture.js +0 -93
  48. package/dist/Sol/compute/compute.d.ts +0 -9
  49. package/dist/Sol/compute/compute.js +0 -22
  50. package/dist/Sol/console/console.d.ts +0 -15
  51. package/dist/Sol/console/console.js +0 -292
  52. package/dist/Sol/dashboard/dashboard.d.ts +0 -10
  53. package/dist/Sol/dashboard/dashboard.js +0 -181
  54. package/dist/Sol/docs/docs.d.ts +0 -9
  55. package/dist/Sol/docs/docs.js +0 -28
  56. package/dist/Sol/home/home.d.ts +0 -35
  57. package/dist/Sol/home/home.js +0 -239
  58. package/dist/Sol/integrations/integrations.d.ts +0 -9
  59. package/dist/Sol/integrations/integrations.js +0 -83
  60. package/dist/Sol/intro/intro.d.ts +0 -7
  61. package/dist/Sol/intro/intro.js +0 -102
  62. package/dist/Sol/login/login.d.ts +0 -16
  63. package/dist/Sol/login/login.js +0 -49
  64. package/dist/Sol/notfound/notfound.d.ts +0 -9
  65. package/dist/Sol/notfound/notfound.js +0 -15
  66. package/dist/Sol/onboarding/onboarding.d.ts +0 -25
  67. package/dist/Sol/onboarding/onboarding.js +0 -60
  68. package/dist/Sol/playground/playground.d.ts +0 -9
  69. package/dist/Sol/playground/playground.js +0 -127
  70. package/dist/Sol/register/register.d.ts +0 -16
  71. package/dist/Sol/register/register.js +0 -193
  72. package/dist/Sol/shell/Shell.d.ts +0 -124
  73. package/dist/Sol/shell/Shell.js +0 -335
  74. package/dist/Sol/wingets/ComputeBootladder.d.ts +0 -6
  75. package/dist/Sol/wingets/ComputeBootladder.js +0 -71
  76. package/dist/Sol/wingets/ComputeModalitycatalog.d.ts +0 -7
  77. package/dist/Sol/wingets/ComputeModalitycatalog.js +0 -71
  78. package/dist/Sol/wingets/ConsoleApibadge.d.ts +0 -7
  79. package/dist/Sol/wingets/ConsoleApibadge.js +0 -5
  80. package/dist/Sol/wingets/ConsoleEdgelaw.d.ts +0 -6
  81. package/dist/Sol/wingets/ConsoleEdgelaw.js +0 -36
  82. package/dist/Sol/wingets/ConsoleEventstimeline.d.ts +0 -19
  83. package/dist/Sol/wingets/ConsoleEventstimeline.js +0 -12
  84. package/dist/Sol/wingets/ConsoleSnapshotcontrols.d.ts +0 -8
  85. package/dist/Sol/wingets/ConsoleSnapshotcontrols.js +0 -8
  86. package/dist/Sol/wingets/ConsoleSpecpanel.d.ts +0 -21
  87. package/dist/Sol/wingets/ConsoleSpecpanel.js +0 -75
  88. package/dist/Sol/wingets/ConsoleTerminal.d.ts +0 -22
  89. package/dist/Sol/wingets/ConsoleTerminal.js +0 -77
  90. package/dist/Sol/wingets/DashboardAccountpanel.d.ts +0 -18
  91. package/dist/Sol/wingets/DashboardAccountpanel.js +0 -65
  92. package/dist/Sol/wingets/DashboardAdminpanel.d.ts +0 -6
  93. package/dist/Sol/wingets/DashboardAdminpanel.js +0 -90
  94. package/dist/Sol/wingets/DashboardAuditlog.d.ts +0 -8
  95. package/dist/Sol/wingets/DashboardAuditlog.js +0 -50
  96. package/dist/Sol/wingets/DashboardCreatesandboxform.d.ts +0 -10
  97. package/dist/Sol/wingets/DashboardCreatesandboxform.js +0 -71
  98. package/dist/Sol/wingets/DashboardEventstimeline.d.ts +0 -8
  99. package/dist/Sol/wingets/DashboardEventstimeline.js +0 -83
  100. package/dist/Sol/wingets/DashboardGlobalsandboxestable.d.ts +0 -8
  101. package/dist/Sol/wingets/DashboardGlobalsandboxestable.js +0 -57
  102. package/dist/Sol/wingets/DashboardMeshnodestable.d.ts +0 -8
  103. package/dist/Sol/wingets/DashboardMeshnodestable.js +0 -103
  104. package/dist/Sol/wingets/DashboardSandboxlist.d.ts +0 -10
  105. package/dist/Sol/wingets/DashboardSandboxlist.js +0 -163
  106. package/dist/Sol/wingets/DashboardUserstable.d.ts +0 -8
  107. package/dist/Sol/wingets/DashboardUserstable.js +0 -78
  108. package/dist/Sol/wingets/HomeEntrygate.d.ts +0 -23
  109. package/dist/Sol/wingets/HomeEntrygate.js +0 -73
  110. package/dist/Sol/wingets/HomeMetricstrip.d.ts +0 -9
  111. package/dist/Sol/wingets/HomeMetricstrip.js +0 -4
  112. package/dist/Sol/wingets/HomeRuntimediagram.d.ts +0 -1
  113. package/dist/Sol/wingets/HomeRuntimediagram.js +0 -22
  114. package/dist/Sol/wingets/LoginForm.d.ts +0 -19
  115. package/dist/Sol/wingets/LoginForm.js +0 -141
  116. package/dist/Sol/wingets/RegisterPasswordconfirm.d.ts +0 -13
  117. package/dist/Sol/wingets/RegisterPasswordconfirm.js +0 -16
  118. package/dist/Sol/wingets/RegisterPasswordmeter.d.ts +0 -19
  119. package/dist/Sol/wingets/RegisterPasswordmeter.js +0 -65
  120. package/dist/Sol/wingets/RegisterUsernamerules.d.ts +0 -11
  121. package/dist/Sol/wingets/RegisterUsernamerules.js +0 -16
  122. package/dist/Sol/wingets/index.d.ts +0 -39
  123. package/dist/Sol/wingets/index.js +0 -39
  124. package/dist/alternatives.d.ts +0 -508
  125. package/dist/alternatives.js +0 -950
  126. package/dist/api.d.ts +0 -154
  127. package/dist/api.js +0 -174
  128. package/dist/auth.d.ts +0 -268
  129. package/dist/auth.js +0 -476
  130. package/dist/automation.d.ts +0 -425
  131. package/dist/automation.js +0 -566
  132. package/dist/browser.d.ts +0 -561
  133. package/dist/browser.js +0 -1058
  134. package/dist/capacitor.config.d.ts +0 -45
  135. package/dist/capacitor.config.js +0 -48
  136. package/dist/catalog.d.ts +0 -43
  137. package/dist/catalog.js +0 -44
  138. package/dist/cli.d.ts +0 -16
  139. package/dist/cli.js +0 -168
  140. package/dist/communication.d.ts +0 -181
  141. package/dist/communication.js +0 -376
  142. package/dist/compute.d.ts +0 -1160
  143. package/dist/compute.js +0 -2272
  144. package/dist/dashboardlib.d.ts +0 -58
  145. package/dist/dashboardlib.js +0 -161
  146. package/dist/db.d.ts +0 -569
  147. package/dist/db.js +0 -1080
  148. package/dist/distribution.d.ts +0 -528
  149. package/dist/distribution.js +0 -810
  150. package/dist/drizzle.config.d.ts +0 -20
  151. package/dist/drizzle.config.js +0 -18
  152. package/dist/edgelandes.d.ts +0 -70
  153. package/dist/edgelandes.host.d.ts +0 -26
  154. package/dist/edgelandes.host.js +0 -1089
  155. package/dist/edgelandes.inproc.d.ts +0 -27
  156. package/dist/edgelandes.inproc.js +0 -952
  157. package/dist/edgelandes.js +0 -1133
  158. package/dist/edgelandes.ninety.d.ts +0 -31
  159. package/dist/edgelandes.ninety.js +0 -174
  160. package/dist/edgelandes.virtual.d.ts +0 -25
  161. package/dist/edgelandes.virtual.js +0 -629
  162. package/dist/edgeplane.d.ts +0 -121
  163. package/dist/edgeplane.js +0 -341
  164. package/dist/examplelocaljob.d.ts +0 -1
  165. package/dist/examplelocaljob.js +0 -14
  166. package/dist/execution.d.ts +0 -529
  167. package/dist/execution.js +0 -760
  168. package/dist/family.d.ts +0 -16
  169. package/dist/family.js +0 -42
  170. package/dist/familyurl.d.ts +0 -21
  171. package/dist/familyurl.js +0 -24
  172. package/dist/format.d.ts +0 -18
  173. package/dist/format.js +0 -59
  174. package/dist/foundation.d.ts +0 -172
  175. package/dist/foundation.js +0 -312
  176. package/dist/index.d.ts +0 -735
  177. package/dist/index.js +0 -1020
  178. package/dist/integration.d.ts +0 -235
  179. package/dist/integration.js +0 -228
  180. package/dist/intelligence.d.ts +0 -93
  181. package/dist/intelligence.js +0 -144
  182. package/dist/isolation.d.ts +0 -128
  183. package/dist/isolation.js +0 -95
  184. package/dist/labels.d.ts +0 -665
  185. package/dist/labels.js +0 -707
  186. package/dist/localauth.d.ts +0 -127
  187. package/dist/localauth.js +0 -413
  188. package/dist/media.d.ts +0 -343
  189. package/dist/media.js +0 -985
  190. package/dist/mesh.d.ts +0 -177
  191. package/dist/mesh.js +0 -468
  192. package/dist/modalityregistry.d.ts +0 -109
  193. package/dist/modalityregistry.js +0 -1386
  194. package/dist/modes.d.ts +0 -358
  195. package/dist/modes.js +0 -133
  196. package/dist/onboardingstate.d.ts +0 -79
  197. package/dist/onboardingstate.js +0 -282
  198. package/dist/orchestrator.d.ts +0 -1338
  199. package/dist/orchestrator.js +0 -4310
  200. package/dist/packager/targetcli.js +0 -4
  201. package/dist/paths.d.ts +0 -2
  202. package/dist/paths.js +0 -14
  203. package/dist/performance.d.ts +0 -415
  204. package/dist/performance.js +0 -826
  205. package/dist/quantum.d.ts +0 -809
  206. package/dist/quantum.js +0 -2072
  207. package/dist/render.d.ts +0 -380
  208. package/dist/render.js +0 -1072
  209. package/dist/runall.d.ts +0 -2
  210. package/dist/runall.js +0 -39
  211. package/dist/runtimeprobe.d.ts +0 -4
  212. package/dist/runtimeprobe.js +0 -8
  213. package/dist/sandbox.d.ts +0 -355
  214. package/dist/sandbox.js +0 -1721
  215. package/dist/sandboxenvprofile.d.ts +0 -29
  216. package/dist/sandboxenvprofile.js +0 -89
  217. package/dist/sandboxprofile.d.ts +0 -137
  218. package/dist/sandboxprofile.js +0 -241
  219. package/dist/sandboxqueue.d.ts +0 -108
  220. package/dist/sandboxqueue.js +0 -201
  221. package/dist/sandboxquota.d.ts +0 -121
  222. package/dist/sandboxquota.js +0 -236
  223. package/dist/scheduler.d.ts +0 -595
  224. package/dist/scheduler.js +0 -1258
  225. package/dist/scriptlanes.d.ts +0 -182
  226. package/dist/scriptlanes.js +0 -660
  227. package/dist/scripts.buildengine.d.ts +0 -1
  228. package/dist/scripts.buildengine.js +0 -39
  229. package/dist/scripts.securitygate.d.ts +0 -1
  230. package/dist/scripts.securitygate.js +0 -68
  231. package/dist/scripts.validateflatnative.d.ts +0 -1
  232. package/dist/scripts.validateflatnative.js +0 -72
  233. package/dist/security.d.ts +0 -500
  234. package/dist/security.js +0 -1169
  235. package/dist/seedcatalog.d.ts +0 -13
  236. package/dist/seedcatalog.js +0 -46
  237. package/dist/server.d.ts +0 -20
  238. package/dist/server.js +0 -53
  239. package/dist/speccatalog.d.ts +0 -31
  240. package/dist/speccatalog.js +0 -163
  241. package/dist/tiers.d.ts +0 -1001
  242. package/dist/tiers.js +0 -2169
  243. package/dist/utils.d.ts +0 -2
  244. package/dist/utils.js +0 -5
  245. package/dist/vaulthandoff.d.ts +0 -141
  246. package/dist/vaulthandoff.js +0 -444
  247. package/dist/virtual.d.ts +0 -640
  248. package/dist/virtual.js +0 -1284
  249. package/dist/virtualcpu.d.ts +0 -315
  250. package/dist/virtualcpu.js +0 -1180
  251. package/dist/virtualgpu.d.ts +0 -344
  252. package/dist/virtualgpu.js +0 -1000
  253. package/dist/virtualization.d.ts +0 -606
  254. package/dist/virtualization.js +0 -1186
  255. package/dist/virtualmemory.d.ts +0 -817
  256. package/dist/virtualmemory.js +0 -1795
  257. package/dist/vite.config.d.ts +0 -3
  258. package/dist/vite.config.js +0 -48
  259. package/dist/vitest.config.d.ts +0 -2
  260. package/dist/vitest.config.js +0 -25
  261. package/dist/webserver.d.ts +0 -166
  262. package/dist/webserver.js +0 -2226
  263. package/dist/workloadlaw.d.ts +0 -133
  264. package/dist/workloadlaw.js +0 -193
  265. package/docs/.gitkeep +0 -0
  266. package/docs/architecture.1.8.19.md +0 -76
  267. package/docs/logs/examplesession.json +0 -54
  268. package/docs/repo.analysis.1.8.21.json +0 -2617
  269. package/docs/repo.candidates.1.8.21.jsonl +0 -666
  270. package/docs/repo.selected.1.8.21.json +0 -786
  271. package/manifest.json +0 -20
  272. package/media.ts +0 -1337
  273. package/virtualcpu.ts +0 -1274
  274. package/virtualgpu.ts +0 -1182
  275. package/virtualization.ts +0 -1628
  276. package/virtualmemory.ts +0 -2303
  277. /package/docs/{artifactresearch.1.8.9.md → artifactresearch189.md} +0 -0
  278. /package/docs/{batches.1816.to.1820.md → batches1816to1820.md} +0 -0
  279. /package/docs/{brancharchive.2026.08.18.md → brancharchive20260818.md} +0 -0
  280. /package/docs/{containerplatforms.1.8.17.md → containerplatforms1817.md} +0 -0
  281. /package/docs/{e2ugh.engine.md → e2ughengine.md} +0 -0
  282. /package/docs/{flatbuildresearch.1.8.11.md → flatbuildresearch1811.md} +0 -0
  283. /package/docs/{licenseaudit.1.8.12.md → licenseaudit1812.md} +0 -0
  284. /package/docs/{mobileconversionresearch.1.8.10.md → mobileconversionresearch1810.md} +0 -0
  285. /package/docs/{nativeidentityresearch.1.8.11.md → nativeidentityresearch1811.md} +0 -0
  286. /package/docs/{native.wrappers.md → nativewrappers.md} +0 -0
  287. /package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
  288. /package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
  289. /package/docs/{planning.engine.md → planningengine.md} +0 -0
  290. /package/docs/{releasenotes.1.8.12.md → releasenotes1812.md} +0 -0
  291. /package/docs/{releasenotes.1.8.15.md → releasenotes1815.md} +0 -0
  292. /package/docs/{releasenotes.1.8.16.md → releasenotes1816.md} +0 -0
  293. /package/docs/{releasenotes.1.8.17.md → releasenotes1817.md} +0 -0
  294. /package/docs/{releasenotes.1.8.18.md → releasenotes1818.md} +0 -0
  295. /package/docs/{releasenotes.1.8.19.md → releasenotes1819.md} +0 -0
  296. /package/docs/{reorganization.1.8.8.md → reorganization188.md} +0 -0
  297. /package/docs/{reorganization.1.8.9.md → reorganization189.md} +0 -0
  298. /package/docs/{repo.research.1.8.16.md → reporesearch1816.md} +0 -0
  299. /package/docs/{repo.research.1.8.21.md → reporesearch1821.md} +0 -0
  300. /package/docs/{repo.synthesis.1.8.21.md → reposynthesis1821.md} +0 -0
  301. /package/docs/{research.1.8.18.isolation.md → research1818isolation.md} +0 -0
  302. /package/docs/{research.1.8.19.virtual.browser.md → research1819virtualbrowser.md} +0 -0
  303. /package/docs/{scanningresearch.1.8.11.md → scanningresearch1811.md} +0 -0
  304. /package/docs/{securityaudit.1.8.7.md → securityaudit187.md} +0 -0
  305. /package/docs/{securityreferences.1.8.11.md → securityreferences1811.md} +0 -0
  306. /package/docs/{securityresearch.1.8.11.md → securityresearch1811.md} +0 -0
  307. /package/docs/{signingresearch.1.8.12.md → signingresearch1812.md} +0 -0
  308. /package/docs/{tauri.glib.risk.1.8.11.md → tauriglibrisk1811.md} +0 -0
  309. /package/docs/{todo.1.8.18.md → todo1818.md} +0 -0
  310. /package/docs/{todo.1.8.19.md → todo1819.md} +0 -0
  311. /package/docs/{toolchainresearch.1.8.9.md → toolchainresearch189.md} +0 -0
  312. /package/docs/{web.duplicatecleanup.md → webduplicatecleanup.md} +0 -0
  313. /package/docs/{web.ideas.md → webideas.md} +0 -0
  314. /package/docs/{workflowimprovements.2026.08.19.md → workflowimprovements20260819.md} +0 -0
@@ -1,344 +0,0 @@
1
- /**
2
- * virtualgpu - physical gpu virtualization: passthrough, vgpu slicing, MIG
3
- * layouts and the verified gpu identity bank.
4
- *
5
- * This module owns the physical side of gpu virtualization. It absorbs the
6
- * gpu-passthrough module in full (vfio bind/unbind through driverctl with
7
- * the new_id fallback, vbios rom dumping from sysfs, the Looking Glass B7
8
- * IVshmem recipe, the NVIDIA vGPU profile-size formula, the vendor-reset
9
- * family list and the Intel SR-IOV DKMS parameters), the v2 stub
10
- * (nvmlMockEnv and the pciIds table, corrected against the v5 sources) and
11
- * a TS mirror of the C++ virtualization core data: the vgpu slice profile
12
- * table (B100-1Q through RX9070XT-4Q), the Blackwell MIG layout catalog
13
- * with the 7c/192GB density validator, the static spec database (GB100,
14
- * GB202, GB203, Navi48, Navi44) and the NVENC dual-engine throughput table.
15
- *
16
- * The verified bank embeds seven real identities confirmed on 2026-08-22
17
- * against vendor pages, TechPowerUp and the PCI id databases: RTX 5090
18
- * (10DE:2B85, 32 GB GDDR7), RTX PRO 6000 Blackwell (10DE:26B5, 96 GB GDDR7
19
- * ECC, 24064 CUDA cores), B200 (10DE:2665, 192 GB HBM3e at 8 TB/s), H100
20
- * (10DE:2330, 80 GB HBM3), A100 (10DE:20B0, 40 GB HBM2e), RX 9070 XT
21
- * (1002:748E, 16 GB GDDR6) and Instinct MI350X (1002:75A0, 288 GB HBM3e).
22
- * The legacy 10DE:2BB5 spelling for the RTX PRO 6000 found in the v4
23
- * sources is wrong; the verified id is 26B5 and the divergence is recorded
24
- * here for traceability.
25
- *
26
- * Data for the extra identities discovered in the Meta jsons (B100
27
- * 10DE:2664, GB200 superchip, RTX 5070, RX 8900 XTX, Arc B770 and the RDNA
28
- * APU family) stays in the json data files (gpus.json, processors.json);
29
- * this module only ships the logic: the registry, the fluent builder, the
30
- * factory and the registergpudata normalizer that turns a json record into
31
- * a bank entry.
32
- *
33
- * Domain split: render.ts keeps the software identity stack (Mesa, the
34
- * nvidia-smi); virtualmemory.ts keeps the guest MIG slicing profiles
35
- * (1g.24gb, 2g.48gb, 4g.96gb) which this module imports to compose the
36
- * complete catalog; virtualization.ts re-exports the passthrough helpers
37
- * for the QEMU command line.
38
- *
39
- * Contexts (25): gpuerror, pciids, nvmlmockenv, virtualgpuspec, gpubank,
40
- * smidriveranchor, bindvfio, unbindvfio, romdump, lookingglassb7,
41
- * nvidiavgpuprofiles, vendorresetfamilies, intelsriovdkms, vgpuprofiles,
42
- * miglayoutblackwell, validatedensity, composemigcatalog, gpustaticspecs,
43
- * nvencdualengine, nvencsessiontable, nvencCanFit, gpuregistry,
44
- * virtualgpubuilder, registergpudata, createvirtualgpu.
45
- *
46
- * Patterns: registry (gpuregistry), builder (virtualgpubuilder), factory
47
- * (createvirtualgpu), normalizer (registergpudata).
48
- * Rules: lowercase identifiers, english jsdoc, third person, no emoji,
49
- * try/catch catcher on every fallible path, node:* built-ins only, and no
50
- * hardcoded localhost address anywhere.
51
- */
52
- /** Error thrown by every virtualgpu subsystem with an optional cause chain. */
53
- export declare class gpuerror extends Error {
54
- /** Machine readable subsystem tag. */
55
- readonly subsystem: string;
56
- constructor(message: string, options?: {
57
- cause?: Error;
58
- subsystem?: string;
59
- });
60
- }
61
- /**
62
- * Canonical PCI ids of the verified bank, keyed by registry name. The
63
- * RTX PRO 6000 entry uses 26B5 as confirmed in the v5 research; the 2BB5
64
- * value found in the v4 nested_gpu.json is a transcription error and is
65
- * intentionally not reproduced.
66
- */
67
- export declare const pciIds: {
68
- readonly rtx5090: '10DE:2B85';
69
- readonly rtxpro6000: '10DE:26B5';
70
- readonly b200: '10DE:2665';
71
- readonly h100: '10DE:2330';
72
- readonly a100: '10DE:20B0';
73
- readonly rx9070xt: '1002:748E';
74
- readonly mi350x: '1002:75A0';
75
- };
76
- /**
77
- * NVIDIA driver and CUDA anchor shared by the smi-adapter header and the nvenc
78
- * engine description (v2 anchor; supersedes the 560.35.03 and 580.82.07
79
- * strings found in the older sources).
80
- */
81
- export declare const smidriveranchor: {
82
- readonly driver: '575.57.08';
83
- readonly cuda: '12.9';
84
- };
85
- /**
86
- * Builds the NVML mock environment consumed by the virtual nvidia-smi adapter
87
- * emulator and the nvml-unified-shim (their documented interface): FAKE_VRAM pins the reported memory in
88
- * MiB and FAKE_MODEL pins the reported device name.
89
- */
90
- export declare function nvmlMockEnv(vrammib: number, model: string): Record<string, string>;
91
- /** Complete description of one physical gpu identity. */
92
- export type virtualgpuspec = {
93
- readonly id: string;
94
- readonly name: string;
95
- readonly vendor: 'nvidia' | 'amd' | 'intel';
96
- readonly pcivendor: string;
97
- readonly pcidevice: string;
98
- readonly vrammib: number;
99
- readonly smireportedmib: number;
100
- readonly memtype: string;
101
- readonly busbits: number;
102
- readonly bandwidthgbs: number;
103
- readonly tdpwatts: number;
104
- readonly arch: string;
105
- readonly smarch: string;
106
- readonly computeunits: number;
107
- readonly smcount: number;
108
- readonly mig: boolean;
109
- readonly sriov: boolean;
110
- readonly launch: string;
111
- };
112
- /**
113
- * The verified bank: seven real identities with every field cross-checked
114
- * on 2026-08-22. vrammib is the physical capacity and smireportedmib is the
115
- * value nvidia-smi and rocm-smi print after the firmware carveout.
116
- */
117
- export declare const GPU_BANK: readonly virtualgpuspec[];
118
- /** Renders the canonical "vendor:device" pci id of a bank entry. */
119
- export declare function fullpciid(spec: virtualgpuspec): string;
120
- /**
121
- * Binds a gpu to vfio-pci for passthrough. driverctl set-override is the
122
- * primary path; when it is unavailable the function falls back to the
123
- * vfio-pci new_id sysfs write. The returned plan carries the quirks the
124
- * passthrough research mandates: disable_idle_d3, pcie_port_pm off and the
125
- * lspci alive check that verifies the config header is not 0xFF.
126
- */
127
- export declare function bindVfio(bdf: string, vendorDevice: string): {
128
- bdf: string;
129
- driver: string;
130
- disable_idle_d3: number;
131
- pcie_port_pm: string;
132
- aliveCheck: string;
133
- };
134
- /** Releases a gpu from vfio-pci back to its native driver. */
135
- export declare function unbindVfio(bdf: string): void;
136
- /**
137
- * Dumps the gpu vbios from sysfs for romfile passthrough. The rom is
138
- * enabled with echo 1, copied to the output path and disabled again; the
139
- * returned path feeds the QEMU romfile= option.
140
- */
141
- export declare function romDump(bdf: string, out?: string): string;
142
- /**
143
- * Looking Glass B7 guest display recipe: the kvmfr 0.0.12-7 module backs a
144
- * 128 MB ivshmem-plain device so the D12 host renderer can DMA frames with
145
- * zero CPU copies (300 UPS class latency), including the libvirt shmem xml.
146
- */
147
- export declare function lookingGlassB7(): {
148
- version: string;
149
- kvmfr: string;
150
- ivshmem: string;
151
- backend: string;
152
- dma: string;
153
- indirectCopy: boolean;
154
- xml: string;
155
- };
156
- /**
157
- * NVIDIA vGPU profile-size formula as documented by the vgpu-unlock
158
- * research: profileSize equals X times 0x40000000 (1 GB units), the
159
- * framebuffer reservation is 0x8000000 plus one sixteenth of the excess
160
- * over the first gigabyte, and the usable framebuffer never drops below
161
- * 384 MiB. The example computes the X=2 (2 GB) profile.
162
- */
163
- export declare function nvidiaVgpuProfiles(): {
164
- formula: string;
165
- min: string;
166
- example: {
167
- profileSize: number;
168
- fbReservation: number;
169
- fb: number;
170
- };
171
- };
172
- /**
173
- * GPU families supported by the vendor-reset module: the reset quirk list
174
- * covering Polaris through Navi 48 plus the Rembrandt iGPU and the 5600 XT
175
- * exception, required to recover amdgpu devices stuck in a bad state
176
- * before rebinding them to vfio-pci.
177
- */
178
- export declare function vendorResetFamilies(): readonly string[];
179
- /**
180
- * Intel SR-IOV DKMS package and kernel parameters for the Xe and i915
181
- * stacks: i915-sriov-dkms 2026.02.09 with i915.enable_guc=3 and up to 7
182
- * VFs, or the xe driver with xe.force_probe=0xa7a0 for Battlemage.
183
- */
184
- export declare function intelSriovDkms(): {
185
- pkg: string;
186
- kernel: string;
187
- xe: string;
188
- maxVfs: number;
189
- };
190
- /** One time-sliced vgpu profile as scheduled by the C++ VgpuScheduler. */
191
- export type vgpuprofile = {
192
- readonly id: string;
193
- readonly vrammb: number;
194
- readonly maxinstances: number;
195
- readonly encodersessions: number;
196
- readonly decodersessions: number;
197
- readonly weight: number;
198
- readonly flavor: 'vgpu' | 'sriov';
199
- };
200
- /**
201
- * vgpu slice catalog: NVIDIA B100 quarter profiles (1Q through 8Q), the
202
- * GB202 consumer slices for RTX 5090 class boards and the AMD MxGPU
203
- * SR-IOV slices for RX 9070 XT (Navi 48). Instances attach through the
204
- * mdev_supported_types sysfs interface.
205
- */
206
- export declare const VGPUPROFILES: readonly vgpuprofile[];
207
- /** Resolves a vgpu slice profile by id, throwing for unknown names. */
208
- export declare function getvgpuprofile(id: string): vgpuprofile;
209
- /** One Blackwell MIG layout entry (MIG 2.0, up to 7 compute instances). */
210
- export type miglayout = {
211
- readonly profile: string;
212
- readonly computeslices: number;
213
- readonly memorymb: number;
214
- readonly hbmgb: number;
215
- readonly smcount: number;
216
- readonly decoders: number;
217
- readonly encoders: number;
218
- readonly maxinstances: number;
219
- readonly mdev: string;
220
- readonly c2ccoherent: boolean;
221
- };
222
- /**
223
- * Blackwell B100 MIG layout catalog (192 GB HBM3e, 8 TB/s): eight profiles
224
- * from 1g.12gb (14 SMs, 7 instances) to the monolithic 7g.192gb (192 SMs),
225
- * each mapped to its compatible mdev type so vgpu and MIG compose.
226
- */
227
- export declare const MIGLAYOUTBLACKWELL: readonly miglayout[];
228
- /**
229
- * Validates that a requested MIG instance set does not oversubscribe the
230
- * Blackwell physical limits: at most 7 compute slices and at most 192 GB of
231
- * HBM3e in aggregate.
232
- */
233
- export declare function validatedensity(requested: readonly miglayout[]): boolean;
234
- /**
235
- * Composes the complete MIG catalog visible to planners: the guest-side
236
- * VRAM slicing profiles owned by virtualmemory.ts (1g.24gb, 2g.48gb and
237
- * 4g.96gb on the 96 GB virtual device) plus the host-side Blackwell
238
- * layouts mirrored above.
239
- */
240
- export declare function composemigcatalog(): readonly string[];
241
- /** Static silicon facts of one gpu architecture (mirror of the C++ db). */
242
- export type gpustaticspec = {
243
- readonly arch: string;
244
- readonly vendor: 'nvidia' | 'amd';
245
- readonly marketingname: string;
246
- readonly smorcu: number;
247
- readonly busbits: number;
248
- readonly bandwidthgbps: number;
249
- readonly tdpwatts: number;
250
- readonly encoders: number;
251
- readonly decoders: number;
252
- readonly mig: boolean;
253
- readonly sriov: boolean;
254
- readonly maxvgpuinstances: number;
255
- readonly wgps?: number;
256
- readonly aiaccelerators?: number;
257
- readonly mediaengine: string;
258
- };
259
- /**
260
- * Static spec database mirrored from the C++ virtualization core. GB100 is
261
- * the 168 SM datacenter die with 8192-bit HBM3e at 8 TB/s; GB202 is the
262
- * 170 SM consumer die with 512-bit GDDR7 at 1792 GB/s; Navi 48 carries 64
263
- * CUs organized as 32 WGPs with 128 AI accelerators on VCN 5.0.
264
- */
265
- export declare const GPUSTATICSPECS: readonly gpustaticspec[];
266
- /** Throughput contract of the B100 dual NVENC engines (SDK 13.0 data). */
267
- export declare const NVENCDUALENGINE: {
268
- readonly totalmpixpersec: 1600;
269
- readonly perenginempix: 800;
270
- readonly engines: 2;
271
- };
272
- /** One codec session limit row of the dual-engine table. */
273
- export type nvencsession = {
274
- readonly codec: 'h264' | 'hevc' | 'av1';
275
- readonly maxwidth: number;
276
- readonly maxheight: number;
277
- readonly maxfps: number;
278
- readonly mpixpersec: number;
279
- readonly hdr10: boolean;
280
- readonly splitframe: boolean;
281
- };
282
- /** Session table: 8K60 ceilings per codec with HDR10 and split-frame. */
283
- export declare function nvencsessiontable(): readonly nvencsession[];
284
- /**
285
- * Checks whether a resolution at a frame rate (and session count) fits
286
- * within the 1600 MPix/s aggregate budget of the dual engines.
287
- */
288
- export declare function nvencCanFit(w: number, h: number, fps: number, sessions?: number): boolean;
289
- /** Human readable engine description pinned to the v2 driver anchor. */
290
- export declare function nvencdescribe(): string;
291
- /**
292
- * Registry of gpu identities. Seeded with the verified GPU_BANK and
293
- * extensible at runtime; the Meta json identities (B100, GB200, RTX 5070,
294
- * RX 8900 XTX, Arc B770, RDNA APUs) register here after being loaded from
295
- * their json data files.
296
- */
297
- export declare const gpuregistry: ReadonlyMap<string, virtualgpuspec>;
298
- /** Lists every registered gpu identity id in registry order. */
299
- export declare function listgpus(): readonly string[];
300
- /** Resolves a gpu identity by id, throwing with the known ids on miss. */
301
- export declare function getgpu(id: string): virtualgpuspec;
302
- /**
303
- * Normalizes a loose json record from the data files (gpus.json,
304
- * processors.json) into a bank-grade virtualgpuspec and registers it. This
305
- * is the logic half of the Meta identities: the numbers live in the jsons,
306
- * this function only maps shapes. Accepted key spellings cover both the
307
- * v5 schema (pciId as "vendor:device", memoryGB, vramGb, memoryBandwidthGBs,
308
- * tdpW, cudaCores) and the Meta schema (vram_gb, bandwidth_gbs, tdp_w,
309
- * cuCount, streamProcessors).
310
- */
311
- export declare function registergpudata(record: Record<string, unknown>): virtualgpuspec;
312
- /**
313
- * Fluent builder for custom gpu identities. The builder starts from the
314
- * RTX 5090 baseline, collects overrides through chainable with* methods
315
- * and freezes the result into the registry.
316
- */
317
- export declare class virtualgpubuilder {
318
- #private;
319
- constructor();
320
- /** Sets the registry id and display name. */
321
- withid(id: string, name: string): this;
322
- /** Sets the vendor and the pci vendor id that matches it. */
323
- withvendor(vendor: virtualgpuspec['vendor']): this;
324
- /** Sets the pci device id; must be exactly 4 hex digits. */
325
- withpcidevice(device: string): this;
326
- /** Sets the memory geometry: capacity, type, bus width and bandwidth. */
327
- withmemory(vrammib: number, memtype: string, busbits: number, bandwidthgbs: number): this;
328
- /** Sets power and architecture strings. */
329
- withpower(tdpwatts: number, arch: string): this;
330
- /** Sets compute topology and the virtualization capabilities. */
331
- withcompute(computeunits: number, smcount: number, smarch: string, mig: boolean, sriov: boolean): this;
332
- /** Validates the accumulated fields and freezes the identity. */
333
- build(): virtualgpuspec;
334
- }
335
- /**
336
- * Factory that materializes a bank identity together with its NVML mock
337
- * environment: one call resolves the registry entry and pins the FAKE_VRAM
338
- * and FAKE_MODEL variables the smi adapter emulators read.
339
- */
340
- export declare function createvirtualgpu(id: string): {
341
- spec: virtualgpuspec;
342
- pciid: string;
343
- nvmlenv: Record<string, string>;
344
- };