@wenathlan/saddle 2.0.154 → 2.0.155

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 (307) hide show
  1. package/Dockerfile +112 -41
  2. package/README.md +58 -59
  3. package/browser.ts +482 -0
  4. package/cli.ts +274 -0
  5. package/distribution.ts +731 -0
  6. package/docker.config +29 -8
  7. package/docs/artifactavailability.md +2 -2
  8. package/docs/browser.md +18 -1
  9. package/docs/{containerplatforms.2.1.0.md → containerplatforms210.md} +1 -1
  10. package/docs/{documentmap.1.8.12.md → documentmap1812.md} +1 -1
  11. package/docs/extension.md +13 -2
  12. package/docs/libraryapi.md +1 -1
  13. package/docs/{ninety.modalities.md → ninetymodalities.md} +87 -4
  14. package/docs/{planning.ninety.md → planningninety.md} +6 -6
  15. package/docs/{releasenotes.1.8.13.md → releasenotes1813.md} +2 -2
  16. package/docs/{releasenotes.1.8.14.md → releasenotes1814.md} +1 -1
  17. package/docs/{repo.synthesis.1.8.16.md → reposynthesis1816.md} +1 -1
  18. package/docs/todo.md +2 -2
  19. package/docs/{todo.1.8.15.md → todo1815.md} +1 -1
  20. package/docs/{todo.1.8.16.md → todo1816.md} +5 -5
  21. package/execution.ts +677 -0
  22. package/foundation.ts +314 -0
  23. package/index.ts +35 -27
  24. package/isolation.ts +84 -0
  25. package/modes.ts +170 -0
  26. package/mttg.config +1 -1
  27. package/orchestrator.ts +49 -15
  28. package/package.json +90 -75
  29. package/qemu.config +2 -2
  30. package/sandbox.ts +2094 -0
  31. package/scheduler.ts +1 -1
  32. package/server.ts +52 -0
  33. package/tsconfig.json +11 -12
  34. package/virtual.ts +1105 -0
  35. package/virtualgpu.ts +1 -1
  36. package/virtualization.ts +1 -1
  37. package/workloadlaw.ts +293 -0
  38. package/dist/App.d.ts +0 -5
  39. package/dist/App.js +0 -52
  40. package/dist/Sol/Sol.d.ts +0 -3
  41. package/dist/Sol/Sol.js +0 -46
  42. package/dist/Sol/agentbrowser/agentbrowser.d.ts +0 -9
  43. package/dist/Sol/agentbrowser/agentbrowser.js +0 -121
  44. package/dist/Sol/architecture/architecture.d.ts +0 -9
  45. package/dist/Sol/architecture/architecture.js +0 -93
  46. package/dist/Sol/compute/compute.d.ts +0 -9
  47. package/dist/Sol/compute/compute.js +0 -22
  48. package/dist/Sol/console/console.d.ts +0 -15
  49. package/dist/Sol/console/console.js +0 -292
  50. package/dist/Sol/dashboard/dashboard.d.ts +0 -10
  51. package/dist/Sol/dashboard/dashboard.js +0 -181
  52. package/dist/Sol/docs/docs.d.ts +0 -9
  53. package/dist/Sol/docs/docs.js +0 -28
  54. package/dist/Sol/home/home.d.ts +0 -35
  55. package/dist/Sol/home/home.js +0 -239
  56. package/dist/Sol/integrations/integrations.d.ts +0 -9
  57. package/dist/Sol/integrations/integrations.js +0 -83
  58. package/dist/Sol/intro/intro.d.ts +0 -7
  59. package/dist/Sol/intro/intro.js +0 -102
  60. package/dist/Sol/login/login.d.ts +0 -16
  61. package/dist/Sol/login/login.js +0 -49
  62. package/dist/Sol/notfound/notfound.d.ts +0 -9
  63. package/dist/Sol/notfound/notfound.js +0 -15
  64. package/dist/Sol/onboarding/onboarding.d.ts +0 -25
  65. package/dist/Sol/onboarding/onboarding.js +0 -60
  66. package/dist/Sol/playground/playground.d.ts +0 -9
  67. package/dist/Sol/playground/playground.js +0 -127
  68. package/dist/Sol/register/register.d.ts +0 -16
  69. package/dist/Sol/register/register.js +0 -193
  70. package/dist/Sol/shell/Shell.d.ts +0 -124
  71. package/dist/Sol/shell/Shell.js +0 -335
  72. package/dist/Sol/wingets/ComputeBootladder.d.ts +0 -6
  73. package/dist/Sol/wingets/ComputeBootladder.js +0 -71
  74. package/dist/Sol/wingets/ComputeModalitycatalog.d.ts +0 -7
  75. package/dist/Sol/wingets/ComputeModalitycatalog.js +0 -71
  76. package/dist/Sol/wingets/ConsoleApibadge.d.ts +0 -7
  77. package/dist/Sol/wingets/ConsoleApibadge.js +0 -5
  78. package/dist/Sol/wingets/ConsoleEdgelaw.d.ts +0 -6
  79. package/dist/Sol/wingets/ConsoleEdgelaw.js +0 -36
  80. package/dist/Sol/wingets/ConsoleEventstimeline.d.ts +0 -19
  81. package/dist/Sol/wingets/ConsoleEventstimeline.js +0 -12
  82. package/dist/Sol/wingets/ConsoleSnapshotcontrols.d.ts +0 -8
  83. package/dist/Sol/wingets/ConsoleSnapshotcontrols.js +0 -8
  84. package/dist/Sol/wingets/ConsoleSpecpanel.d.ts +0 -21
  85. package/dist/Sol/wingets/ConsoleSpecpanel.js +0 -75
  86. package/dist/Sol/wingets/ConsoleTerminal.d.ts +0 -22
  87. package/dist/Sol/wingets/ConsoleTerminal.js +0 -77
  88. package/dist/Sol/wingets/DashboardAccountpanel.d.ts +0 -18
  89. package/dist/Sol/wingets/DashboardAccountpanel.js +0 -65
  90. package/dist/Sol/wingets/DashboardAdminpanel.d.ts +0 -6
  91. package/dist/Sol/wingets/DashboardAdminpanel.js +0 -90
  92. package/dist/Sol/wingets/DashboardAuditlog.d.ts +0 -8
  93. package/dist/Sol/wingets/DashboardAuditlog.js +0 -50
  94. package/dist/Sol/wingets/DashboardCreatesandboxform.d.ts +0 -10
  95. package/dist/Sol/wingets/DashboardCreatesandboxform.js +0 -71
  96. package/dist/Sol/wingets/DashboardEventstimeline.d.ts +0 -8
  97. package/dist/Sol/wingets/DashboardEventstimeline.js +0 -83
  98. package/dist/Sol/wingets/DashboardGlobalsandboxestable.d.ts +0 -8
  99. package/dist/Sol/wingets/DashboardGlobalsandboxestable.js +0 -57
  100. package/dist/Sol/wingets/DashboardMeshnodestable.d.ts +0 -8
  101. package/dist/Sol/wingets/DashboardMeshnodestable.js +0 -103
  102. package/dist/Sol/wingets/DashboardSandboxlist.d.ts +0 -10
  103. package/dist/Sol/wingets/DashboardSandboxlist.js +0 -163
  104. package/dist/Sol/wingets/DashboardUserstable.d.ts +0 -8
  105. package/dist/Sol/wingets/DashboardUserstable.js +0 -78
  106. package/dist/Sol/wingets/HomeEntrygate.d.ts +0 -23
  107. package/dist/Sol/wingets/HomeEntrygate.js +0 -73
  108. package/dist/Sol/wingets/HomeMetricstrip.d.ts +0 -9
  109. package/dist/Sol/wingets/HomeMetricstrip.js +0 -4
  110. package/dist/Sol/wingets/HomeRuntimediagram.d.ts +0 -1
  111. package/dist/Sol/wingets/HomeRuntimediagram.js +0 -22
  112. package/dist/Sol/wingets/LoginForm.d.ts +0 -19
  113. package/dist/Sol/wingets/LoginForm.js +0 -141
  114. package/dist/Sol/wingets/RegisterPasswordconfirm.d.ts +0 -13
  115. package/dist/Sol/wingets/RegisterPasswordconfirm.js +0 -16
  116. package/dist/Sol/wingets/RegisterPasswordmeter.d.ts +0 -19
  117. package/dist/Sol/wingets/RegisterPasswordmeter.js +0 -65
  118. package/dist/Sol/wingets/RegisterUsernamerules.d.ts +0 -11
  119. package/dist/Sol/wingets/RegisterUsernamerules.js +0 -16
  120. package/dist/Sol/wingets/index.d.ts +0 -39
  121. package/dist/Sol/wingets/index.js +0 -39
  122. package/dist/alternatives.d.ts +0 -508
  123. package/dist/alternatives.js +0 -950
  124. package/dist/api.d.ts +0 -154
  125. package/dist/api.js +0 -174
  126. package/dist/auth.d.ts +0 -268
  127. package/dist/auth.js +0 -476
  128. package/dist/automation.d.ts +0 -425
  129. package/dist/automation.js +0 -566
  130. package/dist/browser.d.ts +0 -561
  131. package/dist/browser.js +0 -1058
  132. package/dist/capacitor.config.d.ts +0 -45
  133. package/dist/capacitor.config.js +0 -48
  134. package/dist/catalog.d.ts +0 -43
  135. package/dist/catalog.js +0 -44
  136. package/dist/cli.d.ts +0 -16
  137. package/dist/cli.js +0 -168
  138. package/dist/communication.d.ts +0 -181
  139. package/dist/communication.js +0 -376
  140. package/dist/compute.d.ts +0 -1160
  141. package/dist/compute.js +0 -2272
  142. package/dist/dashboardlib.d.ts +0 -58
  143. package/dist/dashboardlib.js +0 -161
  144. package/dist/db.d.ts +0 -569
  145. package/dist/db.js +0 -1080
  146. package/dist/distribution.d.ts +0 -528
  147. package/dist/distribution.js +0 -810
  148. package/dist/drizzle.config.d.ts +0 -20
  149. package/dist/drizzle.config.js +0 -18
  150. package/dist/edgelandes.d.ts +0 -70
  151. package/dist/edgelandes.host.d.ts +0 -26
  152. package/dist/edgelandes.host.js +0 -1089
  153. package/dist/edgelandes.inproc.d.ts +0 -27
  154. package/dist/edgelandes.inproc.js +0 -952
  155. package/dist/edgelandes.js +0 -1133
  156. package/dist/edgelandes.ninety.d.ts +0 -31
  157. package/dist/edgelandes.ninety.js +0 -174
  158. package/dist/edgelandes.virtual.d.ts +0 -25
  159. package/dist/edgelandes.virtual.js +0 -629
  160. package/dist/edgeplane.d.ts +0 -121
  161. package/dist/edgeplane.js +0 -341
  162. package/dist/examplelocaljob.d.ts +0 -1
  163. package/dist/examplelocaljob.js +0 -14
  164. package/dist/execution.d.ts +0 -529
  165. package/dist/execution.js +0 -760
  166. package/dist/family.d.ts +0 -16
  167. package/dist/family.js +0 -42
  168. package/dist/familyurl.d.ts +0 -21
  169. package/dist/familyurl.js +0 -24
  170. package/dist/format.d.ts +0 -18
  171. package/dist/format.js +0 -59
  172. package/dist/foundation.d.ts +0 -172
  173. package/dist/foundation.js +0 -312
  174. package/dist/index.d.ts +0 -735
  175. package/dist/index.js +0 -1020
  176. package/dist/integration.d.ts +0 -235
  177. package/dist/integration.js +0 -228
  178. package/dist/intelligence.d.ts +0 -93
  179. package/dist/intelligence.js +0 -144
  180. package/dist/isolation.d.ts +0 -128
  181. package/dist/isolation.js +0 -95
  182. package/dist/labels.d.ts +0 -665
  183. package/dist/labels.js +0 -707
  184. package/dist/localauth.d.ts +0 -127
  185. package/dist/localauth.js +0 -413
  186. package/dist/media.d.ts +0 -343
  187. package/dist/media.js +0 -985
  188. package/dist/mesh.d.ts +0 -177
  189. package/dist/mesh.js +0 -468
  190. package/dist/modalityregistry.d.ts +0 -109
  191. package/dist/modalityregistry.js +0 -1386
  192. package/dist/modes.d.ts +0 -358
  193. package/dist/modes.js +0 -133
  194. package/dist/onboardingstate.d.ts +0 -79
  195. package/dist/onboardingstate.js +0 -282
  196. package/dist/orchestrator.d.ts +0 -1338
  197. package/dist/orchestrator.js +0 -4310
  198. package/dist/packager/targetcli.js +0 -4
  199. package/dist/paths.d.ts +0 -2
  200. package/dist/paths.js +0 -14
  201. package/dist/performance.d.ts +0 -415
  202. package/dist/performance.js +0 -826
  203. package/dist/quantum.d.ts +0 -809
  204. package/dist/quantum.js +0 -2072
  205. package/dist/render.d.ts +0 -380
  206. package/dist/render.js +0 -1072
  207. package/dist/runall.d.ts +0 -2
  208. package/dist/runall.js +0 -39
  209. package/dist/runtimeprobe.d.ts +0 -4
  210. package/dist/runtimeprobe.js +0 -8
  211. package/dist/sandbox.d.ts +0 -355
  212. package/dist/sandbox.js +0 -1721
  213. package/dist/sandboxenvprofile.d.ts +0 -29
  214. package/dist/sandboxenvprofile.js +0 -89
  215. package/dist/sandboxprofile.d.ts +0 -137
  216. package/dist/sandboxprofile.js +0 -241
  217. package/dist/sandboxqueue.d.ts +0 -108
  218. package/dist/sandboxqueue.js +0 -201
  219. package/dist/sandboxquota.d.ts +0 -121
  220. package/dist/sandboxquota.js +0 -236
  221. package/dist/scheduler.d.ts +0 -595
  222. package/dist/scheduler.js +0 -1258
  223. package/dist/scriptlanes.d.ts +0 -182
  224. package/dist/scriptlanes.js +0 -660
  225. package/dist/scripts.buildengine.d.ts +0 -1
  226. package/dist/scripts.buildengine.js +0 -39
  227. package/dist/scripts.securitygate.d.ts +0 -1
  228. package/dist/scripts.securitygate.js +0 -68
  229. package/dist/scripts.validateflatnative.d.ts +0 -1
  230. package/dist/scripts.validateflatnative.js +0 -72
  231. package/dist/security.d.ts +0 -500
  232. package/dist/security.js +0 -1169
  233. package/dist/seedcatalog.d.ts +0 -13
  234. package/dist/seedcatalog.js +0 -46
  235. package/dist/server.d.ts +0 -20
  236. package/dist/server.js +0 -53
  237. package/dist/speccatalog.d.ts +0 -31
  238. package/dist/speccatalog.js +0 -163
  239. package/dist/tiers.d.ts +0 -1001
  240. package/dist/tiers.js +0 -2169
  241. package/dist/utils.d.ts +0 -2
  242. package/dist/utils.js +0 -5
  243. package/dist/vaulthandoff.d.ts +0 -141
  244. package/dist/vaulthandoff.js +0 -444
  245. package/dist/virtual.d.ts +0 -640
  246. package/dist/virtual.js +0 -1284
  247. package/dist/virtualcpu.d.ts +0 -315
  248. package/dist/virtualcpu.js +0 -1180
  249. package/dist/virtualgpu.d.ts +0 -344
  250. package/dist/virtualgpu.js +0 -1000
  251. package/dist/virtualization.d.ts +0 -606
  252. package/dist/virtualization.js +0 -1186
  253. package/dist/virtualmemory.d.ts +0 -817
  254. package/dist/virtualmemory.js +0 -1795
  255. package/dist/vite.config.d.ts +0 -3
  256. package/dist/vite.config.js +0 -48
  257. package/dist/vitest.config.d.ts +0 -2
  258. package/dist/vitest.config.js +0 -25
  259. package/dist/webserver.d.ts +0 -166
  260. package/dist/webserver.js +0 -2226
  261. package/dist/workloadlaw.d.ts +0 -133
  262. package/dist/workloadlaw.js +0 -193
  263. package/manifest.json +0 -20
  264. package/media.ts +0 -1337
  265. /package/docs/{architecture.1.8.19.md → architecture1819.md} +0 -0
  266. /package/docs/{architecture.1.8.19.mmd → architecture1819.mmd} +0 -0
  267. /package/docs/{artifactresearch.1.8.9.md → artifactresearch189.md} +0 -0
  268. /package/docs/{batches.1816.to.1820.md → batches1816to1820.md} +0 -0
  269. /package/docs/{brancharchive.2026.08.18.md → brancharchive20260818.md} +0 -0
  270. /package/docs/{containerplatforms.1.8.17.md → containerplatforms1817.md} +0 -0
  271. /package/docs/{e2ugh.engine.md → e2ughengine.md} +0 -0
  272. /package/docs/{flatbuildresearch.1.8.11.md → flatbuildresearch1811.md} +0 -0
  273. /package/docs/{licenseaudit.1.8.12.md → licenseaudit1812.md} +0 -0
  274. /package/docs/{mobileconversionresearch.1.8.10.md → mobileconversionresearch1810.md} +0 -0
  275. /package/docs/{nativeidentityresearch.1.8.11.md → nativeidentityresearch1811.md} +0 -0
  276. /package/docs/{native.wrappers.md → nativewrappers.md} +0 -0
  277. /package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
  278. /package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
  279. /package/docs/{planning.engine.md → planningengine.md} +0 -0
  280. /package/docs/{releasenotes.1.8.12.md → releasenotes1812.md} +0 -0
  281. /package/docs/{releasenotes.1.8.15.md → releasenotes1815.md} +0 -0
  282. /package/docs/{releasenotes.1.8.16.md → releasenotes1816.md} +0 -0
  283. /package/docs/{releasenotes.1.8.17.md → releasenotes1817.md} +0 -0
  284. /package/docs/{releasenotes.1.8.18.md → releasenotes1818.md} +0 -0
  285. /package/docs/{releasenotes.1.8.19.md → releasenotes1819.md} +0 -0
  286. /package/docs/{reorganization.1.8.8.md → reorganization188.md} +0 -0
  287. /package/docs/{reorganization.1.8.9.md → reorganization189.md} +0 -0
  288. /package/docs/{repo.analysis.1.8.21.json → repoanalysis1821.json} +0 -0
  289. /package/docs/{repo.candidates.1.8.21.jsonl → repocandidates1821.jsonl} +0 -0
  290. /package/docs/{repo.research.1.8.16.md → reporesearch1816.md} +0 -0
  291. /package/docs/{repo.research.1.8.21.md → reporesearch1821.md} +0 -0
  292. /package/docs/{repo.selected.1.8.21.json → reposelected1821.json} +0 -0
  293. /package/docs/{repo.synthesis.1.8.21.md → reposynthesis1821.md} +0 -0
  294. /package/docs/{research.1.8.18.isolation.md → research1818isolation.md} +0 -0
  295. /package/docs/{research.1.8.19.virtual.browser.md → research1819virtualbrowser.md} +0 -0
  296. /package/docs/{scanningresearch.1.8.11.md → scanningresearch1811.md} +0 -0
  297. /package/docs/{securityaudit.1.8.7.md → securityaudit187.md} +0 -0
  298. /package/docs/{securityreferences.1.8.11.md → securityreferences1811.md} +0 -0
  299. /package/docs/{securityresearch.1.8.11.md → securityresearch1811.md} +0 -0
  300. /package/docs/{signingresearch.1.8.12.md → signingresearch1812.md} +0 -0
  301. /package/docs/{tauri.glib.risk.1.8.11.md → tauriglibrisk1811.md} +0 -0
  302. /package/docs/{todo.1.8.18.md → todo1818.md} +0 -0
  303. /package/docs/{todo.1.8.19.md → todo1819.md} +0 -0
  304. /package/docs/{toolchainresearch.1.8.9.md → toolchainresearch189.md} +0 -0
  305. /package/docs/{web.duplicatecleanup.md → webduplicatecleanup.md} +0 -0
  306. /package/docs/{web.ideas.md → webideas.md} +0 -0
  307. /package/docs/{workflowimprovements.2026.08.19.md → workflowimprovements20260819.md} +0 -0
@@ -1,315 +0,0 @@
1
- /**
2
- * virtualcpu - virtual processor bank and procfs generators.
3
- *
4
- * This module embeds the BEST_VIRTUAL_PROCESSORS bank with real, verified
5
- * specifications of the strongest server, workstation and desktop processors
6
- * available on 2026-08-22 (AMD EPYC 9965 Turin, Ryzen 9 9950X3D, Threadripper
7
- * PRO 9995WX, Threadripper 7980X, Intel Core Ultra 9 285K, AMD EPYC 9955) and
8
- * converts any of them into byte-accurate procfs texts: generateVirtualCpuinfo
9
- * renders a complete /proc/cpuinfo payload with vendor identity, family,
10
- * model, topology, cache sizes and the full Zen 5 flag set (avx512f, avx512bw,
11
- * avx512cd, avx512dq, avx512vl, avx512_bf16, sha_ni and friends), while
12
- * generateVirtualLscpu renders the util-linux summary with NUMA ranges and
13
- * vulnerability lines. The module also owns the cpuRegistry, a fluent
14
- * virtualcpubuilder, a processor factory, topology solving, capability
15
- * scoring, the marchFlag/validateCpuCount helpers absorbed from the v2 stub
16
- * and the boards() socket index.
17
- *
18
- * /proc/meminfo generation (generateVirtualMeminfo, meminfoptions and
19
- * pagealign) moved to virtualmemory.ts in the v2 reorganization so every
20
- * memory concern lives in one module.
21
- *
22
- * Data sources (verified 2026-08-22): amd.com product pages (EPYC 9965,
23
- * EPYC 9955, Ryzen 9 9950X3D, Threadripper PRO 9995WX), intel.com ARK
24
- * (Core Ultra 9 285K), techpowerup.com CPU database and the QEMU 11.1.0
25
- * target/i386 CPU model table (EPYC-v5).
26
- *
27
- * Contexts (24): hardwareerror, vendorid, vendorprofile, ZEN5FLAGS,
28
- * ARROWLAKEFLAGS, vendorprofiles, virtualcpuspec, BEST_VIRTUAL_PROCESSORS,
29
- * cpuRegistry, solvetopology, generateVirtualCpuinfo, generateVirtualLscpu,
30
- * virtualcpubuilder, createVirtualProcessor, validateCpuCount, marchFlag,
31
- * boards, cpuscore, compareVirtualProcessors, listBestVirtualProcessors,
32
- * serializeprovisionedcpu, modellease, stableModelId, virtualcpudemo.
33
- *
34
- * Patterns: registry (cpuRegistry), builder (virtualcpubuilder), factory
35
- * (createVirtualProcessor), proxy-free disposable lease (modellease).
36
- * Rules: lowercase identifiers, english jsdoc, third person, no emoji,
37
- * try/catch catcher on every fallible path, node:* built-ins only, and no
38
- * hardcoded localhost address anywhere.
39
- */
40
- /** Error thrown by every hardware subsystem with an optional cause chain. */
41
- export declare class hardwareerror extends Error {
42
- /** Machine readable subsystem tag. */
43
- readonly subsystem: string;
44
- constructor(message: string, options?: {
45
- cause?: Error;
46
- subsystem?: string;
47
- });
48
- }
49
- /** Supported CPU vendors. */
50
- export type vendorid = 'amd' | 'intel';
51
- /** Static vendor profile rendered into every cpuinfo block. */
52
- export type vendorprofile = {
53
- readonly vendorid: string;
54
- readonly flags: readonly string[];
55
- readonly bugs: readonly string[];
56
- readonly tlbsize: string | null;
57
- readonly cpuidlevel: number;
58
- readonly powermanagement: string;
59
- };
60
- /**
61
- * Complete Zen 5 flag set as observed in production /proc/cpuinfo dumps of
62
- * AMD Turin and Granite Ridge machines. Includes the full AVX-512 family
63
- * (avx512f, avx512dq, avx512cd, avx512bw, avx512vl, avx512_bf16, avx512vbmi,
64
- * avx512vbmi2, avx512ifma, avx512vnni, avx512vp2intersect, avx512vpopcntdq,
65
- * avx512bitalg), the vector crypto extensions (sha_ni, gfni, vaes,
66
- * vpclmulqdq) and the modern memory extensions (movdiri, movdir64b, fsrm,
67
- * serialize, cldemote).
68
- */
69
- export declare const ZEN5FLAGS: readonly string[];
70
- /**
71
- * Arrow Lake flag set for the Core Ultra 9 285K. Arrow Lake ships AVX2 with
72
- * AVX-VNNI and the SHA extensions but no AVX-512 execution units, and it
73
- * reports no hyper-threading, so the ht flag is absent on purpose.
74
- */
75
- export declare const ARROWLAKEFLAGS: readonly string[];
76
- /** Vendor strategy table: identity strings and per-vendor cpuinfo details. */
77
- export declare const vendorprofiles: Readonly<Record<vendorid, vendorprofile>>;
78
- /** Complete description of one virtual processor model. */
79
- export type virtualcpuspec = {
80
- readonly model: string;
81
- readonly displayname: string;
82
- readonly vendor: vendorid;
83
- readonly cores: number;
84
- readonly threads: number;
85
- readonly baseclockmhz: number;
86
- readonly boostclockmhz: number;
87
- readonly allcoreclockmhz: number;
88
- readonly l3mb: number;
89
- readonly l2mb: number;
90
- readonly socket: string;
91
- readonly tdpwatts: number;
92
- readonly maxtdpwatts: number;
93
- readonly pcie: string;
94
- readonly maxmemorygb: number;
95
- readonly memorytype: string;
96
- readonly memorychannels: number;
97
- readonly microarch: string;
98
- readonly cpufamily: number;
99
- readonly cpumodel: number;
100
- readonly stepping: number;
101
- readonly physicalline: string;
102
- readonly virtualline: string;
103
- readonly launch: string;
104
- };
105
- /**
106
- * BEST_VIRTUAL_PROCESSORS: the bank of real, verified top-end processors
107
- * embedded as immutable data. Every entry was cross-checked against vendor
108
- * pages and the TechPowerUp database on 2026-08-22.
109
- */
110
- export declare const BEST_VIRTUAL_PROCESSORS: readonly virtualcpuspec[];
111
- /**
112
- * Registry of every known virtual processor. Seeded from
113
- * BEST_VIRTUAL_PROCESSORS and extensible at runtime through
114
- * registerVirtualCpu; iteration order equals insertion order.
115
- */
116
- export declare const cpuRegistry: ReadonlyMap<string, virtualcpuspec>;
117
- /** Normalizes a model string for case-insensitive registry lookups. */
118
- export declare function normalizemodel(model: string): string;
119
- /**
120
- * Registers a custom processor spec in the cpuRegistry. Registration is
121
- * rejected when the spec is malformed or duplicates an existing model.
122
- */
123
- export declare function registerVirtualCpu(spec: virtualcpuspec): string;
124
- /**
125
- * Looks up a processor by exact (case-insensitive) model name.
126
- *
127
- * @param model Model name such as "AMD EPYC 9965".
128
- */
129
- export declare function getVirtualCpu(model: string): virtualcpuspec;
130
- /**
131
- * Searches the registry by substring, returning every spec whose model name
132
- * contains the fragment (case-insensitive). The const type parameter keeps
133
- * literal fragment types intact for logging callers.
134
- */
135
- export declare function findVirtualCpus<const T extends string>(fragment: T): virtualcpuspec[];
136
- /** Lists every registered model name in registry order. */
137
- export declare function listVirtualCpus(): string[];
138
- /** Removes a custom model from the registry; returns true when it existed. */
139
- export declare function removeVirtualCpu(model: string): boolean;
140
- /** Derives a stable, deterministic identifier for a model name via sha256. */
141
- export declare function stableModelId(model: string): string;
142
- /** Resolved package topology for a requested vCPU count. */
143
- export type topologysolution = {
144
- readonly vcpus: number;
145
- readonly threadspercore: number;
146
- readonly coresonline: number;
147
- readonly siblings: number;
148
- readonly sockets: number;
149
- readonly fullypopulated: boolean;
150
- };
151
- /**
152
- * Solves the package topology for a requested vCPU count against a spec.
153
- * Symmetric multithreading parts round core counts up so partial
154
- * configurations stay coherent, and heterogeneous parts (Arrow Lake)
155
- * report one thread per core.
156
- */
157
- export declare function solvetopology(spec: virtualcpuspec, vcpus: number): topologysolution;
158
- /** Optional overrides accepted by generateVirtualCpuinfo. */
159
- export type cpuinfoptions = {
160
- readonly family?: number;
161
- readonly modelnumber?: number;
162
- readonly stepping?: number;
163
- readonly microcode?: string;
164
- readonly maxmhz?: number;
165
- readonly minmhz?: number;
166
- readonly extraflags?: readonly string[];
167
- };
168
- /**
169
- * Generates a complete, byte-realistic /proc/cpuinfo text for a registered
170
- * processor model with an arbitrary vCPU count. Each logical processor block
171
- * carries processor index, vendor_id (AuthenticAMD or GenuineIntel), cpu
172
- * family, model, model name, stepping, microcode, cpu MHz with natural
173
- * jitter, cache size, physical id, siblings, core id, cpu cores, apicid,
174
- * initial apicid, fpu markers, cpuid level, wp, the full vendor flag set,
175
- * known bug list, bogomips, TLB size, clflush size, cache alignment,
176
- * address sizes and the power management hint line.
177
- *
178
- * @param model Processor model name present in the cpuRegistry.
179
- * @param vcpus Number of logical processors to render (1 to model threads).
180
- * @param options Optional family, model, stepping, microcode and flag tweaks.
181
- */
182
- export declare function generateVirtualCpuinfo(model: string, vcpus: number, options?: cpuinfoptions): string;
183
- /**
184
- * Generates an lscpu-style summary block for a registered model, covering
185
- * architecture, endianness, address sizes, vendor, family, model, per-core
186
- * threading, socket topology, frequency range, caches and NUMA nodes. The
187
- * text mirrors the column layout produced by util-linux lscpu on 2026
188
- * distributions.
189
- */
190
- export declare function generateVirtualLscpu(model: string, vcpus: number, numanodes?: number): string;
191
- /** A fully provisioned virtual processor ready for spoofing. */
192
- export type provisionedcpu = {
193
- readonly id: string;
194
- readonly spec: virtualcpuspec;
195
- readonly vcpus: number;
196
- readonly topology: topologysolution;
197
- readonly cpuinfotext: string;
198
- readonly lscputext: string;
199
- readonly createdat: number;
200
- };
201
- /**
202
- * Fluent builder for virtual processors. The builder starts empty, collects
203
- * every field through chainable with* methods, validates the result and
204
- * produces a provisionedcpu that bundles the spec, the solved topology and
205
- * the generated cpuinfo and lscpu texts.
206
- */
207
- export declare class virtualcpubuilder {
208
- #private;
209
- constructor();
210
- /** Sets the model name; when present in the registry it seeds defaults. */
211
- withmodel(model: string): this;
212
- /** Sets the number of online vCPUs. */
213
- withvcpus(vcpus: number): this;
214
- /** Sets base, single-core boost and all-core boost clocks in MHz. */
215
- withclocks(base: number, boost: number, allcore: number): this;
216
- /** Sets L3 and L2 cache sizes in MB. */
217
- withcache(l3mb: number, l2mb: number): this;
218
- /** Sets package, socket, TDP and PCIe lanes. */
219
- withpackage(socket: string, tdpwatts: number, maxtdpwatts: number, pcie: string): this;
220
- /** Sets maximum memory, memory type and channel count. */
221
- withmemory(maxmemorygb: number, memorytype: string, memorychannels: number): this;
222
- /** Sets core and thread counts plus the vendor identity. */
223
- withtopology(cores: number, threads: number, vendor: vendorid): this;
224
- /** Sets CPUID family, model and stepping. */
225
- withcpuid(cpufamily: number, cpumodel: number, stepping: number): this;
226
- /** Sets the number of NUMA nodes advertised in lscpu output. */
227
- withnumanodes(numanodes: number): this;
228
- /** Validates the accumulated spec and produces the provisioned bundle. */
229
- build(): provisionedcpu;
230
- }
231
- /**
232
- * Factory that provisions a registered processor model for spoofing. The
233
- * factory resolves the spec from the cpuRegistry, solves the topology for
234
- * the requested vCPU count and bundles the generated cpuinfo and lscpu
235
- * texts into a frozen provisionedcpu record.
236
- *
237
- * @param model Exact model name in the registry.
238
- * @param vcpus Number of online vCPUs (1 to the model thread count).
239
- */
240
- export declare function createVirtualProcessor(model: string, vcpus: number): provisionedcpu;
241
- /**
242
- * Hard vCPU bounds of the virtualcpu module. The ceiling of 192 matches the
243
- * strongest bank part (EPYC 9965, 192 cores) and the memory limits published
244
- * by virtualmemory.ts.
245
- */
246
- export declare const cpucountlimits: {
247
- readonly min: 1;
248
- readonly max: 192;
249
- };
250
- /**
251
- * Validates a vCPU count against the 1 to 192 modularity range. The check is
252
- * pure: it returns true when the count is an integer inside the bounds.
253
- */
254
- export declare function validateCpuCount(n: number): boolean;
255
- /**
256
- * Reference gcc march tuning string for Zen 5 targets: znver4 codegen with
257
- * native tuning, LTO, the AVX-512 foundation plus byte/word lanes and the
258
- * 512-bit preferred vector width that matches ZEN5FLAGS. This is the only
259
- * occurrence of the flag string in the whole pool, confirmed by grep on the
260
- * 2026-08-22 merge pass.
261
- */
262
- export declare function marchFlag(): string;
263
- /**
264
- * Socket families advertised by the bank, in the order the v4 helper
265
- * documented them: SP5 LGA6096 (EPYC), TR5 (Threadripper) and AM5
266
- * (Ryzen). The helper derives the live list from the cpuRegistry so custom
267
- * registrations extend it automatically; the canonical trio is returned as
268
- * the fallback whenever the registry carries no socket data.
269
- */
270
- export declare function boards(): readonly string[];
271
- /** Weights applied by cpuscore; larger specs always score higher. */
272
- export declare const cpuscoreweights: {
273
- readonly core: 10;
274
- readonly thread: 4;
275
- readonly l3mb: 0.5;
276
- readonly boostmhz: 1.5;
277
- readonly memorychannels: 8;
278
- readonly tdpwatts: 0.2;
279
- };
280
- /**
281
- * Computes a scalar capability score for a processor spec. The score blends
282
- * core count, thread count, L3 capacity, boost clock, memory channels and
283
- * sustainable power, which produces a stable ordering of the bank.
284
- */
285
- export declare function cpuscore(spec: virtualcpuspec): number;
286
- /** Compares two specs by capability score, descending. */
287
- export declare function compareVirtualProcessors(a: virtualcpuspec, b: virtualcpuspec): number;
288
- /** Returns the bank sorted by capability score, strongest first. */
289
- export declare function listBestVirtualProcessors(): virtualcpuspec[];
290
- /** Serializes a provisioned processor to a JSON-safe object. */
291
- export declare function serializeprovisionedcpu(provisioned: provisionedcpu): Record<string, unknown>;
292
- /**
293
- * Lease over a runtime-registered custom model. The lease removes the model
294
- * from the cpuRegistry when disposed through a `using` declaration, which
295
- * keeps speculative registrations from polluting the global bank.
296
- */
297
- export declare class modellease {
298
- #private;
299
- readonly model: string;
300
- readonly spec: virtualcpuspec;
301
- constructor(spec: virtualcpuspec);
302
- /** True while the leased model is still registered. */
303
- get active(): boolean;
304
- /** Releases the lease, removing the model from the registry. */
305
- release(): void;
306
- /** Synchronous disposer so leases compose with `using` declarations. */
307
- [Symbol.dispose](): void;
308
- }
309
- /**
310
- * End-to-end demo of the virtualcpu pipeline: provisions the EPYC 9965 at a
311
- * random vCPU count, registers a leased custom model through a `using`
312
- * declaration and returns the serialized summary plus the first cpuinfo
313
- * block for eyeball verification.
314
- */
315
- export declare function virtualcpudemo(): Record<string, unknown>;