@tak-ps/node-tak 12.15.3 → 12.17.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/CHANGELOG.md CHANGED
@@ -10,131 +10,139 @@
10
10
 
11
11
  ## Version History
12
12
 
13
- ### v12.15.3 - 2025-05-03
13
+ ### v12.17.0 - 2026-05-21
14
+
15
+ - :rocket: Add support for entryUID and ContentHashes in Mission Logs
16
+
17
+ ### v12.16.0 - 2026-05-03
18
+
19
+ - :arrow_up: Update Core Deps
20
+
21
+ ### v12.15.3 - 2026-05-03
14
22
 
15
23
  - :arrow_up: Update Core Deps
16
24
 
17
- ### v12.15.2 - 2025-04-27
25
+ ### v12.15.2 - 2026-04-27
18
26
 
19
27
  - :bug: MimeType fallback on File upload
20
28
 
21
- ### v12.15.1 - 2025-04-24
29
+ ### v12.15.1 - 2026-04-24
22
30
 
23
31
  - :bug: Use provided headers in Mission Update
24
32
 
25
- ### v12.15.0 - 2025-04-24
33
+ ### v12.15.0 - 2026-04-24
26
34
 
27
35
  - :rocket: Add support for changing groups on Missions
28
36
 
29
- ### v12.14.0 - 2025-04-23
37
+ ### v12.14.0 - 2026-04-23
30
38
 
31
39
  - :rocket: Add support for setting keywords and deleting keywords on Missions
32
40
 
33
- ### v12.13.0 - 2025-04-22
41
+ ### v12.13.0 - 2026-04-22
34
42
 
35
43
  - :rocket: Surface cause of a failed network request in error message
36
44
 
37
- ### v12.12.0 - 2025-04-21
45
+ ### v12.12.0 - 2026-04-21
38
46
 
39
47
  - :tada: Add Mission Children/Parent API
40
48
 
41
- ### v12.11.1 - 2025-04-20
49
+ ### v12.11.1 - 2026-04-20
42
50
 
43
51
  - :bug: Fix URL endpoints
44
52
 
45
- ### v12.11.0 - 2025-04-20
53
+ ### v12.11.0 - 2026-04-20
46
54
 
47
55
  - :tada: Handle Mission Package Updates
48
56
 
49
- ### v12.10.0 - 2025-04-14
57
+ ### v12.10.0 - 2026-04-14
50
58
 
51
59
  - :rocket: handle multipart form data internally
52
60
 
53
- ### v12.9.0 - 2025-04-13
61
+ ### v12.9.0 - 2026-04-13
54
62
 
55
63
  - :arrow_up: Remove `tape` in favor of `node:test` and update tests accordingly
56
64
 
57
- ### v12.8.0 - 2025-04-13
65
+ ### v12.8.0 - 2026-04-13
58
66
 
59
67
  - :arrow_up: Remove use of `form-data`
60
68
 
61
- ### v12.7.0 - 2025-04-13
69
+ ### v12.7.0 - 2026-04-13
62
70
 
63
71
  - :arrow_up: Migrate to Typescript 6.0
64
72
 
65
- ### v12.6.0 - 2025-04-08
73
+ ### v12.6.0 - 2026-04-08
66
74
 
67
75
  - :arrow_up: Migrate to DFPC controlled P12 extractor library
68
76
 
69
- ### v12.5.0 - 2025-04-06
77
+ ### v12.5.0 - 2026-04-06
70
78
 
71
79
  - :arrow_up: Update to TypeScript@6
72
80
 
73
- ### v12.4.0 - 2025-03-18
81
+ ### v12.4.0 - 2026-03-18
74
82
 
75
83
  - :arrow_up: Update pinned node-cot dep
76
84
 
77
- ### v12.3.1 - 2025-03-18
85
+ ### v12.3.1 - 2026-03-18
78
86
 
79
87
  - :arrow_up: Update pinned node-cot dep
80
88
 
81
- ### v12.3.0 - 2025-03-18
89
+ ### v12.3.0 - 2026-03-18
82
90
 
83
91
  - :rocket: Enable Flow Stripping Option
84
92
 
85
- ### v12.2.1 - 2025-03-13
93
+ ### v12.2.1 - 2026-03-13
86
94
 
87
95
  - :rocket: Switch to using body to avoid URL encoding issues
88
96
 
89
- ### v12.2.0 - 2025-03-06
97
+ ### v12.2.0 - 2026-03-06
90
98
 
91
99
  - :rocket: Adjust mission contentResource to support REMOVE_CONTENT
92
100
 
93
- ### v12.1.0 - 2025-03-02
101
+ ### v12.1.0 - 2026-03-02
94
102
 
95
103
  - :bug: Fix connect_ssl race condition where a stale socket's delayed close or end event could destroy a newly-reconnected socket, leaving the connection permanently dead after a server restart.
96
104
 
97
- ### v12.0.0 - 2025-02-11
105
+ ### v12.0.0 - 2026-02-11
98
106
 
99
107
  - :tada: Significantly improve memory performance of client when writing large amounts of data
100
108
 
101
- ### v11.26.2 - 2025-02-05
109
+ ### v11.26.2 - 2026-02-05
102
110
 
103
111
  - :bug: Wrap return type of Client list in TAKList object
104
112
 
105
- ### v11.26.1 - 2025-02-05
113
+ ### v11.26.1 - 2026-02-05
106
114
 
107
115
  - :rocket: Allow specifying Client Endpoint List query parameters
108
116
 
109
- ### v11.26.0 - 2025-02-05
117
+ ### v11.26.0 - 2026-02-05
110
118
 
111
119
  - :tada: Add support for Client Endpoint List
112
120
 
113
- ### v11.25.2 - 2025-02-03
121
+ ### v11.25.2 - 2026-02-03
114
122
 
115
123
  - :arrow_up: Update Core Deps
116
124
 
117
- ### v11.25.1 - 2025-01-28
125
+ ### v11.25.1 - 2026-01-28
118
126
 
119
127
  - :rocket: MissionGuid is optional
120
128
 
121
- ### v11.25.0 - 2025-01-28
129
+ ### v11.25.0 - 2026-01-28
122
130
 
123
131
  - :rocket: Update MissionChange type
124
132
 
125
- ### v11.24.0 - 2025-01-06
133
+ ### v11.24.0 - 2026-01-06
126
134
 
127
135
  - :rocket: Require clientUid in Mission Invite List
128
136
 
129
- ### v11.23.0 - 2025-01-05
137
+ ### v11.23.0 - 2026-01-05
130
138
 
131
139
  - :rocket: Updated Mission Invite after talking to TPC Developers
132
140
 
133
- ### v11.22.0 - 2025-01-05
141
+ ### v11.22.0 - 2026-01-05
134
142
 
135
143
  - :rocket: Add Mission Invite Get and improve List Support
136
144
 
137
- ### v11.21.0 - 2025-01-05
145
+ ### v11.21.0 - 2026-01-05
138
146
 
139
147
  - :tada: Add Mission Invite & Uninvite Support
140
148
 
@@ -8,22 +8,25 @@ export declare const MissionLog: import("@sinclair/typebox").TObject<{
8
8
  missionNames: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
9
9
  servertime: import("@sinclair/typebox").TString;
10
10
  dtg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
12
  created: import("@sinclair/typebox").TString;
12
- contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
13
+ contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
13
14
  keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
14
15
  }>;
15
16
  export declare const CreateMissionLog: import("@sinclair/typebox").TObject<{
16
17
  dtg: import("@sinclair/typebox").TString;
18
+ entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
19
  content: import("@sinclair/typebox").TString;
18
20
  creatorUid: import("@sinclair/typebox").TString;
19
- contentHashes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>>;
21
+ contentHashes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
20
22
  keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
21
23
  }>;
22
24
  export declare const UpdateMissionLog: import("@sinclair/typebox").TObject<{
23
25
  content: import("@sinclair/typebox").TString;
24
26
  creatorUid: import("@sinclair/typebox").TString;
25
27
  dtg: import("@sinclair/typebox").TString;
26
- contentHashes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>>;
28
+ entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ contentHashes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
27
30
  keywords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
28
31
  id: import("@sinclair/typebox").TString;
29
32
  }>;
@@ -37,8 +40,9 @@ export declare const TAKItem_MissionLog: import("@sinclair/typebox").TObject<{
37
40
  missionNames: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
38
41
  servertime: import("@sinclair/typebox").TString;
39
42
  dtg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
43
+ entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
40
44
  created: import("@sinclair/typebox").TString;
41
- contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
45
+ contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
42
46
  keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
43
47
  }>;
44
48
  messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -9,8 +9,11 @@ export const MissionLog = Type.Object({
9
9
  missionNames: Type.Array(Type.String()),
10
10
  servertime: Type.String(),
11
11
  dtg: Type.Optional(Type.String()),
12
+ entryUid: Type.Optional(Type.String({
13
+ description: 'CoT UID this log entry references; appears as a clickable link in TAK clients'
14
+ })),
12
15
  created: Type.String(),
13
- contentHashes: Type.Array(Type.Unknown()),
16
+ contentHashes: Type.Array(Type.String()),
14
17
  keywords: Type.Array(Type.String())
15
18
  });
16
19
  export const CreateMissionLog = Type.Object({
@@ -19,9 +22,12 @@ export const CreateMissionLog = Type.Object({
19
22
  default: new Date().toISOString(),
20
23
  description: 'Date-time group in ISO 8601 format (e.g., "2024-01-01T12:00:00Z")'
21
24
  }),
25
+ entryUid: Type.Optional(Type.String({
26
+ description: 'CoT UID this log entry references; appears as a clickable link in TAK clients'
27
+ })),
22
28
  content: Type.String(),
23
29
  creatorUid: Type.String(),
24
- contentHashes: Type.Optional(Type.Array(Type.Unknown())),
30
+ contentHashes: Type.Optional(Type.Array(Type.String())),
25
31
  keywords: Type.Optional(Type.Array(Type.String()))
26
32
  });
27
33
  export const UpdateMissionLog = Type.Composite([CreateMissionLog, Type.Object({
@@ -85,6 +91,8 @@ export default class MissionLogCommands extends Commands {
85
91
  dtg: body.dtg,
86
92
  content: body.content,
87
93
  creatorUid: body.creatorUid,
94
+ entryUid: body.entryUid,
95
+ contentHashes: body.contentHashes,
88
96
  keywords: body.keywords,
89
97
  missionNames: [mission],
90
98
  }
@@ -107,6 +115,8 @@ export default class MissionLogCommands extends Commands {
107
115
  id: body.id,
108
116
  dtg: body.dtg,
109
117
  content: body.content,
118
+ entryUid: body.entryUid,
119
+ contentHashes: body.contentHashes,
110
120
  creatorUid: body.creatorUid,
111
121
  keywords: body.keywords,
112
122
  missionNames: [mission],
@@ -1 +1 @@
1
- {"version":3,"file":"mission-log.js","sourceRoot":"","sources":["../../../lib/api/mission-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mission-log.js","sourceRoot":"","sources":["../../../lib/api/mission-log.ts"],"names":[],"mappings":"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"}
@@ -85,8 +85,9 @@ export declare const Mission: import("@sinclair/typebox").TObject<{
85
85
  missionNames: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
86
86
  servertime: import("@sinclair/typebox").TString;
87
87
  dtg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
88
+ entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
88
89
  created: import("@sinclair/typebox").TString;
89
- contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
90
+ contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
90
91
  keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
91
92
  }>>>;
92
93
  contents: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
@@ -289,8 +290,9 @@ export declare const TAKList_Mission: import("@sinclair/typebox").TObject<{
289
290
  missionNames: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
290
291
  servertime: import("@sinclair/typebox").TString;
291
292
  dtg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
293
+ entryUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
292
294
  created: import("@sinclair/typebox").TString;
293
- contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnknown>;
295
+ contentHashes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
294
296
  keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
295
297
  }>>>;
296
298
  contents: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
@@ -11,8 +11,11 @@ export const MissionLog = Type.Object({
11
11
  missionNames: Type.Array(Type.String()),
12
12
  servertime: Type.String(),
13
13
  dtg: Type.Optional(Type.String()),
14
+ entryUid: Type.Optional(Type.String({
15
+ description: 'CoT UID this log entry references; appears as a clickable link in TAK clients'
16
+ })),
14
17
  created: Type.String(),
15
- contentHashes: Type.Array(Type.Unknown()),
18
+ contentHashes: Type.Array(Type.String()),
16
19
  keywords: Type.Array(Type.String())
17
20
  });
18
21
 
@@ -22,9 +25,12 @@ export const CreateMissionLog = Type.Object({
22
25
  default: new Date().toISOString(),
23
26
  description: 'Date-time group in ISO 8601 format (e.g., "2024-01-01T12:00:00Z")'
24
27
  }),
28
+ entryUid: Type.Optional(Type.String({
29
+ description: 'CoT UID this log entry references; appears as a clickable link in TAK clients'
30
+ })),
25
31
  content: Type.String(),
26
32
  creatorUid: Type.String(),
27
- contentHashes: Type.Optional(Type.Array(Type.Unknown())),
33
+ contentHashes: Type.Optional(Type.Array(Type.String())),
28
34
  keywords: Type.Optional(Type.Array(Type.String()))
29
35
  });
30
36
 
@@ -110,6 +116,8 @@ export default class MissionLogCommands extends Commands {
110
116
  dtg: body.dtg,
111
117
  content: body.content,
112
118
  creatorUid: body.creatorUid,
119
+ entryUid: body.entryUid,
120
+ contentHashes: body.contentHashes,
113
121
  keywords: body.keywords,
114
122
  missionNames: [ mission ],
115
123
  }
@@ -139,6 +147,8 @@ export default class MissionLogCommands extends Commands {
139
147
  id: body.id,
140
148
  dtg: body.dtg,
141
149
  content: body.content,
150
+ entryUid: body.entryUid,
151
+ contentHashes: body.contentHashes,
142
152
  creatorUid: body.creatorUid,
143
153
  keywords: body.keywords,
144
154
  missionNames: [ mission ],
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/node-tak",
3
3
  "type": "module",
4
- "version": "12.15.3",
4
+ "version": "12.17.0",
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",