@tak-ps/node-tak 11.1.1 → 11.2.1

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.
@@ -0,0 +1,39 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ import type { ParsedArgs } from 'minimist';
3
+ import Commands, { CommandOutputFormat } from '../commands.js';
4
+ export declare const Package: import("@sinclair/typebox").TObject<{
5
+ EXPIRATION: import("@sinclair/typebox").TString;
6
+ UID: import("@sinclair/typebox").TString;
7
+ SubmissionDateTime: import("@sinclair/typebox").TString;
8
+ Keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
9
+ MIMEType: import("@sinclair/typebox").TString;
10
+ Size: import("@sinclair/typebox").TString;
11
+ SubmissionUser: import("@sinclair/typebox").TString;
12
+ PrimaryKey: import("@sinclair/typebox").TString;
13
+ Hash: import("@sinclair/typebox").TString;
14
+ CreatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNull, import("@sinclair/typebox").TString]>>;
15
+ Name: import("@sinclair/typebox").TString;
16
+ Tool: import("@sinclair/typebox").TString;
17
+ }>;
18
+ export declare const ListInput: import("@sinclair/typebox").TObject<{
19
+ tool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
+ uid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
+ }>;
22
+ /**
23
+ * @class
24
+ */
25
+ export default class PackageCommands extends Commands {
26
+ schema: {
27
+ list: {
28
+ description: string;
29
+ params: import("@sinclair/typebox").TObject<{}>;
30
+ query: import("@sinclair/typebox").TObject<{}>;
31
+ formats: CommandOutputFormat[];
32
+ };
33
+ };
34
+ cli(args: ParsedArgs): Promise<object | string>;
35
+ list(query: Static<typeof ListInput>): Promise<{
36
+ resultCount: number;
37
+ results: Array<Static<typeof Package>>;
38
+ }>;
39
+ }
@@ -0,0 +1,9 @@
1
+ import Commands from '../commands.js';
2
+ export default class ProfileCommands extends Commands {
3
+ schema: {};
4
+ cli(): Promise<object | string>;
5
+ connection(opts: {
6
+ syncSecago: number;
7
+ clientUid: string;
8
+ }): Promise<Buffer>;
9
+ }
@@ -0,0 +1,16 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ import type { Feature } from '@tak-ps/node-cot';
3
+ import Commands from '../commands.js';
4
+ export declare const HistoryOptions: import("@sinclair/typebox").TObject<{
5
+ start: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
+ secago: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
+ }>;
9
+ export default class QueryCommands extends Commands {
10
+ schema: {};
11
+ cli(): Promise<object | string>;
12
+ singleFeat(uid: string): Promise<Static<typeof Feature.Feature>>;
13
+ single(uid: string): Promise<string>;
14
+ historyFeats(uid: string, opts?: Static<typeof HistoryOptions>): Promise<Array<Static<typeof Feature.Feature>>>;
15
+ history(uid: string, opts?: Static<typeof HistoryOptions>): Promise<string>;
16
+ }
@@ -0,0 +1,47 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ import Commands from '../commands.js';
3
+ export declare const Repeater: import("@sinclair/typebox").TObject<{
4
+ uid: import("@sinclair/typebox").TString;
5
+ repeatType: import("@sinclair/typebox").TString;
6
+ cotType: import("@sinclair/typebox").TString;
7
+ dateTimeActivated: import("@sinclair/typebox").TString;
8
+ xml: import("@sinclair/typebox").TString;
9
+ callsign: import("@sinclair/typebox").TString;
10
+ }>;
11
+ export declare const TAKList_Repeater: import("@sinclair/typebox").TObject<{
12
+ version: import("@sinclair/typebox").TString;
13
+ type: import("@sinclair/typebox").TString;
14
+ data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
15
+ uid: import("@sinclair/typebox").TString;
16
+ repeatType: import("@sinclair/typebox").TString;
17
+ cotType: import("@sinclair/typebox").TString;
18
+ dateTimeActivated: import("@sinclair/typebox").TString;
19
+ xml: import("@sinclair/typebox").TString;
20
+ callsign: import("@sinclair/typebox").TString;
21
+ }>>;
22
+ messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
23
+ nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
+ }>;
25
+ export default class RepeaterCommands extends Commands {
26
+ schema: {};
27
+ cli(): Promise<object | string>;
28
+ /**
29
+ * Return or set the current rebroadcast period
30
+ *
31
+ * {@link https://docs.tak.gov/api/takserver/redoc#tag/repeater-api/operation/getPeriod TAK Server Docs}.
32
+ * {@link https://docs.tak.gov/api/takserver/redoc#tag/repeater-api/operation/setPeriod TAK Server Docs}.
33
+ */
34
+ period(period?: number): Promise<number>;
35
+ /**
36
+ * Return a list of all configured COT Repeaters
37
+ *
38
+ * {@link https://docs.tak.gov/api/takserver/redoc#tag/repeater-api/operation/getList TAK Server Docs}.
39
+ */
40
+ list(): Promise<Static<typeof TAKList_Repeater>>;
41
+ /**
42
+ * Delete a repeater by UID
43
+ *
44
+ * {@link https://docs.tak.gov/api/takserver/redoc#tag/repeater-api/operation/remove TAK Server Docs}.
45
+ */
46
+ delete(uid: string): Promise<void>;
47
+ }
@@ -0,0 +1,103 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ import Commands from '../commands.js';
3
+ export declare const Subscription: import("@sinclair/typebox").TObject<{
4
+ dn: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
5
+ callsign: import("@sinclair/typebox").TString;
6
+ clientUid: import("@sinclair/typebox").TString;
7
+ lastReportMilliseconds: import("@sinclair/typebox").TInteger;
8
+ takClient: import("@sinclair/typebox").TString;
9
+ takVersion: import("@sinclair/typebox").TString;
10
+ username: import("@sinclair/typebox").TString;
11
+ groups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
12
+ name: import("@sinclair/typebox").TString;
13
+ direction: import("@sinclair/typebox").TString;
14
+ created: import("@sinclair/typebox").TString;
15
+ type: import("@sinclair/typebox").TString;
16
+ bitpos: import("@sinclair/typebox").TNumber;
17
+ active: import("@sinclair/typebox").TBoolean;
18
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
+ }>>;
20
+ role: import("@sinclair/typebox").TString;
21
+ team: import("@sinclair/typebox").TString;
22
+ ipAddress: import("@sinclair/typebox").TString;
23
+ port: import("@sinclair/typebox").TString;
24
+ pendingWrites: import("@sinclair/typebox").TInteger;
25
+ numProcessed: import("@sinclair/typebox").TInteger;
26
+ protocol: import("@sinclair/typebox").TString;
27
+ xpath: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
28
+ subscriptionUid: import("@sinclair/typebox").TString;
29
+ appFramerate: import("@sinclair/typebox").TString;
30
+ battery: import("@sinclair/typebox").TString;
31
+ batteryStatus: import("@sinclair/typebox").TString;
32
+ batteryTemp: import("@sinclair/typebox").TString;
33
+ deviceDataRx: import("@sinclair/typebox").TString;
34
+ deviceDataTx: import("@sinclair/typebox").TString;
35
+ heapCurrentSize: import("@sinclair/typebox").TString;
36
+ heapFreeSize: import("@sinclair/typebox").TString;
37
+ heapMaxSize: import("@sinclair/typebox").TString;
38
+ deviceIPAddress: import("@sinclair/typebox").TString;
39
+ storageAvailable: import("@sinclair/typebox").TString;
40
+ storageTotal: import("@sinclair/typebox").TString;
41
+ incognito: import("@sinclair/typebox").TBoolean;
42
+ handlerType: import("@sinclair/typebox").TString;
43
+ lastReportDiffMilliseconds: import("@sinclair/typebox").TInteger;
44
+ }>;
45
+ export declare const ListSubscriptionInput: import("@sinclair/typebox").TObject<{
46
+ sortBy: import("@sinclair/typebox").TString;
47
+ direction: import("@sinclair/typebox").TString;
48
+ page: import("@sinclair/typebox").TInteger;
49
+ limit: import("@sinclair/typebox").TInteger;
50
+ }>;
51
+ export declare const TAKList_Subscription: import("@sinclair/typebox").TObject<{
52
+ version: import("@sinclair/typebox").TString;
53
+ type: import("@sinclair/typebox").TString;
54
+ data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
55
+ dn: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
56
+ callsign: import("@sinclair/typebox").TString;
57
+ clientUid: import("@sinclair/typebox").TString;
58
+ lastReportMilliseconds: import("@sinclair/typebox").TInteger;
59
+ takClient: import("@sinclair/typebox").TString;
60
+ takVersion: import("@sinclair/typebox").TString;
61
+ username: import("@sinclair/typebox").TString;
62
+ groups: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
63
+ name: import("@sinclair/typebox").TString;
64
+ direction: import("@sinclair/typebox").TString;
65
+ created: import("@sinclair/typebox").TString;
66
+ type: import("@sinclair/typebox").TString;
67
+ bitpos: import("@sinclair/typebox").TNumber;
68
+ active: import("@sinclair/typebox").TBoolean;
69
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
70
+ }>>;
71
+ role: import("@sinclair/typebox").TString;
72
+ team: import("@sinclair/typebox").TString;
73
+ ipAddress: import("@sinclair/typebox").TString;
74
+ port: import("@sinclair/typebox").TString;
75
+ pendingWrites: import("@sinclair/typebox").TInteger;
76
+ numProcessed: import("@sinclair/typebox").TInteger;
77
+ protocol: import("@sinclair/typebox").TString;
78
+ xpath: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
79
+ subscriptionUid: import("@sinclair/typebox").TString;
80
+ appFramerate: import("@sinclair/typebox").TString;
81
+ battery: import("@sinclair/typebox").TString;
82
+ batteryStatus: import("@sinclair/typebox").TString;
83
+ batteryTemp: import("@sinclair/typebox").TString;
84
+ deviceDataRx: import("@sinclair/typebox").TString;
85
+ deviceDataTx: import("@sinclair/typebox").TString;
86
+ heapCurrentSize: import("@sinclair/typebox").TString;
87
+ heapFreeSize: import("@sinclair/typebox").TString;
88
+ heapMaxSize: import("@sinclair/typebox").TString;
89
+ deviceIPAddress: import("@sinclair/typebox").TString;
90
+ storageAvailable: import("@sinclair/typebox").TString;
91
+ storageTotal: import("@sinclair/typebox").TString;
92
+ incognito: import("@sinclair/typebox").TBoolean;
93
+ handlerType: import("@sinclair/typebox").TString;
94
+ lastReportDiffMilliseconds: import("@sinclair/typebox").TInteger;
95
+ }>>;
96
+ messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
97
+ nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
98
+ }>;
99
+ export default class SubscriptionCommands extends Commands {
100
+ schema: {};
101
+ cli(): Promise<object | string>;
102
+ list(query: Static<typeof ListSubscriptionInput>): Promise<Static<typeof TAKList_Subscription>>;
103
+ }
@@ -0,0 +1,41 @@
1
+ import { TSchema } from '@sinclair/typebox';
2
+ export declare const TAKItem: <T extends TSchema>(T: T) => import("@sinclair/typebox").TObject<{
3
+ version: import("@sinclair/typebox").TString;
4
+ type: import("@sinclair/typebox").TString;
5
+ data: T;
6
+ messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
7
+ nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
+ }>;
9
+ export declare const TAKList: <T extends TSchema>(T: T) => import("@sinclair/typebox").TObject<{
10
+ version: import("@sinclair/typebox").TString;
11
+ type: import("@sinclair/typebox").TString;
12
+ data: import("@sinclair/typebox").TArray<T>;
13
+ messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
14
+ nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
15
+ }>;
16
+ export declare enum TAKGroup {
17
+ WHITE = "White",
18
+ YELLOW = "Yellow",
19
+ ORANGE = "Orange",
20
+ MAGENTA = "Magenta",
21
+ RED = "Red",
22
+ MAROON = "Maroon",
23
+ PURPLE = "Purple",
24
+ DARK_BLUE = "Dark Blue",
25
+ BLUE = "Blue",
26
+ CYAN = "Cyan",
27
+ TEAL = "Teal",
28
+ GREEN = "Green",
29
+ DARK_GREEN = "Dark Green",
30
+ BROWN = "Brown"
31
+ }
32
+ export declare enum TAKRole {
33
+ TEAM_MEMBER = "Team Member",
34
+ TEAM_LEAD = "Team Lead",
35
+ HQ = "HQ",
36
+ SNIPER = "Sniper",
37
+ MEDIC = "Medic",
38
+ FORWARD_OBSERVER = "Forward Observer",
39
+ RTO = "RTO",
40
+ K9 = "K9"
41
+ }
@@ -0,0 +1,127 @@
1
+ import type { ParsedArgs } from 'minimist';
2
+ import { Static } from '@sinclair/typebox';
3
+ import Commands, { CommandOutputFormat } from '../commands.js';
4
+ export declare const FeedInput: import("@sinclair/typebox").TObject<{
5
+ uuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ active: import("@sinclair/typebox").TBoolean;
7
+ alias: import("@sinclair/typebox").TString;
8
+ url: import("@sinclair/typebox").TString;
9
+ }>;
10
+ export declare const VideoConnectionInput: import("@sinclair/typebox").TObject<{
11
+ uuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
+ active: import("@sinclair/typebox").TBoolean;
13
+ alias: import("@sinclair/typebox").TString;
14
+ feeds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
15
+ uuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
+ active: import("@sinclair/typebox").TBoolean;
17
+ alias: import("@sinclair/typebox").TString;
18
+ url: import("@sinclair/typebox").TString;
19
+ }>>;
20
+ }>;
21
+ export declare const Feed: import("@sinclair/typebox").TObject<{
22
+ uuid: import("@sinclair/typebox").TString;
23
+ active: import("@sinclair/typebox").TBoolean;
24
+ alias: import("@sinclair/typebox").TString;
25
+ url: import("@sinclair/typebox").TString;
26
+ order: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
27
+ macAddress: import("@sinclair/typebox").TString;
28
+ roverPort: import("@sinclair/typebox").TString;
29
+ ignoreEmbeddedKLV: import("@sinclair/typebox").TString;
30
+ source: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
31
+ networkTimeout: import("@sinclair/typebox").TString;
32
+ bufferTime: import("@sinclair/typebox").TString;
33
+ rtspReliable: import("@sinclair/typebox").TString;
34
+ thumbnail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
35
+ classification: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
36
+ latitude: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
37
+ longitude: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
38
+ fov: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
39
+ heading: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
40
+ range: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
41
+ width: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
42
+ height: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
43
+ bitrate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
44
+ }>;
45
+ export declare const VideoConnection: import("@sinclair/typebox").TObject<{
46
+ uuid: import("@sinclair/typebox").TString;
47
+ active: import("@sinclair/typebox").TBoolean;
48
+ alias: import("@sinclair/typebox").TString;
49
+ thumbnail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
50
+ classification: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
51
+ feeds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
52
+ uuid: import("@sinclair/typebox").TString;
53
+ active: import("@sinclair/typebox").TBoolean;
54
+ alias: import("@sinclair/typebox").TString;
55
+ url: import("@sinclair/typebox").TString;
56
+ order: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
57
+ macAddress: import("@sinclair/typebox").TString;
58
+ roverPort: import("@sinclair/typebox").TString;
59
+ ignoreEmbeddedKLV: import("@sinclair/typebox").TString;
60
+ source: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
61
+ networkTimeout: import("@sinclair/typebox").TString;
62
+ bufferTime: import("@sinclair/typebox").TString;
63
+ rtspReliable: import("@sinclair/typebox").TString;
64
+ thumbnail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
65
+ classification: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
66
+ latitude: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
67
+ longitude: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
68
+ fov: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
69
+ heading: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
70
+ range: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
71
+ width: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
72
+ height: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
73
+ bitrate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
74
+ }>>;
75
+ }>;
76
+ export declare const VideoConnectionList: import("@sinclair/typebox").TObject<{
77
+ videoConnections: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
78
+ uuid: import("@sinclair/typebox").TString;
79
+ active: import("@sinclair/typebox").TBoolean;
80
+ alias: import("@sinclair/typebox").TString;
81
+ thumbnail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
82
+ classification: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
83
+ feeds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
84
+ uuid: import("@sinclair/typebox").TString;
85
+ active: import("@sinclair/typebox").TBoolean;
86
+ alias: import("@sinclair/typebox").TString;
87
+ url: import("@sinclair/typebox").TString;
88
+ order: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
89
+ macAddress: import("@sinclair/typebox").TString;
90
+ roverPort: import("@sinclair/typebox").TString;
91
+ ignoreEmbeddedKLV: import("@sinclair/typebox").TString;
92
+ source: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
93
+ networkTimeout: import("@sinclair/typebox").TString;
94
+ bufferTime: import("@sinclair/typebox").TString;
95
+ rtspReliable: import("@sinclair/typebox").TString;
96
+ thumbnail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
97
+ classification: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
98
+ latitude: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
99
+ longitude: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
100
+ fov: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
101
+ heading: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
102
+ range: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
103
+ width: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
104
+ height: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
105
+ bitrate: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
106
+ }>>;
107
+ }>>;
108
+ }>;
109
+ export declare const VideoConnectionListInput: import("@sinclair/typebox").TObject<{
110
+ protocol: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
111
+ }>;
112
+ export default class VideoCommands extends Commands {
113
+ schema: {
114
+ list: {
115
+ description: string;
116
+ params: import("@sinclair/typebox").TObject<{}>;
117
+ query: import("@sinclair/typebox").TObject<{}>;
118
+ formats: CommandOutputFormat[];
119
+ };
120
+ };
121
+ cli(args: ParsedArgs): Promise<object | string>;
122
+ list(query?: Static<typeof VideoConnectionListInput>): Promise<Static<typeof VideoConnectionList>>;
123
+ update(connection: Static<typeof VideoConnectionInput>): Promise<Static<typeof VideoConnection>>;
124
+ create(connection: Static<typeof VideoConnectionInput>): Promise<Static<typeof VideoConnection>>;
125
+ get(uid: string): Promise<Static<typeof VideoConnection>>;
126
+ delete(uid: string): Promise<void>;
127
+ }
@@ -0,0 +1,54 @@
1
+ import OAuth from './api/oauth.js';
2
+ import Package from './api/package.js';
3
+ import Query from './api/query.js';
4
+ import Locate from './api/locate.js';
5
+ import Mission from './api/mission.js';
6
+ import MissionLog from './api/mission-log.js';
7
+ import MissionLayer from './api/mission-layer.js';
8
+ import Credentials from './api/credentials.js';
9
+ import Contacts from './api/contacts.js';
10
+ import Profile from './api/profile.js';
11
+ import Files from './api/files.js';
12
+ import Injectors from './api/injectors.js';
13
+ import Repeater from './api/repeater.js';
14
+ import Group from './api/groups.js';
15
+ import Subscription from './api/subscriptions.js';
16
+ import Video from './api/video.js';
17
+ import Export from './api/export.js';
18
+ import * as auth from './auth.js';
19
+ export declare const CommandList: Record<string, keyof TAKAPI>;
20
+ /**
21
+ * Handle TAK HTTP API Operations
22
+ * @class
23
+ */
24
+ export default class TAKAPI {
25
+ auth: auth.APIAuth;
26
+ url: URL;
27
+ Package: Package;
28
+ OAuth: OAuth;
29
+ Mission: Mission;
30
+ Locate: Locate;
31
+ MissionLog: MissionLog;
32
+ MissionLayer: MissionLayer;
33
+ Credentials: Credentials;
34
+ Contacts: Contacts;
35
+ Subscription: Subscription;
36
+ Profile: Profile;
37
+ Injectors: Injectors;
38
+ Repeater: Repeater;
39
+ Group: Group;
40
+ Video: Video;
41
+ Export: Export;
42
+ Query: Query;
43
+ Files: Files;
44
+ constructor(url: URL, auth: auth.APIAuth);
45
+ static init(url: URL, auth: auth.APIAuth): Promise<TAKAPI>;
46
+ stdurl(url: string | URL): URL;
47
+ /**
48
+ * Standardize interactions with the backend API
49
+ *
50
+ * @param {URL|String} url - Full URL or API fragment to request
51
+ * @param {Object} [opts={}] - Options
52
+ */
53
+ fetch(url: URL, opts?: any, raw?: boolean): Promise<any>;
54
+ }
@@ -0,0 +1,34 @@
1
+ import TAKAPI from './api.js';
2
+ /**
3
+ * Store the TAK Client Certificate for a connection
4
+ */
5
+ export declare const TAKAuth: import("@sinclair/typebox").TObject<{
6
+ cert: import("@sinclair/typebox").TString;
7
+ key: import("@sinclair/typebox").TString;
8
+ passphrase: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
+ ca: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
+ rejectUnauthorized: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
11
+ }>;
12
+ export declare class APIAuth {
13
+ init(api: TAKAPI): Promise<void>;
14
+ fetch(api: TAKAPI, url: URL, opts: any): Promise<any>;
15
+ }
16
+ export declare class APIAuthPassword extends APIAuth {
17
+ username: string;
18
+ password: string;
19
+ jwt: string;
20
+ constructor(username: string, password: string);
21
+ init(api: TAKAPI): Promise<void>;
22
+ fetch(api: TAKAPI, url: URL, opts: any): Promise<any>;
23
+ }
24
+ export declare class APIAuthToken extends APIAuth {
25
+ jwt?: string;
26
+ constructor(jwt: string);
27
+ fetch(api: TAKAPI, url: URL, opts: any): Promise<any>;
28
+ }
29
+ export declare class APIAuthCertificate extends APIAuth {
30
+ cert: string;
31
+ key: string;
32
+ constructor(cert: string, key: string);
33
+ fetch(api: TAKAPI, url: URL, opts: any): Promise<any>;
34
+ }
@@ -0,0 +1,38 @@
1
+ import type { ParsedArgs } from 'minimist';
2
+ import TAKAPI from './api.js';
3
+ import type { TObject } from '@sinclair/typebox';
4
+ export declare const CommandConfig: TObject<{
5
+ version: import("@sinclair/typebox").TInteger;
6
+ profiles: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, TObject<{
7
+ host: import("@sinclair/typebox").TString;
8
+ ports: TObject<{
9
+ marti: import("@sinclair/typebox").TInteger;
10
+ webtak: import("@sinclair/typebox").TInteger;
11
+ stream: import("@sinclair/typebox").TInteger;
12
+ }>;
13
+ auth: import("@sinclair/typebox").TOptional<TObject<{
14
+ cert: import("@sinclair/typebox").TString;
15
+ key: import("@sinclair/typebox").TString;
16
+ passphrase: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
+ ca: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ rejectUnauthorized: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
19
+ }>>;
20
+ }>>;
21
+ }>;
22
+ export declare enum CommandOutputFormat {
23
+ JSON = "json",
24
+ GEOJSON = "geojson",
25
+ XML = "xml",
26
+ BINARY = "binary"
27
+ }
28
+ export default class Commands {
29
+ api: TAKAPI;
30
+ schema: Record<string, {
31
+ description: string;
32
+ params: TObject<any>;
33
+ query: TObject<any>;
34
+ formats: Array<CommandOutputFormat>;
35
+ }>;
36
+ constructor(api: TAKAPI);
37
+ cli(args: ParsedArgs): Promise<object | string>;
38
+ }
@@ -0,0 +1,8 @@
1
+ import { Static, TSchema } from "@sinclair/typebox";
2
+ import { Response } from 'undici';
3
+ import type { RequestInfo, RequestInit } from 'undici';
4
+ export declare class TypedResponse extends Response {
5
+ constructor(response: Response);
6
+ typed<T extends TSchema>(type: T): Promise<Static<T>>;
7
+ }
8
+ export default function (input: RequestInfo, init?: RequestInit): Promise<TypedResponse>;
@@ -0,0 +1,2 @@
1
+ import { Stream } from 'node:stream';
2
+ export default function stream2buffer(stream: Stream): Promise<Buffer>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -38,7 +38,7 @@ export const Mission = Type.Object({
38
38
  classification: Type.Optional(Type.String()),
39
39
  tool: Type.String(),
40
40
  keywords: Type.Array(Type.Unknown()),
41
- creatorUid: Type.String(),
41
+ creatorUid: Type.Optional(Type.String()),
42
42
  createTime: Type.String(),
43
43
  externalData: Type.Array(Type.Unknown()),
44
44
  feeds: Type.Array(Type.Unknown()),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/node-tak",
3
3
  "type": "module",
4
- "version": "11.1.1",
4
+ "version": "11.2.1",
5
5
  "description": "Lightweight JavaScript library for communicating with TAK Server",
6
6
  "author": "Nick Ingalls <nick@ingalls.ca>",
7
7
  "main": "dist/index.js",
@@ -10,7 +10,10 @@
10
10
  "tak": "./cli.ts"
11
11
  },
12
12
  "exports": {
13
- ".": "./dist/index.js",
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ },
14
17
  "./lib/*": "./dist/lib/*.js",
15
18
  "./lib/api/*": "./dist/lib/api/*.js"
16
19
  },
package/tsconfig.json CHANGED
@@ -4,6 +4,7 @@
4
4
  },
5
5
  "compilerOptions": {
6
6
  "strict": true,
7
+ "declaration": true,
7
8
  "module": "es2022",
8
9
  "skipLibCheck": true,
9
10
  "esModuleInterop": true,