@wenathlan/saddle 2.1.6 → 2.1.7

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 (291) hide show
  1. package/Dockerfile +158 -60
  2. package/LICENSE +0 -0
  3. package/README.md +68 -53
  4. package/alternatives.ts +0 -0
  5. package/biome.jsonc +134 -0
  6. package/boards.json +2 -2
  7. package/compute.ts +4 -4
  8. package/cores.json +2 -2
  9. package/docker.config +37 -9
  10. package/docs/.gitkeep +0 -0
  11. package/docs/actionrecorder.md +0 -0
  12. package/docs/actionsincident.md +0 -0
  13. package/docs/alternatives.md +0 -0
  14. package/docs/architecture.md +0 -0
  15. package/docs/{architecture-1.8.19.md → architecture1819.md} +0 -0
  16. package/docs/{architecture-1.8.19.mmd → architecture1819.mmd} +0 -0
  17. package/docs/artifactavailability.md +2 -2
  18. package/docs/{artifactresearch-1.8.9.md → artifactresearch189.md} +0 -0
  19. package/docs/{batches-1816-1820.md → batches1816to1820.md} +0 -0
  20. package/docs/{brancharchive-2026-08-18.md → brancharchive20260818.md} +0 -0
  21. package/docs/branchaudit.md +0 -0
  22. package/docs/browser.md +0 -0
  23. package/docs/capabilityreport.md +0 -0
  24. package/docs/comparativeaudit.md +0 -0
  25. package/docs/consolidation.md +0 -0
  26. package/docs/{containerplatforms-1.8.17.md → containerplatforms1817.md} +0 -0
  27. package/docs/{containerplatforms-2.1.0.md → containerplatforms210.md} +1 -1
  28. package/docs/{documentmap-1.8.12.md → documentmap1812.md} +1 -1
  29. package/docs/{e2ugh-engine.md → e2ughengine.md} +0 -0
  30. package/docs/ecosystemplan.md +0 -0
  31. package/docs/enginearchitecture.md +0 -0
  32. package/docs/extension.md +0 -0
  33. package/docs/featureaudit.md +0 -0
  34. package/docs/{flatbuildresearch-1.8.11.md → flatbuildresearch1811.md} +0 -0
  35. package/docs/gapmatrix.md +0 -0
  36. package/docs/hardware.md +0 -0
  37. package/docs/libraryapi.md +0 -0
  38. package/docs/{licenseaudit-1.8.12.md → licenseaudit1812.md} +0 -0
  39. package/docs/logs/examplesession.json +54 -0
  40. package/docs/memoryengine.md +0 -0
  41. package/docs/{mobileconversionresearch-1.8.10.md → mobileconversionresearch1810.md} +0 -0
  42. package/docs/modes.md +0 -0
  43. package/docs/{nativeidentityresearch-1.8.11.md → nativeidentityresearch1811.md} +0 -0
  44. package/docs/{native-wrappers.md → nativewrappers.md} +0 -0
  45. package/docs/ninetymodalities.md +191 -0
  46. package/docs/optimization.md +0 -0
  47. package/docs/packageaudit185.md +0 -0
  48. package/docs/performance.md +0 -0
  49. package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
  50. package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
  51. package/docs/planningengine.md +186 -0
  52. package/docs/planningninety.md +391 -0
  53. package/docs/platformpipelineaudit.md +0 -0
  54. package/docs/platformpipelines.md +0 -0
  55. package/docs/productindex.md +0 -0
  56. package/docs/registryresearch.md +0 -0
  57. package/docs/release.md +0 -0
  58. package/docs/release17notes.md +0 -0
  59. package/docs/release181notes.md +0 -0
  60. package/docs/release182notes.md +0 -0
  61. package/docs/release184notes.md +0 -0
  62. package/docs/release185notes.md +0 -0
  63. package/docs/release18notes.md +0 -0
  64. package/docs/releaseassets.md +0 -0
  65. package/docs/{releasenotes-1.8.12.md → releasenotes1812.md} +0 -0
  66. package/docs/{releasenotes-1.8.13.md → releasenotes1813.md} +2 -2
  67. package/docs/{releasenotes-1.8.14.md → releasenotes1814.md} +1 -1
  68. package/docs/{releasenotes-1.8.15.md → releasenotes1815.md} +0 -0
  69. package/docs/{releasenotes-1.8.16.md → releasenotes1816.md} +0 -0
  70. package/docs/{releasenotes-1.8.17.md → releasenotes1817.md} +0 -0
  71. package/docs/{releasenotes-1.8.18.md → releasenotes1818.md} +0 -0
  72. package/docs/{releasenotes-1.8.19.md → releasenotes1819.md} +0 -0
  73. package/docs/{reorganization-1.8.8.md → reorganization188.md} +0 -0
  74. package/docs/{reorganization-1.8.9.md → reorganization189.md} +0 -0
  75. package/docs/{repo-analysis-1.8.21.json → repoanalysis1821.json} +0 -0
  76. package/docs/{repo-candidates-1.8.21.jsonl → repocandidates1821.jsonl} +0 -0
  77. package/docs/{repo-research-1.8.16.md → reporesearch1816.md} +0 -0
  78. package/docs/{repo-research-1.8.21.md → reporesearch1821.md} +0 -0
  79. package/docs/{repo-selected-1.8.21.json → reposelected1821.json} +0 -0
  80. package/docs/{repo-synthesis-1.8.16.md → reposynthesis1816.md} +1 -1
  81. package/docs/{repo-synthesis-1.8.21.md → reposynthesis1821.md} +0 -0
  82. package/docs/{research-1.8.18-isolation.md → research1818isolation.md} +0 -0
  83. package/docs/{research-1.8.19-virtual-browser.md → research1819virtualbrowser.md} +0 -0
  84. package/docs/roadmapp2p3.md +0 -0
  85. package/docs/s3compatible.md +0 -0
  86. package/docs/{scanningresearch-1.8.11.md → scanningresearch1811.md} +0 -0
  87. package/docs/security.md +0 -0
  88. package/docs/{securityaudit-1.8.7.md → securityaudit187.md} +0 -0
  89. package/docs/{securityreferences-1.8.11.md → securityreferences1811.md} +0 -0
  90. package/docs/{securityresearch-1.8.11.md → securityresearch1811.md} +0 -0
  91. package/docs/{signingresearch-1.8.12.md → signingresearch1812.md} +0 -0
  92. package/docs/signingwithoutcertificates.md +0 -0
  93. package/docs/signpathapplication.md +0 -0
  94. package/docs/sitemap.md +0 -0
  95. package/docs/{tauri-glib-risk-1.8.11.md → tauriglibrisk1811.md} +0 -0
  96. package/docs/todo.md +2 -2
  97. package/docs/{todo-1.8.15.md → todo1815.md} +1 -1
  98. package/docs/{todo-1.8.16.md → todo1816.md} +5 -5
  99. package/docs/{todo-1.8.18.md → todo1818.md} +0 -0
  100. package/docs/{todo-1.8.19.md → todo1819.md} +0 -0
  101. package/docs/{toolchainresearch-1.8.9.md → toolchainresearch189.md} +0 -0
  102. package/docs/toolchains.md +0 -0
  103. package/docs/usage.md +0 -0
  104. package/docs/viability.md +0 -0
  105. package/docs/virtualization.md +0 -0
  106. package/docs/{web-duplicatecleanup.md → webduplicatecleanup.md} +0 -0
  107. package/docs/{web-ideas.md → webideas.md} +0 -0
  108. package/docs/{workflowimprovements-2026-08-19.md → workflowimprovements20260819.md} +0 -0
  109. package/docs/workflowinputs.md +0 -0
  110. package/docs/workflowoperations.md +0 -0
  111. package/docs/workloadlaw.md +104 -0
  112. package/gpumonitor.cpp +0 -0
  113. package/gpus.json +1 -1
  114. package/index.ts +19 -10
  115. package/manifest.json +20 -0
  116. package/modalityregistry.ts +1493 -0
  117. package/mttg.config +1 -1
  118. package/orchestrator.ts +52 -15
  119. package/package.json +192 -99
  120. package/passage.config +0 -0
  121. package/performance.ts +0 -0
  122. package/processors.json +1 -1
  123. package/qemu.config +2 -2
  124. package/qemubridge.py +0 -0
  125. package/quantum.ts +0 -0
  126. package/render.ts +0 -0
  127. package/scheduler.ts +0 -0
  128. package/security.ts +0 -0
  129. package/tiers.ts +9 -3
  130. package/tsconfig.json +21 -11
  131. package/virtualcpu.ts +1 -0
  132. package/virtualgpu.ts +1 -0
  133. package/virtualhardware.c +0 -0
  134. package/virtualhardware.json +2 -2
  135. package/virtualization.ts +0 -0
  136. package/virtualizationcore.cpp +0 -0
  137. package/virtualmemory.ts +0 -0
  138. package/vm.config.json +2 -2
  139. package/biome.json +0 -151
  140. package/dist/acquisition.d.ts +0 -359
  141. package/dist/acquisition.d.ts.map +0 -1
  142. package/dist/acquisition.js +0 -629
  143. package/dist/acquisition.js.map +0 -1
  144. package/dist/alternatives.d.ts +0 -509
  145. package/dist/alternatives.d.ts.map +0 -1
  146. package/dist/alternatives.js +0 -951
  147. package/dist/alternatives.js.map +0 -1
  148. package/dist/automation.d.ts +0 -426
  149. package/dist/automation.d.ts.map +0 -1
  150. package/dist/automation.js +0 -561
  151. package/dist/automation.js.map +0 -1
  152. package/dist/browser.d.ts +0 -562
  153. package/dist/browser.d.ts.map +0 -1
  154. package/dist/browser.js +0 -1057
  155. package/dist/browser.js.map +0 -1
  156. package/dist/cli.d.ts +0 -17
  157. package/dist/cli.d.ts.map +0 -1
  158. package/dist/cli.js +0 -169
  159. package/dist/cli.js.map +0 -1
  160. package/dist/communication.d.ts +0 -192
  161. package/dist/communication.d.ts.map +0 -1
  162. package/dist/communication.js +0 -418
  163. package/dist/communication.js.map +0 -1
  164. package/dist/compute.d.ts +0 -1161
  165. package/dist/compute.d.ts.map +0 -1
  166. package/dist/compute.js +0 -2273
  167. package/dist/compute.js.map +0 -1
  168. package/dist/distribution.d.ts +0 -529
  169. package/dist/distribution.d.ts.map +0 -1
  170. package/dist/distribution.js +0 -811
  171. package/dist/distribution.js.map +0 -1
  172. package/dist/docs/example-localjob.d.ts +0 -2
  173. package/dist/docs/example-localjob.d.ts.map +0 -1
  174. package/dist/docs/example-localjob.js +0 -15
  175. package/dist/docs/example-localjob.js.map +0 -1
  176. package/dist/docs/example-publicapi.d.ts +0 -2
  177. package/dist/docs/example-publicapi.d.ts.map +0 -1
  178. package/dist/docs/example-publicapi.js +0 -7
  179. package/dist/docs/example-publicapi.js.map +0 -1
  180. package/dist/execution.d.ts +0 -530
  181. package/dist/execution.d.ts.map +0 -1
  182. package/dist/execution.js +0 -761
  183. package/dist/execution.js.map +0 -1
  184. package/dist/format.d.ts +0 -19
  185. package/dist/format.d.ts.map +0 -1
  186. package/dist/format.js +0 -60
  187. package/dist/format.js.map +0 -1
  188. package/dist/foundation.d.ts +0 -176
  189. package/dist/foundation.d.ts.map +0 -1
  190. package/dist/foundation.js +0 -309
  191. package/dist/foundation.js.map +0 -1
  192. package/dist/index.d.ts +0 -735
  193. package/dist/index.d.ts.map +0 -1
  194. package/dist/index.js +0 -1020
  195. package/dist/index.js.map +0 -1
  196. package/dist/integration.d.ts +0 -236
  197. package/dist/integration.d.ts.map +0 -1
  198. package/dist/integration.js +0 -236
  199. package/dist/integration.js.map +0 -1
  200. package/dist/intelligence.d.ts +0 -94
  201. package/dist/intelligence.d.ts.map +0 -1
  202. package/dist/intelligence.js +0 -145
  203. package/dist/intelligence.js.map +0 -1
  204. package/dist/isolation.d.ts +0 -129
  205. package/dist/isolation.d.ts.map +0 -1
  206. package/dist/isolation.js +0 -96
  207. package/dist/isolation.js.map +0 -1
  208. package/dist/media.d.ts +0 -344
  209. package/dist/media.d.ts.map +0 -1
  210. package/dist/media.js +0 -986
  211. package/dist/media.js.map +0 -1
  212. package/dist/modes.d.ts +0 -359
  213. package/dist/modes.d.ts.map +0 -1
  214. package/dist/modes.js +0 -134
  215. package/dist/modes.js.map +0 -1
  216. package/dist/operations.d.ts +0 -67
  217. package/dist/operations.d.ts.map +0 -1
  218. package/dist/operations.js +0 -94
  219. package/dist/operations.js.map +0 -1
  220. package/dist/orchestrator.d.ts +0 -1339
  221. package/dist/orchestrator.d.ts.map +0 -1
  222. package/dist/orchestrator.js +0 -4308
  223. package/dist/orchestrator.js.map +0 -1
  224. package/dist/packager/targetcli.js +0 -4
  225. package/dist/performance.d.ts +0 -416
  226. package/dist/performance.d.ts.map +0 -1
  227. package/dist/performance.js +0 -827
  228. package/dist/performance.js.map +0 -1
  229. package/dist/quantum.d.ts +0 -810
  230. package/dist/quantum.d.ts.map +0 -1
  231. package/dist/quantum.js +0 -2073
  232. package/dist/quantum.js.map +0 -1
  233. package/dist/render.d.ts +0 -381
  234. package/dist/render.d.ts.map +0 -1
  235. package/dist/render.js +0 -1073
  236. package/dist/render.js.map +0 -1
  237. package/dist/scheduler.d.ts +0 -596
  238. package/dist/scheduler.d.ts.map +0 -1
  239. package/dist/scheduler.js +0 -1259
  240. package/dist/scheduler.js.map +0 -1
  241. package/dist/security.d.ts +0 -501
  242. package/dist/security.d.ts.map +0 -1
  243. package/dist/security.js +0 -1170
  244. package/dist/security.js.map +0 -1
  245. package/dist/server.d.ts +0 -21
  246. package/dist/server.d.ts.map +0 -1
  247. package/dist/server.js +0 -52
  248. package/dist/server.js.map +0 -1
  249. package/dist/tiers.d.ts +0 -1002
  250. package/dist/tiers.d.ts.map +0 -1
  251. package/dist/tiers.js +0 -2165
  252. package/dist/tiers.js.map +0 -1
  253. package/dist/virtual.d.ts +0 -641
  254. package/dist/virtual.d.ts.map +0 -1
  255. package/dist/virtual.js +0 -1285
  256. package/dist/virtual.js.map +0 -1
  257. package/dist/virtualcpu.d.ts +0 -316
  258. package/dist/virtualcpu.d.ts.map +0 -1
  259. package/dist/virtualcpu.js +0 -1180
  260. package/dist/virtualcpu.js.map +0 -1
  261. package/dist/virtualgpu.d.ts +0 -345
  262. package/dist/virtualgpu.d.ts.map +0 -1
  263. package/dist/virtualgpu.js +0 -1000
  264. package/dist/virtualgpu.js.map +0 -1
  265. package/dist/virtualization.d.ts +0 -607
  266. package/dist/virtualization.d.ts.map +0 -1
  267. package/dist/virtualization.js +0 -1187
  268. package/dist/virtualization.js.map +0 -1
  269. package/dist/virtualmemory.d.ts +0 -818
  270. package/dist/virtualmemory.d.ts.map +0 -1
  271. package/dist/virtualmemory.js +0 -1796
  272. package/dist/virtualmemory.js.map +0 -1
  273. package/dist/vitest.config.d.ts +0 -3
  274. package/dist/vitest.config.d.ts.map +0 -1
  275. package/dist/vitest.config.js +0 -26
  276. package/dist/vitest.config.js.map +0 -1
  277. package/dist/webscrape.d.ts +0 -720
  278. package/dist/webscrape.d.ts.map +0 -1
  279. package/dist/webscrape.js +0 -2697
  280. package/dist/webscrape.js.map +0 -1
  281. package/docs/CONVERSA.txt +0 -1523
  282. package/docs/architecture-1.8.19.png +0 -0
  283. package/docs/assets/architecture.svg +0 -45
  284. package/docs/assets/saddlemark.svg +0 -13
  285. package/docs/example-localjob.ts +0 -15
  286. package/docs/example-publicapi.ts +0 -7
  287. package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
  288. package/media.ts +0 -1337
  289. package/web/manifest.json +0 -30
  290. package/web/readme.md +0 -383
  291. package/web/tsconfig.json +0 -25
@@ -1 +0,0 @@
1
- {"version":3,"file":"virtual.js","sourceRoot":"","sources":["../virtual.ts"],"names":[],"mappings":"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"}
@@ -1,316 +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>;
316
- //# sourceMappingURL=virtualcpu.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"virtualcpu.d.ts","sourceRoot":"","sources":["../virtualcpu.ts"],"names":[],"mappings":"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"}