@openmeshtak/sdk 0.2.0 → 0.2.2
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/README.md +5 -59
- package/dist/generated/schema.d.ts +222 -36
- package/dist/generated/schema.d.ts.map +1 -1
- package/dist/sbom.cdx.json +4 -4
- package/dist/version.d.ts +3 -3
- package/dist/version.js +3 -3
- package/package.json +15 -4
package/README.md
CHANGED
|
@@ -1,33 +1,15 @@
|
|
|
1
1
|
# OpenMeshTak SDK
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@openmeshtak/sdk) [](LICENSE) [](https://github.com/OpenMeshTAK/openmeshtak-sdk/actions/workflows/ci.yml)
|
|
4
|
+
|
|
3
5
|
The official TypeScript and JavaScript client for the OpenMeshTak REST API.
|
|
4
6
|
|
|
5
7
|
The SDK is generated from the released OpenAPI contract and adds a small handwritten layer for
|
|
6
8
|
authentication, common operations and predictable problem-details errors. It does not duplicate
|
|
7
|
-
Core business rules.
|
|
8
|
-
|
|
9
|
-
## Local development
|
|
9
|
+
Core business rules. The SDK version always matches the OpenMeshTak version it was built from and
|
|
10
|
+
works with the later patch releases of that version line. Node.js 24 or newer is required.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
from Core `v0.2.0`. It requires Node.js 24 or newer.
|
|
13
|
-
|
|
14
|
-
```powershell
|
|
15
|
-
pnpm install
|
|
16
|
-
pnpm check
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
The SDK is a library, not a server, so there is no long-running development process. `pnpm build`
|
|
20
|
-
generates the contract types and writes the importable package to `dist/`.
|
|
21
|
-
|
|
22
|
-
To refresh the checked-in contract from a verified Core release checkout:
|
|
23
|
-
|
|
24
|
-
```powershell
|
|
25
|
-
pnpm api:sync -- ..\openmeshtak\openapi\openapi.json
|
|
26
|
-
pnpm check
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Commit the OpenAPI artifact and generated declarations together. Do not edit
|
|
30
|
-
`src/generated/schema.ts` or `src/version.ts` by hand.
|
|
12
|
+
Documentation: https://openmeshtak.github.io/openmeshtak-docs/sdk/
|
|
31
13
|
|
|
32
14
|
## Usage
|
|
33
15
|
|
|
@@ -94,42 +76,6 @@ for await (const member of paginate((page) => client.listEventMembers(eventId, {
|
|
|
94
76
|
Generated DTOs and operation types for every other operation are exported from
|
|
95
77
|
`@openmeshtak/sdk/generated`.
|
|
96
78
|
|
|
97
|
-
## Releases
|
|
98
|
-
|
|
99
|
-
The SDK version always equals the OpenMeshTak Core version it was built from: SDK `0.2.0` belongs
|
|
100
|
-
to Core `0.2.0`, SDK `0.2.1` to Core `0.2.1`. It supports every Core patch release of the same
|
|
101
|
-
minor version (`>=0.2.0 <0.3.0`), so an older SDK keeps working after a Core patch update. The SDK
|
|
102
|
-
is released together with Core and Web.
|
|
103
|
-
|
|
104
|
-
Releases are driven by annotated `vMAJOR.MINOR.PATCH[-PRERELEASE]` tags. The release workflow:
|
|
105
|
-
|
|
106
|
-
1. verifies the tag, package version, API compatibility range and OpenAPI checksum;
|
|
107
|
-
2. installs with the frozen lockfile, audits dependencies and runs the complete check;
|
|
108
|
-
3. packs the npm tarball and generates third-party notices plus a CycloneDX SBOM;
|
|
109
|
-
4. publishes `@openmeshtak/sdk` to npm (`latest` for stable versions, `next` for prereleases);
|
|
110
|
-
5. creates a GitHub Release containing the verified tarball, notices and SBOM.
|
|
111
|
-
|
|
112
|
-
To prepare a release for Core `0.2.1` by hand:
|
|
113
|
-
|
|
114
|
-
```powershell
|
|
115
|
-
pnpm api:sync -- ..openmeshtakopenapiopenapi.json # from Core at tag v0.2.1
|
|
116
|
-
pnpm version:set -- 0.2.1
|
|
117
|
-
# set openmeshtak.apiVersionRange in package.json to ">=0.2.1 <0.3.0"
|
|
118
|
-
pnpm generate
|
|
119
|
-
pnpm check
|
|
120
|
-
git commit -am "chore(release): 0.2.1"
|
|
121
|
-
git tag -a v0.2.1 -m "OpenMeshTak SDK 0.2.1"
|
|
122
|
-
git push origin main
|
|
123
|
-
git push origin v0.2.1
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
The workflow refuses mismatched tags or version metadata. Publishing happens only after the pushed
|
|
127
|
-
tag passes all checks.
|
|
128
|
-
|
|
129
|
-
npm publishing uses trusted publishing for organization `OpenMeshTAK`, repository
|
|
130
|
-
`openmeshtak-sdk` and workflow `release.yml`. For the package's very first publication, a
|
|
131
|
-
short-lived granular `NPM_TOKEN` repository secret is used once and removed afterwards.
|
|
132
|
-
|
|
133
79
|
## License
|
|
134
80
|
|
|
135
81
|
Apache-2.0
|
|
@@ -322,7 +322,7 @@ export interface paths {
|
|
|
322
322
|
put: operations["AddTakServerCertificate"];
|
|
323
323
|
post?: never;
|
|
324
324
|
/**
|
|
325
|
-
* @description Removes an added or
|
|
325
|
+
* @description Removes an added, ACME or file certificate and disables ACME and the file reload; the server then uses one issued by the
|
|
326
326
|
* OpenMeshTak CA.
|
|
327
327
|
*/
|
|
328
328
|
delete: operations["RemoveTakServerCertificate"];
|
|
@@ -331,6 +331,26 @@ export interface paths {
|
|
|
331
331
|
patch?: never;
|
|
332
332
|
trace?: never;
|
|
333
333
|
};
|
|
334
|
+
"/tak-server/server-certificate/files": {
|
|
335
|
+
parameters: {
|
|
336
|
+
query?: never;
|
|
337
|
+
header?: never;
|
|
338
|
+
path?: never;
|
|
339
|
+
cookie?: never;
|
|
340
|
+
};
|
|
341
|
+
get?: never;
|
|
342
|
+
/**
|
|
343
|
+
* @description Uses the reverse proxy's certificate files, mounted read-only below `certificateDirectory`.
|
|
344
|
+
* Core reloads them every twelve hours, so a certificate the proxy renews is picked up. Disables ACME.
|
|
345
|
+
*/
|
|
346
|
+
put: operations["UseTakCertificateFiles"];
|
|
347
|
+
post?: never;
|
|
348
|
+
delete?: never;
|
|
349
|
+
options?: never;
|
|
350
|
+
head?: never;
|
|
351
|
+
patch?: never;
|
|
352
|
+
trace?: never;
|
|
353
|
+
};
|
|
334
354
|
"/events/{eventId}/tak-traffic": {
|
|
335
355
|
parameters: {
|
|
336
356
|
query?: never;
|
|
@@ -575,6 +595,26 @@ export interface paths {
|
|
|
575
595
|
patch?: never;
|
|
576
596
|
trace?: never;
|
|
577
597
|
};
|
|
598
|
+
"/tak-server/acme/test": {
|
|
599
|
+
parameters: {
|
|
600
|
+
query?: never;
|
|
601
|
+
header?: never;
|
|
602
|
+
path?: never;
|
|
603
|
+
cookie?: never;
|
|
604
|
+
};
|
|
605
|
+
get?: never;
|
|
606
|
+
put?: never;
|
|
607
|
+
/**
|
|
608
|
+
* @description Runs the saved settings against Let's Encrypt staging to check the setup without touching the
|
|
609
|
+
* production rate limits. Nothing is installed; a failure is returned as `succeeded: false`.
|
|
610
|
+
*/
|
|
611
|
+
post: operations["Test"];
|
|
612
|
+
delete?: never;
|
|
613
|
+
options?: never;
|
|
614
|
+
head?: never;
|
|
615
|
+
patch?: never;
|
|
616
|
+
trace?: never;
|
|
617
|
+
};
|
|
578
618
|
"/events/{eventId}/tak/configuration": {
|
|
579
619
|
parameters: {
|
|
580
620
|
query?: never;
|
|
@@ -2420,16 +2460,22 @@ export interface components {
|
|
|
2420
2460
|
/** @description The certificate the TAK listeners present. The private key is never returned. */
|
|
2421
2461
|
TakServerCertificateDto: {
|
|
2422
2462
|
/**
|
|
2423
|
-
* @description OpenMeshTak-issued, administrator-added,
|
|
2463
|
+
* @description OpenMeshTak-issued, administrator-added, obtained automatically through ACME, or read from the reverse proxy's files.
|
|
2424
2464
|
* @enum {string}
|
|
2425
2465
|
*/
|
|
2426
|
-
source: "issued" | "added" | "acme";
|
|
2466
|
+
source: "issued" | "added" | "acme" | "file";
|
|
2427
2467
|
hostName: string;
|
|
2428
2468
|
subject: string;
|
|
2429
2469
|
fingerprintSha256: string;
|
|
2430
2470
|
/** Format: date-time */
|
|
2431
2471
|
notAfter: string;
|
|
2432
2472
|
};
|
|
2473
|
+
TakCertificateFilesDto: {
|
|
2474
|
+
/** @description Full chain, server certificate first, e.g. `live/tak.example.org/fullchain.pem`. */
|
|
2475
|
+
certificateFile: string;
|
|
2476
|
+
/** @description Unencrypted private key, e.g. `live/tak.example.org/privkey.pem`. */
|
|
2477
|
+
keyFile: string;
|
|
2478
|
+
};
|
|
2433
2479
|
TakServerSettingsDto: {
|
|
2434
2480
|
/** @description Whether the TAK listeners run. Requires a host name. */
|
|
2435
2481
|
enabled: boolean;
|
|
@@ -2448,6 +2494,10 @@ export interface components {
|
|
|
2448
2494
|
clientCertificateDays: number;
|
|
2449
2495
|
/** @description `null` until the server first starts or a certificate is added. */
|
|
2450
2496
|
serverCertificate: components["schemas"]["TakServerCertificateDto"] | null;
|
|
2497
|
+
/** @description The reverse proxy's certificate files Core reads, relative to `certificateDirectory`; `null` unless used. */
|
|
2498
|
+
certificateFiles: components["schemas"]["TakCertificateFilesDto"] | null;
|
|
2499
|
+
/** @description Where the proxy's certificate directory must be mounted for `certificateFiles`. */
|
|
2500
|
+
certificateDirectory: string;
|
|
2451
2501
|
/**
|
|
2452
2502
|
* Format: date-time
|
|
2453
2503
|
* @description When the public host name or a port last changed after setup; `null` if never. Apps enrolled
|
|
@@ -2505,6 +2555,11 @@ export interface components {
|
|
|
2505
2555
|
*/
|
|
2506
2556
|
privateKeyPem: string;
|
|
2507
2557
|
};
|
|
2558
|
+
/** @description Use the reverse proxy's certificate files; both paths are relative to the mounted directory. */
|
|
2559
|
+
UseTakCertificateFilesRequest: {
|
|
2560
|
+
certificateFile: string;
|
|
2561
|
+
keyFile: string;
|
|
2562
|
+
};
|
|
2508
2563
|
LiveTakConnectionDto: {
|
|
2509
2564
|
id: components["schemas"]["Uuid"];
|
|
2510
2565
|
userId: components["schemas"]["Uuid"];
|
|
@@ -2669,18 +2724,19 @@ export interface components {
|
|
|
2669
2724
|
/** @description Omit to keep the stored token, `null` to remove it. The token is encrypted and write-only. */
|
|
2670
2725
|
apiToken?: string | null;
|
|
2671
2726
|
};
|
|
2727
|
+
/** @description Result of a test run against Let's Encrypt staging. */
|
|
2728
|
+
TakAcmeTestResultDto: {
|
|
2729
|
+
succeeded: boolean;
|
|
2730
|
+
/** @description What happened, safe to show to the administrator. */
|
|
2731
|
+
message: string;
|
|
2732
|
+
};
|
|
2672
2733
|
/**
|
|
2673
|
-
* @description
|
|
2674
|
-
*
|
|
2675
|
-
*
|
|
2676
|
-
* OpenMeshTak provides guidance and settings, not a ready-made connection package.
|
|
2677
|
-
* - `built-in-server`: participants enroll ATAK/iTAK with the built-in OpenMeshTak TAK server.
|
|
2678
|
-
* @enum {string}
|
|
2734
|
+
* @description TAK settings of a Meshtastic event. Every event sends TAK clients to the built-in TAK server;
|
|
2735
|
+
* Meshtastic events (`meshtasticEnabled` on the event) also connect them to the Meshtastic app's
|
|
2736
|
+
* local TAK server, which carries CoT over this channel.
|
|
2679
2737
|
*/
|
|
2680
|
-
TakConnectionMode: "none" | "meshtastic-local-server" | "built-in-server";
|
|
2681
2738
|
TakConfigurationDto: {
|
|
2682
2739
|
eventId: components["schemas"]["Uuid"];
|
|
2683
|
-
mode: components["schemas"]["TakConnectionMode"];
|
|
2684
2740
|
/** @description Channel for the app's "TAK Mesh Channel"; `null` uses the primary channel. */
|
|
2685
2741
|
meshChannelId: components["schemas"]["Uuid"] | null;
|
|
2686
2742
|
/**
|
|
@@ -2697,7 +2753,6 @@ export interface components {
|
|
|
2697
2753
|
* @description Version the client last read.
|
|
2698
2754
|
*/
|
|
2699
2755
|
version: number;
|
|
2700
|
-
mode: components["schemas"]["TakConnectionMode"];
|
|
2701
2756
|
meshChannelId: components["schemas"]["Uuid"] | null;
|
|
2702
2757
|
};
|
|
2703
2758
|
SetupStatusResponse: {
|
|
@@ -2820,29 +2875,25 @@ export interface components {
|
|
|
2820
2875
|
* @enum {string}
|
|
2821
2876
|
*/
|
|
2822
2877
|
TakRole: "Team Member" | "Team Lead" | "HQ" | "Sniper" | "Medic" | "Forward Observer" | "RTO" | "K9";
|
|
2878
|
+
/** @description The built-in TAK server participants enroll with from the dashboard. */
|
|
2879
|
+
ProfileTakServer: {
|
|
2880
|
+
/** @description `null` while the TAK server is not enabled. */
|
|
2881
|
+
hostName: string | null;
|
|
2882
|
+
/** Format: double */
|
|
2883
|
+
streamingPort: number;
|
|
2884
|
+
};
|
|
2823
2885
|
/**
|
|
2824
|
-
* @description
|
|
2825
|
-
* app's "TAK Mesh Channel": the channel's slot on this member's
|
|
2826
|
-
* channel has not reached the device yet (then the primary channel
|
|
2886
|
+
* @description The Meshtastic app's local TAK server, which carries CoT over the mesh when there is no network.
|
|
2887
|
+
* `meshChannel` is the value for the app's "TAK Mesh Channel": the channel's slot on this member's
|
|
2888
|
+
* device, or `null` while that channel has not reached the device yet (then the primary channel
|
|
2889
|
+
* is used).
|
|
2827
2890
|
*/
|
|
2828
|
-
|
|
2891
|
+
ProfileMeshtasticTakServer: {
|
|
2829
2892
|
meshChannel: {
|
|
2830
2893
|
/** Format: double */
|
|
2831
2894
|
slot: number;
|
|
2832
2895
|
name: string;
|
|
2833
2896
|
} | null;
|
|
2834
|
-
/** @enum {string} */
|
|
2835
|
-
mode: "meshtastic-local-server";
|
|
2836
|
-
} | {
|
|
2837
|
-
/** Format: double */
|
|
2838
|
-
streamingPort: number;
|
|
2839
|
-
/** @description `null` while the TAK server is not enabled. */
|
|
2840
|
-
hostName: string | null;
|
|
2841
|
-
/**
|
|
2842
|
-
* @description Enroll with the built-in TAK server from the dashboard.
|
|
2843
|
-
* @enum {string}
|
|
2844
|
-
*/
|
|
2845
|
-
mode: "built-in-server";
|
|
2846
2897
|
};
|
|
2847
2898
|
/**
|
|
2848
2899
|
* @description A channel the member receives. `included` channels come with the member's channel set;
|
|
@@ -2899,14 +2950,17 @@ export interface components {
|
|
|
2899
2950
|
eventRole: components["schemas"]["ProfileAssignment"];
|
|
2900
2951
|
group: components["schemas"]["ProfileAssignment"];
|
|
2901
2952
|
tak: {
|
|
2902
|
-
/** @description
|
|
2903
|
-
|
|
2953
|
+
/** @description Meshtastic events also connect ATAK/iTAK to the Meshtastic app; `null` otherwise. */
|
|
2954
|
+
meshtasticLocalServer: components["schemas"]["ProfileMeshtasticTakServer"] | null;
|
|
2955
|
+
/** @description Every member enrolls with the built-in TAK server for Data Packages and CoT over the network. */
|
|
2956
|
+
server: components["schemas"]["ProfileTakServer"];
|
|
2904
2957
|
/** @description The group's TAK server groups for an external TAK server; the built-in server ignores them. */
|
|
2905
2958
|
serverGroups: string[];
|
|
2906
2959
|
role: components["schemas"]["TakRole"];
|
|
2907
2960
|
team: components["schemas"]["TakTeam"];
|
|
2908
2961
|
callsign: string;
|
|
2909
2962
|
};
|
|
2963
|
+
/** @description `null` when the event does not use Meshtastic. */
|
|
2910
2964
|
meshtastic: {
|
|
2911
2965
|
/** @description `null` for configurations published before events had a firmware version. */
|
|
2912
2966
|
firmware: components["schemas"]["ProfileFirmware"] | null;
|
|
@@ -2915,7 +2969,7 @@ export interface components {
|
|
|
2915
2969
|
/** @description `null` only in previews while the group has no short-name prefix. */
|
|
2916
2970
|
shortName: string | null;
|
|
2917
2971
|
longName: string;
|
|
2918
|
-
};
|
|
2972
|
+
} | null;
|
|
2919
2973
|
};
|
|
2920
2974
|
MyEventMembershipDto: {
|
|
2921
2975
|
eventId: components["schemas"]["Uuid"];
|
|
@@ -3305,6 +3359,10 @@ export interface components {
|
|
|
3305
3359
|
revision: number;
|
|
3306
3360
|
/** Format: date-time */
|
|
3307
3361
|
publishedAt: string;
|
|
3362
|
+
/** @description The built-in TAK server installs it in the app right after the app enrolls. */
|
|
3363
|
+
installOnEnrollment: boolean;
|
|
3364
|
+
/** @description The built-in TAK server installs it, and every new revision, whenever the app connects. */
|
|
3365
|
+
installOnConnection: boolean;
|
|
3308
3366
|
};
|
|
3309
3367
|
/** @enum {string} */
|
|
3310
3368
|
MemberClaimStatus: "open" | "consumed" | "revoked" | "expired";
|
|
@@ -3448,6 +3506,12 @@ export interface components {
|
|
|
3448
3506
|
* of event accounts that are deleted when the event is archived.
|
|
3449
3507
|
*/
|
|
3450
3508
|
permanentAccounts: boolean;
|
|
3509
|
+
/**
|
|
3510
|
+
* @description The event provisions Meshtastic radios. When off, profiles carry no Meshtastic part, radio
|
|
3511
|
+
* downloads are unavailable and channels and radio settings stay stored but unused. Like other
|
|
3512
|
+
* configuration it reaches participants of an active event with the next published revision.
|
|
3513
|
+
*/
|
|
3514
|
+
meshtasticEnabled: boolean;
|
|
3451
3515
|
/** Format: date-time */
|
|
3452
3516
|
createdAt: string;
|
|
3453
3517
|
/** Format: date-time */
|
|
@@ -3486,6 +3550,12 @@ export interface components {
|
|
|
3486
3550
|
* of event accounts that are deleted when the event is archived.
|
|
3487
3551
|
*/
|
|
3488
3552
|
permanentAccounts: boolean;
|
|
3553
|
+
/**
|
|
3554
|
+
* @description The event provisions Meshtastic radios. When off, profiles carry no Meshtastic part, radio
|
|
3555
|
+
* downloads are unavailable and channels and radio settings stay stored but unused. Like other
|
|
3556
|
+
* configuration it reaches participants of an active event with the next published revision.
|
|
3557
|
+
*/
|
|
3558
|
+
meshtasticEnabled: boolean;
|
|
3489
3559
|
/** Format: date-time */
|
|
3490
3560
|
createdAt: string;
|
|
3491
3561
|
/** Format: date-time */
|
|
@@ -3518,6 +3588,8 @@ export interface components {
|
|
|
3518
3588
|
* of event accounts that are deleted when the event is archived. Defaults to `false`.
|
|
3519
3589
|
*/
|
|
3520
3590
|
permanentAccounts?: boolean;
|
|
3591
|
+
/** @description The event provisions Meshtastic radios. Defaults to `false`, a TAK-only event. */
|
|
3592
|
+
meshtasticEnabled?: boolean;
|
|
3521
3593
|
};
|
|
3522
3594
|
UpdateEventRequest: {
|
|
3523
3595
|
/**
|
|
@@ -3544,6 +3616,8 @@ export interface components {
|
|
|
3544
3616
|
* of event accounts that are deleted when the event is archived. Omitted keeps the current value.
|
|
3545
3617
|
*/
|
|
3546
3618
|
permanentAccounts?: boolean;
|
|
3619
|
+
/** @description The event provisions Meshtastic radios. Omitted keeps the current value. */
|
|
3620
|
+
meshtasticEnabled?: boolean;
|
|
3547
3621
|
};
|
|
3548
3622
|
EventTransitionRequest: {
|
|
3549
3623
|
/**
|
|
@@ -3658,6 +3732,12 @@ export interface components {
|
|
|
3658
3732
|
shortName: string | null;
|
|
3659
3733
|
eventRole: components["schemas"]["EventAssignmentSummary"];
|
|
3660
3734
|
eventGroup: components["schemas"]["EventAssignmentSummary"];
|
|
3735
|
+
/**
|
|
3736
|
+
* Format: double
|
|
3737
|
+
* @description TAK apps the member's user has enrolled with the built-in TAK server and that may still
|
|
3738
|
+
* connect (valid client certificates). Certificates belong to the user, not to one event.
|
|
3739
|
+
*/
|
|
3740
|
+
enrolledTakApps: number;
|
|
3661
3741
|
/** Format: double */
|
|
3662
3742
|
version: number;
|
|
3663
3743
|
/** Format: date-time */
|
|
@@ -3868,19 +3948,27 @@ export interface components {
|
|
|
3868
3948
|
settings: components["schemas"]["FirmwareSettingsDocument"];
|
|
3869
3949
|
};
|
|
3870
3950
|
CurrentTakConfiguration: {
|
|
3871
|
-
mode: components["schemas"]["TakConnectionMode"];
|
|
3872
3951
|
meshChannelId: string | null;
|
|
3873
3952
|
};
|
|
3874
|
-
/**
|
|
3953
|
+
/**
|
|
3954
|
+
* @description The Meshtastic app's TAK mesh channel; `null` in revisions created before version 4. Revisions
|
|
3955
|
+
* before version 6 also stored a connection mode, which the switch `meshtasticEnabled` replaced.
|
|
3956
|
+
*/
|
|
3875
3957
|
SnapshotTak: components["schemas"]["CurrentTakConfiguration"];
|
|
3876
3958
|
/**
|
|
3877
3959
|
* @description Bump `schemaVersion` whenever the snapshot shape changes; old revisions are never rewritten.
|
|
3878
3960
|
* Version 2 added `channels` in device order, the first being the primary channel; version 3
|
|
3879
|
-
* added `meshtastic`; version 4 added `tak
|
|
3961
|
+
* added `meshtastic`; version 4 added `tak`; version 5 added role TAK overrides; version 6 added
|
|
3962
|
+
* `meshtasticEnabled`.
|
|
3880
3963
|
*/
|
|
3881
3964
|
ConfigurationSnapshot: {
|
|
3882
3965
|
/** @enum {number} */
|
|
3883
|
-
schemaVersion: 1 | 2 | 3 | 4 | 5;
|
|
3966
|
+
schemaVersion: 1 | 2 | 3 | 4 | 5 | 6;
|
|
3967
|
+
/**
|
|
3968
|
+
* @description Whether the event provisions Meshtastic radios; `true` in revisions before version 6. When
|
|
3969
|
+
* `false`, `channels` is empty and `meshtastic` is `null`.
|
|
3970
|
+
*/
|
|
3971
|
+
meshtasticEnabled: boolean;
|
|
3884
3972
|
roles: components["schemas"]["SnapshotRole"][];
|
|
3885
3973
|
groups: components["schemas"]["SnapshotGroup"][];
|
|
3886
3974
|
channels: components["schemas"]["SnapshotChannel"][];
|
|
@@ -5935,6 +6023,57 @@ export interface operations {
|
|
|
5935
6023
|
};
|
|
5936
6024
|
};
|
|
5937
6025
|
};
|
|
6026
|
+
UseTakCertificateFiles: {
|
|
6027
|
+
parameters: {
|
|
6028
|
+
query?: never;
|
|
6029
|
+
header?: never;
|
|
6030
|
+
path?: never;
|
|
6031
|
+
cookie?: never;
|
|
6032
|
+
};
|
|
6033
|
+
requestBody: {
|
|
6034
|
+
content: {
|
|
6035
|
+
"application/json": components["schemas"]["UseTakCertificateFilesRequest"];
|
|
6036
|
+
};
|
|
6037
|
+
};
|
|
6038
|
+
responses: {
|
|
6039
|
+
/** @description Certificate files in use */
|
|
6040
|
+
200: {
|
|
6041
|
+
headers: {
|
|
6042
|
+
[name: string]: unknown;
|
|
6043
|
+
};
|
|
6044
|
+
content: {
|
|
6045
|
+
"application/json": components["schemas"]["TakServerSettingsDto"];
|
|
6046
|
+
};
|
|
6047
|
+
};
|
|
6048
|
+
/** @description Authentication required */
|
|
6049
|
+
401: {
|
|
6050
|
+
headers: {
|
|
6051
|
+
[name: string]: unknown;
|
|
6052
|
+
};
|
|
6053
|
+
content: {
|
|
6054
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
6055
|
+
};
|
|
6056
|
+
};
|
|
6057
|
+
/** @description Access denied */
|
|
6058
|
+
403: {
|
|
6059
|
+
headers: {
|
|
6060
|
+
[name: string]: unknown;
|
|
6061
|
+
};
|
|
6062
|
+
content: {
|
|
6063
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
6064
|
+
};
|
|
6065
|
+
};
|
|
6066
|
+
/** @description Validation failed */
|
|
6067
|
+
422: {
|
|
6068
|
+
headers: {
|
|
6069
|
+
[name: string]: unknown;
|
|
6070
|
+
};
|
|
6071
|
+
content: {
|
|
6072
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
6073
|
+
};
|
|
6074
|
+
};
|
|
6075
|
+
};
|
|
6076
|
+
};
|
|
5938
6077
|
GetLiveTakTraffic: {
|
|
5939
6078
|
parameters: {
|
|
5940
6079
|
query?: never;
|
|
@@ -6570,6 +6709,53 @@ export interface operations {
|
|
|
6570
6709
|
};
|
|
6571
6710
|
};
|
|
6572
6711
|
};
|
|
6712
|
+
Test: {
|
|
6713
|
+
parameters: {
|
|
6714
|
+
query?: never;
|
|
6715
|
+
header?: never;
|
|
6716
|
+
path?: never;
|
|
6717
|
+
cookie?: never;
|
|
6718
|
+
};
|
|
6719
|
+
requestBody?: never;
|
|
6720
|
+
responses: {
|
|
6721
|
+
/** @description Test finished */
|
|
6722
|
+
200: {
|
|
6723
|
+
headers: {
|
|
6724
|
+
[name: string]: unknown;
|
|
6725
|
+
};
|
|
6726
|
+
content: {
|
|
6727
|
+
"application/json": components["schemas"]["TakAcmeTestResultDto"];
|
|
6728
|
+
};
|
|
6729
|
+
};
|
|
6730
|
+
/** @description Authentication required */
|
|
6731
|
+
401: {
|
|
6732
|
+
headers: {
|
|
6733
|
+
[name: string]: unknown;
|
|
6734
|
+
};
|
|
6735
|
+
content: {
|
|
6736
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
6737
|
+
};
|
|
6738
|
+
};
|
|
6739
|
+
/** @description Access denied */
|
|
6740
|
+
403: {
|
|
6741
|
+
headers: {
|
|
6742
|
+
[name: string]: unknown;
|
|
6743
|
+
};
|
|
6744
|
+
content: {
|
|
6745
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
6746
|
+
};
|
|
6747
|
+
};
|
|
6748
|
+
/** @description Validation failed */
|
|
6749
|
+
422: {
|
|
6750
|
+
headers: {
|
|
6751
|
+
[name: string]: unknown;
|
|
6752
|
+
};
|
|
6753
|
+
content: {
|
|
6754
|
+
"application/json": components["schemas"]["ProblemDetails"];
|
|
6755
|
+
};
|
|
6756
|
+
};
|
|
6757
|
+
};
|
|
6758
|
+
};
|
|
6573
6759
|
GetTakConfiguration: {
|
|
6574
6760
|
parameters: {
|
|
6575
6761
|
query?: never;
|
|
@@ -8309,7 +8495,7 @@ export interface operations {
|
|
|
8309
8495
|
"application/json": components["schemas"]["ProblemDetails"];
|
|
8310
8496
|
};
|
|
8311
8497
|
};
|
|
8312
|
-
/** @description Meshtastic configuration not published */
|
|
8498
|
+
/** @description Meshtastic configuration not published or event without Meshtastic */
|
|
8313
8499
|
409: {
|
|
8314
8500
|
headers: {
|
|
8315
8501
|
[name: string]: unknown;
|