@serve.zone/dcrouter 32.1.4 → 32.3.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/deno.json +1 -1
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/package.json +6 -6
- package/readme.md +39 -12
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/readme.md +3 -3
- package/ts_apiclient/readme.md +20 -4
- package/ts_apiclient/tspublish.json +25 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/readme.md +5 -11
package/deno.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/dcrouter',
|
|
6
|
-
version: '32.
|
|
6
|
+
version: '32.3.0',
|
|
7
7
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLDBFQUEwRTtDQUN4RixDQUFBIn0=
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/dcrouter',
|
|
6
|
-
version: '32.
|
|
6
|
+
version: '32.3.0',
|
|
7
7
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwwRUFBMEU7Q0FDeEYsQ0FBQSJ9
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/dcrouter",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "32.
|
|
4
|
+
"version": "32.3.0",
|
|
5
5
|
"description": "A multifaceted routing service handling mail and SMS delivery functions.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
"author": "Task Venture Capital GmbH",
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@git.zone/tsbuild": "^4.5.
|
|
19
|
-
"@git.zone/tsbundle": "^2.
|
|
18
|
+
"@git.zone/tsbuild": "^4.5.1",
|
|
19
|
+
"@git.zone/tsbundle": "^2.14.0",
|
|
20
20
|
"@git.zone/tsdeno": "^1.8.0",
|
|
21
|
-
"@git.zone/tsdocker": "^3.
|
|
21
|
+
"@git.zone/tsdocker": "^3.8.1",
|
|
22
22
|
"@git.zone/tsrun": "^2.0.6",
|
|
23
|
-
"@git.zone/tstest": "^6.1.
|
|
23
|
+
"@git.zone/tstest": "^6.1.5",
|
|
24
24
|
"@git.zone/tswatch": "^3.3.5",
|
|
25
25
|
"@push.rocks/smartdb-v2": "npm:@push.rocks/smartdb@2.14.6",
|
|
26
26
|
"@push.rocks/smartdb-v5.2": "npm:@push.rocks/smartdb@5.2.2",
|
|
27
|
-
"@types/node": "26.
|
|
27
|
+
"@types/node": "26.6.1",
|
|
28
28
|
"@types/web-push": "3.6.4"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
package/readme.md
CHANGED
|
@@ -678,7 +678,7 @@ const route = await client.routes.build()
|
|
|
678
678
|
await route.toggle(true);
|
|
679
679
|
```
|
|
680
680
|
|
|
681
|
-
Use `@serve.zone/dcrouter/interfaces` or `@serve.zone/dcrouter
|
|
681
|
+
Use `@serve.zone/dcrouter-apiclient/interfaces` (or `@serve.zone/dcrouter/interfaces` from the runtime package) when you want dcrouter-local raw TypedRequest contracts instead of resource managers. Use `@serve.zone/interfaces` for the canonical machine-facing gateway client route, DNS, domain, and mail contracts shared with Onebox and Cloudly.
|
|
682
682
|
|
|
683
683
|
dcrouter 32.0.0 builds against `@serve.zone/interfaces` 32.0.0: the installed interfaces release is the contract version, there is no version field on the wire and no per-shape version suffix. dcrouter serves no session that carries the 32 protocol handshake and opens none — its gateway-client, mail, Web Push and CoreMail gateway contracts are unchanged in 32.0.0 and carry no protocol offer — so no caller has to send one.
|
|
684
684
|
|
|
@@ -890,17 +890,44 @@ Host networking is the simplest container mode for a gateway that owns HTTP/S, S
|
|
|
890
890
|
|
|
891
891
|
## Published Modules
|
|
892
892
|
|
|
893
|
-
This repository
|
|
894
|
-
|
|
895
|
-
|
|
|
896
|
-
| --- | --- | --- |
|
|
897
|
-
| `@serve.zone/dcrouter` |
|
|
898
|
-
| `@serve.zone/dcrouter
|
|
899
|
-
| `@serve.zone/dcrouter
|
|
900
|
-
| `@serve.zone/dcrouter-
|
|
901
|
-
| `@serve.zone/dcrouter-apiclient` |
|
|
902
|
-
|
|
903
|
-
|
|
893
|
+
This repository defines two npm packages from one codebase.
|
|
894
|
+
|
|
895
|
+
| Package | Entry point | Purpose | Platform | Docs |
|
|
896
|
+
| --- | --- | --- | --- | --- |
|
|
897
|
+
| `@serve.zone/dcrouter` | `.` | Runtime and orchestrator | Linux x64/arm64 | `./readme.md` |
|
|
898
|
+
| `@serve.zone/dcrouter` | `./interfaces` | Shared contracts as a subpath of the runtime | Linux x64/arm64 | `./ts_interfaces/readme.md` |
|
|
899
|
+
| `@serve.zone/dcrouter` | `./apiclient` | API client as a subpath of the runtime | Linux x64/arm64 | `./ts_apiclient/readme.md` |
|
|
900
|
+
| `@serve.zone/dcrouter-apiclient` | `.` | API client without the server | Linux x64/arm64 | `./ts_apiclient/readme.md` |
|
|
901
|
+
| `@serve.zone/dcrouter-apiclient` | `./interfaces` | Shared contracts without the server | Linux x64/arm64 | `./ts_interfaces/readme.md` |
|
|
902
|
+
|
|
903
|
+
Install `@serve.zone/dcrouter-apiclient` when you consume the API rather than
|
|
904
|
+
operate the router: it declares 8 dependencies against the runtime package's 48
|
|
905
|
+
and resolves a production closure of 184 packages instead of 579, dropping the
|
|
906
|
+
native `argon2` build, `mongodb`, `@lossless.org/client`, the dashboard
|
|
907
|
+
component library, `@push.rocks/smartdata` and `@push.rocks/smartbucket`.
|
|
908
|
+
`@serve.zone/dcrouter` keeps both subpath exports, so existing consumers
|
|
909
|
+
migrate whenever it suits them. `@serve.zone/dcrouter-apiclient` has no release
|
|
910
|
+
for 32.2.0 and earlier; a consumer pinned to one of those runtime versions
|
|
911
|
+
imports the same client from `@serve.zone/dcrouter/apiclient`.
|
|
912
|
+
|
|
913
|
+
**Both packages install on Linux x64 and arm64 only.** Contract members are
|
|
914
|
+
typed against `@push.rocks/smartmta`, `@push.rocks/smartproxy` and
|
|
915
|
+
`@push.rocks/smartnetwork`, so the client package depends on them even though
|
|
916
|
+
those imports are type-only, and `@push.rocks/smartmta` declares
|
|
917
|
+
`os: ["linux"]` with `cpu: ["x64", "arm64"]`; installing elsewhere fails with
|
|
918
|
+
`ERR_PNPM_UNSUPPORTED_PLATFORM`. The constraint is upstream: it goes away once
|
|
919
|
+
`@push.rocks/smartproxy`, `@push.rocks/smartmta` and `@push.rocks/smartnetwork`
|
|
920
|
+
move their Rust payloads into per-platform optional packages.
|
|
921
|
+
|
|
922
|
+
`ts_migrations` and `ts_web` are internal module boundaries of the runtime
|
|
923
|
+
package and are not published separately (`./ts_migrations/readme.md`,
|
|
924
|
+
`./ts_web/readme.md`).
|
|
925
|
+
|
|
926
|
+
One `gitzone release` (gitzone 7 and later) publishes both packages and the
|
|
927
|
+
Docker images at the same version. It qualifies the images first, publishes
|
|
928
|
+
`@serve.zone/dcrouter-apiclient` before `@serve.zone/dcrouter`, and promotes the
|
|
929
|
+
images only once both packages are verified on every registry, so every
|
|
930
|
+
runtime release from then on has a client release of the same version.
|
|
904
931
|
|
|
905
932
|
## Development
|
|
906
933
|
|
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/readme.md
CHANGED
|
@@ -77,9 +77,9 @@ await router.start();
|
|
|
77
77
|
| Need | Module |
|
|
78
78
|
| --- | --- |
|
|
79
79
|
| A higher-level client SDK for a running router | `@serve.zone/dcrouter-apiclient` or `@serve.zone/dcrouter/apiclient` |
|
|
80
|
-
| Raw TypedRequest request/data contracts | `@serve.zone/dcrouter-interfaces` or `@serve.zone/dcrouter/interfaces` |
|
|
81
|
-
| The
|
|
82
|
-
| The browser dashboard module boundary |
|
|
80
|
+
| Raw TypedRequest request/data contracts | `@serve.zone/dcrouter-apiclient/interfaces` or `@serve.zone/dcrouter/interfaces` |
|
|
81
|
+
| The migration runner | `ts_migrations/` in this repository (`../ts_migrations/readme.md`) |
|
|
82
|
+
| The browser dashboard module boundary | `ts_web/` in this repository (`../ts_web/readme.md`) |
|
|
83
83
|
|
|
84
84
|
## License and Legal Information
|
|
85
85
|
|
package/ts_apiclient/readme.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
`@serve.zone/dcrouter-apiclient` is the object-oriented TypeScript client for the dcrouter OpsServer API. It wraps `/typedrequest` calls in managers, builders, and resource classes for routes, certificates, API tokens, remote ingress, email, stats, config, logs, RADIUS, and gateway-client integrations.
|
|
4
4
|
|
|
5
|
+
It is the client half of dcrouter without the server: installing it does not pull the runtime, the dashboard, the database client or a native password hasher. It ships the shared contracts alongside the client under the `./interfaces` subpath, so a consumer that only reads request and data types never needs `@serve.zone/dcrouter` either.
|
|
6
|
+
|
|
5
7
|
## Issue Reporting and Security
|
|
6
8
|
|
|
7
9
|
For reporting bugs, issues, or security vulnerabilities, please visit [community.foss.global/](https://community.foss.global/). This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a [code.foss.global/](https://code.foss.global/) account to submit Pull Requests directly.
|
|
@@ -12,12 +14,26 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
|
|
|
12
14
|
pnpm add @serve.zone/dcrouter-apiclient
|
|
13
15
|
```
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
Two entry points:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { DcRouterApiClient } from '@serve.zone/dcrouter-apiclient';
|
|
21
|
+
import { data, requests } from '@serve.zone/dcrouter-apiclient/interfaces';
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The same client and contracts remain available as subpaths of the server package for consumers that already depend on it:
|
|
16
25
|
|
|
17
26
|
```typescript
|
|
18
27
|
import { DcRouterApiClient } from '@serve.zone/dcrouter/apiclient';
|
|
28
|
+
import { data, requests } from '@serve.zone/dcrouter/interfaces';
|
|
19
29
|
```
|
|
20
30
|
|
|
31
|
+
### Platform support
|
|
32
|
+
|
|
33
|
+
**This package installs on Linux x64 and arm64 only.** Several contract members are typed against `@push.rocks/smartmta`, `@push.rocks/smartproxy` and `@push.rocks/smartnetwork`, so those packages are dependencies even though the imports are type-only, and `@push.rocks/smartmta` declares `os: ["linux"]` with `cpu: ["x64", "arm64"]`. Installing anywhere else fails with `ERR_PNPM_UNSUPPORTED_PLATFORM`. `@serve.zone/dcrouter` carries the same constraint today, so this is not a new restriction — but it does mean the client cannot yet be installed on a macOS or Windows developer machine.
|
|
34
|
+
|
|
35
|
+
The restriction is upstream and no change here lifts it. It goes away once `@push.rocks/smartproxy`, `@push.rocks/smartmta` and `@push.rocks/smartnetwork` move their Rust payloads into per-platform optional packages; today each of the three ships both the amd64 and the arm64 binary in one tarball and declares no macOS or Windows build.
|
|
36
|
+
|
|
21
37
|
## Quick Start
|
|
22
38
|
|
|
23
39
|
```typescript
|
|
@@ -165,13 +181,13 @@ RemoteIngress resources expose `performance` and `egress` fields. `create()` and
|
|
|
165
181
|
|
|
166
182
|
- It does not start dcrouter.
|
|
167
183
|
- It does not serve or bundle the Ops dashboard.
|
|
168
|
-
- It does not replace `@serve.zone/dcrouter-interfaces` when you want
|
|
184
|
+
- It does not replace the raw dcrouter-local TypedRequest contracts under `@serve.zone/dcrouter-apiclient/interfaces` when you want to talk to `/typedrequest` yourself.
|
|
169
185
|
|
|
170
|
-
Use `@serve.zone/dcrouter` for the server runtime
|
|
186
|
+
Use `@serve.zone/dcrouter` for the server runtime. The canonical machine-facing gateway client route, DNS, and domain contracts used by `client.gatewayClients` come from `@serve.zone/interfaces`.
|
|
171
187
|
|
|
172
188
|
## Development
|
|
173
189
|
|
|
174
|
-
This folder is published from the dcrouter monorepo
|
|
190
|
+
This folder is published from the dcrouter monorepo through its `tspublish.json`, which also owns `ts_interfaces` and exposes it as the `./interfaces` subpath. Both folders keep the build order they always had (`ts_interfaces` first, then `ts_apiclient`). See `../ts_interfaces/readme.md` for the contract surface. `gitzone release` publishes this package in the same release as `@serve.zone/dcrouter` and the Docker images, at the same version and before the runtime package.
|
|
175
191
|
|
|
176
192
|
Useful source entry points:
|
|
177
193
|
|
|
@@ -1,3 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"name": "@serve.zone/dcrouter-apiclient",
|
|
3
|
+
"order": 5,
|
|
4
|
+
"description": "Object-oriented TypeScript client and shared TypedRequest contracts for the dcrouter OpsServer API.",
|
|
5
|
+
"dependencies": [
|
|
6
|
+
"@api.global/typedrequest",
|
|
7
|
+
"@api.global/typedrequest-interfaces",
|
|
8
|
+
"@api.global/typedsocket",
|
|
9
|
+
"@push.rocks/smartchallenge",
|
|
10
|
+
"@push.rocks/smartmta",
|
|
11
|
+
"@push.rocks/smartnetwork",
|
|
12
|
+
"@push.rocks/smartproxy",
|
|
13
|
+
"@serve.zone/interfaces"
|
|
14
|
+
],
|
|
15
|
+
"folders": ["ts_interfaces"],
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist_ts_apiclient/index.d.ts",
|
|
19
|
+
"import": "./dist_ts_apiclient/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./interfaces": {
|
|
22
|
+
"types": "./dist_ts_interfaces/index.d.ts",
|
|
23
|
+
"import": "./dist_ts_interfaces/index.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"registries": ["useBase"]
|
|
3
27
|
}
|
package/ts_web/readme.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# dcrouter web
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This folder is the browser-side Ops dashboard module for dcrouter. It provides the SPA entry point, route synchronization, app state, and web-component views that OpsServer serves from the main dcrouter runtime. It is an internal module boundary of `@serve.zone/dcrouter` and is not published as a package of its own.
|
|
4
4
|
|
|
5
5
|
## Issue Reporting and Security
|
|
6
6
|
|
|
@@ -48,7 +48,7 @@ The owner selection filters every displayed route projection. **All** keeps Stan
|
|
|
48
48
|
The dashboard talks to the dcrouter OpsServer through:
|
|
49
49
|
|
|
50
50
|
- TypedRequest calls for normal API actions
|
|
51
|
-
- shared contracts from `@serve.zone/dcrouter-interfaces`
|
|
51
|
+
- shared contracts from `ts_interfaces`, published as `@serve.zone/dcrouter-apiclient/interfaces`
|
|
52
52
|
- TypedSocket log streaming for live operational output
|
|
53
53
|
- Dees web components and app-state subscriptions for UI updates
|
|
54
54
|
- QR code rendering for VPN client UX
|
|
@@ -57,17 +57,11 @@ On a fresh DB-backed instance, the dashboard checks `getAdminBootstrapStatus` an
|
|
|
57
57
|
|
|
58
58
|
## Usage
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
pnpm add @serve.zone/dcrouter-web
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
For the full server and hosted dashboard, use `@serve.zone/dcrouter`.
|
|
60
|
+
The dashboard is bundled by the main dcrouter build and served by OpsServer; `@serve.zone/dcrouter` is the only way to consume it. Inside this repository, import from `ts_web/` by relative path.
|
|
67
61
|
|
|
68
62
|
## Development
|
|
69
63
|
|
|
70
|
-
This folder
|
|
64
|
+
This folder builds from the dcrouter monorepo at `tspublish.json` order `4`; the descriptor is unnamed, so it orders the build and publishes nothing on its own.
|
|
71
65
|
|
|
72
66
|
```bash
|
|
73
67
|
pnpm run build
|