@tak-ps/node-cot 4.6.0 → 5.0.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.
- package/.github/workflows/test.yml +3 -0
- package/CHANGELOG.md +12 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/chat.js +50 -0
- package/dist/lib/chat.js.map +1 -0
- package/dist/lib/cot.js +16 -1
- package/dist/lib/cot.js.map +1 -1
- package/dist/lib/schema.json +458 -225
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/package.json +58 -0
- package/dist/test/chat.test.js +88 -0
- package/dist/test/chat.test.js.map +1 -0
- package/dist/test/cot-itak.test.js +5 -2
- package/dist/test/cot-itak.test.js.map +1 -1
- package/dist/test/flow-tags.test.js +19 -0
- package/dist/test/flow-tags.test.js.map +1 -0
- package/dist/test/from_geojson.test.js +8 -0
- package/dist/test/from_geojson.test.js.map +1 -1
- package/index.ts +1 -0
- package/lib/chat.ts +73 -0
- package/lib/cot.ts +19 -63
- package/lib/schema.json +459 -225
- package/lib/types.ts +157 -0
- package/lib/util.ts +3 -3
- package/package.json +4 -3
- package/test/chat.test.ts +94 -0
- package/test/cot-itak.test.ts +7 -2
- package/test/flow-tags.test.ts +21 -0
- package/test/from_geojson.test.ts +12 -0
- package/dist/test/cot.test.js +0 -232
- package/dist/test/cot.test.js.map +0 -1
- package/test/cot.test.ts +0 -246
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tak-ps/node-cot",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "5.0.1",
|
|
5
|
+
"description": "Lightweight JavaScript library for parsing and manipulating TAK messages",
|
|
6
|
+
"author": "Nick Ingalls <nick@ingalls.ca>",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "index.ts",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "ts-node-test test/",
|
|
11
|
+
"lint": "eslint *.ts lib/*.ts",
|
|
12
|
+
"doc": "typedoc index.ts",
|
|
13
|
+
"build": "typescript-json-schema --required --out ./lib/schema.json ./lib/types.ts JSONCoT && tsc --build && cp package.json dist/",
|
|
14
|
+
"pretest": "npm run lint"
|
|
15
|
+
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@turf/helpers": "^6.5.0",
|
|
18
|
+
"@turf/point-on-feature": "^6.5.0",
|
|
19
|
+
"@types/color": "^3.0.3",
|
|
20
|
+
"@types/geojson": "^7946.0.10",
|
|
21
|
+
"ajv": "^8.12.0",
|
|
22
|
+
"color": "^4.2.3",
|
|
23
|
+
"protobufjs": "^7.1.2",
|
|
24
|
+
"xml-js": "^1.6.11"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/node": "^20.0.0",
|
|
28
|
+
"@types/tape": "^5.6.0",
|
|
29
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
30
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
31
|
+
"eslint": "^8.35.0",
|
|
32
|
+
"eslint-plugin-node": "^11.1.0",
|
|
33
|
+
"tape": "^5.6.1",
|
|
34
|
+
"ts-node": "^10.9.1",
|
|
35
|
+
"ts-node-test": "^0.4.0",
|
|
36
|
+
"typedoc": "^0.25.0",
|
|
37
|
+
"typescript": "^5.0.0",
|
|
38
|
+
"typescript-json-schema": "^0.62.0"
|
|
39
|
+
},
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/dfpc-coe/node-cot.git"
|
|
43
|
+
},
|
|
44
|
+
"keywords": [
|
|
45
|
+
"tak",
|
|
46
|
+
"atak",
|
|
47
|
+
"wintak",
|
|
48
|
+
"cot",
|
|
49
|
+
"cusor",
|
|
50
|
+
"target",
|
|
51
|
+
"tactical"
|
|
52
|
+
],
|
|
53
|
+
"license": "MIT",
|
|
54
|
+
"bugs": {
|
|
55
|
+
"url": "https://github.com/dfpc-coe/node-cot/issues"
|
|
56
|
+
},
|
|
57
|
+
"homepage": "https://github.com/dfpc-coe/node-cot#readme"
|
|
58
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import test from 'tape';
|
|
2
|
+
import { DirectChat } from '../index.js';
|
|
3
|
+
test('DirectChat - Basic', (t) => {
|
|
4
|
+
const cot = new DirectChat({
|
|
5
|
+
to: {
|
|
6
|
+
uid: '123456',
|
|
7
|
+
callsign: 'Alpha Operator'
|
|
8
|
+
},
|
|
9
|
+
from: {
|
|
10
|
+
uid: '654321',
|
|
11
|
+
callsign: 'Bravo Operator'
|
|
12
|
+
},
|
|
13
|
+
message: 'Direct Message Test'
|
|
14
|
+
});
|
|
15
|
+
t.equals(cot.is_chat(), true);
|
|
16
|
+
t.ok(cot.raw.event._attributes.uid);
|
|
17
|
+
cot.raw.event._attributes.uid = '123';
|
|
18
|
+
t.ok(cot.raw.event.detail['_flow-tags_']);
|
|
19
|
+
delete cot.raw.event.detail['_flow-tags_'];
|
|
20
|
+
for (const i of ['time', 'start', 'stale']) {
|
|
21
|
+
t.equals(typeof cot.raw.event._attributes[i], 'string');
|
|
22
|
+
delete cot.raw.event._attributes[i];
|
|
23
|
+
}
|
|
24
|
+
if (!cot.raw.event.detail.__chat) {
|
|
25
|
+
t.fail();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
t.equals(typeof cot.raw.event.detail.__chat._attributes.messageId, 'string');
|
|
29
|
+
cot.raw.event.detail.__chat._attributes.messageId = '123';
|
|
30
|
+
}
|
|
31
|
+
if (!cot.raw.event.detail.remarks) {
|
|
32
|
+
t.fail();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
t.equals(typeof cot.raw.event.detail.remarks._attributes.time, 'string');
|
|
36
|
+
cot.raw.event.detail.remarks._attributes.time = '123';
|
|
37
|
+
}
|
|
38
|
+
console.error(JSON.stringify(cot.raw));
|
|
39
|
+
t.deepEquals(cot.raw, {
|
|
40
|
+
event: {
|
|
41
|
+
_attributes: {
|
|
42
|
+
uid: '123',
|
|
43
|
+
version: '2.0',
|
|
44
|
+
type: 'b-t-f',
|
|
45
|
+
how: 'h-g-i-g-o',
|
|
46
|
+
},
|
|
47
|
+
point: {
|
|
48
|
+
_attributes: { lat: '0.000000', lon: '0.000000', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
|
|
49
|
+
},
|
|
50
|
+
detail: {
|
|
51
|
+
__chat: {
|
|
52
|
+
_attributes: {
|
|
53
|
+
parent: 'RootContactGroup',
|
|
54
|
+
groupOwner: 'false',
|
|
55
|
+
messageId: '123',
|
|
56
|
+
chatroom: 'Alpha Operator',
|
|
57
|
+
id: '123456',
|
|
58
|
+
senderCallsign: 'Bravo Operator'
|
|
59
|
+
},
|
|
60
|
+
chatgrp: {
|
|
61
|
+
_attributes: {
|
|
62
|
+
uid0: "654321",
|
|
63
|
+
uid1: "123456",
|
|
64
|
+
id: "123456"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
link: {
|
|
69
|
+
_attributes: {
|
|
70
|
+
uid: '654321',
|
|
71
|
+
type: 'a-f-G',
|
|
72
|
+
relation: 'p-p'
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
remarks: {
|
|
76
|
+
_attributes: {
|
|
77
|
+
source: '654321',
|
|
78
|
+
to: '123456',
|
|
79
|
+
time: '123'
|
|
80
|
+
},
|
|
81
|
+
_text: 'Direct Message Test'
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
t.end();
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=chat.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../../test/chat.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,10 @@ import test from 'tape';
|
|
|
2
2
|
import CoT from '../index.js';
|
|
3
3
|
test('Decode iTAK COT message', (t) => {
|
|
4
4
|
const packet = '<event version="2.0" uid="C94B9215-9BD4-4DBE-BDE1-83625F09153F" type="a-f-G-E-V-C" time="2023-07-18T15:23:09.00Z" start="2023-07-18T15:23:09.00Z" stale="2023-07-18T15:25:09.00Z" how="m-g"><point lat="41.52309645" lon="-107.72376567" hae="1681.23725821" ce="9999999" le="9999999" /><detail><contact callsign="DFPC-iSchmidt" phone="7204258729" endpoint="*:-1:stcp" /><uid Droid="DFPC-iSchmidt" /><__group name="Yellow" role="Team Member" /><precisionlocation geopointsrc="GPS" altsrc="???" /><status battery="100" /><takv device="iPhone" platform="iTAK" os="16.5.1" version="2.7.0.609" /><track speed="0.00000000" course="137.23542786" /></detail></event>';
|
|
5
|
-
|
|
5
|
+
const cot = new CoT(packet);
|
|
6
|
+
t.ok(cot.raw.event.detail['_flow-tags_']);
|
|
7
|
+
delete cot.raw.event.detail['_flow-tags_'];
|
|
8
|
+
t.deepEquals(cot.raw, {
|
|
6
9
|
'event': {
|
|
7
10
|
'_attributes': {
|
|
8
11
|
'version': '2.0',
|
|
@@ -39,7 +42,7 @@ test('Decode iTAK COT message', (t) => {
|
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
});
|
|
42
|
-
t.deepEquals(
|
|
45
|
+
t.deepEquals(cot.to_geojson(), {
|
|
43
46
|
id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
|
|
44
47
|
type: 'Feature',
|
|
45
48
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cot-itak.test.js","sourceRoot":"","sources":["../../test/cot-itak.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,+oBAA+oB,CAAC;IAE/pB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"cot-itak.test.js","sourceRoot":"","sources":["../../test/cot-itak.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import test from 'tape';
|
|
2
|
+
import { DirectChat } from '../index.js';
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
test('FlowTags - Basic', (t) => {
|
|
5
|
+
const pkg = JSON.parse(String(fs.readFileSync(new URL('../package.json', import.meta.url))));
|
|
6
|
+
const cot = new DirectChat({
|
|
7
|
+
to: { uid: '123456', callsign: 'Alpha Operator' },
|
|
8
|
+
from: { uid: '654321', callsign: 'Bravo Operator' },
|
|
9
|
+
message: 'Direct Message Test'
|
|
10
|
+
});
|
|
11
|
+
if (!cot.raw.event.detail['_flow-tags_']) {
|
|
12
|
+
t.fail();
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
t.equals(typeof cot.raw.event.detail['_flow-tags_'][`NodeCoT-${pkg.version}`], 'string');
|
|
16
|
+
}
|
|
17
|
+
t.end();
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=flow-tags.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-tags.test.js","sourceRoot":"","sources":["../../test/flow-tags.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7F,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC;QACvB,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;QACjD,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;QACnD,OAAO,EAAE,qBAAqB;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,CAAC,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
|
|
@@ -19,6 +19,8 @@ test('CoT.from_geojson - Point', (t) => {
|
|
|
19
19
|
t.deepEquals(geo.raw.event.point, {
|
|
20
20
|
_attributes: { lat: '2.2', lon: '1.1', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
|
|
21
21
|
});
|
|
22
|
+
t.ok(geo.raw.event.detail['_flow-tags_']);
|
|
23
|
+
delete geo.raw.event.detail['_flow-tags_'];
|
|
22
24
|
t.deepEquals(geo.raw.event.detail, {
|
|
23
25
|
contact: { _attributes: { callsign: 'UNKNOWN' } },
|
|
24
26
|
remarks: { _attributes: {}, _text: '' }
|
|
@@ -50,6 +52,8 @@ test('CoT.from_geojson - Polygon', (t) => {
|
|
|
50
52
|
t.deepEquals(geo.raw.event.point, {
|
|
51
53
|
_attributes: { lat: '39.065', lon: '-108.54599999999999', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
|
|
52
54
|
});
|
|
55
|
+
t.ok(geo.raw.event.detail['_flow-tags_']);
|
|
56
|
+
delete geo.raw.event.detail['_flow-tags_'];
|
|
53
57
|
t.deepEquals(geo.raw.event.detail, {
|
|
54
58
|
contact: { _attributes: { callsign: 'UNKNOWN' } },
|
|
55
59
|
link: [
|
|
@@ -94,6 +98,8 @@ test('CoT.from_geojson - LineString', (t) => {
|
|
|
94
98
|
t.deepEquals(geo.raw.event.point, {
|
|
95
99
|
_attributes: { lat: '39.098', lon: '-108.505', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
|
|
96
100
|
});
|
|
101
|
+
t.ok(geo.raw.event.detail['_flow-tags_']);
|
|
102
|
+
delete geo.raw.event.detail['_flow-tags_'];
|
|
97
103
|
t.deepEquals(geo.raw.event.detail, {
|
|
98
104
|
contact: { _attributes: { callsign: 'UNKNOWN' } },
|
|
99
105
|
link: [
|
|
@@ -170,6 +176,8 @@ test('CoT.from_geojson - Icon', (t) => {
|
|
|
170
176
|
coordinates: [1.1, 2.2]
|
|
171
177
|
}
|
|
172
178
|
});
|
|
179
|
+
t.ok(geo.raw.event.detail['_flow-tags_']);
|
|
180
|
+
delete geo.raw.event.detail['_flow-tags_'];
|
|
173
181
|
t.deepEquals(geo.raw.event.detail, {
|
|
174
182
|
contact: { _attributes: { callsign: 'UNKNOWN' } },
|
|
175
183
|
usericon: { _attributes: { iconsetpath: '66f14976-4b62-4023-8edb-d8d2ebeaa336/Public Safety Air/EMS_ROTOR.png' } }, remarks: { _attributes: {}, _text: '' }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from_geojson.test.js","sourceRoot":"","sources":["../../test/from_geojson.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"from_geojson.test.js","sourceRoot":"","sources":["../../test/from_geojson.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;KACxF,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE3C,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QACjD,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;KAC1C,CAAC,CAAC;IAEH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE;IACrC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,CAAC;oBACV,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;iBACrB,CAAC;SACL;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;KAC3G,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE3C,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QACjD,IAAI,EAAE;YACF,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;SAChD;QACD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9C,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QACtC,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;QACtD,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7C,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;QACpD,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;KAC1C,CAAC,CAAC;IAEH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE;gBACT,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;aACrB;SACJ;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;KAChG,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE3C,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QACjD,IAAI,EAAE;YACF,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;SAChD;QACD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9C,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QACtC,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;QACtD,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7C,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChD,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;KAC1C,CAAC,CAAC;IAEH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,oBAAoB;YACpB,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;SAChD;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,sCAAsC;IACtC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IACtF,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAEtF,gCAAgC;IAChC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IAEpE,wCAAwC;IACxC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChH,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEhH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,oBAAoB;YACpB,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC7C,KAAK,EAAE,EAAE,GAAG,IAAI;SACnB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,sCAAsC;IACtC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IACtF,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAEtF,gCAAgC;IAChC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IAEpE,wCAAwC;IACxC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChH,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEhH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,IAAI,EAAE,sEAAsE;SAC/E;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE3C,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QACjD,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,sEAAsE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;KAC9J,CAAC,CAAC;IAEH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE,EAAE;IAChD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;QAC1B,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EACX;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,WAAW;KAClB,EAAE,aAAa,CAAC,CAAC;IAElB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;QAC1B,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EACX;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SAC/B;KACJ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,WAAW;KAClB,EAAE,qBAAqB,CAAC,CAAC;IAE1B,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5C,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;QAC1B,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;SACb;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;QACvB,WAAW,EAAE;YACT,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACjB;KACJ,EAAE,OAAO,CAAC,CAAC;IAEZ,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE;IACrC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;QAC1B,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,MAAM;SAClB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,MAAM;KAChB,EAAE,OAAO,CAAC,CAAC;IAEZ,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
|
package/index.ts
CHANGED
package/lib/chat.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import Util from './util.js'
|
|
2
|
+
import CoT from './cot.js';
|
|
3
|
+
import JSONCoT from './types.js';
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
5
|
+
|
|
6
|
+
export type DirectChatMember = {
|
|
7
|
+
uid: string;
|
|
8
|
+
callsign: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export type DirectChatInput = {
|
|
12
|
+
to: DirectChatMember;
|
|
13
|
+
from: DirectChatMember;
|
|
14
|
+
|
|
15
|
+
message: string;
|
|
16
|
+
|
|
17
|
+
parent?: string;
|
|
18
|
+
chatroom?: string;
|
|
19
|
+
groupOwner?: boolean;
|
|
20
|
+
messageId?: string;
|
|
21
|
+
id?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class DirectChat extends CoT {
|
|
25
|
+
constructor(chat: DirectChatInput) {
|
|
26
|
+
const cot: JSONCoT = {
|
|
27
|
+
event: {
|
|
28
|
+
_attributes: Util.cot_event_attr('b-t-f', 'h-g-i-g-o'),
|
|
29
|
+
point: Util.cot_point(),
|
|
30
|
+
detail: {
|
|
31
|
+
__chat: {
|
|
32
|
+
_attributes: {
|
|
33
|
+
parent: chat.parent || 'RootContactGroup',
|
|
34
|
+
groupOwner: chat.groupOwner ? 'true' : 'false',
|
|
35
|
+
messageId: chat.messageId || randomUUID(),
|
|
36
|
+
chatroom: chat.chatroom || chat.to.callsign,
|
|
37
|
+
id: chat.to.uid,
|
|
38
|
+
senderCallsign: chat.from.callsign
|
|
39
|
+
},
|
|
40
|
+
chatgrp: {
|
|
41
|
+
_attributes: {
|
|
42
|
+
uid0: chat.from.uid,
|
|
43
|
+
uid1: chat.to.uid,
|
|
44
|
+
id: chat.to.uid
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
cot.event._attributes.uid = `GeoChat.${chat.from.uid}.${chat.to.uid}.${randomUUID()}`;
|
|
53
|
+
|
|
54
|
+
cot.event.detail.link = {
|
|
55
|
+
_attributes: {
|
|
56
|
+
uid: chat.from.uid,
|
|
57
|
+
type: 'a-f-G',
|
|
58
|
+
relation: 'p-p'
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
cot.event.detail.remarks = {
|
|
63
|
+
_attributes: {
|
|
64
|
+
source: chat.from.uid,
|
|
65
|
+
to: chat.to.uid,
|
|
66
|
+
time: cot.event._attributes.time
|
|
67
|
+
},
|
|
68
|
+
_text: chat.message
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
super(cot)
|
|
72
|
+
}
|
|
73
|
+
}
|
package/lib/cot.ts
CHANGED
|
@@ -4,74 +4,18 @@ import { AllGeoJSON } from "@turf/helpers";
|
|
|
4
4
|
import Util from './util.js';
|
|
5
5
|
import Color from './color.js';
|
|
6
6
|
import PointOnFeature from '@turf/point-on-feature';
|
|
7
|
+
import JSONCoT from './types.js'
|
|
7
8
|
import AJV from 'ajv';
|
|
8
9
|
import fs from 'fs';
|
|
9
10
|
|
|
10
11
|
const schema = JSON.parse(String(fs.readFileSync(new URL('./schema.json', import.meta.url))));
|
|
11
|
-
const
|
|
12
|
-
.compile(schema);
|
|
13
|
-
|
|
14
|
-
export interface Attributes {
|
|
15
|
-
version: string,
|
|
16
|
-
uid: string;
|
|
17
|
-
type: string;
|
|
18
|
-
how: string;
|
|
19
|
-
[k: string]: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface GenericAttributes {
|
|
23
|
-
_attributes: {
|
|
24
|
-
[k: string]: string;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface Track {
|
|
29
|
-
_attributes: TrackAttributes;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface TrackAttributes {
|
|
33
|
-
speed: string,
|
|
34
|
-
course: string,
|
|
35
|
-
[k: string]: string
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface Detail {
|
|
39
|
-
contact?: GenericAttributes,
|
|
40
|
-
tog?: GenericAttributes,
|
|
41
|
-
strokeColor?: GenericAttributes,
|
|
42
|
-
strokeWeight?: GenericAttributes,
|
|
43
|
-
strokeStyle?: GenericAttributes,
|
|
44
|
-
labels_on?: GenericAttributes,
|
|
45
|
-
fillColor?: GenericAttributes,
|
|
46
|
-
link?: GenericAttributes[],
|
|
47
|
-
usericon?: GenericAttributes,
|
|
48
|
-
track?: Track,
|
|
49
|
-
TakControl?: {
|
|
50
|
-
TakServerVersionInfo?: GenericAttributes
|
|
51
|
-
},
|
|
52
|
-
[k: string]: unknown
|
|
53
|
-
}
|
|
12
|
+
const pkg = JSON.parse(String(fs.readFileSync(new URL('../package.json', import.meta.url))));
|
|
54
13
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
ce: string | number;
|
|
61
|
-
le: string | number;
|
|
62
|
-
[k: string]: string | number
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export interface JSONCoT {
|
|
67
|
-
event: {
|
|
68
|
-
_attributes: Attributes,
|
|
69
|
-
detail: Detail,
|
|
70
|
-
point: Point,
|
|
71
|
-
[k: string]: unknown
|
|
72
|
-
},
|
|
73
|
-
[k: string]: unknown
|
|
74
|
-
}
|
|
14
|
+
const ajv = (new AJV({
|
|
15
|
+
allErrors: true,
|
|
16
|
+
allowUnionTypes: true
|
|
17
|
+
}))
|
|
18
|
+
.compile(schema);
|
|
75
19
|
|
|
76
20
|
/**
|
|
77
21
|
* Convert to and from an XML CoT message
|
|
@@ -98,6 +42,9 @@ export default class CoT {
|
|
|
98
42
|
|
|
99
43
|
ajv(this.raw);
|
|
100
44
|
if (ajv.errors) throw new Error(`${ajv.errors[0].message} (${ajv.errors[0].instancePath})`);
|
|
45
|
+
|
|
46
|
+
if (!this.raw.event.detail['_flow-tags_']) this.raw.event.detail['_flow-tags_'] = {};
|
|
47
|
+
this.raw.event.detail['_flow-tags_'][`NodeCoT-${pkg.version}`] = new Date().toISOString()
|
|
101
48
|
}
|
|
102
49
|
|
|
103
50
|
/**
|
|
@@ -377,6 +324,15 @@ export default class CoT {
|
|
|
377
324
|
});
|
|
378
325
|
}
|
|
379
326
|
|
|
327
|
+
/**
|
|
328
|
+
* Determines if the CoT message represents a Chat Message
|
|
329
|
+
*
|
|
330
|
+
* @return {boolean}
|
|
331
|
+
*/
|
|
332
|
+
is_chat(): boolean {
|
|
333
|
+
return !!(this.raw.event.detail && this.raw.event.detail.__chat);
|
|
334
|
+
}
|
|
335
|
+
|
|
380
336
|
/**
|
|
381
337
|
* Determines if the CoT message represents a Friendly Element
|
|
382
338
|
*
|