@voltro/rooms-webtransport 0.0.0-stage → 0.87.0

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/LICENSE ADDED
@@ -0,0 +1,57 @@
1
+ Voltro — Proprietary Software License
2
+
3
+ Copyright (c) 2026 Voltro UG. All rights reserved.
4
+
5
+ This software and all associated source code, documentation, and other
6
+ materials (the "Software") are the proprietary property of Voltro UG
7
+ ("Voltro"). This is NOT open-source software.
8
+
9
+ Your access to and use of the Software is governed exclusively by the Voltro
10
+ Terms of Service at:
11
+
12
+ https://voltro.cloud/legal/terms
13
+
14
+ By downloading, installing, or using the Software you agree to those Terms.
15
+ Subject to and conditioned on your continued compliance with them, Voltro
16
+ grants you a limited, non-exclusive, non-transferable, non-sublicensable,
17
+ revocable license to use the Software. All rights not expressly granted in the
18
+ Terms are reserved by Voltro. If you do not agree to the Terms, you have no
19
+ license and may not use the Software.
20
+
21
+ The Terms of Service — including the scope of permitted use, plan
22
+ entitlements, fees, and pricing — may change from time to time. The version in
23
+ force is the one published at the URL above. Commercial terms and pricing are
24
+ NOT part of this notice and are not fixed by, or granted in perpetuity by, the
25
+ version of the Software in which this file appears.
26
+
27
+ Permitted use — your own software. Voltro is a development framework. You may
28
+ use the Software to build, run, and commercially distribute your own
29
+ applications and services, and to charge your own customers for them, without
30
+ owing Voltro any share of that revenue or any further permission beyond the
31
+ Terms. Applications you build with the Software are yours.
32
+
33
+ Prohibited use — reselling Voltro. You may NOT redistribute, resell,
34
+ sublicense, publish, or otherwise provide the Software itself — in whole or in
35
+ part, in source or compiled form — to third parties as a library, framework,
36
+ SDK, template, starter, or development tool for them to build upon, whether
37
+ standalone or repackaged. Shipping the Software as a non-separable, bundled
38
+ dependency inside an application you deliver (for example, compiled into your
39
+ deployed app) is permitted; extracting or re-exposing it as a reusable
40
+ component for others is not.
41
+
42
+ Except as expressly permitted above or by the Terms, you may not copy, modify,
43
+ merge, publish, sublicense, sell, distribute, or create derivative works of the
44
+ Software, in whole or in part.
45
+
46
+ Third-party open-source components distributed alongside the Software are the
47
+ property of their respective owners and are licensed under their own terms; see
48
+ THIRD-PARTY-NOTICES.md where provided. Nothing in this notice limits your
49
+ rights, or extends Voltro's, in those components.
50
+
51
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
52
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
53
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL
54
+ VOLTRO BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM,
55
+ OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR ITS USE.
56
+
57
+ For licensing inquiries, contact Voltro UG.
package/README.md CHANGED
@@ -1,3 +1,18 @@
1
- # Temporary Holding Version
1
+ # @voltro/rooms-webtransport
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Optional WebTransport (HTTP/3 over QUIC) lane for Voltro Rooms.
4
+
5
+ ```sh
6
+ pnpm add @voltro/rooms-webtransport
7
+ ```
8
+
9
+ That is the whole setup. The Rooms host detects the package, starts its prebuilt
10
+ sidecar and advertises a WebTransport endpoint next to the WebSocket one. Browsers
11
+ that support WebTransport use it and get unreliable datagrams; everything else
12
+ keeps using WebSocket.
13
+
14
+ - **Development:** `voltro dev` mints a short-lived certificate per run and the
15
+ browser pins it by digest. No certificate setup.
16
+ - **Production:** WebTransport needs UDP reachability and a certificate the
17
+ browser trusts. See the Rooms transport docs on voltro.dev.
18
+ - **Platforms:** Linux and macOS (x64, arm64). Elsewhere Rooms stays on WebSocket.
package/SECURITY.md ADDED
@@ -0,0 +1,56 @@
1
+ # Security Policy
2
+
3
+ We take the security of Voltro and the applications built on it seriously. This
4
+ document explains how to report a vulnerability and what to expect in return.
5
+
6
+ ## Reporting a vulnerability
7
+
8
+ **Please do not open public issues or discuss suspected vulnerabilities in
9
+ public channels.** Report them privately by email:
10
+
11
+ **security contact: [support@voltro.dev](mailto:support@voltro.dev)**
12
+ (subject line: `SECURITY`).
13
+
14
+ Include, where you can:
15
+
16
+ - the affected package(s) and version(s) (e.g. `@voltro/runtime@x.y.z`);
17
+ - a description of the issue and its impact;
18
+ - a minimal reproduction or proof of concept;
19
+ - any suggested remediation.
20
+
21
+ If you'd like to encrypt your report, ask in a first plain email and we'll
22
+ arrange a key.
23
+
24
+ ## What to expect
25
+
26
+ - **Acknowledgement** of your report within **3 business days**.
27
+ - An initial assessment (severity, affected surface) and a remediation plan as
28
+ soon as we've reproduced the issue.
29
+ - **Coordinated disclosure:** we'll agree a disclosure timeline with you and
30
+ credit you in the release notes if you wish. Please give us reasonable time to
31
+ ship a fix before any public disclosure.
32
+
33
+ We do not currently run a paid bug-bounty program, but we genuinely appreciate
34
+ responsible disclosure and will credit reporters.
35
+
36
+ ## Software Bill of Materials (SBOM)
37
+
38
+ A CycloneDX SBOM of the third-party runtime dependency graph is generated for the
39
+ published packages (`pnpm gen:sbom` → `sbom.cdx.json`). If your procurement or
40
+ security team needs it, request it at
41
+ [support@voltro.dev](mailto:support@voltro.dev).
42
+
43
+ ## Supported versions
44
+
45
+ Voltro is pre-1.0 and ships in lockstep: **only the latest published minor of
46
+ each `@voltro/*` package receives security fixes.** Please upgrade to the latest
47
+ release before reporting, and pin exact versions in production.
48
+
49
+ ## Scope
50
+
51
+ In scope: the published `@voltro/*` packages and the framework's own code.
52
+
53
+ Out of scope: vulnerabilities in third-party dependencies that are already
54
+ tracked upstream (we monitor these via a production-dependency audit gate in
55
+ CI), and issues that require a non-default, explicitly-unsafe configuration. If
56
+ you're unsure, report it anyway — we'd rather hear about it.
@@ -0,0 +1,11 @@
1
+ # Third-Party Notices — @voltro/rooms-webtransport
2
+
3
+ This package uses the open-source software listed below. Each is the
4
+ property of its respective copyright holders and is used under the terms of
5
+ its license. This file is provided for attribution; it grants no rights in
6
+ @voltro/rooms-webtransport itself, which is proprietary (see LICENSE).
7
+
8
+ Generated from the resolved runtime dependency closure (0 packages).
9
+
10
+ ---
11
+
@@ -0,0 +1,31 @@
1
+ /** Resolve one of this package's own dependencies. Bundled into an app's serve bundle, this
2
+ * module no longer sits next to them (pnpm keeps the platform package under this package), so
3
+ * the fallback goes through this package as the app at `root` installed it. */
4
+ export declare const resolveOwnDependency: (name: string, from?: string, root?: string) => string;
5
+
6
+ /** Find this platform's sidecar binary in its optional package. Never downloads,
7
+ * builds or runs anything; a missing binary is a reason to stay on WebSocket. */
8
+ export declare const resolveRoomsWebTransportSidecar: (platform?: string, resolvePackage?: (name: string) => string) => RoomsWebTransportResolution;
9
+
10
+ export declare type RoomsWebTransportPlatform = (typeof roomsWebTransportPlatforms)[number];
11
+
12
+ /** Platforms with a prebuilt sidecar. Others keep Rooms on WebSocket. */
13
+ export declare const roomsWebTransportPlatforms: readonly ["linux-x64", "linux-arm64", "darwin-x64", "darwin-arm64"];
14
+
15
+ export declare type RoomsWebTransportResolution = {
16
+ readonly status: 'available';
17
+ readonly sidecar: RoomsWebTransportSidecar;
18
+ } | {
19
+ readonly status: 'unsupported-platform';
20
+ readonly platform: string;
21
+ } | {
22
+ readonly status: 'binary-missing';
23
+ readonly platform: RoomsWebTransportPlatform;
24
+ };
25
+
26
+ export declare interface RoomsWebTransportSidecar {
27
+ readonly platform: RoomsWebTransportPlatform;
28
+ readonly executablePath: string;
29
+ }
30
+
31
+ export { }
package/dist/index.js ADDED
@@ -0,0 +1,64 @@
1
+ import { accessSync as e, chmodSync as t, constants as n, statSync as r } from "node:fs";
2
+ import { createRequire as i } from "node:module";
3
+ import { dirname as a, join as o } from "node:path";
4
+ //#region src/index.ts
5
+ var s = Object.freeze([
6
+ "linux-x64",
7
+ "linux-arm64",
8
+ "darwin-x64",
9
+ "darwin-arm64"
10
+ ]), c = (i) => {
11
+ try {
12
+ if (!r(i).isFile()) return !1;
13
+ } catch {
14
+ return !1;
15
+ }
16
+ try {
17
+ return e(i, n.X_OK), !0;
18
+ } catch {}
19
+ try {
20
+ return t(i, 493), e(i, n.X_OK), !0;
21
+ } catch {
22
+ return !1;
23
+ }
24
+ }, l = (e, t = import.meta.url, n = process.cwd()) => {
25
+ try {
26
+ return i(t).resolve(e);
27
+ } catch (t) {
28
+ let r;
29
+ try {
30
+ r = i(o(n, "package.json")).resolve("@voltro/rooms-webtransport/package.json");
31
+ } catch {
32
+ throw t;
33
+ }
34
+ return i(r).resolve(e);
35
+ }
36
+ }, u = (e = `${process.platform}-${process.arch}`, t = (e) => l(e)) => {
37
+ let n = s.find((t) => t === e);
38
+ if (n === void 0) return Object.freeze({
39
+ status: "unsupported-platform",
40
+ platform: e
41
+ });
42
+ let r;
43
+ try {
44
+ r = a(t(`@voltro/rooms-webtransport-${n}/package.json`));
45
+ } catch {
46
+ return Object.freeze({
47
+ status: "binary-missing",
48
+ platform: n
49
+ });
50
+ }
51
+ let i = o(r, "dist", "voltro-rooms-sidecar");
52
+ return c(i) ? Object.freeze({
53
+ status: "available",
54
+ sidecar: Object.freeze({
55
+ platform: n,
56
+ executablePath: i
57
+ })
58
+ }) : Object.freeze({
59
+ status: "binary-missing",
60
+ platform: n
61
+ });
62
+ };
63
+ //#endregion
64
+ export { l as resolveOwnDependency, u as resolveRoomsWebTransportSidecar, s as roomsWebTransportPlatforms };
package/package.json CHANGED
@@ -1,6 +1,44 @@
1
1
  {
2
2
  "name": "@voltro/rooms-webtransport",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.87.0",
4
+ "description": "Optional WebTransport lane for Voltro Rooms: a prebuilt native sidecar the Rooms host starts on its own; without it Rooms stays on WebSocket.",
5
+ "keywords": [
6
+ "voltro",
7
+ "typescript",
8
+ "framework"
9
+ ],
10
+ "license": "SEE LICENSE IN LICENSE",
11
+ "homepage": "https://voltro.dev",
12
+ "bugs": {
13
+ "email": "support@voltro.dev"
14
+ },
15
+ "author": {
16
+ "name": "Voltro UG",
17
+ "url": "https://voltro.dev"
18
+ },
19
+ "type": "module",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js",
24
+ "default": "./dist/index.js"
25
+ },
26
+ "./package.json": "./package.json"
27
+ },
28
+ "main": "./dist/index.js",
29
+ "module": "./dist/index.js",
30
+ "types": "./dist/index.d.ts",
31
+ "sideEffects": false,
32
+ "engines": {
33
+ "node": ">=24.0.0"
34
+ },
35
+ "optionalDependencies": {
36
+ "@voltro/rooms-webtransport-darwin-arm64": "0.87.0",
37
+ "@voltro/rooms-webtransport-darwin-x64": "0.87.0",
38
+ "@voltro/rooms-webtransport-linux-arm64": "0.87.0",
39
+ "@voltro/rooms-webtransport-linux-x64": "0.87.0"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
+ }
44
+ }