@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.
- package/Dockerfile +112 -41
- package/README.md +58 -59
- package/browser.ts +482 -0
- package/cli.ts +274 -0
- package/distribution.ts +731 -0
- package/docker.config +29 -8
- package/docs/artifactavailability.md +2 -2
- package/docs/browser.md +18 -1
- package/docs/{containerplatforms.2.1.0.md → containerplatforms210.md} +1 -1
- package/docs/{documentmap.1.8.12.md → documentmap1812.md} +1 -1
- package/docs/extension.md +13 -2
- package/docs/libraryapi.md +1 -1
- package/docs/{ninety.modalities.md → ninetymodalities.md} +87 -4
- package/docs/{planning.ninety.md → planningninety.md} +6 -6
- package/docs/{releasenotes.1.8.13.md → releasenotes1813.md} +2 -2
- package/docs/{releasenotes.1.8.14.md → releasenotes1814.md} +1 -1
- package/docs/{repo.synthesis.1.8.16.md → reposynthesis1816.md} +1 -1
- package/docs/todo.md +2 -2
- package/docs/{todo.1.8.15.md → todo1815.md} +1 -1
- package/docs/{todo.1.8.16.md → todo1816.md} +5 -5
- package/execution.ts +677 -0
- package/foundation.ts +314 -0
- package/index.ts +35 -27
- package/isolation.ts +84 -0
- package/modes.ts +170 -0
- package/mttg.config +1 -1
- package/orchestrator.ts +49 -15
- package/package.json +90 -75
- package/qemu.config +2 -2
- package/sandbox.ts +2094 -0
- package/scheduler.ts +1 -1
- package/server.ts +52 -0
- package/tsconfig.json +11 -12
- package/virtual.ts +1105 -0
- package/virtualgpu.ts +1 -1
- package/virtualization.ts +1 -1
- package/workloadlaw.ts +293 -0
- package/dist/App.d.ts +0 -5
- package/dist/App.js +0 -52
- package/dist/Sol/Sol.d.ts +0 -3
- package/dist/Sol/Sol.js +0 -46
- package/dist/Sol/agentbrowser/agentbrowser.d.ts +0 -9
- package/dist/Sol/agentbrowser/agentbrowser.js +0 -121
- package/dist/Sol/architecture/architecture.d.ts +0 -9
- package/dist/Sol/architecture/architecture.js +0 -93
- package/dist/Sol/compute/compute.d.ts +0 -9
- package/dist/Sol/compute/compute.js +0 -22
- package/dist/Sol/console/console.d.ts +0 -15
- package/dist/Sol/console/console.js +0 -292
- package/dist/Sol/dashboard/dashboard.d.ts +0 -10
- package/dist/Sol/dashboard/dashboard.js +0 -181
- package/dist/Sol/docs/docs.d.ts +0 -9
- package/dist/Sol/docs/docs.js +0 -28
- package/dist/Sol/home/home.d.ts +0 -35
- package/dist/Sol/home/home.js +0 -239
- package/dist/Sol/integrations/integrations.d.ts +0 -9
- package/dist/Sol/integrations/integrations.js +0 -83
- package/dist/Sol/intro/intro.d.ts +0 -7
- package/dist/Sol/intro/intro.js +0 -102
- package/dist/Sol/login/login.d.ts +0 -16
- package/dist/Sol/login/login.js +0 -49
- package/dist/Sol/notfound/notfound.d.ts +0 -9
- package/dist/Sol/notfound/notfound.js +0 -15
- package/dist/Sol/onboarding/onboarding.d.ts +0 -25
- package/dist/Sol/onboarding/onboarding.js +0 -60
- package/dist/Sol/playground/playground.d.ts +0 -9
- package/dist/Sol/playground/playground.js +0 -127
- package/dist/Sol/register/register.d.ts +0 -16
- package/dist/Sol/register/register.js +0 -193
- package/dist/Sol/shell/Shell.d.ts +0 -124
- package/dist/Sol/shell/Shell.js +0 -335
- package/dist/Sol/wingets/ComputeBootladder.d.ts +0 -6
- package/dist/Sol/wingets/ComputeBootladder.js +0 -71
- package/dist/Sol/wingets/ComputeModalitycatalog.d.ts +0 -7
- package/dist/Sol/wingets/ComputeModalitycatalog.js +0 -71
- package/dist/Sol/wingets/ConsoleApibadge.d.ts +0 -7
- package/dist/Sol/wingets/ConsoleApibadge.js +0 -5
- package/dist/Sol/wingets/ConsoleEdgelaw.d.ts +0 -6
- package/dist/Sol/wingets/ConsoleEdgelaw.js +0 -36
- package/dist/Sol/wingets/ConsoleEventstimeline.d.ts +0 -19
- package/dist/Sol/wingets/ConsoleEventstimeline.js +0 -12
- package/dist/Sol/wingets/ConsoleSnapshotcontrols.d.ts +0 -8
- package/dist/Sol/wingets/ConsoleSnapshotcontrols.js +0 -8
- package/dist/Sol/wingets/ConsoleSpecpanel.d.ts +0 -21
- package/dist/Sol/wingets/ConsoleSpecpanel.js +0 -75
- package/dist/Sol/wingets/ConsoleTerminal.d.ts +0 -22
- package/dist/Sol/wingets/ConsoleTerminal.js +0 -77
- package/dist/Sol/wingets/DashboardAccountpanel.d.ts +0 -18
- package/dist/Sol/wingets/DashboardAccountpanel.js +0 -65
- package/dist/Sol/wingets/DashboardAdminpanel.d.ts +0 -6
- package/dist/Sol/wingets/DashboardAdminpanel.js +0 -90
- package/dist/Sol/wingets/DashboardAuditlog.d.ts +0 -8
- package/dist/Sol/wingets/DashboardAuditlog.js +0 -50
- package/dist/Sol/wingets/DashboardCreatesandboxform.d.ts +0 -10
- package/dist/Sol/wingets/DashboardCreatesandboxform.js +0 -71
- package/dist/Sol/wingets/DashboardEventstimeline.d.ts +0 -8
- package/dist/Sol/wingets/DashboardEventstimeline.js +0 -83
- package/dist/Sol/wingets/DashboardGlobalsandboxestable.d.ts +0 -8
- package/dist/Sol/wingets/DashboardGlobalsandboxestable.js +0 -57
- package/dist/Sol/wingets/DashboardMeshnodestable.d.ts +0 -8
- package/dist/Sol/wingets/DashboardMeshnodestable.js +0 -103
- package/dist/Sol/wingets/DashboardSandboxlist.d.ts +0 -10
- package/dist/Sol/wingets/DashboardSandboxlist.js +0 -163
- package/dist/Sol/wingets/DashboardUserstable.d.ts +0 -8
- package/dist/Sol/wingets/DashboardUserstable.js +0 -78
- package/dist/Sol/wingets/HomeEntrygate.d.ts +0 -23
- package/dist/Sol/wingets/HomeEntrygate.js +0 -73
- package/dist/Sol/wingets/HomeMetricstrip.d.ts +0 -9
- package/dist/Sol/wingets/HomeMetricstrip.js +0 -4
- package/dist/Sol/wingets/HomeRuntimediagram.d.ts +0 -1
- package/dist/Sol/wingets/HomeRuntimediagram.js +0 -22
- package/dist/Sol/wingets/LoginForm.d.ts +0 -19
- package/dist/Sol/wingets/LoginForm.js +0 -141
- package/dist/Sol/wingets/RegisterPasswordconfirm.d.ts +0 -13
- package/dist/Sol/wingets/RegisterPasswordconfirm.js +0 -16
- package/dist/Sol/wingets/RegisterPasswordmeter.d.ts +0 -19
- package/dist/Sol/wingets/RegisterPasswordmeter.js +0 -65
- package/dist/Sol/wingets/RegisterUsernamerules.d.ts +0 -11
- package/dist/Sol/wingets/RegisterUsernamerules.js +0 -16
- package/dist/Sol/wingets/index.d.ts +0 -39
- package/dist/Sol/wingets/index.js +0 -39
- package/dist/alternatives.d.ts +0 -508
- package/dist/alternatives.js +0 -950
- package/dist/api.d.ts +0 -154
- package/dist/api.js +0 -174
- package/dist/auth.d.ts +0 -268
- package/dist/auth.js +0 -476
- package/dist/automation.d.ts +0 -425
- package/dist/automation.js +0 -566
- package/dist/browser.d.ts +0 -561
- package/dist/browser.js +0 -1058
- package/dist/capacitor.config.d.ts +0 -45
- package/dist/capacitor.config.js +0 -48
- package/dist/catalog.d.ts +0 -43
- package/dist/catalog.js +0 -44
- package/dist/cli.d.ts +0 -16
- package/dist/cli.js +0 -168
- package/dist/communication.d.ts +0 -181
- package/dist/communication.js +0 -376
- package/dist/compute.d.ts +0 -1160
- package/dist/compute.js +0 -2272
- package/dist/dashboardlib.d.ts +0 -58
- package/dist/dashboardlib.js +0 -161
- package/dist/db.d.ts +0 -569
- package/dist/db.js +0 -1080
- package/dist/distribution.d.ts +0 -528
- package/dist/distribution.js +0 -810
- package/dist/drizzle.config.d.ts +0 -20
- package/dist/drizzle.config.js +0 -18
- package/dist/edgelandes.d.ts +0 -70
- package/dist/edgelandes.host.d.ts +0 -26
- package/dist/edgelandes.host.js +0 -1089
- package/dist/edgelandes.inproc.d.ts +0 -27
- package/dist/edgelandes.inproc.js +0 -952
- package/dist/edgelandes.js +0 -1133
- package/dist/edgelandes.ninety.d.ts +0 -31
- package/dist/edgelandes.ninety.js +0 -174
- package/dist/edgelandes.virtual.d.ts +0 -25
- package/dist/edgelandes.virtual.js +0 -629
- package/dist/edgeplane.d.ts +0 -121
- package/dist/edgeplane.js +0 -341
- package/dist/examplelocaljob.d.ts +0 -1
- package/dist/examplelocaljob.js +0 -14
- package/dist/execution.d.ts +0 -529
- package/dist/execution.js +0 -760
- package/dist/family.d.ts +0 -16
- package/dist/family.js +0 -42
- package/dist/familyurl.d.ts +0 -21
- package/dist/familyurl.js +0 -24
- package/dist/format.d.ts +0 -18
- package/dist/format.js +0 -59
- package/dist/foundation.d.ts +0 -172
- package/dist/foundation.js +0 -312
- package/dist/index.d.ts +0 -735
- package/dist/index.js +0 -1020
- package/dist/integration.d.ts +0 -235
- package/dist/integration.js +0 -228
- package/dist/intelligence.d.ts +0 -93
- package/dist/intelligence.js +0 -144
- package/dist/isolation.d.ts +0 -128
- package/dist/isolation.js +0 -95
- package/dist/labels.d.ts +0 -665
- package/dist/labels.js +0 -707
- package/dist/localauth.d.ts +0 -127
- package/dist/localauth.js +0 -413
- package/dist/media.d.ts +0 -343
- package/dist/media.js +0 -985
- package/dist/mesh.d.ts +0 -177
- package/dist/mesh.js +0 -468
- package/dist/modalityregistry.d.ts +0 -109
- package/dist/modalityregistry.js +0 -1386
- package/dist/modes.d.ts +0 -358
- package/dist/modes.js +0 -133
- package/dist/onboardingstate.d.ts +0 -79
- package/dist/onboardingstate.js +0 -282
- package/dist/orchestrator.d.ts +0 -1338
- package/dist/orchestrator.js +0 -4310
- package/dist/packager/targetcli.js +0 -4
- package/dist/paths.d.ts +0 -2
- package/dist/paths.js +0 -14
- package/dist/performance.d.ts +0 -415
- package/dist/performance.js +0 -826
- package/dist/quantum.d.ts +0 -809
- package/dist/quantum.js +0 -2072
- package/dist/render.d.ts +0 -380
- package/dist/render.js +0 -1072
- package/dist/runall.d.ts +0 -2
- package/dist/runall.js +0 -39
- package/dist/runtimeprobe.d.ts +0 -4
- package/dist/runtimeprobe.js +0 -8
- package/dist/sandbox.d.ts +0 -355
- package/dist/sandbox.js +0 -1721
- package/dist/sandboxenvprofile.d.ts +0 -29
- package/dist/sandboxenvprofile.js +0 -89
- package/dist/sandboxprofile.d.ts +0 -137
- package/dist/sandboxprofile.js +0 -241
- package/dist/sandboxqueue.d.ts +0 -108
- package/dist/sandboxqueue.js +0 -201
- package/dist/sandboxquota.d.ts +0 -121
- package/dist/sandboxquota.js +0 -236
- package/dist/scheduler.d.ts +0 -595
- package/dist/scheduler.js +0 -1258
- package/dist/scriptlanes.d.ts +0 -182
- package/dist/scriptlanes.js +0 -660
- package/dist/scripts.buildengine.d.ts +0 -1
- package/dist/scripts.buildengine.js +0 -39
- package/dist/scripts.securitygate.d.ts +0 -1
- package/dist/scripts.securitygate.js +0 -68
- package/dist/scripts.validateflatnative.d.ts +0 -1
- package/dist/scripts.validateflatnative.js +0 -72
- package/dist/security.d.ts +0 -500
- package/dist/security.js +0 -1169
- package/dist/seedcatalog.d.ts +0 -13
- package/dist/seedcatalog.js +0 -46
- package/dist/server.d.ts +0 -20
- package/dist/server.js +0 -53
- package/dist/speccatalog.d.ts +0 -31
- package/dist/speccatalog.js +0 -163
- package/dist/tiers.d.ts +0 -1001
- package/dist/tiers.js +0 -2169
- package/dist/utils.d.ts +0 -2
- package/dist/utils.js +0 -5
- package/dist/vaulthandoff.d.ts +0 -141
- package/dist/vaulthandoff.js +0 -444
- package/dist/virtual.d.ts +0 -640
- package/dist/virtual.js +0 -1284
- package/dist/virtualcpu.d.ts +0 -315
- package/dist/virtualcpu.js +0 -1180
- package/dist/virtualgpu.d.ts +0 -344
- package/dist/virtualgpu.js +0 -1000
- package/dist/virtualization.d.ts +0 -606
- package/dist/virtualization.js +0 -1186
- package/dist/virtualmemory.d.ts +0 -817
- package/dist/virtualmemory.js +0 -1795
- package/dist/vite.config.d.ts +0 -3
- package/dist/vite.config.js +0 -48
- package/dist/vitest.config.d.ts +0 -2
- package/dist/vitest.config.js +0 -25
- package/dist/webserver.d.ts +0 -166
- package/dist/webserver.js +0 -2226
- package/dist/workloadlaw.d.ts +0 -133
- package/dist/workloadlaw.js +0 -193
- package/manifest.json +0 -20
- package/media.ts +0 -1337
- /package/docs/{architecture.1.8.19.md → architecture1819.md} +0 -0
- /package/docs/{architecture.1.8.19.mmd → architecture1819.mmd} +0 -0
- /package/docs/{artifactresearch.1.8.9.md → artifactresearch189.md} +0 -0
- /package/docs/{batches.1816.to.1820.md → batches1816to1820.md} +0 -0
- /package/docs/{brancharchive.2026.08.18.md → brancharchive20260818.md} +0 -0
- /package/docs/{containerplatforms.1.8.17.md → containerplatforms1817.md} +0 -0
- /package/docs/{e2ugh.engine.md → e2ughengine.md} +0 -0
- /package/docs/{flatbuildresearch.1.8.11.md → flatbuildresearch1811.md} +0 -0
- /package/docs/{licenseaudit.1.8.12.md → licenseaudit1812.md} +0 -0
- /package/docs/{mobileconversionresearch.1.8.10.md → mobileconversionresearch1810.md} +0 -0
- /package/docs/{nativeidentityresearch.1.8.11.md → nativeidentityresearch1811.md} +0 -0
- /package/docs/{native.wrappers.md → nativewrappers.md} +0 -0
- /package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
- /package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
- /package/docs/{planning.engine.md → planningengine.md} +0 -0
- /package/docs/{releasenotes.1.8.12.md → releasenotes1812.md} +0 -0
- /package/docs/{releasenotes.1.8.15.md → releasenotes1815.md} +0 -0
- /package/docs/{releasenotes.1.8.16.md → releasenotes1816.md} +0 -0
- /package/docs/{releasenotes.1.8.17.md → releasenotes1817.md} +0 -0
- /package/docs/{releasenotes.1.8.18.md → releasenotes1818.md} +0 -0
- /package/docs/{releasenotes.1.8.19.md → releasenotes1819.md} +0 -0
- /package/docs/{reorganization.1.8.8.md → reorganization188.md} +0 -0
- /package/docs/{reorganization.1.8.9.md → reorganization189.md} +0 -0
- /package/docs/{repo.analysis.1.8.21.json → repoanalysis1821.json} +0 -0
- /package/docs/{repo.candidates.1.8.21.jsonl → repocandidates1821.jsonl} +0 -0
- /package/docs/{repo.research.1.8.16.md → reporesearch1816.md} +0 -0
- /package/docs/{repo.research.1.8.21.md → reporesearch1821.md} +0 -0
- /package/docs/{repo.selected.1.8.21.json → reposelected1821.json} +0 -0
- /package/docs/{repo.synthesis.1.8.21.md → reposynthesis1821.md} +0 -0
- /package/docs/{research.1.8.18.isolation.md → research1818isolation.md} +0 -0
- /package/docs/{research.1.8.19.virtual.browser.md → research1819virtualbrowser.md} +0 -0
- /package/docs/{scanningresearch.1.8.11.md → scanningresearch1811.md} +0 -0
- /package/docs/{securityaudit.1.8.7.md → securityaudit187.md} +0 -0
- /package/docs/{securityreferences.1.8.11.md → securityreferences1811.md} +0 -0
- /package/docs/{securityresearch.1.8.11.md → securityresearch1811.md} +0 -0
- /package/docs/{signingresearch.1.8.12.md → signingresearch1812.md} +0 -0
- /package/docs/{tauri.glib.risk.1.8.11.md → tauriglibrisk1811.md} +0 -0
- /package/docs/{todo.1.8.18.md → todo1818.md} +0 -0
- /package/docs/{todo.1.8.19.md → todo1819.md} +0 -0
- /package/docs/{toolchainresearch.1.8.9.md → toolchainresearch189.md} +0 -0
- /package/docs/{web.duplicatecleanup.md → webduplicatecleanup.md} +0 -0
- /package/docs/{web.ideas.md → webideas.md} +0 -0
- /package/docs/{workflowimprovements.2026.08.19.md → workflowimprovements20260819.md} +0 -0
package/dist/virtualcpu.d.ts
DELETED
|
@@ -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>;
|