@wenathlan/saddle 2.1.5 → 2.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/Dockerfile +158 -60
  2. package/LICENSE +0 -0
  3. package/README.md +68 -53
  4. package/alternatives.ts +0 -0
  5. package/biome.jsonc +134 -0
  6. package/boards.json +2 -2
  7. package/compute.ts +4 -4
  8. package/cores.json +2 -2
  9. package/docker.config +37 -9
  10. package/docs/.gitkeep +0 -0
  11. package/docs/actionrecorder.md +0 -0
  12. package/docs/actionsincident.md +0 -0
  13. package/docs/alternatives.md +0 -0
  14. package/docs/architecture.md +0 -0
  15. package/docs/{architecture-1.8.19.md → architecture1819.md} +0 -0
  16. package/docs/{architecture-1.8.19.mmd → architecture1819.mmd} +0 -0
  17. package/docs/artifactavailability.md +2 -2
  18. package/docs/{artifactresearch-1.8.9.md → artifactresearch189.md} +0 -0
  19. package/docs/{batches-1816-1820.md → batches1816to1820.md} +0 -0
  20. package/docs/{brancharchive-2026-08-18.md → brancharchive20260818.md} +0 -0
  21. package/docs/branchaudit.md +0 -0
  22. package/docs/browser.md +0 -0
  23. package/docs/capabilityreport.md +0 -0
  24. package/docs/comparativeaudit.md +0 -0
  25. package/docs/consolidation.md +0 -0
  26. package/docs/{containerplatforms-1.8.17.md → containerplatforms1817.md} +0 -0
  27. package/docs/{containerplatforms-2.1.0.md → containerplatforms210.md} +1 -1
  28. package/docs/{documentmap-1.8.12.md → documentmap1812.md} +1 -1
  29. package/docs/{e2ugh-engine.md → e2ughengine.md} +0 -0
  30. package/docs/ecosystemplan.md +0 -0
  31. package/docs/enginearchitecture.md +0 -0
  32. package/docs/extension.md +0 -0
  33. package/docs/featureaudit.md +0 -0
  34. package/docs/{flatbuildresearch-1.8.11.md → flatbuildresearch1811.md} +0 -0
  35. package/docs/gapmatrix.md +0 -0
  36. package/docs/hardware.md +0 -0
  37. package/docs/libraryapi.md +0 -0
  38. package/docs/{licenseaudit-1.8.12.md → licenseaudit1812.md} +0 -0
  39. package/docs/logs/examplesession.json +54 -0
  40. package/docs/memoryengine.md +0 -0
  41. package/docs/{mobileconversionresearch-1.8.10.md → mobileconversionresearch1810.md} +0 -0
  42. package/docs/modes.md +0 -0
  43. package/docs/{nativeidentityresearch-1.8.11.md → nativeidentityresearch1811.md} +0 -0
  44. package/docs/{native-wrappers.md → nativewrappers.md} +0 -0
  45. package/docs/ninetymodalities.md +191 -0
  46. package/docs/optimization.md +0 -0
  47. package/docs/packageaudit185.md +0 -0
  48. package/docs/performance.md +0 -0
  49. package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
  50. package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
  51. package/docs/planningengine.md +186 -0
  52. package/docs/planningninety.md +391 -0
  53. package/docs/platformpipelineaudit.md +0 -0
  54. package/docs/platformpipelines.md +0 -0
  55. package/docs/productindex.md +0 -0
  56. package/docs/registryresearch.md +0 -0
  57. package/docs/release.md +0 -0
  58. package/docs/release17notes.md +0 -0
  59. package/docs/release181notes.md +0 -0
  60. package/docs/release182notes.md +0 -0
  61. package/docs/release184notes.md +0 -0
  62. package/docs/release185notes.md +0 -0
  63. package/docs/release18notes.md +0 -0
  64. package/docs/releaseassets.md +0 -0
  65. package/docs/{releasenotes-1.8.12.md → releasenotes1812.md} +0 -0
  66. package/docs/{releasenotes-1.8.13.md → releasenotes1813.md} +2 -2
  67. package/docs/{releasenotes-1.8.14.md → releasenotes1814.md} +1 -1
  68. package/docs/{releasenotes-1.8.15.md → releasenotes1815.md} +0 -0
  69. package/docs/{releasenotes-1.8.16.md → releasenotes1816.md} +0 -0
  70. package/docs/{releasenotes-1.8.17.md → releasenotes1817.md} +0 -0
  71. package/docs/{releasenotes-1.8.18.md → releasenotes1818.md} +0 -0
  72. package/docs/{releasenotes-1.8.19.md → releasenotes1819.md} +0 -0
  73. package/docs/{reorganization-1.8.8.md → reorganization188.md} +0 -0
  74. package/docs/{reorganization-1.8.9.md → reorganization189.md} +0 -0
  75. package/docs/{repo-analysis-1.8.21.json → repoanalysis1821.json} +0 -0
  76. package/docs/{repo-candidates-1.8.21.jsonl → repocandidates1821.jsonl} +0 -0
  77. package/docs/{repo-research-1.8.16.md → reporesearch1816.md} +0 -0
  78. package/docs/{repo-research-1.8.21.md → reporesearch1821.md} +0 -0
  79. package/docs/{repo-selected-1.8.21.json → reposelected1821.json} +0 -0
  80. package/docs/{repo-synthesis-1.8.16.md → reposynthesis1816.md} +1 -1
  81. package/docs/{repo-synthesis-1.8.21.md → reposynthesis1821.md} +0 -0
  82. package/docs/{research-1.8.18-isolation.md → research1818isolation.md} +0 -0
  83. package/docs/{research-1.8.19-virtual-browser.md → research1819virtualbrowser.md} +0 -0
  84. package/docs/roadmapp2p3.md +0 -0
  85. package/docs/s3compatible.md +0 -0
  86. package/docs/{scanningresearch-1.8.11.md → scanningresearch1811.md} +0 -0
  87. package/docs/security.md +0 -0
  88. package/docs/{securityaudit-1.8.7.md → securityaudit187.md} +0 -0
  89. package/docs/{securityreferences-1.8.11.md → securityreferences1811.md} +0 -0
  90. package/docs/{securityresearch-1.8.11.md → securityresearch1811.md} +0 -0
  91. package/docs/{signingresearch-1.8.12.md → signingresearch1812.md} +0 -0
  92. package/docs/signingwithoutcertificates.md +0 -0
  93. package/docs/signpathapplication.md +0 -0
  94. package/docs/sitemap.md +0 -0
  95. package/docs/{tauri-glib-risk-1.8.11.md → tauriglibrisk1811.md} +0 -0
  96. package/docs/todo.md +2 -2
  97. package/docs/{todo-1.8.15.md → todo1815.md} +1 -1
  98. package/docs/{todo-1.8.16.md → todo1816.md} +5 -5
  99. package/docs/{todo-1.8.18.md → todo1818.md} +0 -0
  100. package/docs/{todo-1.8.19.md → todo1819.md} +0 -0
  101. package/docs/{toolchainresearch-1.8.9.md → toolchainresearch189.md} +0 -0
  102. package/docs/toolchains.md +0 -0
  103. package/docs/usage.md +0 -0
  104. package/docs/viability.md +0 -0
  105. package/docs/virtualization.md +0 -0
  106. package/docs/{web-duplicatecleanup.md → webduplicatecleanup.md} +0 -0
  107. package/docs/{web-ideas.md → webideas.md} +0 -0
  108. package/docs/{workflowimprovements-2026-08-19.md → workflowimprovements20260819.md} +0 -0
  109. package/docs/workflowinputs.md +0 -0
  110. package/docs/workflowoperations.md +0 -0
  111. package/docs/workloadlaw.md +104 -0
  112. package/gpumonitor.cpp +0 -0
  113. package/gpus.json +1 -1
  114. package/index.ts +19 -10
  115. package/manifest.json +20 -0
  116. package/modalityregistry.ts +1493 -0
  117. package/mttg.config +1 -1
  118. package/orchestrator.ts +52 -15
  119. package/package.json +196 -103
  120. package/passage.config +2 -2
  121. package/performance.ts +0 -0
  122. package/processors.json +1 -1
  123. package/qemu.config +2 -2
  124. package/qemubridge.py +0 -0
  125. package/quantum.ts +0 -0
  126. package/render.ts +0 -0
  127. package/scheduler.ts +0 -0
  128. package/security.ts +0 -0
  129. package/tiers.ts +9 -3
  130. package/tsconfig.json +21 -11
  131. package/virtualcpu.ts +1 -0
  132. package/virtualgpu.ts +1 -0
  133. package/virtualhardware.c +0 -0
  134. package/virtualhardware.json +2 -2
  135. package/virtualization.ts +0 -0
  136. package/virtualizationcore.cpp +0 -0
  137. package/virtualmemory.ts +0 -0
  138. package/vm.config.json +3 -3
  139. package/biome.json +0 -151
  140. package/dist/acquisition.d.ts +0 -359
  141. package/dist/acquisition.d.ts.map +0 -1
  142. package/dist/acquisition.js +0 -629
  143. package/dist/acquisition.js.map +0 -1
  144. package/dist/alternatives.d.ts +0 -509
  145. package/dist/alternatives.d.ts.map +0 -1
  146. package/dist/alternatives.js +0 -951
  147. package/dist/alternatives.js.map +0 -1
  148. package/dist/automation.d.ts +0 -426
  149. package/dist/automation.d.ts.map +0 -1
  150. package/dist/automation.js +0 -561
  151. package/dist/automation.js.map +0 -1
  152. package/dist/browser.d.ts +0 -562
  153. package/dist/browser.d.ts.map +0 -1
  154. package/dist/browser.js +0 -1057
  155. package/dist/browser.js.map +0 -1
  156. package/dist/cli.d.ts +0 -17
  157. package/dist/cli.d.ts.map +0 -1
  158. package/dist/cli.js +0 -169
  159. package/dist/cli.js.map +0 -1
  160. package/dist/communication.d.ts +0 -192
  161. package/dist/communication.d.ts.map +0 -1
  162. package/dist/communication.js +0 -418
  163. package/dist/communication.js.map +0 -1
  164. package/dist/compute.d.ts +0 -1161
  165. package/dist/compute.d.ts.map +0 -1
  166. package/dist/compute.js +0 -2273
  167. package/dist/compute.js.map +0 -1
  168. package/dist/distribution.d.ts +0 -529
  169. package/dist/distribution.d.ts.map +0 -1
  170. package/dist/distribution.js +0 -811
  171. package/dist/distribution.js.map +0 -1
  172. package/dist/docs/example-localjob.d.ts +0 -2
  173. package/dist/docs/example-localjob.d.ts.map +0 -1
  174. package/dist/docs/example-localjob.js +0 -15
  175. package/dist/docs/example-localjob.js.map +0 -1
  176. package/dist/docs/example-publicapi.d.ts +0 -2
  177. package/dist/docs/example-publicapi.d.ts.map +0 -1
  178. package/dist/docs/example-publicapi.js +0 -7
  179. package/dist/docs/example-publicapi.js.map +0 -1
  180. package/dist/execution.d.ts +0 -530
  181. package/dist/execution.d.ts.map +0 -1
  182. package/dist/execution.js +0 -761
  183. package/dist/execution.js.map +0 -1
  184. package/dist/format.d.ts +0 -19
  185. package/dist/format.d.ts.map +0 -1
  186. package/dist/format.js +0 -60
  187. package/dist/format.js.map +0 -1
  188. package/dist/foundation.d.ts +0 -176
  189. package/dist/foundation.d.ts.map +0 -1
  190. package/dist/foundation.js +0 -309
  191. package/dist/foundation.js.map +0 -1
  192. package/dist/index.d.ts +0 -735
  193. package/dist/index.d.ts.map +0 -1
  194. package/dist/index.js +0 -1020
  195. package/dist/index.js.map +0 -1
  196. package/dist/integration.d.ts +0 -236
  197. package/dist/integration.d.ts.map +0 -1
  198. package/dist/integration.js +0 -236
  199. package/dist/integration.js.map +0 -1
  200. package/dist/intelligence.d.ts +0 -94
  201. package/dist/intelligence.d.ts.map +0 -1
  202. package/dist/intelligence.js +0 -145
  203. package/dist/intelligence.js.map +0 -1
  204. package/dist/isolation.d.ts +0 -129
  205. package/dist/isolation.d.ts.map +0 -1
  206. package/dist/isolation.js +0 -96
  207. package/dist/isolation.js.map +0 -1
  208. package/dist/media.d.ts +0 -344
  209. package/dist/media.d.ts.map +0 -1
  210. package/dist/media.js +0 -986
  211. package/dist/media.js.map +0 -1
  212. package/dist/modes.d.ts +0 -359
  213. package/dist/modes.d.ts.map +0 -1
  214. package/dist/modes.js +0 -134
  215. package/dist/modes.js.map +0 -1
  216. package/dist/operations.d.ts +0 -67
  217. package/dist/operations.d.ts.map +0 -1
  218. package/dist/operations.js +0 -94
  219. package/dist/operations.js.map +0 -1
  220. package/dist/orchestrator.d.ts +0 -1339
  221. package/dist/orchestrator.d.ts.map +0 -1
  222. package/dist/orchestrator.js +0 -4308
  223. package/dist/orchestrator.js.map +0 -1
  224. package/dist/packager/targetcli.js +0 -4
  225. package/dist/performance.d.ts +0 -416
  226. package/dist/performance.d.ts.map +0 -1
  227. package/dist/performance.js +0 -827
  228. package/dist/performance.js.map +0 -1
  229. package/dist/quantum.d.ts +0 -810
  230. package/dist/quantum.d.ts.map +0 -1
  231. package/dist/quantum.js +0 -2073
  232. package/dist/quantum.js.map +0 -1
  233. package/dist/render.d.ts +0 -381
  234. package/dist/render.d.ts.map +0 -1
  235. package/dist/render.js +0 -1073
  236. package/dist/render.js.map +0 -1
  237. package/dist/scheduler.d.ts +0 -596
  238. package/dist/scheduler.d.ts.map +0 -1
  239. package/dist/scheduler.js +0 -1259
  240. package/dist/scheduler.js.map +0 -1
  241. package/dist/security.d.ts +0 -501
  242. package/dist/security.d.ts.map +0 -1
  243. package/dist/security.js +0 -1170
  244. package/dist/security.js.map +0 -1
  245. package/dist/server.d.ts +0 -21
  246. package/dist/server.d.ts.map +0 -1
  247. package/dist/server.js +0 -52
  248. package/dist/server.js.map +0 -1
  249. package/dist/tiers.d.ts +0 -1002
  250. package/dist/tiers.d.ts.map +0 -1
  251. package/dist/tiers.js +0 -2165
  252. package/dist/tiers.js.map +0 -1
  253. package/dist/virtual.d.ts +0 -641
  254. package/dist/virtual.d.ts.map +0 -1
  255. package/dist/virtual.js +0 -1285
  256. package/dist/virtual.js.map +0 -1
  257. package/dist/virtualcpu.d.ts +0 -316
  258. package/dist/virtualcpu.d.ts.map +0 -1
  259. package/dist/virtualcpu.js +0 -1180
  260. package/dist/virtualcpu.js.map +0 -1
  261. package/dist/virtualgpu.d.ts +0 -345
  262. package/dist/virtualgpu.d.ts.map +0 -1
  263. package/dist/virtualgpu.js +0 -1000
  264. package/dist/virtualgpu.js.map +0 -1
  265. package/dist/virtualization.d.ts +0 -607
  266. package/dist/virtualization.d.ts.map +0 -1
  267. package/dist/virtualization.js +0 -1187
  268. package/dist/virtualization.js.map +0 -1
  269. package/dist/virtualmemory.d.ts +0 -818
  270. package/dist/virtualmemory.d.ts.map +0 -1
  271. package/dist/virtualmemory.js +0 -1796
  272. package/dist/virtualmemory.js.map +0 -1
  273. package/dist/vitest.config.d.ts +0 -3
  274. package/dist/vitest.config.d.ts.map +0 -1
  275. package/dist/vitest.config.js +0 -26
  276. package/dist/vitest.config.js.map +0 -1
  277. package/dist/webscrape.d.ts +0 -720
  278. package/dist/webscrape.d.ts.map +0 -1
  279. package/dist/webscrape.js +0 -2697
  280. package/dist/webscrape.js.map +0 -1
  281. package/docs/CONVERSA.txt +0 -1523
  282. package/docs/architecture-1.8.19.png +0 -0
  283. package/docs/assets/architecture.svg +0 -45
  284. package/docs/assets/saddlemark.svg +0 -13
  285. package/docs/example-localjob.ts +0 -15
  286. package/docs/example-publicapi.ts +0 -7
  287. package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
  288. package/media.ts +0 -1337
  289. package/web/manifest.json +0 -30
  290. package/web/readme.md +0 -383
  291. package/web/tsconfig.json +0 -25
package/scheduler.ts CHANGED
File without changes
package/security.ts CHANGED
File without changes
package/tiers.ts CHANGED
@@ -337,6 +337,10 @@ export class sqlitekv implements Disposable {
337
337
  /** Absolute path of the database file. */
338
338
  readonly path: string;
339
339
 
340
+ /** the shared sqlite now cast (one literal, every statement reuses it) */
341
+ // biome-ignore lint/security/noSecrets: a sqlite strftime cast literal, not a credential
342
+ #nowsql = "CAST(strftime('%s','now') AS INTEGER)";
343
+
340
344
  #db: DatabaseSync;
341
345
  #closed = false;
342
346
  #getstmt: StatementSync | null = null;
@@ -373,8 +377,7 @@ export class sqlitekv implements Disposable {
373
377
  throw new tierserror(`invalid kvstore key length ${key?.length ?? 0}`);
374
378
  }
375
379
  this.#getstmt ??= this.#db.prepare(
376
- "UPDATE kvstore SET accessedat = CAST(strftime('%s','now') AS INTEGER) " +
377
- 'WHERE key = ? RETURNING value',
380
+ `UPDATE kvstore SET accessedat = ${this.#nowsql} WHERE key = ? RETURNING value`,
378
381
  );
379
382
  const row = this.#getstmt.get(key) as { value: Uint8Array } | undefined;
380
383
  return row === undefined ? null : Buffer.from(row.value);
@@ -393,7 +396,10 @@ export class sqlitekv implements Disposable {
393
396
  }
394
397
  this.#setstmt ??= this.#db.prepare(
395
398
  'INSERT INTO kvstore (key, value, createdat, accessedat) VALUES (?, ?, ' +
396
- "CAST(strftime('%s','now') AS INTEGER), CAST(strftime('%s','now') AS INTEGER)) " +
399
+ this.#nowsql +
400
+ ', ' +
401
+ this.#nowsql +
402
+ ') ' +
397
403
  'ON CONFLICT(key) DO UPDATE SET value = excluded.value, accessedat = excluded.accessedat',
398
404
  );
399
405
  this.#setstmt.run(key, value);
package/tsconfig.json CHANGED
@@ -1,24 +1,34 @@
1
+ // the saddle typescript baseline (the engine emission contract over the
2
+ // app root and the Sol theme: one project covers both).
3
+ // the grand-merge engine sources carry the loose typing baseline the
4
+ // upstream saddle authored them under (strict: false with noCheck: true),
5
+ // and the build engine emits the dist tree through this project — the
6
+ // upstream options answer verbatim (outDir dist, NodeNext, declaration),
7
+ // with the theme options (jsx, the vite client types) riding beside them
8
+ // so the one project keeps covering the Sol surface.
1
9
  {
2
10
  "compilerOptions": {
3
- "target": "ES2024",
4
11
  "module": "NodeNext",
5
12
  "moduleResolution": "NodeNext",
6
- "rootDir": ".",
13
+ "target": "ES2024",
14
+ "lib": ["ES2024", "dom", "dom.iterable"],
15
+ "jsx": "react-jsx",
7
16
  "outDir": "dist",
17
+ "rootDir": ".",
8
18
  "declaration": true,
9
- "declarationMap": true,
10
- "sourceMap": true,
11
19
  "strict": false,
12
20
  "noCheck": true,
13
- "noEmitOnError": true,
21
+ "esModuleInterop": true,
22
+ "skipLibCheck": true,
14
23
  "isolatedModules": true,
15
- "verbatimModuleSyntax": false,
16
24
  "allowSyntheticDefaultImports": true,
17
25
  "forceConsistentCasingInFileNames": true,
18
- "skipLibCheck": true,
19
- "lib": ["ES2024", "DOM", "DOM.Iterable"],
20
- "types": ["node"]
26
+ "types": ["node", "vite/client"],
27
+ "paths": {
28
+ "@/*": ["./Sol/*", "./*"],
29
+ "@saddle/isolation": ["./isolation.ts"]
30
+ }
21
31
  },
22
- "include": ["index.ts", "*.ts", "docs/example-*.ts", "jsdom.d.ts"],
23
- "exclude": ["node_modules", "dist", "coverage", "web", "tests", "build"]
32
+ "include": ["*.ts", "*.tsx", "Sol/**/*.ts", "Sol/**/*.tsx", "docs/example-*.ts", "jsdomtypes.ts"],
33
+ "exclude": ["node_modules", "dist", "**/*.test.ts", "coverage", "web", "tests", "build"]
24
34
  }
package/virtualcpu.ts CHANGED
@@ -192,6 +192,7 @@ export const ZEN5FLAGS: readonly string[] = [
192
192
  'avx512vbmi',
193
193
  'avx512vbmi2',
194
194
  'avx512ifma',
195
+ // biome-ignore lint/security/noSecrets: a cpu capability flag list, not a credential
195
196
  'avx512vp2intersect',
196
197
  'sha_ni',
197
198
  'gfni',
package/virtualgpu.ts CHANGED
@@ -462,6 +462,7 @@ export function nvidiaVgpuProfiles(): {
462
462
  return { profileSize, fbReservation, fb: profileSize - fbReservation };
463
463
  };
464
464
  return {
465
+ // biome-ignore lint/security/noSecrets: a memory layout formula string, not a credential
465
466
  formula: 'profileSize=X*0x40000000, fbReservation=0x8000000+(profileSize-0x40000000)/0x10',
466
467
  min: '384 MiB',
467
468
  example: calc(2),
package/virtualhardware.c CHANGED
File without changes
@@ -3,7 +3,7 @@
3
3
  "meta": {
4
4
  "name": "e2ugh",
5
5
  "title": "e2ugh v6 - Master Schema, Cross-References and Compatibility Matrix",
6
- "version": "2.1.5",
6
+ "version": "2.0.127",
7
7
  "date": "2026-08-22",
8
8
  "language": "en",
9
9
  "description": "Master schema of the e2ugh v6 virtual hardware engine: binds the 10 specification files (cpu, cores, boards, gpu, vm.config, passage, docker, qemu, mttcg, mesa), defines the modularity ranges (vCPU 1-192, RAM 1-1024 GB, vRAM 8-96 GB via MIG), defaults, validation rules and the pinned 2026-08-22 compatibility matrix.",
@@ -41,7 +41,7 @@
41
41
  "llvm": "19.1.7",
42
42
  "dockerode": "4.0.8",
43
43
  "express": "5.1.0",
44
- "commander": "13.1.0",
44
+ "commander": "15.0.0",
45
45
  "zod": "4.0.5",
46
46
  "ws": "8.18.1"
47
47
  },
package/virtualization.ts CHANGED
File without changes
File without changes
package/virtualmemory.ts CHANGED
File without changes
package/vm.config.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "meta": {
4
4
  "name": "vm.config.json",
5
5
  "title": "e2ugh v6 - VM Profiles and Orchestrator Configuration (canonical schema)",
6
- "version": "2.1.5",
6
+ "version": "2.1.6",
7
7
  "date": "2026-08-22",
8
8
  "language": "en",
9
9
  "description": "22 VM profiles consumed by the VHE orchestrator. Each profile binds a CPU identity (cpu.json), core count (cores.json), board (boards.json), GPU profile (gpu.json) and runtime (qemu.json, docker.json, mesa.json). Accel policy: KVM preferred when /dev/kvm exists, TCG multi-thread fallback on GitHub-hosted runners (see passage.json).",
@@ -1218,7 +1218,7 @@
1218
1218
  "kernelLts": "6.18.45",
1219
1219
  "libvirtVersion": "12.5.0",
1220
1220
  "nodeLts": "24.19.0",
1221
- "nodeCurrent": "26.7.0",
1221
+ "nodeCurrent": "26.12.0",
1222
1222
  "typescript": "7.0.2",
1223
1223
  "runnerVersion": "2.336.0",
1224
1224
  "checkoutAction": "v6",
@@ -1613,7 +1613,7 @@
1613
1613
  },
1614
1614
  "toolchain": {
1615
1615
  "nodeLts": "24.19.0",
1616
- "nodeCurrent": "26.7.0",
1616
+ "nodeCurrent": "26.12.0",
1617
1617
  "typescript": "7.0.2",
1618
1618
  "checkout": "v6",
1619
1619
  "setupNode": "v6",
package/biome.json DELETED
@@ -1,151 +0,0 @@
1
- {
2
- "$schema": "https://biomejs.dev/schemas/2.5.11/schema.json",
3
- "vcs": {
4
- "enabled": false
5
- },
6
- "files": {
7
- "includes": [
8
- "alternatives.ts",
9
- "compute.ts",
10
- "index.ts",
11
- "media.ts",
12
- "orchestrator.ts",
13
- "performance.ts",
14
- "quantum.ts",
15
- "render.ts",
16
- "scheduler.ts",
17
- "security.ts",
18
- "tiers.ts",
19
- "virtualcpu.ts",
20
- "virtualgpu.ts",
21
- "virtualization.ts",
22
- "virtualmemory.ts",
23
- "tests/virtualengine.test.ts",
24
- "tests/features.test.ts",
25
- "tests/media.test.ts",
26
- "tests/render.test.ts",
27
- "tests/simulation.test.ts",
28
- "tests/specs.test.ts",
29
- "tests/virtualcpu.test.ts",
30
- "tests/virtualgpu.test.ts",
31
- "tests/virtualmemory.test.ts",
32
- "tests/web.test.ts",
33
- "tests/workflow.test.ts",
34
- "boards.json",
35
- "cores.json",
36
- "gpus.json",
37
- "processors.json",
38
- "vm.config.json",
39
- "virtualhardware.json",
40
- "*.config",
41
- "tsconfig.json",
42
- "package.json",
43
- "!package-lock.json"
44
- ],
45
- "ignoreUnknown": false
46
- },
47
- "formatter": {
48
- "enabled": true,
49
- "indentStyle": "space",
50
- "indentWidth": 2,
51
- "lineWidth": 100,
52
- "lineEnding": "lf"
53
- },
54
- "assist": {
55
- "actions": {
56
- "source": {
57
- "organizeImports": "on"
58
- }
59
- }
60
- },
61
- "linter": {
62
- "enabled": true,
63
- "rules": {
64
- "preset": "recommended",
65
- "complexity": {
66
- "noStaticOnlyClass": "warn",
67
- "noUselessTypeConstraint": "error"
68
- },
69
- "correctness": {
70
- "noUnusedImports": "error",
71
- "noUnusedVariables": "warn"
72
- },
73
- "suspicious": {
74
- "noAssignInExpressions": "error",
75
- "noConsole": "warn",
76
- "noDoubleEquals": "error",
77
- "noEmptyBlockStatements": "warn",
78
- "noExplicitAny": "error",
79
- "noRedeclare": "error",
80
- "noShadowRestrictedNames": "error"
81
- },
82
- "security": {
83
- "noDangerouslySetInnerHtml": "error",
84
- "noGlobalEval": "error",
85
- "noSecrets": "info"
86
- }
87
- }
88
- },
89
- "javascript": {
90
- "formatter": {
91
- "quoteStyle": "single",
92
- "jsxQuoteStyle": "double",
93
- "semicolons": "always",
94
- "trailingCommas": "all",
95
- "arrowParentheses": "always",
96
- "bracketSameLine": false,
97
- "bracketSpacing": true
98
- }
99
- },
100
- "json": {
101
- "formatter": {
102
- "indentStyle": "space",
103
- "indentWidth": 2,
104
- "lineWidth": 100,
105
- "trailingCommas": "none"
106
- }
107
- },
108
- "root": true,
109
- "overrides": [
110
- {
111
- "includes": ["web/**"],
112
- "linter": {
113
- "rules": {
114
- "recommended": true,
115
- "a11y": {
116
- "noStaticElementInteractions": "off",
117
- "useKeyWithClickEvents": "off",
118
- "useSemanticElements": "off"
119
- },
120
- "correctness": {
121
- "useExhaustiveDependencies": "off"
122
- },
123
- "style": {
124
- "noNonNullAssertion": "off",
125
- "useNodejsImportProtocol": "off",
126
- "useConst": "error"
127
- },
128
- "suspicious": {
129
- "noExplicitAny": "off",
130
- "noEmptyBlock": "warn"
131
- },
132
- "complexity": {
133
- "noUselessFragments": "warn",
134
- "noForEach": "off"
135
- },
136
- "performance": {
137
- "noDelete": "off"
138
- }
139
- }
140
- },
141
- "formatter": {
142
- "enabled": true,
143
- "indentStyle": "tab",
144
- "indentWidth": 2,
145
- "lineWidth": 100,
146
- "lineEnding": "lf",
147
- "formatWithErrors": false
148
- }
149
- }
150
- ]
151
- }
@@ -1,359 +0,0 @@
1
- /**
2
- * captcha contracts separate detection and evidence from any solver provider.
3
- */
4
- export declare const captchatypes: readonly string[];
5
- export declare function captchacontract(options?: {}): {
6
- detect(context: any): Promise<{
7
- kind: any;
8
- detected: boolean;
9
- sitekey: any;
10
- evidenceurl: any;
11
- }>;
12
- request(context: any): Promise<{
13
- status: string;
14
- kind: any;
15
- message: string;
16
- context: any;
17
- }>;
18
- solve(context: any): Promise<{
19
- status: string;
20
- reason: string;
21
- passed?: undefined;
22
- solver?: undefined;
23
- token?: undefined;
24
- evidenceurl?: undefined;
25
- } | {
26
- reason?: undefined;
27
- status: string;
28
- passed: boolean;
29
- solver: any;
30
- token: any;
31
- evidenceurl: any;
32
- }>;
33
- assert(result: any): any;
34
- };
35
- /**
36
- * captcha guard blocks silent automation and records a review event for audit.
37
- */
38
- export declare function captchaguard(options?: {}): {
39
- check(context: any): Promise<{
40
- allowed: boolean;
41
- result: any;
42
- event?: undefined;
43
- action?: undefined;
44
- } | {
45
- allowed: boolean;
46
- result: any;
47
- event: {
48
- type: string;
49
- at: number;
50
- kind: any;
51
- sitekey: any;
52
- };
53
- action: string;
54
- }>;
55
- events(): any[];
56
- };
57
- /**
58
- * captcha evidence stores references and hashes, never raw secrets or tokens by default.
59
- */
60
- export declare function evidence(options?: {}): {
61
- kind: any;
62
- passed: boolean;
63
- solver: any;
64
- evidenceurl: any;
65
- sha256: any;
66
- createdat: any;
67
- metadata: any;
68
- };
69
- /**
70
- * robots context groups local rule parsing, fetch caching and active aliases.
71
- */
72
- export interface RobotsDirective {
73
- userAgent: string;
74
- allow: string[];
75
- disallow: string[];
76
- crawlDelay?: number;
77
- }
78
- export interface RobotsGroup {
79
- agents: string[];
80
- allow: string[];
81
- disallow: string[];
82
- delay?: number;
83
- sitemaps: string[];
84
- }
85
- export interface RobotsTxt {
86
- directives: RobotsDirective[];
87
- groups: RobotsGroup[];
88
- sitemaps: string[];
89
- crawlDelay?: number;
90
- }
91
- /** Parses robots text into both historical directives and active groups. */
92
- export declare function robotsrules(text?: string): RobotsTxt;
93
- /** Fetches and caches a site's robots policy without failing the caller's scrape. */
94
- export declare function fetchRobotsTxt(siteUrl: string, options?: {
95
- timeout?: number;
96
- userAgent?: string;
97
- }): Promise<RobotsTxt>;
98
- /** Checks whether a URL is allowed for a selected agent. */
99
- export declare function isAllowed(url: string, robots: RobotsTxt, userAgent?: string): boolean;
100
- /** Returns the selected agent's crawl delay. */
101
- export declare function getCrawlDelay(robots: RobotsTxt, userAgent?: string): number | undefined;
102
- export declare function getSitemaps(robots: RobotsTxt): string[];
103
- export declare function robotsallowed(rules: RobotsTxt, target: string, agent?: string): boolean;
104
- export declare function robotsdelay(rules: RobotsTxt, agent?: string): number;
105
- /**
106
- * scrape cache context groups the active stale-aware fetch cache and the
107
- * historical typed cache facade without requiring an external LRU package.
108
- */
109
- export interface CacheEntry<T = unknown> {
110
- value: T;
111
- timestamp: number;
112
- expires?: number;
113
- }
114
- export interface CacheConfig {
115
- maxSize?: number;
116
- defaultTtlMs?: number;
117
- checkPeriodMs?: number;
118
- }
119
- /** Provides a bounded typed cache facade for historical scrape callers. */
120
- export declare class WebScrapeCache {
121
- private readonly store;
122
- private readonly config;
123
- constructor(config?: Partial<CacheConfig>);
124
- get<T = unknown>(key: string): T | undefined;
125
- set<T = unknown>(key: string, value: T, ttlMs?: number): void;
126
- has(key: string): boolean;
127
- delete(key: string): boolean;
128
- clear(): void;
129
- getOrSet<T = unknown>(key: string, factory: () => Promise<T>, ttlMs?: number): Promise<T>;
130
- size(): number;
131
- keys(): string[];
132
- }
133
- /** Creates the historical typed cache facade. */
134
- export declare function createCache(config?: Partial<CacheConfig>): WebScrapeCache;
135
- /** Creates the active stale-aware fetch cache contract. */
136
- export declare function ttlcache<T = unknown>(options?: {
137
- ttl?: number;
138
- stale?: boolean;
139
- }): {
140
- get(key: string): T | null;
141
- set(key: string, value: T, valueoptions?: {
142
- ttl?: number;
143
- stale?: number;
144
- }): T;
145
- delete(key: string): void;
146
- clear(): void;
147
- size(): number;
148
- };
149
- /** Detects a normalized media type from a header, URL suffix or caller fallback. */
150
- export declare function detectcontenttype(header: any, url: any, fallback?: string): any;
151
- /** Normalizes bounded input bytes into a serializable text, JSON or binary result. */
152
- export declare function normalizeresult(input: any, options?: {}): {
153
- contenttype: any;
154
- kind: string;
155
- size: number;
156
- bytes: Uint8Array<ArrayBufferLike>;
157
- content?: undefined;
158
- data?: undefined;
159
- } | {
160
- bytes?: undefined;
161
- contenttype: any;
162
- kind: string;
163
- size: number;
164
- content: string;
165
- data: any;
166
- } | {
167
- bytes?: undefined;
168
- contenttype: any;
169
- kind: string;
170
- size: number;
171
- content: string;
172
- data?: undefined;
173
- };
174
- /** Reads a caller-provided response body after checking declared and actual size limits. */
175
- export declare function normalizeresponse(response: any, options?: {}): Promise<{
176
- contenttype: any;
177
- kind: string;
178
- size: number;
179
- bytes: Uint8Array<ArrayBufferLike>;
180
- content?: undefined;
181
- data?: undefined;
182
- } | {
183
- bytes?: undefined;
184
- contenttype: any;
185
- kind: string;
186
- size: number;
187
- content: string;
188
- data: any;
189
- } | {
190
- bytes?: undefined;
191
- contenttype: any;
192
- kind: string;
193
- size: number;
194
- content: string;
195
- data?: undefined;
196
- }>;
197
- /**
198
- * scrape extraction context groups dependency-free HTML extraction and the
199
- * historical structured extraction facade under one TypeScript contract.
200
- */
201
- export interface LinkInfo {
202
- href: string;
203
- text: string;
204
- isInternal: boolean;
205
- isExternal: boolean;
206
- }
207
- export interface ImageInfo {
208
- src: string;
209
- alt: string;
210
- width?: number;
211
- height?: number;
212
- }
213
- export interface TableInfo {
214
- headers: string[];
215
- rows: string[][];
216
- caption?: string;
217
- }
218
- export interface PageMetadata {
219
- title: string;
220
- description?: string;
221
- favicon?: string;
222
- charset?: string;
223
- language?: string;
224
- author?: string;
225
- publishedDate?: string;
226
- ogImage?: string;
227
- ogType?: string;
228
- keywords?: string[];
229
- }
230
- export interface ExtractOptions {
231
- readable?: boolean;
232
- preserveLinks?: boolean;
233
- preserveImages?: boolean;
234
- preserveTables?: boolean;
235
- removeSelectors?: string[];
236
- maxLength?: number;
237
- }
238
- export interface ExtractedContent {
239
- content: string;
240
- text: string;
241
- links: LinkInfo[];
242
- images: ImageInfo[];
243
- tables: TableInfo[];
244
- metadata: PageMetadata;
245
- jsonLd: unknown[];
246
- }
247
- /** Extracts the compact active scrape result without a DOM dependency. */
248
- export declare function extracthtml(html: string, url?: string): {
249
- url: string;
250
- title: string;
251
- description: string;
252
- text: string;
253
- links: string[];
254
- };
255
- /** Extracts structured content for historical TypeScript callers. */
256
- export declare function extractContent(html: string, options?: ExtractOptions): Promise<ExtractedContent>;
257
- /** Extracts readable page text from a document string. */
258
- export declare function extractReadable(html: string): Promise<string>;
259
- /**
260
- * schema extraction accepts safe field descriptors and never evaluates source strings.
261
- */
262
- export declare function extractwithschema(html: any, schema: {}, url: any): {};
263
- /** Extracts schema fields with bounded payload and field-level source provenance. */
264
- export declare function extractstructured(html: any, schema?: {}, options?: {}): {
265
- version: number;
266
- sourceurl: string;
267
- extractedat: string;
268
- values: {};
269
- provenance: {
270
- [k: string]: {
271
- sourceurl: string;
272
- selector: string;
273
- extractedat: string;
274
- truncated: boolean;
275
- };
276
- };
277
- bytes: number;
278
- maxbytes: number;
279
- truncated: any[];
280
- };
281
- /**
282
- * semantic extraction exposes bounded headings, landmarks, controls and links without evaluating page code.
283
- */
284
- /** Extracts semantic page facts from HTML using safe built-in parsing heuristics. */
285
- export declare function extractsemantic(html: any, url: any): {
286
- url: any;
287
- title: string;
288
- headings: {
289
- level: number;
290
- text: string;
291
- }[];
292
- landmarks: {
293
- role: string;
294
- label: any;
295
- }[];
296
- controls: {
297
- ref: string;
298
- role: any;
299
- name: any;
300
- type: any;
301
- }[];
302
- links: any;
303
- semantictext: string;
304
- };
305
- /**
306
- * scrape crawl context owns URL normalization traversal frontier and durable crawl state.
307
- *
308
- * The context keeps single page acquisition injectable while grouping the correlated
309
- * crawl responsibilities that previously lived in four separate top level files.
310
- */
311
- /** Removes fragments and tracking parameters before crawl deduplication. */
312
- export declare function normalizeurl(value: any): string;
313
- /** Compares two crawl targets by origin. */
314
- export declare function sameorigin(left: any, right: any): boolean;
315
- /** Creates a bounded priority frontier for crawler and queue adapters. */
316
- export declare function crawlfrontier(options?: {}): {
317
- add: (input?: {}) => boolean;
318
- next: () => any;
319
- complete: (url: any) => void;
320
- state: () => {
321
- maxpages: number;
322
- maxperdomain: number;
323
- queued: number;
324
- discovered: number;
325
- completed: number;
326
- domains: any;
327
- };
328
- list(): any[];
329
- };
330
- /** Creates a durable crawl queue around a caller-owned store. */
331
- export declare function persistentqueue(options?: {}): {
332
- restore: () => Promise<void>;
333
- add: (item: any) => Promise<boolean>;
334
- next: () => Promise<any>;
335
- complete: (url: any, patch?: {}) => Promise<any>;
336
- list(): any[];
337
- };
338
- /** Runs bounded breadth first traversal through the injected single page scrape contract. */
339
- export declare function crawl(start: any, options?: {}): Promise<{
340
- results: any[];
341
- stats: {
342
- maxperdomain: number;
343
- queued: number;
344
- discovered: number;
345
- domains: any;
346
- completed: number;
347
- maxdepth: any;
348
- maxpages: any;
349
- };
350
- }>;
351
- /**
352
- * scraper composes robots policy cache transport and extraction without browser assumptions.
353
- */
354
- export declare function scraper(options?: {}): {
355
- robots(origin: any): Promise<any>;
356
- scrape(url: any): Promise<any>;
357
- cache: any;
358
- };
359
- //# sourceMappingURL=acquisition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acquisition.d.ts","sourceRoot":"","sources":["../acquisition.ts"],"names":[],"mappings":"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"}