@wenathlan/saddle 1.8.18 → 2.0.2
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 +1339 -0
- package/README.md +33 -12
- package/alternatives.ts +1218 -0
- package/biome.json +153 -0
- package/boards.json +1517 -0
- package/compute.ts +3144 -0
- package/cores.json +1801 -0
- package/dist/acquisition.d.ts +359 -0
- package/dist/acquisition.d.ts.map +1 -0
- package/dist/acquisition.js +629 -0
- package/dist/acquisition.js.map +1 -0
- package/dist/alternatives.d.ts +509 -0
- package/dist/alternatives.d.ts.map +1 -0
- package/dist/alternatives.js +951 -0
- package/dist/alternatives.js.map +1 -0
- package/dist/automation.d.ts +426 -0
- package/dist/automation.d.ts.map +1 -0
- package/dist/automation.js +561 -0
- package/dist/automation.js.map +1 -0
- package/dist/browser.d.ts +562 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +1057 -0
- package/dist/browser.js.map +1 -0
- package/dist/capacitor.config.d.ts +13 -0
- package/dist/capacitor.config.d.ts.map +1 -0
- package/dist/capacitor.config.js +26 -0
- package/dist/capacitor.config.js.map +1 -0
- package/dist/cli.d.ts +17 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +111 -0
- package/dist/cli.js.map +1 -0
- package/dist/communication.d.ts +192 -0
- package/dist/communication.d.ts.map +1 -0
- package/dist/communication.js +418 -0
- package/dist/communication.js.map +1 -0
- package/dist/compute.d.ts +1161 -0
- package/dist/compute.d.ts.map +1 -0
- package/dist/compute.js +2273 -0
- package/dist/compute.js.map +1 -0
- package/dist/distribution.d.ts +529 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/distribution.js +811 -0
- package/dist/distribution.js.map +1 -0
- package/dist/execution.d.ts +530 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +761 -0
- package/dist/execution.js.map +1 -0
- package/dist/format.d.ts +19 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +60 -0
- package/dist/format.js.map +1 -0
- package/dist/foundation.d.ts +176 -0
- package/dist/foundation.d.ts.map +1 -0
- package/dist/foundation.js +309 -0
- package/dist/foundation.js.map +1 -0
- package/dist/index.d.ts +733 -123
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1018 -123
- package/dist/index.js.map +1 -1
- package/dist/integration.d.ts +236 -0
- package/dist/integration.d.ts.map +1 -0
- package/dist/integration.js +236 -0
- package/dist/integration.js.map +1 -0
- package/dist/intelligence.d.ts +94 -0
- package/dist/intelligence.d.ts.map +1 -0
- package/dist/intelligence.js +145 -0
- package/dist/intelligence.js.map +1 -0
- package/dist/{isolation/contracts.d.ts → isolation.d.ts} +12 -1
- package/dist/isolation.d.ts.map +1 -0
- package/dist/{isolation/contracts.js → isolation.js} +13 -1
- package/dist/isolation.js.map +1 -0
- package/dist/media.d.ts +344 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +986 -0
- package/dist/media.js.map +1 -0
- package/dist/modes.d.ts +359 -0
- package/dist/modes.d.ts.map +1 -0
- package/dist/modes.js +134 -0
- package/dist/modes.js.map +1 -0
- package/dist/{library/public.d.ts → operations.d.ts} +15 -1
- package/dist/operations.d.ts.map +1 -0
- package/dist/{library/public.js → operations.js} +18 -7
- package/dist/operations.js.map +1 -0
- package/dist/orchestrator.d.ts +1339 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +4308 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/performance.d.ts +416 -0
- package/dist/performance.d.ts.map +1 -0
- package/dist/performance.js +827 -0
- package/dist/performance.js.map +1 -0
- package/dist/quantum.d.ts +810 -0
- package/dist/quantum.d.ts.map +1 -0
- package/dist/quantum.js +2073 -0
- package/dist/quantum.js.map +1 -0
- package/dist/render.d.ts +381 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +1073 -0
- package/dist/render.js.map +1 -0
- package/dist/scheduler.d.ts +596 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +1259 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/security.d.ts +501 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +1170 -0
- package/dist/security.js.map +1 -0
- package/dist/server.d.ts +21 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/{server/node.js → server.js} +16 -2
- package/dist/server.js.map +1 -0
- package/dist/tiers.d.ts +1002 -0
- package/dist/tiers.d.ts.map +1 -0
- package/dist/tiers.js +2165 -0
- package/dist/tiers.js.map +1 -0
- package/dist/virtual.d.ts +641 -0
- package/dist/virtual.d.ts.map +1 -0
- package/dist/virtual.js +1285 -0
- package/dist/virtual.js.map +1 -0
- package/dist/virtualcpu.d.ts +316 -0
- package/dist/virtualcpu.d.ts.map +1 -0
- package/dist/virtualcpu.js +1180 -0
- package/dist/virtualcpu.js.map +1 -0
- package/dist/virtualgpu.d.ts +345 -0
- package/dist/virtualgpu.d.ts.map +1 -0
- package/dist/virtualgpu.js +1000 -0
- package/dist/virtualgpu.js.map +1 -0
- package/dist/virtualization.d.ts +607 -0
- package/dist/virtualization.d.ts.map +1 -0
- package/dist/virtualization.js +1187 -0
- package/dist/virtualization.js.map +1 -0
- package/dist/virtualmemory.d.ts +818 -0
- package/dist/virtualmemory.d.ts.map +1 -0
- package/dist/virtualmemory.js +1796 -0
- package/dist/virtualmemory.js.map +1 -0
- package/dist/webscrape.d.ts +720 -0
- package/dist/webscrape.d.ts.map +1 -0
- package/dist/webscrape.js +2697 -0
- package/dist/webscrape.js.map +1 -0
- package/docker.config +769 -0
- package/docs/CONVERSA.txt +1523 -0
- package/docs/alternatives.md +499 -0
- package/docs/architecture-1.8.19.md +76 -0
- package/docs/architecture-1.8.19.mmd +33 -0
- package/docs/architecture-1.8.19.png +0 -0
- package/docs/architecture.md +355 -0
- package/docs/brancharchive-2026-08-18.md +18 -0
- package/docs/browser.md +7 -0
- package/docs/consolidation.md +70 -0
- package/docs/e2ugh-engine.md +528 -0
- package/{dist/examples/localjob.js → docs/example-localjob.ts} +3 -3
- package/{dist/examples/publicapi.js → docs/example-publicapi.ts} +2 -2
- package/docs/hardware.md +342 -0
- package/docs/optimization.md +126 -0
- package/docs/performance.md +499 -0
- package/docs/planning.1.8.18.md +94 -0
- package/docs/planning.1.8.19.md +49 -0
- package/docs/releasenotes-1.8.19.md +35 -0
- package/docs/research-1.8.19-virtual-browser.md +27 -0
- package/docs/security.md +454 -0
- package/docs/todo-1.8.18.md +12 -0
- package/docs/todo-1.8.19.md +241 -0
- package/docs/viability.md +777 -0
- package/docs/virtualization.md +335 -0
- package/docs/web-duplicatecleanup.md +9 -0
- package/docs/web-ideas.md +106 -0
- package/docs/workflowimprovements-2026-08-19.md +70 -0
- package/gpumonitor.cpp +1543 -0
- package/gpus.json +2408 -0
- package/index.ts +1478 -0
- package/media.ts +1337 -0
- package/mttg.config +1549 -0
- package/orchestrator.ts +5462 -0
- package/package.json +304 -56
- package/passage.config +1331 -0
- package/performance.ts +1049 -0
- package/processors.json +2217 -0
- package/qemu.config +1062 -0
- package/qemubridge.py +1340 -0
- package/quantum.ts +2393 -0
- package/render.ts +1325 -0
- package/scheduler.ts +1600 -0
- package/security.ts +1449 -0
- package/tiers.ts +2871 -0
- package/tsconfig.json +29 -0
- package/virtualcpu.ts +1273 -0
- package/virtualgpu.ts +1181 -0
- package/virtualhardware.c +1011 -0
- package/virtualhardware.json +739 -0
- package/virtualization.ts +1628 -0
- package/virtualizationcore.cpp +4635 -0
- package/virtualmemory.ts +2303 -0
- package/vm.config.json +1910 -0
- package/{extension → web/extension}/manifest.json +1 -1
- package/web/readme.md +382 -0
- package/web/tsconfig.json +25 -0
- package/dist/adapters/forge.d.ts +0 -17
- package/dist/adapters/forge.d.ts.map +0 -1
- package/dist/adapters/forge.js +0 -19
- package/dist/adapters/forge.js.map +0 -1
- package/dist/adapters/forgejo.d.ts +0 -49
- package/dist/adapters/forgejo.d.ts.map +0 -1
- package/dist/adapters/forgejo.js +0 -8
- package/dist/adapters/forgejo.js.map +0 -1
- package/dist/adapters/github.d.ts +0 -12
- package/dist/adapters/github.d.ts.map +0 -1
- package/dist/adapters/github.js +0 -20
- package/dist/adapters/github.js.map +0 -1
- package/dist/adapters/gitlab.d.ts +0 -17
- package/dist/adapters/gitlab.d.ts.map +0 -1
- package/dist/adapters/gitlab.js +0 -10
- package/dist/adapters/gitlab.js.map +0 -1
- package/dist/adapters/huggingface.d.ts +0 -17
- package/dist/adapters/huggingface.d.ts.map +0 -1
- package/dist/adapters/huggingface.js +0 -6
- package/dist/adapters/huggingface.js.map +0 -1
- package/dist/adapters/socket.d.ts +0 -11
- package/dist/adapters/socket.d.ts.map +0 -1
- package/dist/adapters/socket.js +0 -17
- package/dist/adapters/socket.js.map +0 -1
- package/dist/adapters/transport.d.ts +0 -7
- package/dist/adapters/transport.d.ts.map +0 -1
- package/dist/adapters/transport.js +0 -36
- package/dist/adapters/transport.js.map +0 -1
- package/dist/ai/chunk.d.ts +0 -2
- package/dist/ai/chunk.d.ts.map +0 -1
- package/dist/ai/chunk.js +0 -36
- package/dist/ai/chunk.js.map +0 -1
- package/dist/ai/llmstxt.d.ts +0 -6
- package/dist/ai/llmstxt.d.ts.map +0 -1
- package/dist/ai/llmstxt.js +0 -12
- package/dist/ai/llmstxt.js.map +0 -1
- package/dist/ai/provenance.d.ts +0 -22
- package/dist/ai/provenance.d.ts.map +0 -1
- package/dist/ai/provenance.js +0 -25
- package/dist/ai/provenance.js.map +0 -1
- package/dist/ai/rag.d.ts +0 -26
- package/dist/ai/rag.d.ts.map +0 -1
- package/dist/ai/rag.js +0 -22
- package/dist/ai/rag.js.map +0 -1
- package/dist/ai/tokens.d.ts +0 -15
- package/dist/ai/tokens.d.ts.map +0 -1
- package/dist/ai/tokens.js +0 -9
- package/dist/ai/tokens.js.map +0 -1
- package/dist/api/auth.d.ts +0 -16
- package/dist/api/auth.d.ts.map +0 -1
- package/dist/api/auth.js +0 -19
- package/dist/api/auth.js.map +0 -1
- package/dist/api/contracts.d.ts +0 -28
- package/dist/api/contracts.d.ts.map +0 -1
- package/dist/api/contracts.js +0 -14
- package/dist/api/contracts.js.map +0 -1
- package/dist/api/control.d.ts +0 -10
- package/dist/api/control.d.ts.map +0 -1
- package/dist/api/control.js +0 -35
- package/dist/api/control.js.map +0 -1
- package/dist/api/http.d.ts +0 -7
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/http.js +0 -12
- package/dist/api/http.js.map +0 -1
- package/dist/api/rate.d.ts +0 -28
- package/dist/api/rate.d.ts.map +0 -1
- package/dist/api/rate.js +0 -36
- package/dist/api/rate.js.map +0 -1
- package/dist/api/security.d.ts +0 -12
- package/dist/api/security.d.ts.map +0 -1
- package/dist/api/security.js +0 -56
- package/dist/api/security.js.map +0 -1
- package/dist/api/service.d.ts +0 -5
- package/dist/api/service.d.ts.map +0 -1
- package/dist/api/service.js +0 -70
- package/dist/api/service.js.map +0 -1
- package/dist/apps/registry.d.ts +0 -33
- package/dist/apps/registry.d.ts.map +0 -1
- package/dist/apps/registry.js +0 -24
- package/dist/apps/registry.js.map +0 -1
- package/dist/binary/archive.d.ts +0 -27
- package/dist/binary/archive.d.ts.map +0 -1
- package/dist/binary/archive.js +0 -46
- package/dist/binary/archive.js.map +0 -1
- package/dist/binary/build.d.ts +0 -29
- package/dist/binary/build.d.ts.map +0 -1
- package/dist/binary/build.js +0 -17
- package/dist/binary/build.js.map +0 -1
- package/dist/binary/transform.d.ts +0 -70
- package/dist/binary/transform.d.ts.map +0 -1
- package/dist/binary/transform.js +0 -105
- package/dist/binary/transform.js.map +0 -1
- package/dist/bot/adapter.d.ts +0 -5
- package/dist/bot/adapter.d.ts.map +0 -1
- package/dist/bot/adapter.js +0 -11
- package/dist/bot/adapter.js.map +0 -1
- package/dist/bot/bot.d.ts +0 -28
- package/dist/bot/bot.d.ts.map +0 -1
- package/dist/bot/bot.js +0 -52
- package/dist/bot/bot.js.map +0 -1
- package/dist/bot/commands.d.ts +0 -8
- package/dist/bot/commands.d.ts.map +0 -1
- package/dist/bot/commands.js +0 -19
- package/dist/bot/commands.js.map +0 -1
- package/dist/bot/permissions.d.ts +0 -13
- package/dist/bot/permissions.d.ts.map +0 -1
- package/dist/bot/permissions.js +0 -16
- package/dist/bot/permissions.js.map +0 -1
- package/dist/browser/actions.d.ts +0 -33
- package/dist/browser/actions.d.ts.map +0 -1
- package/dist/browser/actions.js +0 -44
- package/dist/browser/actions.js.map +0 -1
- package/dist/browser/agent.d.ts +0 -21
- package/dist/browser/agent.d.ts.map +0 -1
- package/dist/browser/agent.js +0 -13
- package/dist/browser/agent.js.map +0 -1
- package/dist/browser/context.d.ts +0 -43
- package/dist/browser/context.d.ts.map +0 -1
- package/dist/browser/context.js +0 -54
- package/dist/browser/context.js.map +0 -1
- package/dist/browser/fingerprint.d.ts +0 -4
- package/dist/browser/fingerprint.d.ts.map +0 -1
- package/dist/browser/fingerprint.js +0 -12
- package/dist/browser/fingerprint.js.map +0 -1
- package/dist/browser/index.d.ts +0 -11
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -11
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/playwright.d.ts +0 -11
- package/dist/browser/playwright.d.ts.map +0 -1
- package/dist/browser/playwright.js +0 -24
- package/dist/browser/playwright.js.map +0 -1
- package/dist/browser/recorder.d.ts +0 -21
- package/dist/browser/recorder.d.ts.map +0 -1
- package/dist/browser/recorder.js +0 -58
- package/dist/browser/recorder.js.map +0 -1
- package/dist/browser/session.d.ts +0 -14
- package/dist/browser/session.d.ts.map +0 -1
- package/dist/browser/session.js +0 -21
- package/dist/browser/session.js.map +0 -1
- package/dist/browser/snapshot.d.ts +0 -69
- package/dist/browser/snapshot.d.ts.map +0 -1
- package/dist/browser/snapshot.js +0 -133
- package/dist/browser/snapshot.js.map +0 -1
- package/dist/captcha/contract.d.ts +0 -35
- package/dist/captcha/contract.d.ts.map +0 -1
- package/dist/captcha/contract.js +0 -17
- package/dist/captcha/contract.js.map +0 -1
- package/dist/captcha/evidence.d.ts +0 -10
- package/dist/captcha/evidence.d.ts.map +0 -1
- package/dist/captcha/evidence.js +0 -9
- package/dist/captcha/evidence.js.map +0 -1
- package/dist/captcha/guard.d.ts +0 -23
- package/dist/captcha/guard.d.ts.map +0 -1
- package/dist/captcha/guard.js +0 -12
- package/dist/captcha/guard.js.map +0 -1
- package/dist/cli/main.d.ts +0 -4
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -46
- package/dist/cli/main.js.map +0 -1
- package/dist/core/errors.d.ts +0 -84
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -54
- package/dist/core/errors.js.map +0 -1
- package/dist/core/events.d.ts +0 -9
- package/dist/core/events.d.ts.map +0 -1
- package/dist/core/events.js +0 -21
- package/dist/core/events.js.map +0 -1
- package/dist/core/hash.d.ts +0 -10
- package/dist/core/hash.d.ts.map +0 -1
- package/dist/core/hash.js +0 -82
- package/dist/core/hash.js.map +0 -1
- package/dist/core/ids.d.ts +0 -10
- package/dist/core/ids.d.ts.map +0 -1
- package/dist/core/ids.js +0 -15
- package/dist/core/ids.js.map +0 -1
- package/dist/delivery/manifest.d.ts +0 -35
- package/dist/delivery/manifest.d.ts.map +0 -1
- package/dist/delivery/manifest.js +0 -68
- package/dist/delivery/manifest.js.map +0 -1
- package/dist/deploy/index.d.ts +0 -6
- package/dist/deploy/index.d.ts.map +0 -1
- package/dist/deploy/index.js +0 -6
- package/dist/deploy/index.js.map +0 -1
- package/dist/dispatch/resumable.d.ts +0 -102
- package/dist/dispatch/resumable.d.ts.map +0 -1
- package/dist/dispatch/resumable.js +0 -64
- package/dist/dispatch/resumable.js.map +0 -1
- package/dist/dispatch/workflow.d.ts +0 -6
- package/dist/dispatch/workflow.d.ts.map +0 -1
- package/dist/dispatch/workflow.js +0 -37
- package/dist/dispatch/workflow.js.map +0 -1
- package/dist/domain/artifacts.d.ts +0 -12
- package/dist/domain/artifacts.d.ts.map +0 -1
- package/dist/domain/artifacts.js +0 -14
- package/dist/domain/artifacts.js.map +0 -1
- package/dist/domain/jobs.d.ts +0 -12
- package/dist/domain/jobs.d.ts.map +0 -1
- package/dist/domain/jobs.js +0 -20
- package/dist/domain/jobs.js.map +0 -1
- package/dist/domain/providers.d.ts +0 -10
- package/dist/domain/providers.d.ts.map +0 -1
- package/dist/domain/providers.js +0 -8
- package/dist/domain/providers.js.map +0 -1
- package/dist/domain/runtime.d.ts +0 -14
- package/dist/domain/runtime.d.ts.map +0 -1
- package/dist/domain/runtime.js +0 -10
- package/dist/domain/runtime.js.map +0 -1
- package/dist/domain/sessions.d.ts +0 -12
- package/dist/domain/sessions.d.ts.map +0 -1
- package/dist/domain/sessions.js +0 -57
- package/dist/domain/sessions.js.map +0 -1
- package/dist/examples/localjob.d.ts +0 -2
- package/dist/examples/localjob.d.ts.map +0 -1
- package/dist/examples/localjob.js.map +0 -1
- package/dist/examples/publicapi.d.ts +0 -2
- package/dist/examples/publicapi.d.ts.map +0 -1
- package/dist/examples/publicapi.js.map +0 -1
- package/dist/extension/build.d.ts +0 -9
- package/dist/extension/build.d.ts.map +0 -1
- package/dist/extension/build.js +0 -85
- package/dist/extension/build.js.map +0 -1
- package/dist/extension/content.d.ts +0 -6
- package/dist/extension/content.d.ts.map +0 -1
- package/dist/extension/content.js +0 -135
- package/dist/extension/content.js.map +0 -1
- package/dist/extension/index.d.ts +0 -7
- package/dist/extension/index.d.ts.map +0 -1
- package/dist/extension/index.js +0 -7
- package/dist/extension/index.js.map +0 -1
- package/dist/extension/pagebridge.d.ts +0 -6
- package/dist/extension/pagebridge.d.ts.map +0 -1
- package/dist/extension/pagebridge.js +0 -42
- package/dist/extension/pagebridge.js.map +0 -1
- package/dist/extension/permissions.d.ts +0 -26
- package/dist/extension/permissions.d.ts.map +0 -1
- package/dist/extension/permissions.js +0 -28
- package/dist/extension/permissions.js.map +0 -1
- package/dist/extension/popup.d.ts +0 -5
- package/dist/extension/popup.d.ts.map +0 -1
- package/dist/extension/popup.js +0 -26
- package/dist/extension/popup.js.map +0 -1
- package/dist/extension/protocol.d.ts +0 -58
- package/dist/extension/protocol.d.ts.map +0 -1
- package/dist/extension/protocol.js +0 -101
- package/dist/extension/protocol.js.map +0 -1
- package/dist/extension/serviceworker.d.ts +0 -25
- package/dist/extension/serviceworker.d.ts.map +0 -1
- package/dist/extension/serviceworker.js +0 -102
- package/dist/extension/serviceworker.js.map +0 -1
- package/dist/extension/worker.d.ts +0 -28
- package/dist/extension/worker.d.ts.map +0 -1
- package/dist/extension/worker.js +0 -22
- package/dist/extension/worker.js.map +0 -1
- package/dist/format/check.d.ts +0 -8
- package/dist/format/check.d.ts.map +0 -1
- package/dist/format/check.js +0 -38
- package/dist/format/check.js.map +0 -1
- package/dist/isolation/contracts.d.ts.map +0 -1
- package/dist/isolation/contracts.js.map +0 -1
- package/dist/library/public.d.ts.map +0 -1
- package/dist/library/public.js.map +0 -1
- package/dist/mcp/browser.d.ts +0 -9
- package/dist/mcp/browser.d.ts.map +0 -1
- package/dist/mcp/browser.js +0 -13
- package/dist/mcp/browser.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -35
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -40
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/transport.d.ts +0 -7
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/mcp/transport.js +0 -17
- package/dist/mcp/transport.js.map +0 -1
- package/dist/memory/bridge.d.ts +0 -14
- package/dist/memory/bridge.d.ts.map +0 -1
- package/dist/memory/bridge.js +0 -16
- package/dist/memory/bridge.js.map +0 -1
- package/dist/memory/engine.d.ts +0 -38
- package/dist/memory/engine.d.ts.map +0 -1
- package/dist/memory/engine.js +0 -109
- package/dist/memory/engine.js.map +0 -1
- package/dist/memory/modes.d.ts +0 -43
- package/dist/memory/modes.d.ts.map +0 -1
- package/dist/memory/modes.js +0 -66
- package/dist/memory/modes.js.map +0 -1
- package/dist/memory/objects.d.ts +0 -21
- package/dist/memory/objects.d.ts.map +0 -1
- package/dist/memory/objects.js +0 -20
- package/dist/memory/objects.js.map +0 -1
- package/dist/memory/planner.d.ts +0 -66
- package/dist/memory/planner.d.ts.map +0 -1
- package/dist/memory/planner.js +0 -108
- package/dist/memory/planner.js.map +0 -1
- package/dist/memory/targets.d.ts +0 -78
- package/dist/memory/targets.d.ts.map +0 -1
- package/dist/memory/targets.js +0 -29
- package/dist/memory/targets.js.map +0 -1
- package/dist/memory/transforms.d.ts +0 -19
- package/dist/memory/transforms.d.ts.map +0 -1
- package/dist/memory/transforms.js +0 -14
- package/dist/memory/transforms.js.map +0 -1
- package/dist/modes/matrix.d.ts +0 -23
- package/dist/modes/matrix.d.ts.map +0 -1
- package/dist/modes/matrix.js +0 -18
- package/dist/modes/matrix.js.map +0 -1
- package/dist/modes/modes.d.ts +0 -33
- package/dist/modes/modes.d.ts.map +0 -1
- package/dist/modes/modes.js +0 -15
- package/dist/modes/modes.js.map +0 -1
- package/dist/modes/resolve.d.ts +0 -96
- package/dist/modes/resolve.d.ts.map +0 -1
- package/dist/modes/resolve.js +0 -48
- package/dist/modes/resolve.js.map +0 -1
- package/dist/observability/metrics.d.ts +0 -14
- package/dist/observability/metrics.d.ts.map +0 -1
- package/dist/observability/metrics.js +0 -18
- package/dist/observability/metrics.js.map +0 -1
- package/dist/packager/manifest.d.ts +0 -66
- package/dist/packager/manifest.d.ts.map +0 -1
- package/dist/packager/manifest.js +0 -94
- package/dist/packager/manifest.js.map +0 -1
- package/dist/packager/publish.d.ts +0 -51
- package/dist/packager/publish.d.ts.map +0 -1
- package/dist/packager/publish.js +0 -18
- package/dist/packager/publish.js.map +0 -1
- package/dist/packager/targetcli.d.ts +0 -7
- package/dist/packager/targetcli.d.ts.map +0 -1
- package/dist/packager/targetcli.js +0 -22
- package/dist/packager/targetcli.js.map +0 -1
- package/dist/persistence/adapter.d.ts +0 -5
- package/dist/persistence/adapter.d.ts.map +0 -1
- package/dist/persistence/adapter.js +0 -11
- package/dist/persistence/adapter.js.map +0 -1
- package/dist/persistence/drizzle.d.ts +0 -2
- package/dist/persistence/drizzle.d.ts.map +0 -1
- package/dist/persistence/drizzle.js +0 -12
- package/dist/persistence/drizzle.js.map +0 -1
- package/dist/persistence/memory.d.ts +0 -2
- package/dist/persistence/memory.d.ts.map +0 -1
- package/dist/persistence/memory.js +0 -27
- package/dist/persistence/memory.js.map +0 -1
- package/dist/persistence/migrations.d.ts +0 -19
- package/dist/persistence/migrations.d.ts.map +0 -1
- package/dist/persistence/migrations.js +0 -13
- package/dist/persistence/migrations.js.map +0 -1
- package/dist/persistence/prisma.d.ts +0 -2
- package/dist/persistence/prisma.d.ts.map +0 -1
- package/dist/persistence/prisma.js +0 -25
- package/dist/persistence/prisma.js.map +0 -1
- package/dist/persistence/schema.d.ts +0 -63
- package/dist/persistence/schema.d.ts.map +0 -1
- package/dist/persistence/schema.js +0 -28
- package/dist/persistence/schema.js.map +0 -1
- package/dist/persistence/sql.d.ts +0 -3
- package/dist/persistence/sql.d.ts.map +0 -1
- package/dist/persistence/sql.js +0 -37
- package/dist/persistence/sql.js.map +0 -1
- package/dist/protocol/blocks.d.ts +0 -10
- package/dist/protocol/blocks.d.ts.map +0 -1
- package/dist/protocol/blocks.js +0 -26
- package/dist/protocol/blocks.js.map +0 -1
- package/dist/protocol/json.d.ts +0 -6
- package/dist/protocol/json.d.ts.map +0 -1
- package/dist/protocol/json.js +0 -6
- package/dist/protocol/json.js.map +0 -1
- package/dist/protocol/ndjson.d.ts +0 -3
- package/dist/protocol/ndjson.d.ts.map +0 -1
- package/dist/protocol/ndjson.js +0 -20
- package/dist/protocol/ndjson.js.map +0 -1
- package/dist/protocol/sse.d.ts +0 -7
- package/dist/protocol/sse.d.ts.map +0 -1
- package/dist/protocol/sse.js +0 -25
- package/dist/protocol/sse.js.map +0 -1
- package/dist/proxy/pool.d.ts +0 -9
- package/dist/proxy/pool.d.ts.map +0 -1
- package/dist/proxy/pool.js +0 -27
- package/dist/proxy/pool.js.map +0 -1
- package/dist/queue/idempotency.d.ts +0 -10
- package/dist/queue/idempotency.d.ts.map +0 -1
- package/dist/queue/idempotency.js +0 -13
- package/dist/queue/idempotency.js.map +0 -1
- package/dist/queue/persistent.d.ts +0 -14
- package/dist/queue/persistent.d.ts.map +0 -1
- package/dist/queue/persistent.js +0 -66
- package/dist/queue/persistent.js.map +0 -1
- package/dist/queue/queue.d.ts +0 -7
- package/dist/queue/queue.d.ts.map +0 -1
- package/dist/queue/queue.js +0 -55
- package/dist/queue/queue.js.map +0 -1
- package/dist/queue/saga.d.ts +0 -5
- package/dist/queue/saga.d.ts.map +0 -1
- package/dist/queue/saga.js +0 -20
- package/dist/queue/saga.js.map +0 -1
- package/dist/release/assets.d.ts +0 -144
- package/dist/release/assets.d.ts.map +0 -1
- package/dist/release/assets.js +0 -157
- package/dist/release/assets.js.map +0 -1
- package/dist/release/evidence.d.ts +0 -92
- package/dist/release/evidence.d.ts.map +0 -1
- package/dist/release/evidence.js +0 -148
- package/dist/release/evidence.js.map +0 -1
- package/dist/release/verify.d.ts +0 -12
- package/dist/release/verify.d.ts.map +0 -1
- package/dist/release/verify.js +0 -112
- package/dist/release/verify.js.map +0 -1
- package/dist/runners/chain.d.ts +0 -125
- package/dist/runners/chain.d.ts.map +0 -1
- package/dist/runners/chain.js +0 -95
- package/dist/runners/chain.js.map +0 -1
- package/dist/runners/health.d.ts +0 -36
- package/dist/runners/health.d.ts.map +0 -1
- package/dist/runners/health.js +0 -26
- package/dist/runners/health.js.map +0 -1
- package/dist/runners/heartbeat.d.ts +0 -23
- package/dist/runners/heartbeat.d.ts.map +0 -1
- package/dist/runners/heartbeat.js +0 -29
- package/dist/runners/heartbeat.js.map +0 -1
- package/dist/runners/inprocess.d.ts +0 -17
- package/dist/runners/inprocess.d.ts.map +0 -1
- package/dist/runners/inprocess.js +0 -20
- package/dist/runners/inprocess.js.map +0 -1
- package/dist/runners/scheduler.d.ts +0 -5
- package/dist/runners/scheduler.d.ts.map +0 -1
- package/dist/runners/scheduler.js +0 -19
- package/dist/runners/scheduler.js.map +0 -1
- package/dist/runtime/abort.d.ts +0 -8
- package/dist/runtime/abort.d.ts.map +0 -1
- package/dist/runtime/abort.js +0 -13
- package/dist/runtime/abort.js.map +0 -1
- package/dist/runtime/compatibility.d.ts +0 -37
- package/dist/runtime/compatibility.d.ts.map +0 -1
- package/dist/runtime/compatibility.js +0 -10
- package/dist/runtime/compatibility.js.map +0 -1
- package/dist/runtime/detect.d.ts +0 -13
- package/dist/runtime/detect.d.ts.map +0 -1
- package/dist/runtime/detect.js +0 -18
- package/dist/runtime/detect.js.map +0 -1
- package/dist/runtime/engine.d.ts +0 -20
- package/dist/runtime/engine.d.ts.map +0 -1
- package/dist/runtime/engine.js +0 -61
- package/dist/runtime/engine.js.map +0 -1
- package/dist/runtime/retry.d.ts +0 -19
- package/dist/runtime/retry.d.ts.map +0 -1
- package/dist/runtime/retry.js +0 -54
- package/dist/runtime/retry.js.map +0 -1
- package/dist/runtime/worker.d.ts +0 -10
- package/dist/runtime/worker.d.ts.map +0 -1
- package/dist/runtime/worker.js +0 -25
- package/dist/runtime/worker.js.map +0 -1
- package/dist/scrape/cache.d.ts +0 -45
- package/dist/scrape/cache.d.ts.map +0 -1
- package/dist/scrape/cache.js +0 -45
- package/dist/scrape/cache.js.map +0 -1
- package/dist/scrape/crawl.d.ts +0 -47
- package/dist/scrape/crawl.d.ts.map +0 -1
- package/dist/scrape/crawl.js +0 -114
- package/dist/scrape/crawl.js.map +0 -1
- package/dist/scrape/extract.d.ts +0 -63
- package/dist/scrape/extract.d.ts.map +0 -1
- package/dist/scrape/extract.js +0 -47
- package/dist/scrape/extract.js.map +0 -1
- package/dist/scrape/normalize.d.ts +0 -52
- package/dist/scrape/normalize.d.ts.map +0 -1
- package/dist/scrape/normalize.js +0 -102
- package/dist/scrape/normalize.js.map +0 -1
- package/dist/scrape/robots.d.ts +0 -37
- package/dist/scrape/robots.d.ts.map +0 -1
- package/dist/scrape/robots.js +0 -71
- package/dist/scrape/robots.js.map +0 -1
- package/dist/scrape/schema.d.ts +0 -23
- package/dist/scrape/schema.d.ts.map +0 -1
- package/dist/scrape/schema.js +0 -92
- package/dist/scrape/schema.js.map +0 -1
- package/dist/scrape/scraper.d.ts +0 -6
- package/dist/scrape/scraper.d.ts.map +0 -1
- package/dist/scrape/scraper.js +0 -46
- package/dist/scrape/scraper.js.map +0 -1
- package/dist/scrape/semantic.d.ts +0 -25
- package/dist/scrape/semantic.d.ts.map +0 -1
- package/dist/scrape/semantic.js +0 -27
- package/dist/scrape/semantic.js.map +0 -1
- package/dist/server/node.d.ts +0 -7
- package/dist/server/node.d.ts.map +0 -1
- package/dist/server/node.js.map +0 -1
- package/dist/sessions/file.d.ts +0 -25
- package/dist/sessions/file.d.ts.map +0 -1
- package/dist/sessions/file.js +0 -13
- package/dist/sessions/file.js.map +0 -1
- package/dist/sessions/replay.d.ts +0 -9
- package/dist/sessions/replay.d.ts.map +0 -1
- package/dist/sessions/replay.js +0 -70
- package/dist/sessions/replay.js.map +0 -1
- package/dist/sessions/store.d.ts +0 -25
- package/dist/sessions/store.d.ts.map +0 -1
- package/dist/sessions/store.js +0 -13
- package/dist/sessions/store.js.map +0 -1
- package/dist/storage/adapter.d.ts +0 -5
- package/dist/storage/adapter.d.ts.map +0 -1
- package/dist/storage/adapter.js +0 -11
- package/dist/storage/adapter.js.map +0 -1
- package/dist/storage/cache.d.ts +0 -23
- package/dist/storage/cache.d.ts.map +0 -1
- package/dist/storage/cache.js +0 -79
- package/dist/storage/cache.js.map +0 -1
- package/dist/storage/checksum.d.ts +0 -3
- package/dist/storage/checksum.d.ts.map +0 -1
- package/dist/storage/checksum.js +0 -19
- package/dist/storage/checksum.js.map +0 -1
- package/dist/storage/chunked.d.ts +0 -21
- package/dist/storage/chunked.d.ts.map +0 -1
- package/dist/storage/chunked.js +0 -67
- package/dist/storage/chunked.js.map +0 -1
- package/dist/storage/content.d.ts +0 -24
- package/dist/storage/content.d.ts.map +0 -1
- package/dist/storage/content.js +0 -44
- package/dist/storage/content.js.map +0 -1
- package/dist/storage/filehosting.d.ts +0 -2
- package/dist/storage/filehosting.d.ts.map +0 -1
- package/dist/storage/filehosting.js +0 -24
- package/dist/storage/filehosting.js.map +0 -1
- package/dist/storage/githubcontents.d.ts +0 -2
- package/dist/storage/githubcontents.d.ts.map +0 -1
- package/dist/storage/githubcontents.js +0 -29
- package/dist/storage/githubcontents.js.map +0 -1
- package/dist/storage/index.d.ts +0 -12
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -12
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/local.d.ts +0 -2
- package/dist/storage/local.d.ts.map +0 -1
- package/dist/storage/local.js +0 -72
- package/dist/storage/local.js.map +0 -1
- package/dist/storage/memory.d.ts +0 -6
- package/dist/storage/memory.d.ts.map +0 -1
- package/dist/storage/memory.js +0 -36
- package/dist/storage/memory.js.map +0 -1
- package/dist/storage/pool.d.ts +0 -95
- package/dist/storage/pool.d.ts.map +0 -1
- package/dist/storage/pool.js +0 -202
- package/dist/storage/pool.js.map +0 -1
- package/dist/storage/s3compatible.d.ts +0 -3
- package/dist/storage/s3compatible.d.ts.map +0 -1
- package/dist/storage/s3compatible.js +0 -70
- package/dist/storage/s3compatible.js.map +0 -1
- package/dist/storage/sync.d.ts +0 -47
- package/dist/storage/sync.d.ts.map +0 -1
- package/dist/storage/sync.js +0 -75
- package/dist/storage/sync.js.map +0 -1
- package/dist/surfaces/adapters.d.ts +0 -97
- package/dist/surfaces/adapters.d.ts.map +0 -1
- package/dist/surfaces/adapters.js +0 -50
- package/dist/surfaces/adapters.js.map +0 -1
- package/dist/surfaces/controls.d.ts +0 -18
- package/dist/surfaces/controls.d.ts.map +0 -1
- package/dist/surfaces/controls.js +0 -45
- package/dist/surfaces/controls.js.map +0 -1
- package/dist/surfaces/manifest.d.ts +0 -68
- package/dist/surfaces/manifest.d.ts.map +0 -1
- package/dist/surfaces/manifest.js +0 -42
- package/dist/surfaces/manifest.js.map +0 -1
- package/dist/surfaces/n8n.d.ts +0 -25
- package/dist/surfaces/n8n.d.ts.map +0 -1
- package/dist/surfaces/n8n.js +0 -31
- package/dist/surfaces/n8n.js.map +0 -1
- package/dist/surfaces/operations.d.ts +0 -32
- package/dist/surfaces/operations.d.ts.map +0 -1
- package/dist/surfaces/operations.js +0 -53
- package/dist/surfaces/operations.js.map +0 -1
- package/dist/surfaces/requirements.d.ts +0 -29
- package/dist/surfaces/requirements.d.ts.map +0 -1
- package/dist/surfaces/requirements.js +0 -50
- package/dist/surfaces/requirements.js.map +0 -1
- package/dist/surfaces/targets.d.ts +0 -196
- package/dist/surfaces/targets.d.ts.map +0 -1
- package/dist/surfaces/targets.js +0 -27
- package/dist/surfaces/targets.js.map +0 -1
- package/dist/webhook/delivery.d.ts +0 -18
- package/dist/webhook/delivery.d.ts.map +0 -1
- package/dist/webhook/delivery.js +0 -36
- package/dist/webhook/delivery.js.map +0 -1
- package/dist/webhook/receiver.d.ts +0 -26
- package/dist/webhook/receiver.d.ts.map +0 -1
- package/dist/webhook/receiver.js +0 -24
- package/dist/webhook/receiver.js.map +0 -1
- package/dist/webhook/signature.d.ts +0 -3
- package/dist/webhook/signature.d.ts.map +0 -1
- package/dist/webhook/signature.js +0 -7
- package/dist/webhook/signature.js.map +0 -1
- package/dist/workflow/manifest.d.ts +0 -22
- package/dist/workflow/manifest.d.ts.map +0 -1
- package/dist/workflow/manifest.js +0 -21
- package/dist/workflow/manifest.js.map +0 -1
- package/dist/workflow/registry.d.ts +0 -7
- package/dist/workflow/registry.d.ts.map +0 -1
- package/dist/workflow/registry.js +0 -18
- package/dist/workflow/registry.js.map +0 -1
- package/dist/workflow/templates.d.ts +0 -6
- package/dist/workflow/templates.d.ts.map +0 -1
- package/dist/workflow/templates.js +0 -18
- package/dist/workflow/templates.js.map +0 -1
- package/dist/workflow/triggers.d.ts +0 -64
- package/dist/workflow/triggers.d.ts.map +0 -1
- package/dist/workflow/triggers.js +0 -99
- package/dist/workflow/triggers.js.map +0 -1
- /package/{extension/README.md → docs/extension.md} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,125 +1,735 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export
|
|
51
|
-
|
|
52
|
-
export
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
export
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
export
|
|
80
|
-
|
|
81
|
-
export
|
|
82
|
-
|
|
83
|
-
export
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
export
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
export
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
export
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
2
|
+
* index.ts — the stable public API of the saddle grand merge (v2.0.0).
|
|
3
|
+
*
|
|
4
|
+
* Section 1 carries the e2ugh virtual-hardware engine core (the library-first
|
|
5
|
+
* entry point of the merged e2ugh repository: the main factory
|
|
6
|
+
* createVirtualEngine, the dependency-free specification validator
|
|
7
|
+
* validateSpec, the random endpoint allocator randomPort, the Map-based
|
|
8
|
+
* internal memory store InternalMemory, the disposable metrics store
|
|
9
|
+
* MetricsStore, the strongly typed event bus enginebus, and the plan planner
|
|
10
|
+
* absorbed from the former architect.ts).
|
|
11
|
+
*
|
|
12
|
+
* Section 2 routes the saddle domain surface through the root-level domain
|
|
13
|
+
* files of the consolidation: one optimized TypeScript file per correlated
|
|
14
|
+
* domain, every former nested folder of both repositories folded at the
|
|
15
|
+
* repository root.
|
|
16
|
+
*/
|
|
17
|
+
import type { migprofileid } from './virtualmemory.js';
|
|
18
|
+
/**
|
|
19
|
+
* Frozen table of the reference toolchain versions that the engine targets.
|
|
20
|
+
* Every value was confirmed against primary sources on 2026-08-22 and is
|
|
21
|
+
* embedded here so generated documentation and workflows can cite exact
|
|
22
|
+
* versions without a network round trip. the v2 merge adds the microvm
|
|
23
|
+
* runtime anchors so every module (orchestrator, virtualization, security)
|
|
24
|
+
* cites the same ledger.
|
|
25
|
+
*/
|
|
26
|
+
export declare const engineversions: {
|
|
27
|
+
/** npm latest confirmed 2026-08-23 (v12 shipped july 2026). */
|
|
28
|
+
readonly npm: '12.0.2';
|
|
29
|
+
/** python stable confirmed 2026-08-23. */
|
|
30
|
+
readonly python: '3.14.7';
|
|
31
|
+
readonly nodecurrent: '26.7.0';
|
|
32
|
+
readonly nodelts: '24.19.0';
|
|
33
|
+
readonly typescript: '7.0.2';
|
|
34
|
+
readonly docker: '29.7.2';
|
|
35
|
+
readonly compose: '5.5.0';
|
|
36
|
+
readonly mesaa: '26.2.1';
|
|
37
|
+
readonly qemu: '11.1.0';
|
|
38
|
+
readonly firecracker: '1.16.1';
|
|
39
|
+
readonly kata: '4.1.0';
|
|
40
|
+
readonly gvisor: 'release-20260817.0';
|
|
41
|
+
readonly cloudhypervisor: '53.0';
|
|
42
|
+
readonly criu: '4.2.1';
|
|
43
|
+
readonly kernelmainline: '7.2';
|
|
44
|
+
readonly kernelstable: '7.1.9';
|
|
45
|
+
readonly kernellongterm: '6.18.45';
|
|
46
|
+
readonly wasmtime: '48.0.0';
|
|
47
|
+
readonly wgpu: '30.x';
|
|
48
|
+
};
|
|
49
|
+
/** Union of every key available in the engineversions table. */
|
|
50
|
+
export type engineversionkey = keyof typeof engineversions;
|
|
51
|
+
/** Numeric bounds applied to every engine specification. */
|
|
52
|
+
export type enginelimits = {
|
|
53
|
+
readonly minvcpu: number;
|
|
54
|
+
readonly maxvcpu: number;
|
|
55
|
+
readonly minramgb: number;
|
|
56
|
+
readonly maxramgb: number;
|
|
57
|
+
readonly minvramgb: number;
|
|
58
|
+
readonly maxvramgb: number;
|
|
59
|
+
readonly minport: number;
|
|
60
|
+
readonly maxport: number;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Hard limits of the virtual hardware generation. Values mirror the extremes
|
|
64
|
+
* of the embedded processor bank: 1 to 192 vCPUs (EPYC 9965 class), 1 to
|
|
65
|
+
* 1024 GB of guest RAM, 8 to 96 GB of virtualized VRAM (RTX PRO 6000 class with
|
|
66
|
+
* MIG slicing) and the random port range 30000-59999.
|
|
67
|
+
*/
|
|
68
|
+
export declare const enginelimits: {
|
|
69
|
+
readonly minvcpu: 1;
|
|
70
|
+
readonly maxvcpu: 192;
|
|
71
|
+
readonly minramgb: 1;
|
|
72
|
+
readonly maxramgb: 1024;
|
|
73
|
+
readonly minvramgb: 8;
|
|
74
|
+
readonly maxvramgb: 96;
|
|
75
|
+
readonly minport: 30000;
|
|
76
|
+
readonly maxport: 59999;
|
|
77
|
+
};
|
|
78
|
+
/** Runtime backend that executes the virtual machine workload. */
|
|
79
|
+
export type engineruntime = 'qemu' | 'firecracker' | 'docker' | 'gvisor';
|
|
80
|
+
/** Lifecycle states of a virtual engine instance. */
|
|
81
|
+
export type enginestate = 'created' | 'starting' | 'running' | 'degraded' | 'stopped';
|
|
82
|
+
/** Full declarative specification of one virtual hardware machine. */
|
|
83
|
+
export type enginespec = {
|
|
84
|
+
readonly model: string;
|
|
85
|
+
readonly vcpus: number;
|
|
86
|
+
readonly ramgb: number;
|
|
87
|
+
readonly vramgb: number;
|
|
88
|
+
readonly mig: migprofileid;
|
|
89
|
+
readonly runtime: engineruntime;
|
|
90
|
+
readonly host: string;
|
|
91
|
+
readonly port: number;
|
|
92
|
+
readonly metricsintervalms: number;
|
|
93
|
+
};
|
|
94
|
+
/** Resolved network endpoint of a running engine. */
|
|
95
|
+
export type engineendpoint = {
|
|
96
|
+
readonly host: string;
|
|
97
|
+
readonly port: number;
|
|
98
|
+
readonly url: string;
|
|
99
|
+
};
|
|
100
|
+
/** Options accepted by createVirtualEngine; every field is optional. */
|
|
101
|
+
export type engineoptions = {
|
|
102
|
+
readonly model?: string;
|
|
103
|
+
readonly vcpus?: number;
|
|
104
|
+
readonly ramgb?: number;
|
|
105
|
+
readonly vramgb?: number;
|
|
106
|
+
readonly mig?: migprofileid;
|
|
107
|
+
readonly runtime?: engineruntime;
|
|
108
|
+
readonly host?: string;
|
|
109
|
+
readonly port?: number;
|
|
110
|
+
readonly metricsintervalms?: number;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Returns a random TCP port in the 30000-59999 range using a
|
|
114
|
+
* cryptographically secure generator (node:crypto randomInt). The user may
|
|
115
|
+
* override the random draw by passing an explicit port, which is validated
|
|
116
|
+
* against the engine limits before being returned.
|
|
117
|
+
*
|
|
118
|
+
* @param override Explicit port chosen by the user; when omitted a random
|
|
119
|
+
* port is drawn, which keeps the library free of fixed addresses.
|
|
120
|
+
*/
|
|
121
|
+
export declare function randomPort(override?: number): number;
|
|
122
|
+
/**
|
|
123
|
+
* Resolves the bind host from explicit preference or the environment
|
|
124
|
+
* variables `virtualenginehost` or `vhehost`. No default address such as
|
|
125
|
+
* localhost is ever assumed implicitly: when neither argument nor
|
|
126
|
+
* environment provides a host the function fails loudly, keeping the
|
|
127
|
+
* address 100 percent a user choice (an explicit loopback is honored
|
|
128
|
+
* because it is the explicit decision of the caller).
|
|
129
|
+
*
|
|
130
|
+
* @param preferred Host explicitly chosen by the caller; wins over env.
|
|
131
|
+
*/
|
|
132
|
+
export declare function resolveHost(preferred?: string): string;
|
|
133
|
+
/**
|
|
134
|
+
* Combines a host and a port into an endpoint descriptor. The port falls
|
|
135
|
+
* back to randomPort when omitted so the endpoint is always concrete.
|
|
136
|
+
*/
|
|
137
|
+
export declare function buildEndpoint(host: string, port?: number): engineendpoint;
|
|
138
|
+
/** Kinds of primitives understood by the built-in rule engine. */
|
|
139
|
+
export type rulekind = 'number' | 'string' | 'boolean' | 'enum';
|
|
140
|
+
/** One validation rule bound to a specification field. */
|
|
141
|
+
export type specrule = {
|
|
142
|
+
readonly key: keyof enginespec;
|
|
143
|
+
readonly kind: rulekind;
|
|
144
|
+
readonly min?: number;
|
|
145
|
+
readonly max?: number;
|
|
146
|
+
readonly pattern?: RegExp;
|
|
147
|
+
readonly values?: readonly string[];
|
|
148
|
+
readonly optional?: boolean;
|
|
149
|
+
readonly description: string;
|
|
150
|
+
};
|
|
151
|
+
/** Result of running validateSpec over a candidate specification. */
|
|
152
|
+
export type specvalidationresult = {
|
|
153
|
+
readonly valid: boolean;
|
|
154
|
+
readonly errors: readonly string[];
|
|
155
|
+
readonly warnings: readonly string[];
|
|
156
|
+
readonly normalized: enginespec | null;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Default rule table derived from enginelimits. It behaves like a small
|
|
160
|
+
* dependency-free schema: each entry describes bounds and shape for one
|
|
161
|
+
* field of enginespec and validateSpec walks the table collecting errors.
|
|
162
|
+
*/
|
|
163
|
+
export declare const specschema: readonly specrule[];
|
|
164
|
+
/**
|
|
165
|
+
* Validates a candidate specification against the rule table. The function
|
|
166
|
+
* is zod-like in spirit but has zero external dependencies: it type-checks
|
|
167
|
+
* each field, enforces numeric bounds, matches string patterns and rejects
|
|
168
|
+
* unknown enum values, then returns the errors, soft warnings and a frozen
|
|
169
|
+
* normalized copy when everything passes.
|
|
170
|
+
*
|
|
171
|
+
* @param spec Candidate specification; the const type parameter preserves
|
|
172
|
+
* literal inference for callers that pass object literals.
|
|
173
|
+
*/
|
|
174
|
+
export declare function validateSpec<const T extends enginespec>(spec: T): specvalidationresult;
|
|
175
|
+
/** One immutable metric sample. */
|
|
176
|
+
export type metricssample = {
|
|
177
|
+
readonly at: number;
|
|
178
|
+
readonly cpuutilization: number;
|
|
179
|
+
readonly memusedgb: number;
|
|
180
|
+
readonly memtotalgb: number;
|
|
181
|
+
readonly vramusedgb: number;
|
|
182
|
+
readonly vramtotalgb: number;
|
|
183
|
+
readonly iops: number;
|
|
184
|
+
};
|
|
185
|
+
/** Aggregate view over the stored samples of one engine. */
|
|
186
|
+
export type metricsaggregate = {
|
|
187
|
+
readonly count: number;
|
|
188
|
+
readonly cpuavg: number;
|
|
189
|
+
readonly cpupeak: number;
|
|
190
|
+
readonly memavggb: number;
|
|
191
|
+
readonly newest: metricssample | null;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Map-based internal memory store used by every engine instance. Gauges,
|
|
195
|
+
* counters, labels and rolling samples live in plain Map containers which
|
|
196
|
+
* guarantees deterministic iteration, cheap snapshots and no binding to any
|
|
197
|
+
* runtime-specific global. The store also owns a WeakMap side table for
|
|
198
|
+
* ephemeral probes that must never keep engines alive.
|
|
199
|
+
*/
|
|
200
|
+
export declare class InternalMemory {
|
|
201
|
+
#private;
|
|
202
|
+
constructor();
|
|
203
|
+
/** Number of distinct gauges currently registered. */
|
|
204
|
+
get gaugecount(): number;
|
|
205
|
+
/** Reports how many storage slots are live across all containers. */
|
|
206
|
+
get slotcount(): number;
|
|
207
|
+
/** Sets a gauge value, creating it when missing. */
|
|
208
|
+
setgauge(name: string, value: number): this;
|
|
209
|
+
/** Reads a gauge, returning the fallback when the gauge is absent. */
|
|
210
|
+
readgauge(name: string, fallback?: number): number;
|
|
211
|
+
/** Increments a counter by delta (default 1) and returns the new total. */
|
|
212
|
+
bump(name: string, delta?: number): number;
|
|
213
|
+
/** Reads a counter without mutating it. */
|
|
214
|
+
readcounter(name: string): number;
|
|
215
|
+
/** Attaches a human readable label for observability tooling. */
|
|
216
|
+
setlabel(name: string, value: string): this;
|
|
217
|
+
/** Returns a frozen copy of all labels. */
|
|
218
|
+
readlabels(): Readonly<Record<string, string>>;
|
|
219
|
+
/** Pushes a sample into the rolling series of one engine. */
|
|
220
|
+
pushsample(engineid: string, sample: metricssample, keep?: number): number;
|
|
221
|
+
/** Computes cpu and memory averages plus peaks for one engine. */
|
|
222
|
+
aggregate(engineid: string): metricsaggregate;
|
|
223
|
+
/** Stores an ephemeral probe keyed by a weak object reference. */
|
|
224
|
+
attachprobe(owner: object, sample: metricssample): void;
|
|
225
|
+
/** Reads an ephemeral probe; returns null when the owner is gone. */
|
|
226
|
+
readprobe(owner: object): metricssample | null;
|
|
227
|
+
/** Drops every container, leaving the store empty but reusable. */
|
|
228
|
+
clear(): void;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Disposable metrics facade. Instances are designed for explicit resource
|
|
232
|
+
* management: `using store = new MetricsStore()` flushes the snapshot to
|
|
233
|
+
* disk on scope exit through Symbol.dispose, while `await using` performs
|
|
234
|
+
* the same through Symbol.asyncDispose after letting pending samples
|
|
235
|
+
* settle. Both disposers are idempotent so double disposal is harmless.
|
|
236
|
+
* The v2 orchestrator subclasses this store (sandboxmetrics) so the whole
|
|
237
|
+
* engine keeps exactly one metrics component.
|
|
238
|
+
*/
|
|
239
|
+
export declare class MetricsStore {
|
|
240
|
+
#private;
|
|
241
|
+
constructor(engineid: string, snapshotdir?: string);
|
|
242
|
+
/** Direct access to the underlying InternalMemory containers. */
|
|
243
|
+
get memory(): InternalMemory;
|
|
244
|
+
/** Engine identifier this store is bound to. */
|
|
245
|
+
get engineid(): string;
|
|
246
|
+
/** True once a disposer has run for this instance. */
|
|
247
|
+
get disposed(): boolean;
|
|
248
|
+
/** Records a sample into the rolling series. */
|
|
249
|
+
record(sample: metricssample): this;
|
|
250
|
+
/** Persists the current aggregate snapshot to the configured directory. */
|
|
251
|
+
flush(): string | null;
|
|
252
|
+
/** Loads a previously persisted snapshot, returning null when missing. */
|
|
253
|
+
restore(): Record<string, unknown> | null;
|
|
254
|
+
/** Synchronous disposer used by `using store = new MetricsStore(...)`. */
|
|
255
|
+
[Symbol.dispose](): void;
|
|
256
|
+
/** Asynchronous disposer used by `await using` declarations. */
|
|
257
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Map of every event topic emitted by the engine to its payload type.
|
|
261
|
+
*
|
|
262
|
+
* The v2 merge collapses the three buses of the pool (the v5 enginebus,
|
|
263
|
+
* the Meta TypedEventBus and the Meta SaddleEventBus) into this single
|
|
264
|
+
* topology: the original engine:* and metrics:* topics plus the full
|
|
265
|
+
* sandbox:* and vm plane surface (vm, vcpu, vram, gpu, sriov, passage,
|
|
266
|
+
* mttg, docker, qemu, health, autoscale, numa, migration, snapshot,
|
|
267
|
+
* checkpoint, config, plugin, rbac, audit, leader, quota, preemption,
|
|
268
|
+
* drain and system) that orchestrator.ts publishes through sandboxevents,
|
|
269
|
+
* a subclass of enginebus. no second bus exists anywhere in the library.
|
|
270
|
+
*/
|
|
271
|
+
export type enginetopics = {
|
|
272
|
+
readonly 'engine:created': {
|
|
273
|
+
readonly engineid: string;
|
|
274
|
+
readonly at: number;
|
|
275
|
+
};
|
|
276
|
+
readonly 'engine:starting': {
|
|
277
|
+
readonly engineid: string;
|
|
278
|
+
readonly spec: enginespec;
|
|
279
|
+
};
|
|
280
|
+
readonly 'engine:running': {
|
|
281
|
+
readonly engineid: string;
|
|
282
|
+
readonly endpoint: engineendpoint;
|
|
283
|
+
};
|
|
284
|
+
readonly 'engine:stopped': {
|
|
285
|
+
readonly engineid: string;
|
|
286
|
+
readonly uptimems: number;
|
|
287
|
+
};
|
|
288
|
+
readonly 'engine:error': {
|
|
289
|
+
readonly engineid: string;
|
|
290
|
+
readonly error: Error;
|
|
291
|
+
};
|
|
292
|
+
readonly 'metrics:sample': {
|
|
293
|
+
readonly engineid: string;
|
|
294
|
+
readonly sample: metricssample;
|
|
295
|
+
};
|
|
296
|
+
readonly 'engine:statechanged': {
|
|
297
|
+
readonly engineid: string;
|
|
298
|
+
readonly from: enginestate;
|
|
299
|
+
readonly to: enginestate;
|
|
300
|
+
};
|
|
301
|
+
readonly 'sandbox:created': {
|
|
302
|
+
readonly id: string;
|
|
303
|
+
readonly runtime: string;
|
|
304
|
+
readonly host: string;
|
|
305
|
+
readonly ports: readonly {
|
|
306
|
+
readonly host: number;
|
|
307
|
+
readonly container: number;
|
|
308
|
+
}[];
|
|
309
|
+
};
|
|
310
|
+
readonly 'sandbox:started': {
|
|
311
|
+
readonly id: string;
|
|
312
|
+
readonly runtime: string;
|
|
313
|
+
readonly bootms: number;
|
|
314
|
+
};
|
|
315
|
+
readonly 'sandbox:stopped': {
|
|
316
|
+
readonly id: string;
|
|
317
|
+
readonly reason: string;
|
|
318
|
+
};
|
|
319
|
+
readonly 'sandbox:snapshotted': {
|
|
320
|
+
readonly id: string;
|
|
321
|
+
readonly file: string;
|
|
322
|
+
};
|
|
323
|
+
readonly 'sandbox:restored': {
|
|
324
|
+
readonly id: string;
|
|
325
|
+
readonly snapshotfile: string;
|
|
326
|
+
};
|
|
327
|
+
readonly 'sandbox:destroyed': {
|
|
328
|
+
readonly id: string;
|
|
329
|
+
};
|
|
330
|
+
readonly 'sandbox:pooled': {
|
|
331
|
+
readonly size: number;
|
|
332
|
+
};
|
|
333
|
+
readonly 'sandbox:error': {
|
|
334
|
+
readonly id?: string;
|
|
335
|
+
readonly phase: string;
|
|
336
|
+
readonly message: string;
|
|
337
|
+
};
|
|
338
|
+
readonly 'vm:created': {
|
|
339
|
+
readonly vmid: string;
|
|
340
|
+
readonly tenantid: string;
|
|
341
|
+
};
|
|
342
|
+
readonly 'vm:started': {
|
|
343
|
+
readonly vmid: string;
|
|
344
|
+
readonly pid: number;
|
|
345
|
+
};
|
|
346
|
+
readonly 'vm:stopped': {
|
|
347
|
+
readonly vmid: string;
|
|
348
|
+
readonly reason: string;
|
|
349
|
+
};
|
|
350
|
+
readonly 'vm:error': {
|
|
351
|
+
readonly vmid: string;
|
|
352
|
+
readonly error: string;
|
|
353
|
+
};
|
|
354
|
+
readonly 'vm:phase': {
|
|
355
|
+
readonly vmid: string;
|
|
356
|
+
readonly to: string;
|
|
357
|
+
};
|
|
358
|
+
readonly 'vcpu:scheduled': {
|
|
359
|
+
readonly vmid: string;
|
|
360
|
+
readonly vcpuid: string;
|
|
361
|
+
readonly cpu: number;
|
|
362
|
+
};
|
|
363
|
+
readonly 'sched:overcommitwarn': {
|
|
364
|
+
readonly vmid: string;
|
|
365
|
+
readonly requested: number;
|
|
366
|
+
readonly host: number;
|
|
367
|
+
readonly overcommit: number;
|
|
368
|
+
};
|
|
369
|
+
readonly 'vram:adjusted': {
|
|
370
|
+
readonly vmid: string;
|
|
371
|
+
readonly targetmib: number;
|
|
372
|
+
readonly actualmib: number;
|
|
373
|
+
};
|
|
374
|
+
readonly 'gpu:assigned': {
|
|
375
|
+
readonly vmid: string;
|
|
376
|
+
readonly gpuid: string;
|
|
377
|
+
readonly vfid?: string;
|
|
378
|
+
};
|
|
379
|
+
readonly 'gpu:released': {
|
|
380
|
+
readonly gpuid: string;
|
|
381
|
+
readonly vmid: string;
|
|
382
|
+
};
|
|
383
|
+
readonly 'sriov:vfcreated': {
|
|
384
|
+
readonly pf: string;
|
|
385
|
+
readonly vfid: string;
|
|
386
|
+
};
|
|
387
|
+
readonly 'passage:routecreated': {
|
|
388
|
+
readonly id: string;
|
|
389
|
+
readonly srcvm: string;
|
|
390
|
+
readonly dstvm: string;
|
|
391
|
+
readonly protocol: string;
|
|
392
|
+
};
|
|
393
|
+
readonly 'mttg:jobdone': {
|
|
394
|
+
readonly jobid: string;
|
|
395
|
+
readonly durationms: number;
|
|
396
|
+
};
|
|
397
|
+
readonly 'mttg:enqueued': {
|
|
398
|
+
readonly jobid: string;
|
|
399
|
+
readonly tenant: string;
|
|
400
|
+
readonly qos: string;
|
|
401
|
+
};
|
|
402
|
+
readonly 'mttg:preempted': {
|
|
403
|
+
readonly incoming: string;
|
|
404
|
+
readonly preempted: readonly string[];
|
|
405
|
+
};
|
|
406
|
+
readonly 'docker:attached': {
|
|
407
|
+
readonly vmid: string;
|
|
408
|
+
readonly bridge: string;
|
|
409
|
+
readonly ipv4: string;
|
|
410
|
+
};
|
|
411
|
+
readonly 'qemu:exit': {
|
|
412
|
+
readonly vmid: string;
|
|
413
|
+
readonly code: number | null;
|
|
414
|
+
};
|
|
415
|
+
readonly 'qemu:versionmismatch': {
|
|
416
|
+
readonly expected: string;
|
|
417
|
+
readonly got: string;
|
|
418
|
+
};
|
|
419
|
+
readonly 'health:change': {
|
|
420
|
+
readonly checkid: string;
|
|
421
|
+
readonly old: string;
|
|
422
|
+
readonly new: string;
|
|
423
|
+
};
|
|
424
|
+
readonly 'autoscale:trigger': {
|
|
425
|
+
readonly policyid: string;
|
|
426
|
+
readonly action: string;
|
|
427
|
+
readonly count: number;
|
|
428
|
+
};
|
|
429
|
+
readonly 'numa:rebalance': {
|
|
430
|
+
readonly moves: number;
|
|
431
|
+
readonly from: number;
|
|
432
|
+
readonly to: number;
|
|
433
|
+
};
|
|
434
|
+
readonly 'migration:progress': {
|
|
435
|
+
readonly jobid: string;
|
|
436
|
+
readonly vmid: string;
|
|
437
|
+
readonly state: string;
|
|
438
|
+
readonly progress: number;
|
|
439
|
+
};
|
|
440
|
+
readonly 'snapshot:created': {
|
|
441
|
+
readonly snapshotid: string;
|
|
442
|
+
readonly vmid: string;
|
|
443
|
+
};
|
|
444
|
+
readonly 'checkpoint:created': {
|
|
445
|
+
readonly checkpointid: string;
|
|
446
|
+
readonly vmid: string;
|
|
447
|
+
readonly method: string;
|
|
448
|
+
};
|
|
449
|
+
readonly 'config:reloaded': {
|
|
450
|
+
readonly file: string;
|
|
451
|
+
};
|
|
452
|
+
readonly 'plugin:loaded': {
|
|
453
|
+
readonly pluginid: string;
|
|
454
|
+
};
|
|
455
|
+
readonly 'plugin:unloaded': {
|
|
456
|
+
readonly pluginid: string;
|
|
457
|
+
};
|
|
458
|
+
readonly 'rbac:denied': {
|
|
459
|
+
readonly userid: string;
|
|
460
|
+
readonly action: string;
|
|
461
|
+
};
|
|
462
|
+
readonly 'audit:entry': {
|
|
463
|
+
readonly actor: string;
|
|
464
|
+
readonly action: string;
|
|
465
|
+
readonly target: string;
|
|
466
|
+
readonly result: string;
|
|
467
|
+
};
|
|
468
|
+
readonly 'leader:changed': {
|
|
469
|
+
readonly leader: string;
|
|
470
|
+
readonly term: number;
|
|
471
|
+
};
|
|
472
|
+
readonly 'quota:set': {
|
|
473
|
+
readonly tenantid: string;
|
|
474
|
+
readonly vcpu: number;
|
|
475
|
+
readonly vrammib: number;
|
|
476
|
+
readonly gpu: number;
|
|
477
|
+
};
|
|
478
|
+
readonly 'node:drained': {
|
|
479
|
+
readonly labelkey: string;
|
|
480
|
+
readonly labelvalue: string;
|
|
481
|
+
readonly drained: readonly string[];
|
|
482
|
+
};
|
|
483
|
+
readonly 'system:error': {
|
|
484
|
+
readonly kind: string;
|
|
485
|
+
readonly message: string;
|
|
486
|
+
};
|
|
487
|
+
readonly 'otel:exporterstarted': {
|
|
488
|
+
readonly host: string;
|
|
489
|
+
readonly port: number;
|
|
490
|
+
};
|
|
491
|
+
};
|
|
492
|
+
/** Union of all topic names; template literal types keep it extensible. */
|
|
493
|
+
export type enginetopicname = keyof enginetopics;
|
|
494
|
+
/**
|
|
495
|
+
* Strongly typed observer bus built on node:events EventEmitter. Publish and
|
|
496
|
+
* subscribe are generic over the topic map so listeners receive exactly the
|
|
497
|
+
* payload type of the topic they choose; the underlying EventEmitter is kept
|
|
498
|
+
* private so external code cannot bypass typing. This class is the single
|
|
499
|
+
* bus of the engine: orchestrator.ts extends it (sandboxevents) and every
|
|
500
|
+
* subsystem publishes here instead of creating its own emitter.
|
|
501
|
+
*/
|
|
502
|
+
export declare class enginebus {
|
|
503
|
+
#private;
|
|
504
|
+
constructor();
|
|
505
|
+
/** Subscribes a typed listener to one topic. */
|
|
506
|
+
subscribe<t extends enginetopicname>(topic: t, listener: (payload: enginetopics[t]) => void): this;
|
|
507
|
+
/** Removes a previously subscribed listener. */
|
|
508
|
+
unsubscribe<t extends enginetopicname>(topic: t, listener: (payload: enginetopics[t]) => void): this;
|
|
509
|
+
/** Publishes one event; the boolean mirrors EventEmitter emit results. */
|
|
510
|
+
publish<t extends enginetopicname>(topic: t, payload: enginetopics[t]): boolean;
|
|
511
|
+
/** Waits until one topic fires, resolving with its payload. */
|
|
512
|
+
waitfor<t extends enginetopicname>(topic: t): Promise<enginetopics[t]>;
|
|
513
|
+
/** Returns how many listeners are attached to one topic. */
|
|
514
|
+
listenercount(topic: enginetopicname): number;
|
|
515
|
+
}
|
|
516
|
+
/** Process-wide bus shared by factories in this module. */
|
|
517
|
+
export declare const engineeventbus: enginebus;
|
|
518
|
+
/** Error thrown by every engine subsystem with an optional cause chain. */
|
|
519
|
+
export declare class engineerror extends Error {
|
|
520
|
+
/** Machine readable subsystem tag. */
|
|
521
|
+
readonly subsystem: string;
|
|
522
|
+
constructor(message: string, options?: {
|
|
523
|
+
cause?: Error;
|
|
524
|
+
subsystem?: string;
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
/** Outcome shape returned by safecall. */
|
|
528
|
+
export type safeoutcome<t> = {
|
|
529
|
+
readonly ok: true;
|
|
530
|
+
readonly value: t;
|
|
531
|
+
} | {
|
|
532
|
+
readonly ok: false;
|
|
533
|
+
readonly error: Error;
|
|
534
|
+
};
|
|
535
|
+
/**
|
|
536
|
+
* Runs an action inside a try/catch catcher and reports the outcome as a
|
|
537
|
+
* discriminated union instead of throwing, which lets library callers decide
|
|
538
|
+
* how failures surface. The fallback runs only when the action throws.
|
|
539
|
+
*/
|
|
540
|
+
export declare function safecall<t>(label: string, action: () => t, fallback?: () => t): safeoutcome<t>;
|
|
541
|
+
/** Point-in-time snapshot of an engine. */
|
|
542
|
+
export type enginesnapshot = {
|
|
543
|
+
readonly engineid: string;
|
|
544
|
+
readonly state: enginestate;
|
|
545
|
+
readonly spec: enginespec;
|
|
546
|
+
readonly uptimems: number;
|
|
547
|
+
readonly metrics: metricsaggregate;
|
|
548
|
+
readonly versions: typeof engineversions;
|
|
549
|
+
};
|
|
550
|
+
/** Health report produced by periodic probing. */
|
|
551
|
+
export type healthreport = {
|
|
552
|
+
readonly engineid: string;
|
|
553
|
+
readonly healthy: boolean;
|
|
554
|
+
readonly state: enginestate;
|
|
555
|
+
readonly checks: readonly {
|
|
556
|
+
readonly name: string;
|
|
557
|
+
readonly passed: boolean;
|
|
558
|
+
readonly detail: string;
|
|
559
|
+
}[];
|
|
560
|
+
};
|
|
561
|
+
/**
|
|
562
|
+
* Facade object returned by createVirtualEngine. The class keeps its state
|
|
563
|
+
* machine private and exposes only intentful operations, emitting typed
|
|
564
|
+
* events on every transition so orchestrators can react without polling.
|
|
565
|
+
*/
|
|
566
|
+
export declare class VirtualEngine {
|
|
567
|
+
#private;
|
|
568
|
+
constructor(spec: enginespec, bus: enginebus);
|
|
569
|
+
/** Unique identifier of this engine instance. */
|
|
570
|
+
get id(): string;
|
|
571
|
+
/** Frozen specification the engine was created with. */
|
|
572
|
+
get spec(): enginespec;
|
|
573
|
+
/** Current lifecycle state. */
|
|
574
|
+
get state(): enginestate;
|
|
575
|
+
/** Milliseconds elapsed since creation. */
|
|
576
|
+
get uptimems(): number;
|
|
577
|
+
/** Endpoint after a successful start, otherwise null. */
|
|
578
|
+
get endpoint(): engineendpoint | null;
|
|
579
|
+
/** Internal metrics store of this engine. */
|
|
580
|
+
get memory(): InternalMemory;
|
|
581
|
+
/** Moves the engine to running, binding the resolved endpoint. */
|
|
582
|
+
start(): engineendpoint;
|
|
583
|
+
/** Stops a running engine and publishes the measured uptime. */
|
|
584
|
+
stop(): void;
|
|
585
|
+
/** Builds an immutable snapshot of the engine state. */
|
|
586
|
+
snapshot(): enginesnapshot;
|
|
587
|
+
/** Runs structural health checks over spec, state and metrics. */
|
|
588
|
+
healthcheck(): healthreport;
|
|
589
|
+
}
|
|
590
|
+
/** Registry of live engines keyed by engine id. */
|
|
591
|
+
export declare const engineRegistry: ReadonlyMap<string, VirtualEngine>;
|
|
592
|
+
/**
|
|
593
|
+
* Creates a fully wired virtual engine from user options. The factory
|
|
594
|
+
* resolves the host (user choice only), draws a random port in the
|
|
595
|
+
* 30000-59999 range when none is given, validates the merged specification
|
|
596
|
+
* with validateSpec, registers the instance in engineRegistry and emits the
|
|
597
|
+
* engine:created topic. Failures are converted to engineerror instances so
|
|
598
|
+
* callers always see a typed cause chain.
|
|
599
|
+
*
|
|
600
|
+
* @param options Partial specification; only the host is mandatory because
|
|
601
|
+
* the library refuses to assume any default address.
|
|
602
|
+
*/
|
|
603
|
+
export declare function createVirtualEngine(options: engineoptions): VirtualEngine;
|
|
604
|
+
/** Registers a fresh health probe for an engine and returns it. */
|
|
605
|
+
export declare function probeengine(engine: VirtualEngine): healthreport;
|
|
606
|
+
/** Reads the latest health probe recorded for an engine, if any. */
|
|
607
|
+
export declare function lastprobe(engine: VirtualEngine): healthreport | null;
|
|
608
|
+
/** Removes an engine from the registry; returns true when it existed. */
|
|
609
|
+
export declare function disposeengine(engineid: string): boolean;
|
|
610
|
+
/** Handle returned by startsampling; disposable for `using` blocks. */
|
|
611
|
+
export type samplinghandle = {
|
|
612
|
+
readonly stop: () => void;
|
|
613
|
+
};
|
|
614
|
+
/**
|
|
615
|
+
* Starts a periodic sampling loop that fabricates metric samples with the
|
|
616
|
+
* node:crypto random generator and records them into the engine metrics
|
|
617
|
+
* store, emitting a metrics:sample event per iteration. The returned handle
|
|
618
|
+
* implements Symbol.dispose so it composes with `using` declarations.
|
|
619
|
+
*/
|
|
620
|
+
export declare function startsampling(engine: VirtualEngine, store: MetricsStore): samplinghandle & Disposable;
|
|
621
|
+
/**
|
|
622
|
+
* GPU mode of a plan. this mirrors the GpuMode enum of forge.hpp (the C++
|
|
623
|
+
* control plane) and stays intentionally distinct from the runtime gpu
|
|
624
|
+
* assignment modes of orchestrator.ts (none/passthrough/vgpu/mdev).
|
|
625
|
+
*/
|
|
626
|
+
export type plangpumode = 'vfio' | 'vgpu' | 'mig' | 'virtio' | 'none';
|
|
627
|
+
/** Declarative machine plan consumed by the argv renderers below. */
|
|
628
|
+
export type plan = {
|
|
629
|
+
readonly name: string;
|
|
630
|
+
readonly cpu: string;
|
|
631
|
+
readonly gpu: string;
|
|
632
|
+
readonly sockets: number;
|
|
633
|
+
readonly dies: number;
|
|
634
|
+
readonly cores: number;
|
|
635
|
+
readonly threads: 1 | 2;
|
|
636
|
+
readonly vcpus: number;
|
|
637
|
+
readonly memorygib: number;
|
|
638
|
+
readonly vramgib: number;
|
|
639
|
+
readonly overcommit: number;
|
|
640
|
+
readonly gpumode: plangpumode;
|
|
641
|
+
readonly mttg: boolean;
|
|
642
|
+
readonly mttgthreads: number;
|
|
643
|
+
};
|
|
644
|
+
/**
|
|
645
|
+
* Default plan: a desktop zen5 lab (9950X3D with two CCDs) paired with an
|
|
646
|
+
* RTX 5090, 65536 multiplexed MTTG threads and a 4x cpu overcommit.
|
|
647
|
+
*/
|
|
648
|
+
export declare const defaultplan: {
|
|
649
|
+
readonly name: 'aether-lab';
|
|
650
|
+
readonly cpu: 'AMD Ryzen 9 9950X3D';
|
|
651
|
+
readonly gpu: 'NVIDIA GeForce RTX 5090';
|
|
652
|
+
readonly sockets: 1;
|
|
653
|
+
readonly dies: 2;
|
|
654
|
+
readonly cores: 8;
|
|
655
|
+
readonly threads: 2;
|
|
656
|
+
readonly vcpus: 16;
|
|
657
|
+
readonly memorygib: 64;
|
|
658
|
+
readonly vramgib: 32;
|
|
659
|
+
readonly overcommit: 4;
|
|
660
|
+
readonly gpumode: 'vfio';
|
|
661
|
+
readonly mttg: true;
|
|
662
|
+
readonly mttgthreads: 65536;
|
|
663
|
+
};
|
|
664
|
+
/**
|
|
665
|
+
* Returns the topology product of a plan (sockets x dies x cores x
|
|
666
|
+
* threads); distinct from solvetopology of virtualcpu.ts which maps a
|
|
667
|
+
* processor spec to its physical package view.
|
|
668
|
+
*/
|
|
669
|
+
export declare function plantopology(candidate: plan): number;
|
|
670
|
+
/**
|
|
671
|
+
* Renders the lean qemu argv of a plan: maxcpus headroom, hotplug memory
|
|
672
|
+
* slots (maxmem), topology-aware -smp, the mttg thread count exported
|
|
673
|
+
* through -fw_cfg, and per-gpu-mode device selection. the complete
|
|
674
|
+
* "turbo" argv (TDX/SEV/vfio romfile/venus) lives in buildqemucmd of
|
|
675
|
+
* virtualization.ts; the runtime strategy argv lives in orchestrator.ts.
|
|
676
|
+
*/
|
|
677
|
+
export declare function qemuargv(candidate: plan): readonly string[];
|
|
678
|
+
/** renders the plan argv as a copy-pasteable shell command. */
|
|
679
|
+
export declare function qemucommand(candidate: plan): string;
|
|
680
|
+
/**
|
|
681
|
+
* renders the docker run command of a plan: cpu divided by the overcommit
|
|
682
|
+
* factor, unbounded pids cgroup (--pids-limit=0) and the MTTG thread
|
|
683
|
+
* budget exported through AETHER_MTTG_THREADS.
|
|
684
|
+
*/
|
|
685
|
+
export declare function dockerrun(candidate: plan): string;
|
|
686
|
+
/** renders the vm.config.toml block of a plan. */
|
|
687
|
+
export declare function plantoml(candidate: plan): string;
|
|
688
|
+
/**
|
|
689
|
+
* lints a plan: the MTTG thread budget must cover the vCPUs, the
|
|
690
|
+
* overcommit ceiling is 64x, the vCPU ceiling is 4096 and the topology
|
|
691
|
+
* product must equal the vCPU count.
|
|
692
|
+
*/
|
|
693
|
+
export declare function planlint(candidate: plan): readonly string[];
|
|
694
|
+
/** Re-exports the compute domain (wasm/wasmtime 48 lts, webgpu on
|
|
695
|
+
* lavapipe, node 26 runtime surface, ai workload planners, wasm canary,
|
|
696
|
+
* wasi:gfx, chatops, gpu ebpf telemetry, ai migration predictor). */
|
|
697
|
+
export * from './compute.js';
|
|
698
|
+
/** Re-exports the media pipeline and transcode domain (24-stage
|
|
699
|
+
* pipeline, ffmpeg 7.1 NVENC p1-p7 command synthesis, createoptimal
|
|
700
|
+
* encoder policy, passage ed25519+chacha20-poly1305 channel, 30
|
|
701
|
+
* transcode modes). */
|
|
702
|
+
export * from './media.js';
|
|
703
|
+
export { bellstate, deutsch, dnacapacity, dnavaultdecode, dnavaultencode, ghzstate, grover2, grover3, opticalplan, qteleport, quantuminspiredrandom, quantumregistry, quantumsim, runbb84, rune91, } from './quantum.js';
|
|
704
|
+
/** Re-exports the scheduling and allocation domain (typecheck sharding,
|
|
705
|
+
* shared-memory cache, project graph, MIG/vCPU/RAM/GPU/NUMA/PCI
|
|
706
|
+
* allocation, aipsched, psi lstm, tenant QoS, anomaly detector,
|
|
707
|
+
* hot reload, otel, health, shutdown, plugin hooks). */
|
|
708
|
+
export * from './scheduler.js';
|
|
709
|
+
export { cgroupsv2slice, creatiersengine, FREEPOOL, githubstorage, LATENCYLADDER, npmchunkregistry, plannpmchunks, publishplan, rambufferbackend, reassembleplan, sqlitekv, sqlitel3backend, swapfilerecipe, sysctldropin, TIERS, tierserror, tmpfsrecipe, zramrecipe, } from './tiers.js';
|
|
710
|
+
/** Re-exports the virtual processor bank and cpuinfo generators. */
|
|
711
|
+
export * from './virtualcpu.js';
|
|
712
|
+
/** Re-exports the gpu passthrough surface (vfio, rom dump, vgpu data). */
|
|
713
|
+
export * from './virtualgpu.js';
|
|
714
|
+
/** Re-exports the virtualization surface (qemu turbo argv, passage,
|
|
715
|
+
* mttg cgroups, mttg grid, checkpoint and restore, virtualizationcore
|
|
716
|
+
* bridge). */
|
|
717
|
+
export * from './virtualization.js';
|
|
718
|
+
/** Re-exports the MIG profile union declared by the memory module. */
|
|
719
|
+
export type { migprofileid } from './virtualmemory.js';
|
|
720
|
+
/** Re-exports the memory tier catalog and virtual memory manager. */
|
|
721
|
+
export * from './virtualmemory.js';
|
|
722
|
+
export * from "./foundation.js";
|
|
723
|
+
export * from "./isolation.js";
|
|
724
|
+
export * from "./virtual.js";
|
|
725
|
+
export * from "./execution.js";
|
|
726
|
+
export * from "./browser.js";
|
|
727
|
+
export * from "./acquisition.js";
|
|
728
|
+
export * from "./communication.js";
|
|
729
|
+
export * from "./integration.js";
|
|
730
|
+
export * from "./automation.js";
|
|
731
|
+
export * from "./intelligence.js";
|
|
732
|
+
export * from "./distribution.js";
|
|
733
|
+
export * from "./modes.js";
|
|
734
|
+
export * from "./operations.js";
|
|
125
735
|
//# sourceMappingURL=index.d.ts.map
|