@tak-ps/cloudtak 12.94.0 → 12.102.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.
Files changed (185) hide show
  1. package/dist/types/plugin.d.ts +156 -0
  2. package/dist/types/src/base/chatroom-chats.d.ts +19 -0
  3. package/dist/types/src/base/chatroom.d.ts +49 -0
  4. package/dist/types/src/base/config.d.ts +17 -0
  5. package/dist/types/src/base/contact.d.ts +14 -0
  6. package/dist/types/src/base/cot.d.ts +95 -0
  7. package/dist/types/src/base/database.d.ts +192 -0
  8. package/dist/types/src/base/events.d.ts +32 -0
  9. package/dist/types/src/base/filter.d.ts +41 -0
  10. package/dist/types/src/base/group.d.ts +27 -0
  11. package/dist/types/src/base/handler.d.ts +9 -0
  12. package/dist/types/src/base/icon.d.ts +4 -0
  13. package/dist/types/src/base/mission-template-logs.d.ts +9 -0
  14. package/dist/types/src/base/mission-template.d.ts +20 -0
  15. package/dist/types/src/base/notification.d.ts +37 -0
  16. package/dist/types/src/base/overlay.d.ts +94 -0
  17. package/dist/types/src/base/profile.d.ts +20 -0
  18. package/dist/types/src/base/server.d.ts +9 -0
  19. package/dist/types/src/base/subscription-changes.d.ts +18 -0
  20. package/dist/types/src/base/subscription-chat.d.ts +23 -0
  21. package/dist/types/src/base/subscription-contents.d.ts +27 -0
  22. package/dist/types/src/base/subscription-feature.d.ts +49 -0
  23. package/dist/types/src/base/subscription-log.d.ts +34 -0
  24. package/dist/types/src/base/subscription.d.ts +128 -0
  25. package/dist/types/src/base/utils/styles.d.ts +11 -0
  26. package/dist/types/src/base/validators.d.ts +9 -0
  27. package/dist/types/src/components/CloudTAK/ActiveMission.vue.d.ts +3 -0
  28. package/dist/types/src/components/CloudTAK/CoTView.vue.d.ts +3 -0
  29. package/dist/types/src/components/CloudTAK/DrawTools.vue.d.ts +3 -0
  30. package/dist/types/src/components/CloudTAK/GenericBottomPane.vue.d.ts +13 -0
  31. package/dist/types/src/components/CloudTAK/Inputs/BufferInput.vue.d.ts +10 -0
  32. package/dist/types/src/components/CloudTAK/Inputs/CoordInput.vue.d.ts +7 -0
  33. package/dist/types/src/components/CloudTAK/Inputs/GeoJSONInput.vue.d.ts +24 -0
  34. package/dist/types/src/components/CloudTAK/Inputs/RangeInput.vue.d.ts +7 -0
  35. package/dist/types/src/components/CloudTAK/Inputs/RangeRingsInput.vue.d.ts +7 -0
  36. package/dist/types/src/components/CloudTAK/MainMenu.vue.d.ts +9 -0
  37. package/dist/types/src/components/CloudTAK/MainMenuContents.vue.d.ts +16 -0
  38. package/dist/types/src/components/CloudTAK/Map.vue.d.ts +8 -0
  39. package/dist/types/src/components/CloudTAK/MapLoading.vue.d.ts +3 -0
  40. package/dist/types/src/components/CloudTAK/Menu/Basemaps/EditModal.vue.d.ts +13 -0
  41. package/dist/types/src/components/CloudTAK/Menu/Debugger.vue.d.ts +3 -0
  42. package/dist/types/src/components/CloudTAK/Menu/Iconset/EditModal.vue.d.ts +7 -0
  43. package/dist/types/src/components/CloudTAK/Menu/MenuBasemaps.vue.d.ts +3 -0
  44. package/dist/types/src/components/CloudTAK/Menu/MenuChannels.vue.d.ts +3 -0
  45. package/dist/types/src/components/CloudTAK/Menu/MenuChat.vue.d.ts +3 -0
  46. package/dist/types/src/components/CloudTAK/Menu/MenuChats.vue.d.ts +3 -0
  47. package/dist/types/src/components/CloudTAK/Menu/MenuConnections.vue.d.ts +3 -0
  48. package/dist/types/src/components/CloudTAK/Menu/MenuContacts.vue.d.ts +3 -0
  49. package/dist/types/src/components/CloudTAK/Menu/MenuFeatView.vue.d.ts +8 -0
  50. package/dist/types/src/components/CloudTAK/Menu/MenuFeatures.vue.d.ts +3 -0
  51. package/dist/types/src/components/CloudTAK/Menu/MenuFeaturesDeleted.vue.d.ts +3 -0
  52. package/dist/types/src/components/CloudTAK/Menu/MenuFiles.vue.d.ts +3 -0
  53. package/dist/types/src/components/CloudTAK/Menu/MenuHistory.vue.d.ts +3 -0
  54. package/dist/types/src/components/CloudTAK/Menu/MenuIcon.vue.d.ts +3 -0
  55. package/dist/types/src/components/CloudTAK/Menu/MenuIconset.vue.d.ts +3 -0
  56. package/dist/types/src/components/CloudTAK/Menu/MenuIconsets.vue.d.ts +3 -0
  57. package/dist/types/src/components/CloudTAK/Menu/MenuImport.vue.d.ts +3 -0
  58. package/dist/types/src/components/CloudTAK/Menu/MenuImports.vue.d.ts +3 -0
  59. package/dist/types/src/components/CloudTAK/Menu/MenuItemCard.vue.d.ts +103 -0
  60. package/dist/types/src/components/CloudTAK/Menu/MenuMission.vue.d.ts +3 -0
  61. package/dist/types/src/components/CloudTAK/Menu/MenuMissions.vue.d.ts +3 -0
  62. package/dist/types/src/components/CloudTAK/Menu/MenuOverlayExplorer.vue.d.ts +3 -0
  63. package/dist/types/src/components/CloudTAK/Menu/MenuOverlays.vue.d.ts +3 -0
  64. package/dist/types/src/components/CloudTAK/Menu/MenuPackage.vue.d.ts +3 -0
  65. package/dist/types/src/components/CloudTAK/Menu/MenuPackages.vue.d.ts +3 -0
  66. package/dist/types/src/components/CloudTAK/Menu/MenuRoutes.vue.d.ts +3 -0
  67. package/dist/types/src/components/CloudTAK/Menu/MenuRoutesNew.vue.d.ts +3 -0
  68. package/dist/types/src/components/CloudTAK/Menu/MenuSettings.vue.d.ts +3 -0
  69. package/dist/types/src/components/CloudTAK/Menu/MenuSettingsCallsign.vue.d.ts +3 -0
  70. package/dist/types/src/components/CloudTAK/Menu/MenuSettingsDisplay.vue.d.ts +3 -0
  71. package/dist/types/src/components/CloudTAK/Menu/MenuSettingsTokens.vue.d.ts +3 -0
  72. package/dist/types/src/components/CloudTAK/Menu/MenuVideos.vue.d.ts +3 -0
  73. package/dist/types/src/components/CloudTAK/Menu/MenuVideosRemote.vue.d.ts +3 -0
  74. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionChanges.vue.d.ts +7 -0
  75. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionChats.vue.d.ts +7 -0
  76. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionContents.vue.d.ts +7 -0
  77. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionCreate.vue.d.ts +7 -0
  78. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionInfo.vue.d.ts +11 -0
  79. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerCreate.vue.d.ts +13 -0
  80. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerEdit.vue.d.ts +15 -0
  81. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerTree.vue.d.ts +15 -0
  82. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayers.vue.d.ts +10 -0
  83. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLog.vue.d.ts +9 -0
  84. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLogs.vue.d.ts +7 -0
  85. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionUsers.vue.d.ts +7 -0
  86. package/dist/types/src/components/CloudTAK/Menu/Mission/PendingInvites.vue.d.ts +11 -0
  87. package/dist/types/src/components/CloudTAK/Menu/Overlays/DeleteModal.vue.d.ts +39 -0
  88. package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeCots.vue.d.ts +7 -0
  89. package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeMission.vue.d.ts +7 -0
  90. package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeVector.vue.d.ts +13 -0
  91. package/dist/types/src/components/CloudTAK/Menu/Settings/TokenModal.vue.d.ts +13 -0
  92. package/dist/types/src/components/CloudTAK/Menu/Videos/VideoLeaseModal.vue.d.ts +16 -0
  93. package/dist/types/src/components/CloudTAK/Menu/Videos/VideosRemoteFeed.vue.d.ts +13 -0
  94. package/dist/types/src/components/CloudTAK/Notifications.vue.d.ts +3 -0
  95. package/dist/types/src/components/CloudTAK/Query/Magnetic.vue.d.ts +7 -0
  96. package/dist/types/src/components/CloudTAK/Query/Reverse.vue.d.ts +8 -0
  97. package/dist/types/src/components/CloudTAK/Query/Sun.vue.d.ts +7 -0
  98. package/dist/types/src/components/CloudTAK/Query/Weather.vue.d.ts +7 -0
  99. package/dist/types/src/components/CloudTAK/QueryView.vue.d.ts +3 -0
  100. package/dist/types/src/components/CloudTAK/RadialMenu/RadialMenu.vue.d.ts +22 -0
  101. package/dist/types/src/components/CloudTAK/util/Breadcrumb.vue.d.ts +10 -0
  102. package/dist/types/src/components/CloudTAK/util/ChannelInfo.vue.d.ts +15 -0
  103. package/dist/types/src/components/CloudTAK/util/Contact.vue.d.ts +38 -0
  104. package/dist/types/src/components/CloudTAK/util/ContactPuck.vue.d.ts +7 -0
  105. package/dist/types/src/components/CloudTAK/util/Coordinate.vue.d.ts +67 -0
  106. package/dist/types/src/components/CloudTAK/util/CoordinateType.vue.d.ts +27 -0
  107. package/dist/types/src/components/CloudTAK/util/CopyButton.vue.d.ts +32 -0
  108. package/dist/types/src/components/CloudTAK/util/CopyField.vue.d.ts +122 -0
  109. package/dist/types/src/components/CloudTAK/util/DrawOverlay.vue.d.ts +3 -0
  110. package/dist/types/src/components/CloudTAK/util/EmptyInfo.vue.d.ts +24 -0
  111. package/dist/types/src/components/CloudTAK/util/FeatureIcon.vue.d.ts +23 -0
  112. package/dist/types/src/components/CloudTAK/util/FeatureRow.vue.d.ts +81 -0
  113. package/dist/types/src/components/CloudTAK/util/FloatingAttachment.vue.d.ts +17 -0
  114. package/dist/types/src/components/CloudTAK/util/FloatingGeneric.vue.d.ts +17 -0
  115. package/dist/types/src/components/CloudTAK/util/FloatingPane.vue.d.ts +31 -0
  116. package/dist/types/src/components/CloudTAK/util/FloatingVideo.vue.d.ts +27 -0
  117. package/dist/types/src/components/CloudTAK/util/GenericChat.vue.d.ts +34 -0
  118. package/dist/types/src/components/CloudTAK/util/GenericSelect.vue.d.ts +34 -0
  119. package/dist/types/src/components/CloudTAK/util/GroupSelect.vue.d.ts +14 -0
  120. package/dist/types/src/components/CloudTAK/util/Icons.vue.d.ts +24 -0
  121. package/dist/types/src/components/CloudTAK/util/JSONModal.vue.d.ts +27 -0
  122. package/dist/types/src/components/CloudTAK/util/Keywords.vue.d.ts +10 -0
  123. package/dist/types/src/components/CloudTAK/util/LineLength.vue.d.ts +24 -0
  124. package/dist/types/src/components/CloudTAK/util/MenuTemplate.vue.d.ts +89 -0
  125. package/dist/types/src/components/CloudTAK/util/MultipleSelect.vue.d.ts +7 -0
  126. package/dist/types/src/components/CloudTAK/util/NotificationIcon.vue.d.ts +10 -0
  127. package/dist/types/src/components/CloudTAK/util/NotificationToast.vue.d.ts +13 -0
  128. package/dist/types/src/components/CloudTAK/util/PolygonArea.vue.d.ts +24 -0
  129. package/dist/types/src/components/CloudTAK/util/PropertyAttachments.vue.d.ts +14 -0
  130. package/dist/types/src/components/CloudTAK/util/PropertyBattery.vue.d.ts +13 -0
  131. package/dist/types/src/components/CloudTAK/util/PropertyBearing.vue.d.ts +58 -0
  132. package/dist/types/src/components/CloudTAK/util/PropertyCreator.vue.d.ts +7 -0
  133. package/dist/types/src/components/CloudTAK/util/PropertyDistance.vue.d.ts +54 -0
  134. package/dist/types/src/components/CloudTAK/util/PropertyElevation.vue.d.ts +32 -0
  135. package/dist/types/src/components/CloudTAK/util/PropertyEmail.vue.d.ts +13 -0
  136. package/dist/types/src/components/CloudTAK/util/PropertyGeofence.vue.d.ts +10 -0
  137. package/dist/types/src/components/CloudTAK/util/PropertyLinks.vue.d.ts +14 -0
  138. package/dist/types/src/components/CloudTAK/util/PropertyMetadata.vue.d.ts +7 -0
  139. package/dist/types/src/components/CloudTAK/util/PropertyMilSym.vue.d.ts +25 -0
  140. package/dist/types/src/components/CloudTAK/util/PropertyPhone.vue.d.ts +13 -0
  141. package/dist/types/src/components/CloudTAK/util/PropertySensor.vue.d.ts +18 -0
  142. package/dist/types/src/components/CloudTAK/util/PropertySpeed.vue.d.ts +23 -0
  143. package/dist/types/src/components/CloudTAK/util/PropertyStyle.vue.d.ts +7 -0
  144. package/dist/types/src/components/CloudTAK/util/PropertyTimes.vue.d.ts +7 -0
  145. package/dist/types/src/components/CloudTAK/util/PropertyType.vue.d.ts +27 -0
  146. package/dist/types/src/components/CloudTAK/util/SearchBox.vue.d.ts +46 -0
  147. package/dist/types/src/components/CloudTAK/util/SelectFeats.vue.d.ts +7 -0
  148. package/dist/types/src/components/CloudTAK/util/SettingsCallsign.vue.d.ts +28 -0
  149. package/dist/types/src/components/CloudTAK/util/Share.vue.d.ts +14 -0
  150. package/dist/types/src/components/CloudTAK/util/ShareToMission.vue.d.ts +53 -0
  151. package/dist/types/src/components/CloudTAK/util/ShareToPackage.vue.d.ts +62 -0
  152. package/dist/types/src/components/CloudTAK/util/SlideDownHeader.vue.d.ts +41 -0
  153. package/dist/types/src/components/CloudTAK/util/StandardItem.vue.d.ts +18 -0
  154. package/dist/types/src/components/CloudTAK/util/Subscriptions.vue.d.ts +7 -0
  155. package/dist/types/src/components/CloudTAK/util/TagEntry.vue.d.ts +51 -0
  156. package/dist/types/src/components/CloudTAK/util/UserClientSelect.vue.d.ts +16 -0
  157. package/dist/types/src/components/CloudTAK/util/VideoLeaseSourceType.vue.d.ts +6 -0
  158. package/dist/types/src/components/CloudTAK/util/WarnChannels.vue.d.ts +7 -0
  159. package/dist/types/src/components/CloudTAK/util/WarnConfiguration.vue.d.ts +7 -0
  160. package/dist/types/src/components/Configure.vue.d.ts +3 -0
  161. package/dist/types/src/components/ETL/Connection/AgencyBadge.vue.d.ts +8 -0
  162. package/dist/types/src/components/ETL/Connection/CertificateP12.vue.d.ts +13 -0
  163. package/dist/types/src/components/ETL/Connection/StatusDot.vue.d.ts +13 -0
  164. package/dist/types/src/components/ETL/Styling/Layer.vue.d.ts +24 -0
  165. package/dist/types/src/components/Login.vue.d.ts +7 -0
  166. package/dist/types/src/components/util/GroupSelect.vue.d.ts +14 -0
  167. package/dist/types/src/components/util/IconSelect.vue.d.ts +29 -0
  168. package/dist/types/src/components/util/StatusDot.vue.d.ts +8 -0
  169. package/dist/types/src/components/util/Upload.vue.d.ts +46 -0
  170. package/dist/types/src/components/util/UploadLogo.vue.d.ts +14 -0
  171. package/dist/types/src/router.d.ts +3 -0
  172. package/dist/types/src/std.d.ts +19 -0
  173. package/dist/types/src/stores/float.d.ts +42 -0
  174. package/dist/types/src/stores/map.d.ts +126 -0
  175. package/dist/types/src/stores/modules/draw.d.ts +61 -0
  176. package/dist/types/src/stores/modules/icons.d.ts +38 -0
  177. package/dist/types/src/stores/modules/menu.d.ts +39 -0
  178. package/dist/types/src/timediff.d.ts +1 -0
  179. package/dist/types/src/types.d.ts +169 -0
  180. package/dist/types/src/workers/atlas-breadcrumb.d.ts +65 -0
  181. package/dist/types/src/workers/atlas-connection.d.ts +14 -0
  182. package/dist/types/src/workers/atlas-database.d.ts +137 -0
  183. package/dist/types/src/workers/atlas-profile.d.ts +44 -0
  184. package/dist/types/src/workers/atlas.d.ts +18 -0
  185. package/package.json +12 -6
@@ -0,0 +1,20 @@
1
+ import type { DBMissionTemplate } from './database.ts';
2
+ import MissionTemplateLogs from './mission-template-logs.ts';
3
+ import type { MissionTemplateList } from '../types.ts';
4
+ export default class MissionTemplate {
5
+ id: string;
6
+ logs: MissionTemplateLogs;
7
+ name: string;
8
+ description: string;
9
+ icon: string;
10
+ created: string;
11
+ updated: string;
12
+ constructor(template: DBMissionTemplate);
13
+ static from(id: string): Promise<MissionTemplate | undefined>;
14
+ static load(id: string, opts?: {
15
+ refresh?: boolean;
16
+ }): Promise<MissionTemplate>;
17
+ refresh(): Promise<void>;
18
+ static list(filter?: string): Promise<DBMissionTemplate[]>;
19
+ static sync(): Promise<MissionTemplateList>;
20
+ }
@@ -0,0 +1,37 @@
1
+ import { NotificationType } from './database.ts';
2
+ import type { DBNotification } from './database.ts';
3
+ export { NotificationType };
4
+ export default class TAKNotification {
5
+ id: string;
6
+ type: NotificationType;
7
+ name: string;
8
+ body: string;
9
+ url: string;
10
+ created: string;
11
+ toast: boolean;
12
+ read: boolean;
13
+ constructor(id: string, type: NotificationType, name: string, body: string, url: string, opts?: {
14
+ read?: boolean;
15
+ toast?: boolean;
16
+ created?: string;
17
+ });
18
+ /**
19
+ * Return a Notification instance if one already exists in the local DB,
20
+ */
21
+ static from(id: string): Promise<TAKNotification | null>;
22
+ static create(type: NotificationType, name: string, body: string, url: string, toast?: boolean): Promise<TAKNotification>;
23
+ static update(id: string, opts: {
24
+ read?: boolean;
25
+ toast?: boolean;
26
+ }): Promise<void>;
27
+ update(opts: {
28
+ read?: boolean;
29
+ toast?: boolean;
30
+ }): Promise<void>;
31
+ popup(): Promise<void>;
32
+ static clear(): Promise<void>;
33
+ static delete(id: string): Promise<void>;
34
+ delete(): Promise<void>;
35
+ static count(): Promise<number>;
36
+ static list(): Promise<DBNotification[]>;
37
+ }
@@ -0,0 +1,94 @@
1
+ import type { ProfileOverlay, ProfileOverlay_Create } from '../types.ts';
2
+ import type { LayerSpecification } from 'maplibre-gl';
3
+ /**
4
+ * @class
5
+ */
6
+ export default class Overlay {
7
+ _destroyed: boolean;
8
+ _internal: boolean;
9
+ _timer: ReturnType<typeof setInterval> | null;
10
+ _clickable: Array<{
11
+ id: string;
12
+ type: string;
13
+ }>;
14
+ _error?: Error;
15
+ _loaded: boolean;
16
+ id: number;
17
+ name: string;
18
+ active: boolean;
19
+ username?: string;
20
+ frequency: number | null;
21
+ iconset: string | null;
22
+ created: string;
23
+ updated: string;
24
+ pos: number;
25
+ type: string;
26
+ opacity: number;
27
+ visible: boolean;
28
+ mode: string;
29
+ mode_id: string | null;
30
+ actions: ProfileOverlay["actions"];
31
+ url?: string;
32
+ styles: Array<LayerSpecification>;
33
+ token: string | null;
34
+ static create(body: ProfileOverlay | ProfileOverlay_Create, opts?: {
35
+ internal?: boolean;
36
+ skipSave?: boolean;
37
+ clickable?: Array<{
38
+ id: string;
39
+ type: string;
40
+ }>;
41
+ before?: string;
42
+ skipLayers?: boolean;
43
+ }): Promise<Overlay>;
44
+ static internal(body: {
45
+ id: number;
46
+ type: string;
47
+ name: string;
48
+ styles?: Array<LayerSpecification>;
49
+ clickable?: Array<{
50
+ id: string;
51
+ type: string;
52
+ }>;
53
+ }): Promise<Overlay>;
54
+ static load(id: number): Promise<Overlay>;
55
+ constructor(overlay: ProfileOverlay, opts?: {
56
+ internal?: boolean;
57
+ });
58
+ healthy(): boolean;
59
+ hasBounds(): boolean;
60
+ zoomTo(): Promise<void>;
61
+ addLayers(before?: string): Promise<void>;
62
+ init(opts?: {
63
+ clickable?: Array<{
64
+ id: string;
65
+ type: string;
66
+ }>;
67
+ before?: string;
68
+ skipLayers?: boolean;
69
+ }): Promise<void>;
70
+ remove(): void;
71
+ replace(overlay: {
72
+ name?: string;
73
+ active?: boolean;
74
+ username?: string;
75
+ actions?: ProfileOverlay["actions"];
76
+ type?: string;
77
+ opacity?: number;
78
+ visible?: boolean;
79
+ mode?: string;
80
+ mode_id?: string;
81
+ url?: string;
82
+ token?: string;
83
+ styles?: Array<LayerSpecification>;
84
+ }, opts?: {
85
+ before?: string;
86
+ }): Promise<void>;
87
+ delete(): Promise<void>;
88
+ update(body: {
89
+ pos?: number;
90
+ visible?: boolean;
91
+ opacity?: number;
92
+ }): Promise<void>;
93
+ save(): Promise<void>;
94
+ }
@@ -0,0 +1,20 @@
1
+ import type { Profile } from '../types.ts';
2
+ import { type Subscription } from 'dexie';
3
+ export default class ProfileConfig<K extends keyof Profile = keyof Profile> {
4
+ key: K;
5
+ value: Profile[K];
6
+ _sub?: Subscription;
7
+ constructor(key: K, value: Profile[K]);
8
+ subscribe(): void;
9
+ subscribed(): boolean;
10
+ destroy(): void;
11
+ static get<K extends keyof Profile>(key: K): Promise<ProfileConfig<K> | undefined>;
12
+ static fetch(token?: string): Promise<Profile>;
13
+ commit(value: Profile[K]): Promise<void>;
14
+ static delete(key: string): Promise<void>;
15
+ static sync(opts?: {
16
+ refresh?: boolean;
17
+ token?: string;
18
+ }): Promise<void>;
19
+ static saveAll(profile: Profile): Promise<void>;
20
+ }
@@ -0,0 +1,9 @@
1
+ import { type Observable } from 'dexie';
2
+ import type { Server, Server_Update } from '../types.ts';
3
+ export default class ServerManager {
4
+ static live(): Observable<Server | undefined>;
5
+ static get(token?: string): Promise<Server>;
6
+ static sync(token?: string): Promise<Server>;
7
+ static update(server: Server_Update, token?: string): Promise<Server>;
8
+ static create(server: Server_Update, token?: string): Promise<Server>;
9
+ }
@@ -0,0 +1,18 @@
1
+ import type { MissionChange } from '../types.ts';
2
+ /**
3
+ * High Level Wrapper around the Data/Mission Sync API
4
+ */
5
+ export default class SubscriptionChanges {
6
+ guid: string;
7
+ token: string;
8
+ missiontoken?: string;
9
+ constructor(guid: string, opts: {
10
+ token: string;
11
+ missiontoken?: string;
12
+ });
13
+ headers(): Record<string, string>;
14
+ refresh(): Promise<void>;
15
+ list(opts?: {
16
+ refresh?: boolean;
17
+ }): Promise<Array<MissionChange>>;
18
+ }
@@ -0,0 +1,23 @@
1
+ import type { DBSubscriptionChat } from './database.ts';
2
+ import { type Observable } from 'dexie';
3
+ import type Atlas from '../workers/atlas.ts';
4
+ import type { Remote } from 'comlink';
5
+ /**
6
+ * High Level Wrapper around Mission Chat messages stored in the local Dexie DB.
7
+ *
8
+ * Chat messages are CoT features with type `b-t-f` that arrive via the mission
9
+ * feature endpoint. They are stored separately from map features so they can be
10
+ * queried and displayed as a chronological chat thread.
11
+ */
12
+ export default class SubscriptionChat {
13
+ guid: string;
14
+ name: string;
15
+ constructor(guid: string, name: string);
16
+ liveUnreadCount(): Observable<number>;
17
+ list(): Promise<Array<DBSubscriptionChat>>;
18
+ read(): Promise<void>;
19
+ send(message: string, sender: {
20
+ uid: string;
21
+ callsign: string;
22
+ }, worker: Remote<Atlas>): Promise<void>;
23
+ }
@@ -0,0 +1,27 @@
1
+ import type { DBSubscriptionContent } from './database.ts';
2
+ import type { Mission } from '../types.ts';
3
+ /**
4
+ * High Level Wrapper around Mission Contents (file attachments)
5
+ */
6
+ export default class SubscriptionContents {
7
+ guid: string;
8
+ token: string;
9
+ missiontoken?: string;
10
+ constructor(guid: string, opts: {
11
+ token: string;
12
+ missiontoken?: string;
13
+ });
14
+ headers(): Record<string, string>;
15
+ /**
16
+ * Populate the subscription_contents table from the Mission's contents field
17
+ */
18
+ refresh(contents: Mission['contents']): Promise<void>;
19
+ /**
20
+ * Delete/detach a content entry from the mission and remove it from the local database
21
+ */
22
+ delete(hash: string): Promise<void>;
23
+ list(opts?: {
24
+ refresh?: boolean;
25
+ contents?: Mission['contents'];
26
+ }): Promise<Array<DBSubscriptionContent>>;
27
+ }
@@ -0,0 +1,49 @@
1
+ import COT from './cot.ts';
2
+ import Subscription from './subscription.ts';
3
+ import type Atlas from '../workers/atlas.ts';
4
+ import type { BBox } from 'geojson';
5
+ import type { Feature, FeatureCollection } from '../types.ts';
6
+ /**
7
+ * High Level Wrapper around the Data/Mission Sync API
8
+ */
9
+ export default class SubscriptionFeature {
10
+ parent: Subscription;
11
+ token: string;
12
+ missiontoken?: string;
13
+ constructor(parent: Subscription, opts: {
14
+ token: string;
15
+ missiontoken?: string;
16
+ });
17
+ headers(): Record<string, string>;
18
+ refresh(): Promise<void>;
19
+ list(opts?: {
20
+ refresh?: boolean;
21
+ }): Promise<Array<Feature>>;
22
+ collection(raw?: boolean): Promise<FeatureCollection>;
23
+ bounds(): Promise<BBox>;
24
+ from(uid: string): Promise<Feature | undefined>;
25
+ /**
26
+ * Upsert a feature into the mission.
27
+ * This will udpate the feature in the local DB, submit it to the TAK Server and
28
+ * mark the subscription as dirty for a re-render
29
+ *
30
+ * @param atlas - The Atlas instance
31
+ * @param cot - The COT object to upsert
32
+ * @param opts - Options for updating the feature
33
+ * @param opts.skipNetwork - If true, the feature will not be updated on the server - IE in response to a Mission Change event
34
+ */
35
+ update(atlas: Atlas, cot: COT, opts?: {
36
+ skipNetwork?: boolean;
37
+ }): Promise<void>;
38
+ /**
39
+ * Delete a feature from the mission.
40
+ *
41
+ * @param atlas - The Atlas instance
42
+ * @param uid - The unique ID of the feature to delete
43
+ * @param opts - Options for deleting the feature
44
+ * @param opts.skipNetwork - If true, the feature will not be deleted from the server - IE in response to a Mission Change event
45
+ */
46
+ delete(atlas: Atlas, uid: string, opts?: {
47
+ skipNetwork?: boolean;
48
+ }): Promise<void>;
49
+ }
@@ -0,0 +1,34 @@
1
+ import type { DBSubscriptionLog } from './database.ts';
2
+ import type { MissionLog } from '../types.ts';
3
+ /**
4
+ * High Level Wrapper around the Data/Mission Sync API
5
+ */
6
+ export default class SubscriptionLog {
7
+ guid: string;
8
+ token: string;
9
+ missiontoken?: string;
10
+ constructor(guid: string, opts: {
11
+ token: string;
12
+ missiontoken?: string;
13
+ });
14
+ headers(): Record<string, string>;
15
+ refresh(): Promise<void>;
16
+ list(opts?: {
17
+ filter?: string;
18
+ refresh?: boolean;
19
+ }): Promise<Array<DBSubscriptionLog>>;
20
+ read(): Promise<void>;
21
+ create(body: {
22
+ dtg?: string;
23
+ content: string;
24
+ contentHashes?: Array<string>;
25
+ keywords?: Array<string>;
26
+ }): Promise<MissionLog>;
27
+ update(logid: string, body: {
28
+ dtg?: string;
29
+ content: string;
30
+ contentHashes?: Array<string>;
31
+ keywords?: Array<string>;
32
+ }): Promise<MissionLog>;
33
+ delete(logid: string): Promise<void>;
34
+ }
@@ -0,0 +1,128 @@
1
+ import SubscriptionLog from './subscription-log.ts';
2
+ import SubscriptionChanges from './subscription-changes.ts';
3
+ import SubscriptionContents from './subscription-contents.ts';
4
+ import SubscriptionFeature from './subscription-feature.ts';
5
+ import SubscriptionChat from './subscription-chat.ts';
6
+ import type { Mission, MissionRole, MissionList, MissionLayer, MissionLayerList, MissionLayer_Create, MissionLayer_Update, MissionSubscriptions, MissionInvite } from '../types.ts';
7
+ export declare enum SubscriptionEventType {
8
+ CREATE = "subscription::create",
9
+ UPDATE = "subscription::update",
10
+ DELETE = "subscription::delete"
11
+ }
12
+ export type SubscriptionEvent = {
13
+ guid: string;
14
+ type: SubscriptionEventType;
15
+ state: {
16
+ dirty: boolean;
17
+ subscribed: boolean;
18
+ };
19
+ };
20
+ /**
21
+ * High Level Wrapper around the Data/Mission Sync API
22
+ *
23
+ * @property {string} guid - The unique identifier for the mission
24
+ * @property {string} name - The name of the mission
25
+ * @property {Mission} meta - The mission metadata
26
+ * @property {MissionRole} role - The role of the user in the mission
27
+ * @property {string} token - The CloudTAK Authentication token for API calls
28
+ * @property {string} [missiontoken] - The mission token for authentication
29
+ *
30
+ * @property {boolean} subscribed - Whether the user is subscribed to the mission
31
+ */
32
+ export default class Subscription {
33
+ guid: string;
34
+ name: string;
35
+ meta: Mission;
36
+ role: MissionRole;
37
+ log: SubscriptionLog;
38
+ change: SubscriptionChanges;
39
+ contents: SubscriptionContents;
40
+ feature: SubscriptionFeature;
41
+ chat: SubscriptionChat;
42
+ token: string;
43
+ missiontoken?: string;
44
+ dirty: boolean;
45
+ subscribed: boolean;
46
+ templateid: string | null;
47
+ _sync: BroadcastChannel;
48
+ constructor(mission: Mission, role: MissionRole, opts: {
49
+ subscribed: boolean;
50
+ token: string;
51
+ missiontoken?: string;
52
+ });
53
+ /**
54
+ * Return a Subscription instance of one already exists in the local DB,
55
+ */
56
+ static from(guid: string, token: string, opts?: {
57
+ subscribed?: boolean;
58
+ }): Promise<Subscription | undefined>;
59
+ /**
60
+ * Loads an existing Subscription from the local DB an refreshes it,
61
+ * or creates a new Subscription from the server if it does not exist locally.
62
+ *
63
+ * @param guid - The unique identifier for the mission
64
+ * @param opts - Options for loading the subscription
65
+ * @param opts.token - The CloudTAK Authentication token for API calls
66
+ * @param opts.reload - Whether to reload the mission from the local DB
67
+ * @param opts.missiontoken - The mission token for authentication
68
+ * @param opts.subscribed - Whether the user is subscribed to the mission
69
+ */
70
+ static load(guid: string, opts: {
71
+ token: string;
72
+ reload?: boolean;
73
+ missiontoken?: string;
74
+ subscribed?: boolean;
75
+ }): Promise<Subscription>;
76
+ update(body: {
77
+ dirty?: boolean;
78
+ subscribed?: boolean;
79
+ token?: string;
80
+ description?: string;
81
+ }): Promise<void>;
82
+ delete(): Promise<void>;
83
+ headers(): Record<string, string>;
84
+ /**
85
+ * Reload the Mission from the local Database
86
+ */
87
+ reload(): Promise<void>;
88
+ /**
89
+ * Perform a hard refresh of the Mission from the Server
90
+ */
91
+ refresh(opts?: {
92
+ refreshMission?: boolean;
93
+ }): Promise<void>;
94
+ fetch(): Promise<Mission>;
95
+ /**
96
+ * List all locally stored missions, with optional filtering
97
+ *
98
+ * @param filter - Filter options for the local mission list
99
+ * @param filter.role - Filter by minimum role
100
+ * @param filter.subscribed - Filter by subscription status
101
+ * @param filter.dirty - Filter by dirty status
102
+ */
103
+ static localList(filter?: {
104
+ role?: 'MISSION_OWNER' | 'MISSION_SUBSCRIBER' | 'MISSION_READONLY_SUBSCRIBER';
105
+ subscribed?: boolean;
106
+ dirty?: boolean;
107
+ }): Promise<Set<{
108
+ guid: string;
109
+ name: string;
110
+ }>>;
111
+ static list(opts?: {
112
+ passwordProtected?: boolean;
113
+ defaultRole?: boolean;
114
+ }): Promise<MissionList>;
115
+ static headers(token?: string): Record<string, string>;
116
+ invite(invitee: string, role?: string): Promise<void>;
117
+ invites(): Promise<MissionInvite[]>;
118
+ deleteInvite(invite: {
119
+ type: string;
120
+ invitee: string;
121
+ }): Promise<void>;
122
+ removeUser(uid: string): Promise<void>;
123
+ subscriptions(): Promise<MissionSubscriptions>;
124
+ layerList(): Promise<MissionLayerList>;
125
+ layerUpdate(guid: string, layerid: string, layer: MissionLayer_Update): Promise<MissionLayer>;
126
+ layerCreate(layer: MissionLayer_Create): Promise<MissionLayer>;
127
+ layerDelete(layeruid: string): Promise<void>;
128
+ }
@@ -0,0 +1,11 @@
1
+ import type { LayerSpecification } from 'maplibre-gl';
2
+ export default function styles(id: string, opts?: {
3
+ sourceLayer?: string;
4
+ group?: boolean;
5
+ course?: boolean;
6
+ labels?: {
7
+ size: number;
8
+ };
9
+ icons?: boolean;
10
+ rotateIcons?: boolean;
11
+ }): Array<LayerSpecification>;
@@ -0,0 +1,9 @@
1
+ export interface Validator {
2
+ (text: string): string;
3
+ }
4
+ export declare function validateJSON(text: string): string;
5
+ export declare function validateTextNotEmpty(text: string): string;
6
+ export declare function validateURL(text: string, opts?: {
7
+ protocols?: string[];
8
+ }): string;
9
+ export declare function validateLatLng(text: string): string;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,13 @@
1
+ declare var __VLS_1: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_1) => any;
4
+ };
5
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
9
+ type __VLS_WithSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -0,0 +1,10 @@
1
+ type __VLS_Props = {
2
+ cotId: string;
3
+ };
4
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
+ close: () => any;
6
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
7
+ onClose?: (() => any) | undefined;
8
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
10
+ export default _default;
@@ -0,0 +1,7 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2
+ close: (...args: any[]) => void;
3
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
4
+ onClose?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import type { InputFeature } from '../../../types.ts';
2
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ features: {
4
+ type: () => InputFeature[];
5
+ required: false;
6
+ default: () => never[];
7
+ };
8
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ done: (...args: any[]) => void;
10
+ close: (...args: any[]) => void;
11
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ features: {
13
+ type: () => InputFeature[];
14
+ required: false;
15
+ default: () => never[];
16
+ };
17
+ }>> & Readonly<{
18
+ onDone?: ((...args: any[]) => any) | undefined;
19
+ onClose?: ((...args: any[]) => any) | undefined;
20
+ }>, {
21
+ features: InputFeature[];
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
@@ -0,0 +1,7 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2
+ close: (...args: any[]) => void;
3
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
4
+ onClose?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2
+ close: (...args: any[]) => void;
3
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
4
+ onClose?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,9 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ compact: BooleanConstructor;
3
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4
+ compact: BooleanConstructor;
5
+ }>> & Readonly<{}>, {
6
+ compact: boolean;
7
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,16 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ compact: BooleanConstructor;
3
+ modal: BooleanConstructor;
4
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
+ close: () => any;
6
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ compact: BooleanConstructor;
8
+ modal: BooleanConstructor;
9
+ }>> & Readonly<{
10
+ onClose?: (() => any) | undefined;
11
+ }>, {
12
+ compact: boolean;
13
+ modal: boolean;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import 'maplibre-gl/dist/maplibre-gl.css';
2
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3
+ err: (...args: any[]) => void;
4
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
5
+ onErr?: ((...args: any[]) => any) | undefined;
6
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import type { BasemapList } from '../../../../types.ts';
2
+ type __VLS_Props = {
3
+ basemap?: Partial<BasemapList['items'][0]>;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ close: (...args: any[]) => void;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onClose?: ((...args: any[]) => any) | undefined;
9
+ }>, {
10
+ basemap: Partial<BasemapList["items"][0]>;
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2
+ close: (...args: any[]) => void;
3
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
4
+ onClose?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;