@wenathlan/saddle 2.0.154 → 2.0.159

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/Dockerfile +167 -1334
  2. package/README.md +59 -60
  3. package/biome.jsonc +3 -3
  4. package/browser.ts +482 -0
  5. package/cli.ts +274 -0
  6. package/distribution.ts +731 -0
  7. package/docker.config +29 -8
  8. package/docs/{architecture.1.8.19.mmd → architecture1819.md} +6 -0
  9. package/docs/artifactavailability.md +2 -2
  10. package/docs/browser.md +18 -1
  11. package/docs/{containerplatforms.2.1.0.md → containerplatforms210.md} +1 -1
  12. package/docs/{documentmap.1.8.12.md → documentmap1812.md} +1 -1
  13. package/docs/extension.md +13 -2
  14. package/docs/features.md +5 -0
  15. package/docs/libraryapi.md +1 -1
  16. package/docs/{ninety.modalities.md → ninetymodalities.md} +87 -4
  17. package/docs/{planning.ninety.md → planningninety.md} +6 -6
  18. package/docs/{releasenotes.1.8.13.md → releasenotes1813.md} +2 -2
  19. package/docs/{releasenotes.1.8.14.md → releasenotes1814.md} +1 -1
  20. package/docs/{repo.synthesis.1.8.16.md → reposynthesis1816.md} +1 -1
  21. package/docs/todo.md +2 -2
  22. package/docs/{todo.1.8.15.md → todo1815.md} +1 -1
  23. package/docs/{todo.1.8.16.md → todo1816.md} +5 -5
  24. package/execution.ts +677 -0
  25. package/foundation.ts +314 -0
  26. package/index.ts +36 -34
  27. package/isolation.ts +84 -0
  28. package/modalityregistry.ts +189 -145
  29. package/modes.ts +170 -0
  30. package/mttg.config +1 -1
  31. package/orchestrator.ts +49 -15
  32. package/package.json +105 -89
  33. package/qemu.config +2 -2
  34. package/sandbox.ts +3279 -0
  35. package/scheduler.ts +1 -1
  36. package/server.ts +52 -0
  37. package/tsconfig.json +12 -13
  38. package/virtual.ts +7528 -0
  39. package/workloadlaw.ts +293 -0
  40. package/dist/App.d.ts +0 -5
  41. package/dist/App.js +0 -52
  42. package/dist/Sol/Sol.d.ts +0 -3
  43. package/dist/Sol/Sol.js +0 -46
  44. package/dist/Sol/agentbrowser/agentbrowser.d.ts +0 -9
  45. package/dist/Sol/agentbrowser/agentbrowser.js +0 -121
  46. package/dist/Sol/architecture/architecture.d.ts +0 -9
  47. package/dist/Sol/architecture/architecture.js +0 -93
  48. package/dist/Sol/compute/compute.d.ts +0 -9
  49. package/dist/Sol/compute/compute.js +0 -22
  50. package/dist/Sol/console/console.d.ts +0 -15
  51. package/dist/Sol/console/console.js +0 -292
  52. package/dist/Sol/dashboard/dashboard.d.ts +0 -10
  53. package/dist/Sol/dashboard/dashboard.js +0 -181
  54. package/dist/Sol/docs/docs.d.ts +0 -9
  55. package/dist/Sol/docs/docs.js +0 -28
  56. package/dist/Sol/home/home.d.ts +0 -35
  57. package/dist/Sol/home/home.js +0 -239
  58. package/dist/Sol/integrations/integrations.d.ts +0 -9
  59. package/dist/Sol/integrations/integrations.js +0 -83
  60. package/dist/Sol/intro/intro.d.ts +0 -7
  61. package/dist/Sol/intro/intro.js +0 -102
  62. package/dist/Sol/login/login.d.ts +0 -16
  63. package/dist/Sol/login/login.js +0 -49
  64. package/dist/Sol/notfound/notfound.d.ts +0 -9
  65. package/dist/Sol/notfound/notfound.js +0 -15
  66. package/dist/Sol/onboarding/onboarding.d.ts +0 -25
  67. package/dist/Sol/onboarding/onboarding.js +0 -60
  68. package/dist/Sol/playground/playground.d.ts +0 -9
  69. package/dist/Sol/playground/playground.js +0 -127
  70. package/dist/Sol/register/register.d.ts +0 -16
  71. package/dist/Sol/register/register.js +0 -193
  72. package/dist/Sol/shell/Shell.d.ts +0 -124
  73. package/dist/Sol/shell/Shell.js +0 -335
  74. package/dist/Sol/wingets/ComputeBootladder.d.ts +0 -6
  75. package/dist/Sol/wingets/ComputeBootladder.js +0 -71
  76. package/dist/Sol/wingets/ComputeModalitycatalog.d.ts +0 -7
  77. package/dist/Sol/wingets/ComputeModalitycatalog.js +0 -71
  78. package/dist/Sol/wingets/ConsoleApibadge.d.ts +0 -7
  79. package/dist/Sol/wingets/ConsoleApibadge.js +0 -5
  80. package/dist/Sol/wingets/ConsoleEdgelaw.d.ts +0 -6
  81. package/dist/Sol/wingets/ConsoleEdgelaw.js +0 -36
  82. package/dist/Sol/wingets/ConsoleEventstimeline.d.ts +0 -19
  83. package/dist/Sol/wingets/ConsoleEventstimeline.js +0 -12
  84. package/dist/Sol/wingets/ConsoleSnapshotcontrols.d.ts +0 -8
  85. package/dist/Sol/wingets/ConsoleSnapshotcontrols.js +0 -8
  86. package/dist/Sol/wingets/ConsoleSpecpanel.d.ts +0 -21
  87. package/dist/Sol/wingets/ConsoleSpecpanel.js +0 -75
  88. package/dist/Sol/wingets/ConsoleTerminal.d.ts +0 -22
  89. package/dist/Sol/wingets/ConsoleTerminal.js +0 -77
  90. package/dist/Sol/wingets/DashboardAccountpanel.d.ts +0 -18
  91. package/dist/Sol/wingets/DashboardAccountpanel.js +0 -65
  92. package/dist/Sol/wingets/DashboardAdminpanel.d.ts +0 -6
  93. package/dist/Sol/wingets/DashboardAdminpanel.js +0 -90
  94. package/dist/Sol/wingets/DashboardAuditlog.d.ts +0 -8
  95. package/dist/Sol/wingets/DashboardAuditlog.js +0 -50
  96. package/dist/Sol/wingets/DashboardCreatesandboxform.d.ts +0 -10
  97. package/dist/Sol/wingets/DashboardCreatesandboxform.js +0 -71
  98. package/dist/Sol/wingets/DashboardEventstimeline.d.ts +0 -8
  99. package/dist/Sol/wingets/DashboardEventstimeline.js +0 -83
  100. package/dist/Sol/wingets/DashboardGlobalsandboxestable.d.ts +0 -8
  101. package/dist/Sol/wingets/DashboardGlobalsandboxestable.js +0 -57
  102. package/dist/Sol/wingets/DashboardMeshnodestable.d.ts +0 -8
  103. package/dist/Sol/wingets/DashboardMeshnodestable.js +0 -103
  104. package/dist/Sol/wingets/DashboardSandboxlist.d.ts +0 -10
  105. package/dist/Sol/wingets/DashboardSandboxlist.js +0 -163
  106. package/dist/Sol/wingets/DashboardUserstable.d.ts +0 -8
  107. package/dist/Sol/wingets/DashboardUserstable.js +0 -78
  108. package/dist/Sol/wingets/HomeEntrygate.d.ts +0 -23
  109. package/dist/Sol/wingets/HomeEntrygate.js +0 -73
  110. package/dist/Sol/wingets/HomeMetricstrip.d.ts +0 -9
  111. package/dist/Sol/wingets/HomeMetricstrip.js +0 -4
  112. package/dist/Sol/wingets/HomeRuntimediagram.d.ts +0 -1
  113. package/dist/Sol/wingets/HomeRuntimediagram.js +0 -22
  114. package/dist/Sol/wingets/LoginForm.d.ts +0 -19
  115. package/dist/Sol/wingets/LoginForm.js +0 -141
  116. package/dist/Sol/wingets/RegisterPasswordconfirm.d.ts +0 -13
  117. package/dist/Sol/wingets/RegisterPasswordconfirm.js +0 -16
  118. package/dist/Sol/wingets/RegisterPasswordmeter.d.ts +0 -19
  119. package/dist/Sol/wingets/RegisterPasswordmeter.js +0 -65
  120. package/dist/Sol/wingets/RegisterUsernamerules.d.ts +0 -11
  121. package/dist/Sol/wingets/RegisterUsernamerules.js +0 -16
  122. package/dist/Sol/wingets/index.d.ts +0 -39
  123. package/dist/Sol/wingets/index.js +0 -39
  124. package/dist/alternatives.d.ts +0 -508
  125. package/dist/alternatives.js +0 -950
  126. package/dist/api.d.ts +0 -154
  127. package/dist/api.js +0 -174
  128. package/dist/auth.d.ts +0 -268
  129. package/dist/auth.js +0 -476
  130. package/dist/automation.d.ts +0 -425
  131. package/dist/automation.js +0 -566
  132. package/dist/browser.d.ts +0 -561
  133. package/dist/browser.js +0 -1058
  134. package/dist/capacitor.config.d.ts +0 -45
  135. package/dist/capacitor.config.js +0 -48
  136. package/dist/catalog.d.ts +0 -43
  137. package/dist/catalog.js +0 -44
  138. package/dist/cli.d.ts +0 -16
  139. package/dist/cli.js +0 -168
  140. package/dist/communication.d.ts +0 -181
  141. package/dist/communication.js +0 -376
  142. package/dist/compute.d.ts +0 -1160
  143. package/dist/compute.js +0 -2272
  144. package/dist/dashboardlib.d.ts +0 -58
  145. package/dist/dashboardlib.js +0 -161
  146. package/dist/db.d.ts +0 -569
  147. package/dist/db.js +0 -1080
  148. package/dist/distribution.d.ts +0 -528
  149. package/dist/distribution.js +0 -810
  150. package/dist/drizzle.config.d.ts +0 -20
  151. package/dist/drizzle.config.js +0 -18
  152. package/dist/edgelandes.d.ts +0 -70
  153. package/dist/edgelandes.host.d.ts +0 -26
  154. package/dist/edgelandes.host.js +0 -1089
  155. package/dist/edgelandes.inproc.d.ts +0 -27
  156. package/dist/edgelandes.inproc.js +0 -952
  157. package/dist/edgelandes.js +0 -1133
  158. package/dist/edgelandes.ninety.d.ts +0 -31
  159. package/dist/edgelandes.ninety.js +0 -174
  160. package/dist/edgelandes.virtual.d.ts +0 -25
  161. package/dist/edgelandes.virtual.js +0 -629
  162. package/dist/edgeplane.d.ts +0 -121
  163. package/dist/edgeplane.js +0 -341
  164. package/dist/examplelocaljob.d.ts +0 -1
  165. package/dist/examplelocaljob.js +0 -14
  166. package/dist/execution.d.ts +0 -529
  167. package/dist/execution.js +0 -760
  168. package/dist/family.d.ts +0 -16
  169. package/dist/family.js +0 -42
  170. package/dist/familyurl.d.ts +0 -21
  171. package/dist/familyurl.js +0 -24
  172. package/dist/format.d.ts +0 -18
  173. package/dist/format.js +0 -59
  174. package/dist/foundation.d.ts +0 -172
  175. package/dist/foundation.js +0 -312
  176. package/dist/index.d.ts +0 -735
  177. package/dist/index.js +0 -1020
  178. package/dist/integration.d.ts +0 -235
  179. package/dist/integration.js +0 -228
  180. package/dist/intelligence.d.ts +0 -93
  181. package/dist/intelligence.js +0 -144
  182. package/dist/isolation.d.ts +0 -128
  183. package/dist/isolation.js +0 -95
  184. package/dist/labels.d.ts +0 -665
  185. package/dist/labels.js +0 -707
  186. package/dist/localauth.d.ts +0 -127
  187. package/dist/localauth.js +0 -413
  188. package/dist/media.d.ts +0 -343
  189. package/dist/media.js +0 -985
  190. package/dist/mesh.d.ts +0 -177
  191. package/dist/mesh.js +0 -468
  192. package/dist/modalityregistry.d.ts +0 -109
  193. package/dist/modalityregistry.js +0 -1386
  194. package/dist/modes.d.ts +0 -358
  195. package/dist/modes.js +0 -133
  196. package/dist/onboardingstate.d.ts +0 -79
  197. package/dist/onboardingstate.js +0 -282
  198. package/dist/orchestrator.d.ts +0 -1338
  199. package/dist/orchestrator.js +0 -4310
  200. package/dist/packager/targetcli.js +0 -4
  201. package/dist/paths.d.ts +0 -2
  202. package/dist/paths.js +0 -14
  203. package/dist/performance.d.ts +0 -415
  204. package/dist/performance.js +0 -826
  205. package/dist/quantum.d.ts +0 -809
  206. package/dist/quantum.js +0 -2072
  207. package/dist/render.d.ts +0 -380
  208. package/dist/render.js +0 -1072
  209. package/dist/runall.d.ts +0 -2
  210. package/dist/runall.js +0 -39
  211. package/dist/runtimeprobe.d.ts +0 -4
  212. package/dist/runtimeprobe.js +0 -8
  213. package/dist/sandbox.d.ts +0 -355
  214. package/dist/sandbox.js +0 -1721
  215. package/dist/sandboxenvprofile.d.ts +0 -29
  216. package/dist/sandboxenvprofile.js +0 -89
  217. package/dist/sandboxprofile.d.ts +0 -137
  218. package/dist/sandboxprofile.js +0 -241
  219. package/dist/sandboxqueue.d.ts +0 -108
  220. package/dist/sandboxqueue.js +0 -201
  221. package/dist/sandboxquota.d.ts +0 -121
  222. package/dist/sandboxquota.js +0 -236
  223. package/dist/scheduler.d.ts +0 -595
  224. package/dist/scheduler.js +0 -1258
  225. package/dist/scriptlanes.d.ts +0 -182
  226. package/dist/scriptlanes.js +0 -660
  227. package/dist/scripts.buildengine.d.ts +0 -1
  228. package/dist/scripts.buildengine.js +0 -39
  229. package/dist/scripts.securitygate.d.ts +0 -1
  230. package/dist/scripts.securitygate.js +0 -68
  231. package/dist/scripts.validateflatnative.d.ts +0 -1
  232. package/dist/scripts.validateflatnative.js +0 -72
  233. package/dist/security.d.ts +0 -500
  234. package/dist/security.js +0 -1169
  235. package/dist/seedcatalog.d.ts +0 -13
  236. package/dist/seedcatalog.js +0 -46
  237. package/dist/server.d.ts +0 -20
  238. package/dist/server.js +0 -53
  239. package/dist/speccatalog.d.ts +0 -31
  240. package/dist/speccatalog.js +0 -163
  241. package/dist/tiers.d.ts +0 -1001
  242. package/dist/tiers.js +0 -2169
  243. package/dist/utils.d.ts +0 -2
  244. package/dist/utils.js +0 -5
  245. package/dist/vaulthandoff.d.ts +0 -141
  246. package/dist/vaulthandoff.js +0 -444
  247. package/dist/virtual.d.ts +0 -640
  248. package/dist/virtual.js +0 -1284
  249. package/dist/virtualcpu.d.ts +0 -315
  250. package/dist/virtualcpu.js +0 -1180
  251. package/dist/virtualgpu.d.ts +0 -344
  252. package/dist/virtualgpu.js +0 -1000
  253. package/dist/virtualization.d.ts +0 -606
  254. package/dist/virtualization.js +0 -1186
  255. package/dist/virtualmemory.d.ts +0 -817
  256. package/dist/virtualmemory.js +0 -1795
  257. package/dist/vite.config.d.ts +0 -3
  258. package/dist/vite.config.js +0 -48
  259. package/dist/vitest.config.d.ts +0 -2
  260. package/dist/vitest.config.js +0 -25
  261. package/dist/webserver.d.ts +0 -166
  262. package/dist/webserver.js +0 -2226
  263. package/dist/workloadlaw.d.ts +0 -133
  264. package/dist/workloadlaw.js +0 -193
  265. package/docs/.gitkeep +0 -0
  266. package/docs/architecture.1.8.19.md +0 -76
  267. package/docs/logs/examplesession.json +0 -54
  268. package/docs/repo.analysis.1.8.21.json +0 -2617
  269. package/docs/repo.candidates.1.8.21.jsonl +0 -666
  270. package/docs/repo.selected.1.8.21.json +0 -786
  271. package/manifest.json +0 -20
  272. package/media.ts +0 -1337
  273. package/virtualcpu.ts +0 -1274
  274. package/virtualgpu.ts +0 -1182
  275. package/virtualization.ts +0 -1628
  276. package/virtualmemory.ts +0 -2303
  277. /package/docs/{artifactresearch.1.8.9.md → artifactresearch189.md} +0 -0
  278. /package/docs/{batches.1816.to.1820.md → batches1816to1820.md} +0 -0
  279. /package/docs/{brancharchive.2026.08.18.md → brancharchive20260818.md} +0 -0
  280. /package/docs/{containerplatforms.1.8.17.md → containerplatforms1817.md} +0 -0
  281. /package/docs/{e2ugh.engine.md → e2ughengine.md} +0 -0
  282. /package/docs/{flatbuildresearch.1.8.11.md → flatbuildresearch1811.md} +0 -0
  283. /package/docs/{licenseaudit.1.8.12.md → licenseaudit1812.md} +0 -0
  284. /package/docs/{mobileconversionresearch.1.8.10.md → mobileconversionresearch1810.md} +0 -0
  285. /package/docs/{nativeidentityresearch.1.8.11.md → nativeidentityresearch1811.md} +0 -0
  286. /package/docs/{native.wrappers.md → nativewrappers.md} +0 -0
  287. /package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
  288. /package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
  289. /package/docs/{planning.engine.md → planningengine.md} +0 -0
  290. /package/docs/{releasenotes.1.8.12.md → releasenotes1812.md} +0 -0
  291. /package/docs/{releasenotes.1.8.15.md → releasenotes1815.md} +0 -0
  292. /package/docs/{releasenotes.1.8.16.md → releasenotes1816.md} +0 -0
  293. /package/docs/{releasenotes.1.8.17.md → releasenotes1817.md} +0 -0
  294. /package/docs/{releasenotes.1.8.18.md → releasenotes1818.md} +0 -0
  295. /package/docs/{releasenotes.1.8.19.md → releasenotes1819.md} +0 -0
  296. /package/docs/{reorganization.1.8.8.md → reorganization188.md} +0 -0
  297. /package/docs/{reorganization.1.8.9.md → reorganization189.md} +0 -0
  298. /package/docs/{repo.research.1.8.16.md → reporesearch1816.md} +0 -0
  299. /package/docs/{repo.research.1.8.21.md → reporesearch1821.md} +0 -0
  300. /package/docs/{repo.synthesis.1.8.21.md → reposynthesis1821.md} +0 -0
  301. /package/docs/{research.1.8.18.isolation.md → research1818isolation.md} +0 -0
  302. /package/docs/{research.1.8.19.virtual.browser.md → research1819virtualbrowser.md} +0 -0
  303. /package/docs/{scanningresearch.1.8.11.md → scanningresearch1811.md} +0 -0
  304. /package/docs/{securityaudit.1.8.7.md → securityaudit187.md} +0 -0
  305. /package/docs/{securityreferences.1.8.11.md → securityreferences1811.md} +0 -0
  306. /package/docs/{securityresearch.1.8.11.md → securityresearch1811.md} +0 -0
  307. /package/docs/{signingresearch.1.8.12.md → signingresearch1812.md} +0 -0
  308. /package/docs/{tauri.glib.risk.1.8.11.md → tauriglibrisk1811.md} +0 -0
  309. /package/docs/{todo.1.8.18.md → todo1818.md} +0 -0
  310. /package/docs/{todo.1.8.19.md → todo1819.md} +0 -0
  311. /package/docs/{toolchainresearch.1.8.9.md → toolchainresearch189.md} +0 -0
  312. /package/docs/{web.duplicatecleanup.md → webduplicatecleanup.md} +0 -0
  313. /package/docs/{web.ideas.md → webideas.md} +0 -0
  314. /package/docs/{workflowimprovements.2026.08.19.md → workflowimprovements20260819.md} +0 -0
package/dist/media.d.ts DELETED
@@ -1,343 +0,0 @@
1
- /**
2
- * media.ts — media pipeline and transcode domain for saddle v6.
3
- *
4
- * the module absorbs the media-facing halves of the pool
5
- * pipelinememorypassage.ts (saddle v6 orchestrator) and
6
- * src_pipeline_memory_passage.ts (saddle v5 mttg pipeline) that were
7
- * still unique after the v3 consolidation:
8
- * - the 24-stage GPU-accelerated transcode pipeline as a pure catalog
9
- * plus an executing pipeline (stage ordering, skip rules, fail-fast,
10
- * abort, chunked batch concurrency, stage-count invariant 24)
11
- * - ffmpeg 7.1 NVENC Blackwell command synthesis: presets p1-p7, rc
12
- * vbr_hq with cq 23, multipass 2, b_ref_mode 2 (b-frames as
13
- * reference), temporal aq with rc-lookahead 32, bwdif_cuda,
14
- * scale_cuda super, tonemap_cuda hable/bt2390 with colorspace_cuda
15
- * bt2020->bt709, av1 tier high
16
- * - the createoptimal encoder policy of the pool encoding optimization
17
- * manager: AV1 at 4K+ forces the Blackwell dual NVENC path, h264
18
- * ultra-low-latency prefers QuickSync, plus the preset recommender
19
- * (ultra low latency p1, low latency p2, live p3, vod av1 p5, vod
20
- * hevc p6, default p4) and the per-gpu instance recommender
21
- * - the passage secure channel contract: transport vsock+virtio-serial,
22
- * ed25519 signatures over chacha20-poly1305 sealed frames, MTU
23
- * 65536, 10000 Mbps rate limit, 256 concurrent streams, 150 us
24
- * latency target
25
- * - the ~30 transcode mode taxonomy of the library-first surface
26
- *
27
- * the memory-modularizer half of the same pool files (zram, hugepages,
28
- * CXL type-3 tiering, CCD-aware vCPU pinning) is already absorbed in
29
- * virtualmemory.ts (memorymodularizer) and is intentionally not
30
- * duplicated here; the pipeline consumes a plan digest only.
31
- *
32
- * provenance: pool:pipelinememorypassage.ts [S6 v6, 24 stages],
33
- * pool:src_pipeline_memory_passage.ts [V5 src_mttg_pipeline ordering],
34
- * pool:mttg.config transcode section (ffmpeg 7.1.1, nvenc sdk 13.0.19),
35
- * pool:src_virtualization_core.cpp create_optimal (encoder policy).
36
- *
37
- * rules: lowercase identifiers, english jsdoc third person, no emoji,
38
- * try/catch catcher on every fallible path, node:* built-ins first,
39
- * zero runtime dependencies, `satisfies`/`#private` throughout, no
40
- * filesystem or process coupling (pure library).
41
- */
42
- /**
43
- * frozen media toolchain anchors. the pool registry pinned node 22.12.3
44
- * / ts 5.6.3 / qemu 9.1.2 which the v3 pin patch superseded; the media
45
- * specific values (ffmpeg release line, NVENC SDK, CUDA floor, Blackwell
46
- * driver) are preserved verbatim from the pool registry.
47
- */
48
- export declare const mediaversions: {
49
- readonly date: '2026-08-22';
50
- readonly ffmpeg: '7.1.1';
51
- readonly ffmpegNote: '7.1 released 2024-09-30; 7.1.1 is the 2026-08-22 stable';
52
- readonly nvencSdk: '13.0.19';
53
- readonly nvencGeneration: 9;
54
- readonly nvdecGeneration: 6;
55
- readonly cuda: '12.8';
56
- readonly cudaNote: 'Blackwell GB202 requires >= 12.8; pool registry cited 12.8.93 with an early 13.0.48 alt';
57
- readonly driver: '580.82.07';
58
- readonly driverNote: 'production branch for Blackwell + NVENC SDK 13.0; repo also carries 570.144 vgpu-manual anchors';
59
- readonly stages: 24;
60
- readonly modes: 30;
61
- };
62
- /** media pipeline failure envelope with stage and recoverability. */
63
- export declare class mediapipelineerror extends Error {
64
- readonly code: string;
65
- readonly stage?: string;
66
- readonly recoverable: boolean;
67
- readonly traceid: string;
68
- constructor(params: {
69
- code: string;
70
- message: string;
71
- stage?: string;
72
- recoverable?: boolean;
73
- });
74
- }
75
- /**
76
- * NVENC preset taxonomy of the Blackwell SDK: p1 is fastest, p7 is the
77
- * highest-quality two-pass point and p4 is the balanced 2026 default.
78
- */
79
- export type nvencpreset = 'p1' | 'p2' | 'p3' | 'p4' | 'p5' | 'p6' | 'p7';
80
- /** ordered preset ladder from fastest to highest quality. */
81
- export declare const nvencpresetladder: readonly nvencpreset[];
82
- /** per-preset character used by the ffmpeg builder and the recommender. */
83
- export declare const nvencpresets: readonly {
84
- readonly preset: nvencpreset;
85
- readonly speed: number;
86
- readonly multipass: 'disabled' | 'qres' | 'fullres';
87
- readonly use: string;
88
- }[];
89
- /** resolves one preset descriptor or undefined when out of ladder. */
90
- export declare function getnvencpreset(preset: nvencpreset): {
91
- readonly preset: nvencpreset;
92
- readonly speed: number;
93
- readonly multipass: 'disabled' | 'qres' | 'fullres';
94
- readonly use: string;
95
- };
96
- /**
97
- * the transcode mode taxonomy: 30 modes spanning codec conversion,
98
- * HDR tone mapping, scaling, denoise, subtitle burn, VMAF targeting,
99
- * rate-control strategies and packaging.
100
- */
101
- export type transcodemode = 'hevc_to_av1_b200' | 'avc_to_hevc_blackwell' | 'av1_to_hevc_hdr' | 'hevc_hdr_to_av1_sdr_tonemap' | 'av1_8k_to_4k_blackwell' | '4k_to_1080p_nvenc' | '4k_to_720p_mobile' | 'dash_hls_packaging' | 'remux_fast' | 'audio_only_aac_opus' | 'hdr10plus_dolbyvision_passthrough' | 'tonemap_hable_cuda' | 'tonemap_mobius_cuda' | 'tonemap_reinhard_cuda' | 'deinterlace_bwdif_cuda' | 'denoise_hqdn3d_cuda' | 'scale_npp_bicubic' | 'scale_npp_lanczos' | 'subburn_ass_cuda' | 'thumbnail_vmaf' | 'vmaf_target_95' | 'vmaf_target_93' | 'vmaf_target_90' | 'cqp_high_quality' | 'cbr_low_latency' | 'vbr_hq_2pass' | 'll_hq_temporal_filter' | 'fastdecode_fmp4' | 'prores_to_av1_archive' | 'av1_hdr10_to_sdr';
102
- /** one catalog row: mode, family and the pipeline stages it stresses. */
103
- export interface transcodemodeentry {
104
- readonly mode: transcodemode;
105
- readonly family: 'codec-conversion' | 'hdr-tonemap' | 'scale' | 'filters' | 'audio' | 'quality-metrics' | 'rate-control' | 'packaging';
106
- readonly note: string;
107
- }
108
- /** the 30-mode catalog in taxonomy order. */
109
- export declare const transcodemodecatalog: readonly transcodemodeentry[];
110
- /** counts the catalog and asserts the 30-mode library-first surface. */
111
- export declare function transcodemodecount(): number;
112
- /** ffprobe 7.1 style inspection of one input. */
113
- export interface mediaprobe {
114
- readonly durationsec: number;
115
- readonly video?: {
116
- readonly codec: 'h264' | 'hevc' | 'av1' | 'prores' | 'vp9';
117
- readonly width: number;
118
- readonly height: number;
119
- readonly fps: number;
120
- readonly bitdepth: 8 | 10 | 12;
121
- readonly hdr: boolean;
122
- readonly interlaced: boolean;
123
- readonly hdr10plus?: boolean;
124
- readonly dolbyvision?: boolean;
125
- };
126
- readonly audio: ReadonlyArray<{
127
- codec: string;
128
- samplerate: number;
129
- channels: number;
130
- }>;
131
- readonly estimatedworkingsetmb: number;
132
- }
133
- /** the requested output rendering of one job. */
134
- export interface outputprofile {
135
- readonly videocodec: 'h264' | 'hevc' | 'av1';
136
- readonly audiocodec: 'aac' | 'opus' | 'ac3';
137
- readonly resolution: {
138
- readonly w: number;
139
- readonly h: number;
140
- };
141
- readonly bitratekbps: number;
142
- readonly preset: nvencpreset;
143
- readonly tonemap: boolean;
144
- readonly vmaftarget?: number;
145
- readonly bframes?: number;
146
- readonly gopsec?: number;
147
- }
148
- /** one queued transcode job; MTTG priority 0..3 maps to QoS classes. */
149
- export interface mediajob {
150
- readonly id: string;
151
- readonly inputpath: string;
152
- readonly outputpath: string;
153
- readonly mode: transcodemode;
154
- readonly outputprofile: outputprofile;
155
- readonly priority: 0 | 1 | 2 | 3;
156
- readonly metadata?: {
157
- readonly subtitlepath?: string;
158
- readonly logopath?: string;
159
- readonly passagevmid?: string;
160
- };
161
- /** digest of the host memory plan produced by virtualmemory.ts. */
162
- readonly memoryplandigest?: string;
163
- }
164
- /**
165
- * the canonical 24 stage names of the saddle v6 pipeline, preserved
166
- * verbatim (numbered pool identifiers are catalog data, not new code
167
- * identifiers).
168
- */
169
- export type stageid = '01_ingest_audit' | '02_probe_ffprobe71' | '03_tieredmemory_reserve' | '04_hugepage_alloc_2m1g' | '05_zram_lzorle_zstd' | '06_cxl_map_v2_v3' | '07_vcpu_pin_ccd_x3d' | '08_hwaccel_detect_blackwell' | '09_hwupload_cuda' | '10DeinterlaceBwdifCuda' | '11_scale_cuda_npp' | '12TonemapBt2020Cuda' | '13DenoiseCuda' | '14_color_mgmt' | '15_nvenc_blackwell_encode' | '16QsvFallback' | '17_audio_transcode' | '18SubtitleBurn' | '19_mux_container' | '20_passage_message_vsock' | '21_qemu_balloon_notify' | '22_tiered_reclaim' | '23_mttg_slice_report' | '24_artifact_gc_finalize';
170
- /** one catalog row of the 24-stage table. */
171
- export interface stageentry {
172
- readonly name: stageid;
173
- readonly index: number;
174
- readonly description: string;
175
- readonly gpurequired: boolean;
176
- /** stages that the pool marks skippable through a skipIf predicate. */
177
- readonly skippable: boolean;
178
- }
179
- /**
180
- * the 24-stage catalog sequenced for maximum cache affinity: CCD0
181
- * V-Cache carries the video filter chain, CCD1 carries audio, mux and
182
- * io, memory stages (03-07) precede any GPU work.
183
- */
184
- export declare const stagecatalog: readonly stageentry[];
185
- /**
186
- * the alternate v5 ordering of src_mttg_pipeline.ts kept as provenance:
187
- * demux/decode walk, crop_pad, overlay_logo, sharpen, thumbnail and
188
- * upload_egress stages that the v6 line folded into other stages.
189
- */
190
- export declare const stageorderv5: readonly string[];
191
- /** validates the stage catalog invariant: 24 stages, indexes 1..24. */
192
- export declare function validatestagecatalog(): {
193
- count: number;
194
- ordered: boolean;
195
- };
196
- /** codec name to ffmpeg nvenc encoder mapping (Blackwell 9th gen). */
197
- export declare const nvencencodernames: Readonly<Record<'h264' | 'hevc' | 'av1', string>>;
198
- /**
199
- * synthesizes the ffmpeg 7.1 argv for one stage. the encode stage
200
- * builds the full filter chain (deinterlace, scale, tone map) plus the
201
- * NVENC block: preset p1..p7, rc vbr_hq, cq 23, 1.5x maxrate ceiling,
202
- * multipass 2, b-frames with b_ref_mode 2, temporal aq with
203
- * rc-lookahead 32, gpu device index and, for av1, tier high / main
204
- * profile. the deinterlace and scale stages emit preview null-output
205
- * commands at preset p1.
206
- */
207
- export declare function buildffmpegcommand(job: mediajob, probe: mediaprobe, stage: stageid, gpuid?: number): readonly string[];
208
- /** encoder backend vendors of the pool policy plus the software floor. */
209
- export type encodervendor = 'nvidianvenc' | 'intelqsv' | 'amdamf' | 'softwarex265';
210
- /** encoder tune axes used by the preset recommender. */
211
- export type encodertune = 'ultralowlatency' | 'lowlatency' | 'quality';
212
- /** the decision record returned by createoptimal. */
213
- export interface optimalencoder {
214
- readonly vendor: encodervendor;
215
- readonly preset: nvencpreset;
216
- readonly reason: string;
217
- readonly maxinstances: number;
218
- }
219
- /**
220
- * the createoptimal policy distilled from the pool encoding
221
- * optimization manager: AV1 at 4K or above forces the Blackwell NVENC
222
- * dual-encoder path (best AV1 quality of 2026), h264 under an
223
- * ultra-low-latency tune prefers QuickSync (conferencing), an amd host
224
- * prefers AMF for 1080p power efficiency, and everything else falls
225
- * back to the software x265 + SVT-AV1 pair when no gpu matches.
226
- */
227
- export declare function createoptimal(job: mediajob, probe: mediaprobe, preferred?: encodervendor): optimalencoder;
228
- /**
229
- * maps codec + tune + liveness to the preset ladder, mirroring the pool
230
- * recommend_preset: ultra low latency p1, low latency p2, live p3
231
- * (av1 needs the faster point), vod av1 p5, vod hevc p6, otherwise p4.
232
- */
233
- export declare function recommendpreset(codec: 'h264' | 'hevc' | 'av1', tune: encodertune, live: boolean): nvencpreset;
234
- /**
235
- * recommends the concurrent encode instances for one gpu: pixel count
236
- * throttles the session count, the software floor is 32 (the pool
237
- * benchmark helper skips it anyway).
238
- */
239
- export declare function recommendmaxinstances(vendor: encodervendor, codec: 'h264' | 'hevc' | 'av1', width: number, height: number): number;
240
- /**
241
- * the passage channel contract mirrored from passage.config: control
242
- * over vsock, data over virtio-serial, bulk over virtiofs, frames
243
- * sealed with chacha20-poly1305 and signed with ed25519, MTU 65536.
244
- */
245
- export interface passagechannelsettings {
246
- readonly transport: 'vsock+virtio-serial' | 'vsock';
247
- readonly encryption: 'chacha20-poly1305';
248
- readonly auth: 'ed25519';
249
- readonly control: string;
250
- readonly data: string;
251
- readonly bulk: string;
252
- readonly mtu: 65536;
253
- readonly ratelimitmbps: 10000;
254
- readonly maxstreams: 256;
255
- readonly latencytargetus: 150;
256
- }
257
- /** default channel endpoints (vsock cid 2 port 1024 contract). */
258
- export declare const defaultpassagechannel: passagechannelsettings;
259
- /** one sealed passage frame ready for the vsock write. */
260
- export interface passageframe {
261
- readonly payload: Buffer;
262
- readonly nonce: Buffer;
263
- readonly signature: Buffer;
264
- readonly truncated: boolean;
265
- }
266
- /**
267
- * the secure passage channel of stage 20: every message is sealed with
268
- * ChaCha20-Poly1305 (RFC 8439, reusing the security.ts AEAD helpers)
269
- * and signed with a per-channel ed25519 key pair; frames larger than
270
- * the 65536 MTU are split and marked truncated so the peer can
271
- * reassemble over the 256-stream budget.
272
- */
273
- export declare class passagesecurechannel {
274
- #private;
275
- readonly settings: passagechannelsettings;
276
- constructor(settings?: passagechannelsettings);
277
- /** exports the spki public key peers use to verify signatures. */
278
- publickey(): Buffer;
279
- /** seals and signs one message, splitting at the 65536 MTU. */
280
- seal(message: string | Buffer, key?: Buffer): readonly passageframe[];
281
- /** verifies and opens one frame back into plaintext. */
282
- open(frame: passageframe, key?: Buffer): Buffer;
283
- /** deterministically derives the symmetric frame key for the channel. */
284
- framekey(): Buffer;
285
- }
286
- /** per-stage measurement record. */
287
- export interface stagerecord {
288
- readonly stage: stageid;
289
- readonly index: number;
290
- readonly skipped: boolean;
291
- readonly success: boolean;
292
- readonly gpurequired: boolean;
293
- readonly error?: string;
294
- }
295
- /** result of one job executed through the 24 stages. */
296
- export interface jobresult {
297
- readonly jobid: string;
298
- readonly success: boolean;
299
- readonly metrics: readonly stagerecord[];
300
- readonly ffmpegpreview: readonly string[];
301
- readonly passageframes: number;
302
- }
303
- /**
304
- * the executing 24-stage pipeline. stages 03-07 validate the memory
305
- * plan digest handed over by virtualmemory.ts (no planner duplication),
306
- * the gpu stages synthesize real ffmpeg argv through the builder, and
307
- * stage 20 pushes one sealed passage frame per notification message.
308
- * fail-fast is honored: the first non-recoverable failure stops the
309
- * walk, recoverable failures continue unless failfast is disabled.
310
- */
311
- export declare class mediapipeline {
312
- #private;
313
- readonly failfast: boolean;
314
- readonly channel: passagesecurechannel;
315
- constructor(options?: {
316
- failfast?: boolean;
317
- channel?: passagesecurechannel;
318
- });
319
- /**
320
- * executes one job through the 24 stages. probe drives every skip
321
- * rule: interlaced inputs keep stage 10, HDR sources with a tone-map
322
- * request keep stage 12, subtitle and logo paths keep stage 18, and
323
- * a Blackwell vendor keeps stage 16 skipped (qsv fallback).
324
- */
325
- executejob(job: mediajob, probe: mediaprobe, signal?: AbortSignal): jobresult;
326
- /** chunked batch execution honoring a max concurrency. */
327
- executebatch(jobs: readonly mediajob[], probes: readonly mediaprobe[], maxconcurrent?: number): readonly jobresult[];
328
- }
329
- /**
330
- * filename-hint prober mirroring the pool probeMedia heuristic: names
331
- * carrying hdr/10bit probe as HDR, interlaced names as interlaced and
332
- * 4k/2160 names as 3840x2160.
333
- */
334
- export declare function probefromname(inputpath: string): mediaprobe;
335
- /** provenance row for the compute/domain absorption index. */
336
- export declare const mediafeatureindex: readonly {
337
- id: string;
338
- origin: string;
339
- name: string;
340
- exportname: string;
341
- }[];
342
- /** default export keeps the pool orchestrator naming lineage visible. */
343
- export default mediapipeline;