@wenathlan/saddle 2.0.162 → 2.0.163

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 CHANGED
@@ -61,20 +61,23 @@
61
61
  # is the sandbox spec surface the console answers, never a host
62
62
  # distribution this container installs.
63
63
  #
64
- # THE ELEVEN-ARCHITECTURE PLATFORM STANDARD (the pr15b law): every
65
- # profile answers the eleven architectures the container standard names —
66
- # the CONTAINERARCHIDS of saddle/containerarch.ts: x64, arm64, armv7,
67
- # riscv64, ppc64le, s390x, 386, mips64le, loong64, wasm32, wasip1 (the
68
- # wasm pair rides the oci artifact shapes wasm32/wasip1 and wasip1/wasm
69
- # the wasm runtimes consume). The build legs follow the pinned node
70
- # base's honest manifest list — the four linux seats it carries
71
- # (linux/amd64 the native x64 leg; linux/arm64, linux/ppc64le and
72
- # linux/s390x ride qemu emulation in the publish workflow). The seven
73
- # seats the node base does not ship (armv7, riscv64, 386, mips64le,
74
- # loong64 and the wasm pair) answer the standard's honest coded absence
75
- # (ARCH_IMAGE_ABSENT), never a pretended build leg — the same honesty
76
- # law the containerarch table keeps for its own pinned base: a leg
77
- # never claims a manifest the base does not carry. The base stage
64
+ # THE ELEVEN-ARCHITECTURE PLATFORM STANDARD (the pr15 law): every
65
+ # profile answers the eleven architecture seats the container standard
66
+ # names — the CONTAINERARCHIDS of saddle/containerarch.ts (linux-x64,
67
+ # darwin-arm64, windows-x64, linux-arm64, darwin-x64, windows-arm64,
68
+ # linux-x64-musl, linux-riscv64, wasm32, darwin-arm64-v8,
69
+ # windows-x64-gnu). The build legs follow the container-carried seats
70
+ # the pinned node base honestly answers: the amd64 leg serves linux-x64
71
+ # and linux-x64-musl, the arm64 leg serves linux-arm64, and the arm64/v8
72
+ # leg serves the darwin-arm64-v8 abi seat (the arm64 legs ride qemu
73
+ # emulation in the publish workflow). The linux-riscv64 seat the
74
+ # containerarch standard carries on the bash:5 driver base answers the
75
+ # honest coded absence on this node engine base (the pinned base ships
76
+ # no riscv64 manifest), and the six target seats (the darwin and
77
+ # windows seats and wasm32) answer the standard's honest coded absence
78
+ # (ARCH_TARGET_NOT_CONTAINER), never a pretended build leg — the same
79
+ # honesty law the containerarch table keeps for its own pinned base: a
80
+ # leg never claims a manifest the base does not carry. The base stage
78
81
  # declares the TARGETPLATFORM/TARGETARCH automatic build-args (the
79
82
  # devthink container's standard arch interface) and stamps the honesty
80
83
  # law into the build log with its arch guard: a leg the base carries
@@ -191,19 +194,21 @@ ENV NODE_ENV=production \
191
194
 
192
195
  # the arch-leg guard of the eleven-architecture standard: the pinned
193
196
  # node base resolves the platform of every leg buildx names, and this
194
- # echo layer stamps the honesty law into the build log — the four seats
195
- # the base carries answer their leg line, the legacy builder (no
196
- # platform axis) answers its documented note, and any other seat answers
197
- # the coded refusal before the heavy steps below could run (buildx
198
- # itself fails such a leg at base resolution first; the guard keeps the
199
- # law loud on every builder).
197
+ # echo layer stamps the honesty law into the build log — the two arches
198
+ # the base carries answer their leg line (the amd64 leg serves the
199
+ # linux-x64 and linux-x64-musl seats, the arm64 leg serves the
200
+ # linux-arm64 seat and the darwin-arm64-v8 abi seat through its v8
201
+ # variant), the legacy builder (no platform axis) answers its documented
202
+ # note, and any other arch answers the coded refusal before the heavy
203
+ # steps below could run (buildx itself fails such a leg at base
204
+ # resolution first; the guard keeps the law loud on every builder).
200
205
  RUN case "${TARGETARCH:-}" in \
201
- amd64|arm64|ppc64le|s390x) \
202
- echo "arch leg ${TARGETARCH} of ${TARGETPLATFORM:-<unresolved>}: one of the four seats the pinned node base carries of the eleven-architecture standard" ;; \
206
+ amd64|arm64) \
207
+ echo "arch leg ${TARGETARCH} of ${TARGETPLATFORM:-<unresolved>}: one of the two arches the pinned node base carries — the legs of the container-carried seats of the eleven-architecture standard (linux-x64 and linux-x64-musl on amd64, linux-arm64 and the darwin-arm64-v8 abi seat on arm64)" ;; \
203
208
  "") \
204
209
  echo "arch leg unresolved: the legacy builder carries no platform axis; buildkit answers TARGETARCH per leg" ;; \
205
210
  *) \
206
- echo "the eleven-architecture standard answers the ${TARGETARCH} seat with the honest coded absence (ARCH_IMAGE_ABSENT): the pinned node base carries no such manifest" >&2; \
211
+ echo "the eleven-architecture standard answers the ${TARGETARCH} arch with the honest coded absence (ARCH_TARGET_NOT_CONTAINER for the target seats, ARCH_IMAGE_ABSENT for the riscv64 seat the node engine base does not ship): the pinned node base carries no such manifest" >&2; \
207
212
  exit 1 ;; \
208
213
  esac
209
214
 
package/README.md CHANGED
@@ -31,7 +31,7 @@ domain modules land beside the saddle domains:
31
31
  | `media.ts`, `render.ts`, `quantum.ts`, `tiers.ts` | media pipeline, GPU registry, quantum simulation, tier policy |
32
32
  | `security.ts`, `alternatives.ts` | hardening gates and the alternative-stack catalog |
33
33
  | `index.html`, `App.tsx`, `sol/` | the single SPA shell and the Sol theme (one tsx app with one stylesheet per theme) |
34
- | `server.ts`, `sandbox.ts` | the zero-dependency self-hosted API of the 2.0.162 grand-merge envelope (`node server.ts`; the api answers its version at `/api/v1/health`) and the browser-pure engine port |
34
+ | `server.ts`, `sandbox.ts` | the zero-dependency self-hosted API of the 2.0.163 grand-merge envelope (`node server.ts`; the api answers its version at `/api/v1/health`) and the browser-pure engine port |
35
35
  | `vercel.json`, `netlify.toml` | the platform deploy adapters beside the surface they publish (the caddy ghost stays out of the tree) |
36
36
  | `specs/*` package exports | processors, gpus, cores, boards and the qemu/mttg/passage/docker envelopes |
37
37
 
package/biome.jsonc CHANGED
File without changes
package/distribution.ts CHANGED
@@ -366,7 +366,20 @@ export async function writeTargetPlan(target: string, format = target, output =
366
366
  return filename;
367
367
  }
368
368
 
369
- if (process.argv[1]?.endsWith("targetcli.js") || process.argv[1]?.endsWith("targetcli.ts")) {
369
+ /** The cli entry seat: argv[1] only exists under the node runtime — the
370
+ * family browser bridges import this module through the modes ladder for
371
+ * the publish contracts, and the raw process.argv[1] read throws at
372
+ * import time in the browser (the blank-window era of the forge and
373
+ * foundry seats). the guard answers undefined everywhere but node. */
374
+ const cliseat =
375
+ typeof process === "object" &&
376
+ process !== null &&
377
+ Array.isArray(process.argv) &&
378
+ typeof process.argv[1] === "string"
379
+ ? process.argv[1]
380
+ : undefined;
381
+
382
+ if (cliseat?.endsWith("targetcli.js") || cliseat?.endsWith("targetcli.ts")) {
370
383
  const [, , target = "library", format = target, output = "build/targets"] = process.argv;
371
384
  writeTargetPlan(target, format, output).then((filename) => console.log(`target plan: ${filename}`)).catch((error) => { console.error(error.message); process.exitCode = 1; });
372
385
  }
@@ -511,7 +524,7 @@ function normalizeupdatedat(value) { const normalized = Number(value ?? 0); if (
511
524
 
512
525
  function comparefreshness(left, right) { return right.updatedat - left.updatedat || right.bytes - left.bytes || left.name.localeCompare(right.name); }
513
526
 
514
- if (process.argv[1] === fileURLToPath(import.meta.url)) createassets(parsearguments(process.argv.slice(2))).then(({ output }) => { console.log(`release assets: ${output}`); }).catch((error) => { console.error(error.message); process.exitCode = 1; });
527
+ if (cliseat !== undefined && cliseat === fileURLToPath(import.meta.url)) createassets(parsearguments(process.argv.slice(2))).then(({ output }) => { console.log(`release assets: ${output}`); }).catch((error) => { console.error(error.message); process.exitCode = 1; });
515
528
 
516
529
  /* ════════════════════════════════════════════════════════════════════ */
517
530
  /* Section 9: release/verify.ts — Release verification checks artifact digests, manifest consistency and */
@@ -613,7 +626,7 @@ function verifyparsearguments(argumentslist) {
613
626
  return options;
614
627
  }
615
628
 
616
- if (process.argv[1] === fileURLToPath(import.meta.url)) verifyassets(verifyparsearguments(process.argv.slice(2))).then((result) => { console.log(JSON.stringify(result)); }).catch((error) => { console.error(error.message); process.exitCode = 1; });
629
+ if (cliseat !== undefined && cliseat === fileURLToPath(import.meta.url)) verifyassets(verifyparsearguments(process.argv.slice(2))).then((result) => { console.log(JSON.stringify(result)); }).catch((error) => { console.error(error.message); process.exitCode = 1; });
617
630
 
618
631
  /* ════════════════════════════════════════════════════════════════════ */
619
632
  /* Section 10: release/evidence.ts — Release evidence evaluates caller-supplied metadata without fetching, signing, */
@@ -0,0 +1,9 @@
1
+ # Saddle acceptable use policy
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ The Saddle source code is licensed under the GNU General Public License version 3.0 only. This policy governs hosted services, credentials, runners and integrations operated with Saddle; it does not reduce rights granted by the GPL.
6
+
7
+ Operators must use Saddle lawfully, respect the terms of each connected provider, protect credentials, and obtain authorization before accessing systems or data. Operators must not use Saddle to distribute malware, evade access controls, attack third-party systems, violate privacy, infringe intellectual property, or exceed provider quotas.
8
+
9
+ The project may suspend a hosted integration or reject an unsafe request when necessary to protect users, providers or the public. These operational controls do not restrict lawful use, modification or redistribution of the GPL-licensed software itself.
@@ -0,0 +1,16 @@
1
+ # Saddle authors
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ The project authors and historical copyright holders are:
6
+
7
+ | Contributor | Role |
8
+ |---|---|
9
+ | devthink | Historical author and project contributor |
10
+ | nathlan | Project owner and maintainer |
11
+ | iakadion | Historical author and project contributor |
12
+ | nathu filho | Historical author and project contributor |
13
+ | allan neris | Historical author and project contributor |
14
+ | andraneris | Historical author and project contributor |
15
+
16
+ Saddle is maintained at https://github.com/wenathlan/saddle and distributed under GPL-3.0-only. Contributors retain copyright in their original contributions unless a separate written agreement states otherwise.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Report a reproducible issue in Saddle
4
+ title: "[BUG]"
5
+ labels: bug
6
+ ---
7
+
8
+ # Saddle is licensed under GPL-3.0-only. Please do not include secrets or private data.
9
+
10
+ **Describe the issue:**
11
+
12
+ **File / Line:**
13
+
14
+ **Expected behavior:**
15
+
16
+ **Additional context:**
package/docs/cla.md ADDED
@@ -0,0 +1,9 @@
1
+ # Saddle contributor terms
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ Saddle does not require an exclusive proprietary assignment of contributions. A contributor submitting a change represents that the contributor has the right to submit it and grants the project the permissions necessary to review, merge, reproduce, distribute and maintain the contribution under GPL-3.0-only.
6
+
7
+ The contributor keeps copyright in the contribution. The project may include the contribution in source and binary releases under GPL-3.0-only and may preserve attribution and required notices.
8
+
9
+ If a separate contributor agreement is required for a particular institutional or commercial arrangement, it must be reviewed and accepted in writing before the contribution is merged. This file is not a replacement for legal advice or a bespoke agreement.
@@ -0,0 +1,9 @@
1
+ # Saddle code of conduct
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ The Saddle community follows a respectful, inclusive and technically constructive standard. Participants communicate in good faith, explain technical concerns with evidence, respect different backgrounds and experience levels, and protect private information.
6
+
7
+ Unacceptable conduct includes harassment, discrimination, threats, deliberate disclosure of private information, malicious interference, impersonation, spam, and behavior that violates applicable law or the project policies.
8
+
9
+ Project maintainers may moderate discussions, remove harmful content, or restrict participation when necessary. Reports should be sent through the repository security or support channels, with private disclosure used for security-sensitive matters.
@@ -0,0 +1,9 @@
1
+ # Contributing to Saddle
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ Saddle welcomes contributions that improve the library, its adapters, target builds, documentation, tests and security posture. Contributions are licensed under GPL-3.0-only unless a different compatible arrangement is agreed in writing before acceptance.
6
+
7
+ A pull request should explain the change, include focused verification, preserve the root-first architecture and avoid credentials, private data or generated artifacts. Security vulnerabilities must use the private process in `SECURITY.md` rather than a public issue.
8
+
9
+ Maintainers may review, request changes, decline or merge a contribution. No contributor is required to transfer exclusive ownership of their work merely to submit a pull request.
@@ -0,0 +1,7 @@
1
+ # Saddle copyright notice
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ The Saddle source code and original documentation are distributed under the GNU General Public License version 3.0 only. The complete license text is kept in the root `LICENSE` file and must be distributed with covered copies.
6
+
7
+ Copyright ownership remains with the respective authors and contributors. Copyright ownership does not remove the rights granted by GPL-3.0-only. The Saddle name, logos and other marks are covered separately by `trademarkpolicy.md`.
@@ -0,0 +1,7 @@
1
+ # Saddle disclaimer
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors.
4
+
5
+ Saddle is provided under GPL-3.0-only and without warranty to the maximum extent permitted by law. The project does not guarantee availability, correctness, security, compatibility, performance or fitness for a particular purpose.
6
+
7
+ Operators remain responsible for reviewing source code, configuring integrations, protecting credentials, validating outputs and complying with the terms of connected services. Nothing in this disclaimer removes rights or obligations established by GPL-3.0-only.
package/docs/eula.md ADDED
@@ -0,0 +1,7 @@
1
+ # Saddle end user license notice
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ Saddle source code, scripts and covered binaries are licensed under the GNU General Public License version 3.0 only. The root `LICENSE` file controls the copyright license and grants the permissions described there.
6
+
7
+ This notice does not add a proprietary restriction to GPL-licensed code. Separate terms may apply to a hosted service, a third-party provider, a trademark, or data supplied by an operator. Those terms cannot remove rights granted by the GPL for the covered source code.
@@ -0,0 +1,17 @@
1
+ SADDLE - EXPORT CONTROL NOTICE
2
+ Version 1.0, August 2026
3
+
4
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, andraneris, and contributors. Licensed under GPL-3.0-only.
5
+ Project: saddle
6
+
7
+ Project Saddle is open-source software under GPL-3.0-only. Export,
8
+ re-export and sanctions laws may still apply to a particular operator,
9
+ destination, service or use case.
10
+
11
+ You agree not to export, re-export, or transfer Project saddle to any
12
+ prohibited destination, entity, or person, or for any prohibited end-use.
13
+
14
+ Operators are responsible for checking applicable rules before
15
+ transferring source, binaries, credentials or data across borders.
16
+
17
+ END OF EXPORT CONTROL NOTICE
package/docs/features.md CHANGED
File without changes
@@ -0,0 +1,9 @@
1
+ # Saddle governance
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ Saddle is maintained as a library-first open-source project under GPL-3.0-only. The repository owner coordinates releases, security response, release approvals and provider integrations. Contributors retain copyright in their contributions unless a separate written agreement states otherwise.
6
+
7
+ Changes should include focused reasoning, tests where practical, documentation for public behavior, and review of security-sensitive workflows. Release artifacts must be traceable to repository source and generated by the documented automation.
8
+
9
+ Technical governance is recorded in the repository plans and workflow files. This document describes project responsibility and does not override the GPL or a contributor's applicable rights.
File without changes
package/docs/notice.md ADDED
@@ -0,0 +1,7 @@
1
+ # Saddle notice
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ Saddle is open-source software licensed under the GNU General Public License version 3.0 only. The source code, generated artifacts and documentation may include work from third-party projects; each third-party component remains subject to its own license.
6
+
7
+ The project name and logos are trademarks of their respective owner. The trademark policy does not restrict rights granted by GPL-3.0-only to the source code.
File without changes
File without changes
@@ -0,0 +1,9 @@
1
+ # Saddle privacy policy
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ The core Saddle library does not intentionally collect telemetry or transmit data without an operator-requested integration. Browser, scraper, storage and runner features can access data only when the operator configures and invokes them. Operators must review the configuration and the privacy policy of every connected provider.
6
+
7
+ The repository itself is hosted by third-party services such as GitHub. Those services process requests, account data, logs and cookies under their own policies. A deployment that adds analytics, account data, logs or external storage must document that behavior and provide the controls required by applicable law.
8
+
9
+ Privacy questions and reports should use the repository support channel. Security-sensitive reports must follow `SECURITY.md`.
@@ -0,0 +1,13 @@
1
+ <!-- Saddle pull request template -->
2
+
3
+ # Description
4
+
5
+ ## Type of change
6
+
7
+ ## Verification
8
+
9
+ - [ ] The change preserves GPL-3.0-only metadata and required notices.
10
+ - [ ] Tests or a reason for not adding tests are included.
11
+ - [ ] Security-sensitive behavior and workflow changes were reviewed.
12
+ - [ ] No credentials, private data or generated build output was added.
13
+ - [ ] Public documentation was updated when behavior changed.
@@ -0,0 +1,7 @@
1
+ # Saddle support
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ Saddle is open-source software under GPL-3.0-only. Questions about installation, configuration, usage and reproducible failures should include the version, target, relevant logs and a minimal reproduction without credentials or private data.
6
+
7
+ Security reports must use the private process in `SECURITY.md`. Requests involving a third-party provider should also include the provider and the operator-controlled configuration. Community support is provided on a best-effort basis and does not create a warranty, service-level agreement or maintenance obligation.
@@ -0,0 +1,9 @@
1
+ # Saddle terms and conditions
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ These terms describe access to the Saddle repository, documentation, releases and project services. The source code license is the GNU General Public License version 3.0 only; the root `LICENSE` file controls permissions to copy, modify, run and redistribute covered works.
6
+
7
+ Users must comply with applicable law, third-party provider terms, the acceptable use policy, and the security policy. Users must not use a configured integration to access data or systems without authorization, expose credentials, distribute malware, or evade safety controls.
8
+
9
+ The repository and project services are provided without warranty to the maximum extent permitted by law. Separate provider terms apply to infrastructure, accounts, data and hosted services. These terms do not add restrictions to GPL-licensed source code.
@@ -0,0 +1,9 @@
1
+ # Saddle terms of use
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ Saddle may be used, modified and redistributed under GPL-3.0-only. Use of a connected account, runner, storage provider, browser session or hosted service remains subject to the operator's authorization and that provider's terms.
6
+
7
+ Users must protect secrets, respect privacy, avoid unauthorized access, and validate outputs before relying on them. Feedback may be used by the project under the applicable copyright permissions; submitting feedback does not transfer unrelated rights in the contributor's code.
8
+
9
+ The project is provided as-is without a warranty or service-level commitment. The GPL and applicable law control where this document conflicts with a covered source license.
@@ -0,0 +1,19 @@
1
+ # Saddle third-party notices
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ Saddle includes or builds with third-party components. Their individual licenses remain in force and are not replaced by GPL-3.0-only. Package manifests, lockfiles and generated license inventories are the source of truth for the exact dependency set of each release.
6
+
7
+ When a component requires a notice, attribution or source offer, the release process must include it. A future dependency should be recorded with its name, version, license identifier, copyright notice and source URL.
8
+
9
+ ## Merged lineage notice — e2ugh (the 2.0.0 grand merge)
10
+
11
+ The e2ugh virtual-hardware engine (the private repository that merged into
12
+ saddle at 2.0.0) was originally published under the MIT license
13
+ ("Copyright (c) 2026 wenathlan"). The merged repository relicenses the
14
+ combined work under GPL-3.0-only; the original MIT grant of the e2ugh
15
+ sources is acknowledged here so the lineage's license history stays
16
+ recorded: every file, feature and document of e2ugh carries into saddle
17
+ (readapted to the saddle product metadata) with the e2ugh release history
18
+ preserved verbatim in the CHANGELOG.md lineage sections and the engine
19
+ reference preserved at docs/e2ughengine.md.
@@ -0,0 +1,7 @@
1
+ # Saddle trademark policy
2
+
3
+ Copyright (C) 2026 devthink, nathlan, iakadion, nathu filho, allan neris, and contributors.
4
+
5
+ The names “Saddle” and “Saddle Browser”, together with associated logos and marks, identify the project and its official releases. GPL-3.0-only grants rights to the source code; it does not grant permission to use project marks in a way that suggests endorsement, affiliation or official distribution.
6
+
7
+ Forks and modified distributions should use distinct names and branding where necessary to avoid confusion. Descriptive references to compatibility, origin or modification are permitted when they are accurate and do not imply sponsorship.
File without changes