@wenathlan/saddle 2.0.5 → 2.0.150

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 (282) hide show
  1. package/Dockerfile +47 -21
  2. package/LICENSE +0 -0
  3. package/README.md +19 -3
  4. package/alternatives.ts +0 -0
  5. package/boards.json +2 -2
  6. package/compute.ts +4 -4
  7. package/cores.json +2 -2
  8. package/docker.config +3 -3
  9. package/docs/.gitkeep +0 -0
  10. package/docs/CONVERSA.txt +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-1.8.19.md +0 -0
  15. package/docs/architecture-1.8.19.mmd +0 -0
  16. package/docs/architecture-1.8.19.png +0 -0
  17. package/docs/architecture.md +3 -3
  18. package/docs/artifactavailability.md +0 -0
  19. package/docs/artifactresearch-1.8.9.md +0 -0
  20. package/docs/assets/architecture.svg +0 -0
  21. package/docs/assets/saddle-browser-trace.webp +0 -0
  22. package/docs/assets/saddle-hero-bridge.webp +0 -0
  23. package/docs/assets/saddle-mark.webp +0 -0
  24. package/docs/assets/saddle-runtime-map.webp +0 -0
  25. package/docs/assets/saddlemark.svg +0 -0
  26. package/docs/batches-1816-1820.md +0 -0
  27. package/docs/brancharchive-2026-08-18.md +0 -0
  28. package/docs/branchaudit.md +0 -0
  29. package/docs/browser.md +0 -0
  30. package/docs/capabilityreport.md +0 -0
  31. package/docs/comparativeaudit.md +0 -0
  32. package/docs/consolidation.md +0 -0
  33. package/docs/containerplatforms-1.8.17.md +0 -0
  34. package/docs/containerplatforms-2.1.0.md +73 -0
  35. package/docs/documentmap-1.8.12.md +0 -0
  36. package/docs/e2ugh-engine.md +0 -0
  37. package/docs/ecosystemplan.md +0 -0
  38. package/docs/enginearchitecture.md +0 -0
  39. package/docs/example-localjob.ts +0 -0
  40. package/docs/example-publicapi.ts +0 -0
  41. package/docs/extension.md +0 -0
  42. package/docs/featureaudit.md +0 -0
  43. package/docs/flatbuildresearch-1.8.11.md +0 -0
  44. package/docs/gapmatrix.md +0 -0
  45. package/docs/hardware.md +0 -0
  46. package/docs/libraryapi.md +0 -0
  47. package/docs/licenseaudit-1.8.12.md +0 -0
  48. package/docs/logs/examplesession.json +54 -0
  49. package/docs/memoryengine.md +0 -0
  50. package/docs/mobileconversionresearch-1.8.10.md +0 -0
  51. package/docs/modes.md +0 -0
  52. package/docs/native-wrappers.md +38 -0
  53. package/docs/nativeidentityresearch-1.8.11.md +0 -0
  54. package/docs/optimization.md +0 -0
  55. package/docs/packageaudit185.md +0 -0
  56. package/docs/performance.md +0 -0
  57. package/docs/planning.1.8.18.md +0 -0
  58. package/docs/planning.1.8.19.md +0 -0
  59. package/docs/planning.engine.md +186 -0
  60. package/docs/platformpipelineaudit.md +0 -0
  61. package/docs/platformpipelines.md +0 -0
  62. package/docs/productindex.md +0 -0
  63. package/docs/registryresearch.md +0 -0
  64. package/docs/release.md +0 -0
  65. package/docs/release17notes.md +0 -0
  66. package/docs/release181notes.md +0 -0
  67. package/docs/release182notes.md +0 -0
  68. package/docs/release184notes.md +0 -0
  69. package/docs/release185notes.md +0 -0
  70. package/docs/release18notes.md +0 -0
  71. package/docs/releaseassets.md +0 -0
  72. package/docs/releasenotes-1.8.12.md +0 -0
  73. package/docs/releasenotes-1.8.13.md +0 -0
  74. package/docs/releasenotes-1.8.14.md +0 -0
  75. package/docs/releasenotes-1.8.15.md +0 -0
  76. package/docs/releasenotes-1.8.16.md +0 -0
  77. package/docs/releasenotes-1.8.17.md +0 -0
  78. package/docs/releasenotes-1.8.18.md +0 -0
  79. package/docs/releasenotes-1.8.19.md +0 -0
  80. package/docs/reorganization-1.8.8.md +0 -0
  81. package/docs/reorganization-1.8.9.md +0 -0
  82. package/docs/repo-analysis-1.8.21.json +0 -0
  83. package/docs/repo-candidates-1.8.21.jsonl +0 -0
  84. package/docs/repo-research-1.8.16.md +0 -0
  85. package/docs/repo-research-1.8.21.md +0 -0
  86. package/docs/repo-selected-1.8.21.json +0 -0
  87. package/docs/repo-synthesis-1.8.16.md +0 -0
  88. package/docs/repo-synthesis-1.8.21.md +0 -0
  89. package/docs/research-1.8.18-isolation.md +0 -0
  90. package/docs/research-1.8.19-virtual-browser.md +0 -0
  91. package/docs/roadmapp2p3.md +0 -0
  92. package/docs/s3compatible.md +0 -0
  93. package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
  94. package/docs/scanningresearch-1.8.11.md +0 -0
  95. package/docs/security.md +0 -0
  96. package/docs/securityaudit-1.8.7.md +0 -0
  97. package/docs/securityreferences-1.8.11.md +0 -0
  98. package/docs/securityresearch-1.8.11.md +0 -0
  99. package/docs/signingresearch-1.8.12.md +0 -0
  100. package/docs/signingwithoutcertificates.md +0 -0
  101. package/docs/signpathapplication.md +0 -0
  102. package/docs/sitemap.md +0 -0
  103. package/docs/tauri-glib-risk-1.8.11.md +0 -0
  104. package/docs/todo-1.8.15.md +0 -0
  105. package/docs/todo-1.8.16.md +0 -0
  106. package/docs/todo-1.8.18.md +0 -0
  107. package/docs/todo-1.8.19.md +0 -0
  108. package/docs/todo.md +0 -0
  109. package/docs/toolchainresearch-1.8.9.md +0 -0
  110. package/docs/toolchains.md +0 -0
  111. package/docs/usage.md +0 -0
  112. package/docs/viability.md +0 -0
  113. package/docs/virtualization.md +0 -0
  114. package/docs/web-duplicatecleanup.md +0 -0
  115. package/docs/web-ideas.md +0 -0
  116. package/docs/workflowimprovements-2026-08-19.md +0 -0
  117. package/docs/workflowinputs.md +0 -0
  118. package/docs/workflowoperations.md +0 -0
  119. package/gpumonitor.cpp +0 -0
  120. package/gpus.json +1 -1
  121. package/index.ts +14 -15
  122. package/manifest.json +20 -0
  123. package/media.ts +0 -0
  124. package/mttg.config +1 -1
  125. package/orchestrator.ts +5 -2
  126. package/package.json +142 -91
  127. package/passage.config +2 -2
  128. package/performance.ts +0 -0
  129. package/processors.json +1 -1
  130. package/qemu.config +2 -2
  131. package/qemubridge.py +0 -0
  132. package/quantum.ts +0 -0
  133. package/render.ts +0 -0
  134. package/scheduler.ts +0 -0
  135. package/security.ts +0 -0
  136. package/tiers.ts +9 -3
  137. package/tsconfig.json +22 -17
  138. package/virtualcpu.ts +1 -0
  139. package/virtualgpu.ts +1 -0
  140. package/virtualhardware.c +0 -0
  141. package/virtualhardware.json +2 -2
  142. package/virtualization.ts +0 -0
  143. package/virtualizationcore.cpp +0 -0
  144. package/virtualmemory.ts +0 -0
  145. package/vm.config.json +3 -3
  146. package/biome.json +0 -153
  147. package/dist/acquisition.d.ts +0 -359
  148. package/dist/acquisition.d.ts.map +0 -1
  149. package/dist/acquisition.js +0 -629
  150. package/dist/acquisition.js.map +0 -1
  151. package/dist/alternatives.d.ts +0 -509
  152. package/dist/alternatives.d.ts.map +0 -1
  153. package/dist/alternatives.js +0 -951
  154. package/dist/alternatives.js.map +0 -1
  155. package/dist/automation.d.ts +0 -426
  156. package/dist/automation.d.ts.map +0 -1
  157. package/dist/automation.js +0 -561
  158. package/dist/automation.js.map +0 -1
  159. package/dist/browser.d.ts +0 -562
  160. package/dist/browser.d.ts.map +0 -1
  161. package/dist/browser.js +0 -1057
  162. package/dist/browser.js.map +0 -1
  163. package/dist/capacitor.config.d.ts +0 -13
  164. package/dist/capacitor.config.d.ts.map +0 -1
  165. package/dist/capacitor.config.js +0 -26
  166. package/dist/capacitor.config.js.map +0 -1
  167. package/dist/cli.d.ts +0 -17
  168. package/dist/cli.d.ts.map +0 -1
  169. package/dist/cli.js +0 -111
  170. package/dist/cli.js.map +0 -1
  171. package/dist/communication.d.ts +0 -192
  172. package/dist/communication.d.ts.map +0 -1
  173. package/dist/communication.js +0 -418
  174. package/dist/communication.js.map +0 -1
  175. package/dist/compute.d.ts +0 -1161
  176. package/dist/compute.d.ts.map +0 -1
  177. package/dist/compute.js +0 -2273
  178. package/dist/compute.js.map +0 -1
  179. package/dist/distribution.d.ts +0 -529
  180. package/dist/distribution.d.ts.map +0 -1
  181. package/dist/distribution.js +0 -811
  182. package/dist/distribution.js.map +0 -1
  183. package/dist/execution.d.ts +0 -530
  184. package/dist/execution.d.ts.map +0 -1
  185. package/dist/execution.js +0 -761
  186. package/dist/execution.js.map +0 -1
  187. package/dist/format.d.ts +0 -19
  188. package/dist/format.d.ts.map +0 -1
  189. package/dist/format.js +0 -60
  190. package/dist/format.js.map +0 -1
  191. package/dist/foundation.d.ts +0 -176
  192. package/dist/foundation.d.ts.map +0 -1
  193. package/dist/foundation.js +0 -309
  194. package/dist/foundation.js.map +0 -1
  195. package/dist/index.d.ts +0 -735
  196. package/dist/index.d.ts.map +0 -1
  197. package/dist/index.js +0 -1020
  198. package/dist/index.js.map +0 -1
  199. package/dist/integration.d.ts +0 -236
  200. package/dist/integration.d.ts.map +0 -1
  201. package/dist/integration.js +0 -236
  202. package/dist/integration.js.map +0 -1
  203. package/dist/intelligence.d.ts +0 -94
  204. package/dist/intelligence.d.ts.map +0 -1
  205. package/dist/intelligence.js +0 -145
  206. package/dist/intelligence.js.map +0 -1
  207. package/dist/isolation.d.ts +0 -129
  208. package/dist/isolation.d.ts.map +0 -1
  209. package/dist/isolation.js +0 -96
  210. package/dist/isolation.js.map +0 -1
  211. package/dist/media.d.ts +0 -344
  212. package/dist/media.d.ts.map +0 -1
  213. package/dist/media.js +0 -986
  214. package/dist/media.js.map +0 -1
  215. package/dist/modes.d.ts +0 -359
  216. package/dist/modes.d.ts.map +0 -1
  217. package/dist/modes.js +0 -134
  218. package/dist/modes.js.map +0 -1
  219. package/dist/operations.d.ts +0 -67
  220. package/dist/operations.d.ts.map +0 -1
  221. package/dist/operations.js +0 -94
  222. package/dist/operations.js.map +0 -1
  223. package/dist/orchestrator.d.ts +0 -1339
  224. package/dist/orchestrator.d.ts.map +0 -1
  225. package/dist/orchestrator.js +0 -4308
  226. package/dist/orchestrator.js.map +0 -1
  227. package/dist/packager/targetcli.js +0 -4
  228. package/dist/performance.d.ts +0 -416
  229. package/dist/performance.d.ts.map +0 -1
  230. package/dist/performance.js +0 -827
  231. package/dist/performance.js.map +0 -1
  232. package/dist/quantum.d.ts +0 -810
  233. package/dist/quantum.d.ts.map +0 -1
  234. package/dist/quantum.js +0 -2073
  235. package/dist/quantum.js.map +0 -1
  236. package/dist/render.d.ts +0 -381
  237. package/dist/render.d.ts.map +0 -1
  238. package/dist/render.js +0 -1073
  239. package/dist/render.js.map +0 -1
  240. package/dist/scheduler.d.ts +0 -596
  241. package/dist/scheduler.d.ts.map +0 -1
  242. package/dist/scheduler.js +0 -1259
  243. package/dist/scheduler.js.map +0 -1
  244. package/dist/security.d.ts +0 -501
  245. package/dist/security.d.ts.map +0 -1
  246. package/dist/security.js +0 -1170
  247. package/dist/security.js.map +0 -1
  248. package/dist/server.d.ts +0 -21
  249. package/dist/server.d.ts.map +0 -1
  250. package/dist/server.js +0 -52
  251. package/dist/server.js.map +0 -1
  252. package/dist/tiers.d.ts +0 -1002
  253. package/dist/tiers.d.ts.map +0 -1
  254. package/dist/tiers.js +0 -2165
  255. package/dist/tiers.js.map +0 -1
  256. package/dist/virtual.d.ts +0 -641
  257. package/dist/virtual.d.ts.map +0 -1
  258. package/dist/virtual.js +0 -1285
  259. package/dist/virtual.js.map +0 -1
  260. package/dist/virtualcpu.d.ts +0 -316
  261. package/dist/virtualcpu.d.ts.map +0 -1
  262. package/dist/virtualcpu.js +0 -1180
  263. package/dist/virtualcpu.js.map +0 -1
  264. package/dist/virtualgpu.d.ts +0 -345
  265. package/dist/virtualgpu.d.ts.map +0 -1
  266. package/dist/virtualgpu.js +0 -1000
  267. package/dist/virtualgpu.js.map +0 -1
  268. package/dist/virtualization.d.ts +0 -607
  269. package/dist/virtualization.d.ts.map +0 -1
  270. package/dist/virtualization.js +0 -1187
  271. package/dist/virtualization.js.map +0 -1
  272. package/dist/virtualmemory.d.ts +0 -818
  273. package/dist/virtualmemory.d.ts.map +0 -1
  274. package/dist/virtualmemory.js +0 -1796
  275. package/dist/virtualmemory.js.map +0 -1
  276. package/dist/webscrape.d.ts +0 -720
  277. package/dist/webscrape.d.ts.map +0 -1
  278. package/dist/webscrape.js +0 -2697
  279. package/dist/webscrape.js.map +0 -1
  280. package/web/extension/manifest.json +0 -23
  281. package/web/readme.md +0 -382
  282. package/web/tsconfig.json +0 -25
@@ -1,94 +0,0 @@
1
- /**
2
- * operations.ts — transport-neutral public library helpers.
3
- *
4
- * This file is the v2.0.0 grand-merge consolidation of the former nested
5
- * folders of the repository (library) into the single
6
- * root-level domain file of the saddle family standard: one optimized
7
- * TypeScript file per correlated domain, ordinal sections, JSDoc on every
8
- * block, intra-domain imports dissolved, cross-domain imports rewritten to
9
- * ./<domain>.js. Every capability of every source file is preserved here;
10
- * the pure re-export barrels (none in this domain) folded their surface into this file directly.
11
- */
12
- import { crawl, extracthtml, normalizeresponse } from "./acquisition.js";
13
- import { chunkmarkdown, estimatetokens } from "./intelligence.js";
14
- import { browseragent } from "./browser.js";
15
- /* ════════════════════════════════════════════════════════════════════ */
16
- /* Section 1: library/public.ts — public library helpers compose fetch extraction serialization chunking and crawl contracts. */
17
- /* ════════════════════════════════════════════════════════════════════ */
18
- /**
19
- * public library helpers compose fetch extraction serialization chunking and crawl contracts.
20
- */
21
- /** Selects the fetch or browser execution path. */
22
- export async function saddleurl(url, options = {}) {
23
- const mode = options.mode ?? "fetch";
24
- if (mode === "browser")
25
- return scrapewithbrowser(url, options);
26
- return scrapeurl(url, options);
27
- }
28
- /** Fetches one URL through the caller supplied transport. */
29
- export async function scrapeurl(url, options = {}) {
30
- const target = safeurl(url);
31
- const response = await (options.fetcher ?? fetch)(target, { signal: options.signal, headers: options.headers });
32
- if (!response.ok)
33
- throw new Error(`scrape request failed with ${response.status}`);
34
- const normalized = await normalizeresponse(response, { url: target, defaultcontenttype: "text/html", maxbytes: options.maxbytes });
35
- const result = normalized.kind === "html" ? scrapehtml(normalized.content, target, options) : { content: normalized.content, data: normalized.data, metadata: { url: target, contenttype: normalized.contenttype, size: normalized.size }, bytes: normalized.bytes };
36
- return formatresult(result, options);
37
- }
38
- /** Extracts a serializable result from HTML without network access. */
39
- export function scrapehtml(html, url, options = {}) {
40
- const result = extracthtml(html, url);
41
- return { content: result.text, metadata: { url: result.url, title: result.title, description: result.description, links: result.links }, html: options.includehtml ? html : undefined };
42
- }
43
- /** Exposes structured extraction for callers that do not need formatting. */
44
- export function extractcontent(html, options = {}) { return extracthtml(html, options.url); }
45
- /** Runs a scrape through the injected browser agent contract. */
46
- export async function scrapewithbrowser(url, options = {}) {
47
- const agent = browseragent(options.browser);
48
- await agent.navigate({ url, waituntil: options.waituntil ?? "networkidle" });
49
- return formatresult({ content: await agent.text(), metadata: { url, title: await agent.title(), html: options.includehtml ? await agent.html() : undefined } }, options);
50
- }
51
- /** Serializes a result into a supported output format. */
52
- export function serializeresult(result, options = {}) {
53
- const format = options.format ?? "json";
54
- if (format === "json")
55
- return JSON.stringify(result, null, options.pretty ? 2 : 0);
56
- if (format === "text")
57
- return result.content ?? "";
58
- if (format === "markdown")
59
- return `# ${result.metadata?.title ?? "result"}\n\n${result.content ?? ""}`;
60
- if (format === "xml")
61
- return `<result><title>${escape(result.metadata?.title ?? "")}</title><content>${escape(result.content ?? "")}</content></result>`;
62
- if (format === "redis")
63
- return JSON.stringify({ content: result.content, metadata: result.metadata });
64
- throw new TypeError(`unsupported format: ${format}`);
65
- }
66
- /** Converts local HTML into Markdown. */
67
- export function serializehtml(html, options = {}) { return serializeresult(scrapehtml(html, options.url), { format: "markdown" }); }
68
- /** Builds compact context for an agent or a vector pipeline. */
69
- export function formatforagent(result, options = {}) {
70
- const content = result.content ?? "";
71
- const chunks = chunkmarkdown(content, { maxtokens: options.maxchunksize ?? 4000 });
72
- const lines = content.split(/[.!?]\s+/).filter(Boolean);
73
- return { summary: lines.slice(0, 2).join(". "), keypoints: lines.slice(0, options.keypoints ?? 5), relevanturls: result.metadata?.links ?? [], chunks, tokencount: estimatetokens(content, options.model) };
74
- }
75
- /** Processes URLs in bounded groups and emits progress events. */
76
- export async function batchscrape(options = {}) {
77
- const urls = options.urls ?? [];
78
- const concurrency = options.concurrency ?? 10;
79
- const results = [];
80
- for (let index = 0; index < urls.length; index += concurrency) {
81
- const group = urls.slice(index, index + concurrency);
82
- const completed = await Promise.all(group.map((url) => scrapeurl(url, options)));
83
- results.push(...completed);
84
- options.onprogress?.({ completed: results.length, total: urls.length });
85
- }
86
- return results;
87
- }
88
- /** Runs the crawler through the public scrape contract. */
89
- export async function crawlurl(url, options = {}) { return crawl(url, { ...options, scrape: (target) => scrapeurl(target, options) }); }
90
- function safeurl(value) { const url = new URL(value); if (!["http:", "https:"].includes(url.protocol))
91
- throw new TypeError("url must use http or https"); return url.href; }
92
- function formatresult(result, options) { return options.format ? { ...result, serialized: serializeresult(result, options) } : result; }
93
- function escape(value) { return String(value).replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;"); }
94
- //# sourceMappingURL=operations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../operations.ts"],"names":[],"mappings":"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"}