@trap_stevo/filetide 0.0.72 → 0.0.74

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.
@@ -113,6 +113,9 @@ class FileMessager {
113
113
  async getStoredTidalytics(filter = {}) {
114
114
  return await tidalytics.getStoredMetrics(filter);
115
115
  }
116
+ async getTidalyticsFromDomains(domains = [], options = {}) {
117
+ return await tidalytics.getMetricsFromDomains(domains, options);
118
+ }
116
119
  async getTidalyticsInDomain(domain, options = {}) {
117
120
  return await tidalytics.getMetricsInDomain(domain, options);
118
121
  }
@@ -146,146 +149,6 @@ class FileMessager {
146
149
  clearAllTidalytics() {
147
150
  return tidalytics.clearAllMetrics();
148
151
  }
149
- attachTiderPresenceVisualStream(options = {}) {
150
- const {
151
- visualDataConfigurations = {},
152
- mode = "buffer",
153
- forward
154
- } = options;
155
- if (!forward) {
156
- return;
157
- }
158
- const handle = async () => {
159
- if (mode === "signal") {
160
- forward("rehydrate");
161
- return;
162
- }
163
- const result = await this.getTiderPresenceVisualData(visualDataConfigurations);
164
- forward(result);
165
- };
166
- tidalytics.events.on("metric:created:tider:offline", handle);
167
- tidalytics.events.on("metric:created:tider:online", handle);
168
- }
169
- attachAlreadyOnlineVisualStream(options = {}) {
170
- const {
171
- visualDataConfigurations = {},
172
- mode = "buffer",
173
- forward
174
- } = options;
175
- if (!forward) {
176
- return;
177
- }
178
- const handle = async () => {
179
- if (mode === "signal") {
180
- forward("rehydrate");
181
- return;
182
- }
183
- const result = await this.getAlreadyOnlineVisualData(visualDataConfigurations);
184
- forward(result);
185
- };
186
- tidalytics.events.on("metric:created:tider:already-online", handle);
187
- }
188
- attachTiderBanVisualStream(options = {}) {
189
- const {
190
- visualDataConfigurations = {},
191
- mode = "buffer",
192
- forward
193
- } = options;
194
- if (!forward) {
195
- return;
196
- }
197
- const handle = async () => {
198
- if (mode === "signal") {
199
- forward("rehydrate");
200
- return;
201
- }
202
- const result = await this.getTiderBanVisualData(visualDataConfigurations);
203
- forward(result);
204
- };
205
- tidalytics.events.on("metric:created:tider:unbanned", handle);
206
- tidalytics.events.on("metric:created:tider:banned", handle);
207
- tidalytics.events.on("metric:created:tider:kicked", handle);
208
- }
209
- attachTideFileTransferVisualStream(options = {}) {
210
- const {
211
- visualDataConfigurations = {},
212
- mode = "buffer",
213
- forward
214
- } = options;
215
- if (!forward) {
216
- return;
217
- }
218
- const handle = async () => {
219
- if (mode === "signal") {
220
- forward("rehydrate");
221
- return;
222
- }
223
- const result = await this.getTideFileTransferVisualData(visualDataConfigurations);
224
- forward(result);
225
- };
226
- tidalytics.events.on("metric:created:tide:completed-transfer", handle);
227
- tidalytics.events.on("metric:created:tide:incoming-transfer", handle);
228
- tidalytics.events.on("metric:created:tide:incoming-file", handle);
229
- }
230
- attachTideTransferStateVisualStream(options = {}) {
231
- const {
232
- visualDataConfigurations = {},
233
- mode = "buffer",
234
- forward
235
- } = options;
236
- if (!forward) {
237
- return;
238
- }
239
- const handle = async () => {
240
- if (mode === "signal") {
241
- forward("rehydrate");
242
- return;
243
- }
244
- const result = await this.getTideTransferStateVisualData(visualDataConfigurations);
245
- forward(result);
246
- };
247
- tidalytics.events.on("metric:created:tide:transfer-state", handle);
248
- }
249
- attachFileListVisualStream(options = {}) {
250
- const {
251
- visualDataConfigurations = {},
252
- mode = "buffer",
253
- forward
254
- } = options;
255
- if (!forward) {
256
- return;
257
- }
258
- const handle = async () => {
259
- if (mode === "signal") {
260
- forward("rehydrate");
261
- return;
262
- }
263
- const result = await this.getFileListVisualData(visualDataConfigurations);
264
- forward(result);
265
- };
266
- tidalytics.events.on("metric:created:file-list:received", handle);
267
- tidalytics.events.on("metric:created:file-list:request", handle);
268
- }
269
- attachTideBarrierVisualStream(options = {}) {
270
- const {
271
- visualDataConfigurations = {},
272
- mode = "buffer",
273
- forward
274
- } = options;
275
- if (!forward) {
276
- return;
277
- }
278
- const handle = async () => {
279
- if (mode === "signal") {
280
- forward("rehydrate");
281
- return;
282
- }
283
- const result = await this.getTideBarrierVisualData(visualDataConfigurations);
284
- forward(result);
285
- };
286
- tidalytics.events.on("metric:created:tide-barrier:accepted", handle);
287
- tidalytics.events.on("metric:created:tide-barrier:denied", handle);
288
- }
289
152
  async getTiderPresenceVisualData(options = {}) {
290
153
  const {
291
154
  interval = "1d",
@@ -660,8 +523,315 @@ class FileMessager {
660
523
  return limit === Infinity ? entries : entries.slice(0, limit);
661
524
  }
662
525
 
526
+ // --- File Messager Tidalytics Event Management ---
527
+
528
+ attachTiderPresenceVisualStream(options = {}) {
529
+ const {
530
+ visualDataConfigurations = {},
531
+ mode = "buffer",
532
+ forward
533
+ } = options;
534
+ if (!forward) {
535
+ return;
536
+ }
537
+ const handle = async () => {
538
+ if (mode === "signal") {
539
+ forward("rehydrate");
540
+ return;
541
+ }
542
+ setTimeout(() => {
543
+ this.getTiderPresenceVisualData(visualDataConfigurations).then(forward);
544
+ }, 25);
545
+ };
546
+ tidalytics.events.on("metric:created:tider:offline", handle);
547
+ tidalytics.events.on("metric:created:tider:online", handle);
548
+ }
549
+ attachAlreadyOnlineVisualStream(options = {}) {
550
+ const {
551
+ visualDataConfigurations = {},
552
+ mode = "buffer",
553
+ forward
554
+ } = options;
555
+ if (!forward) {
556
+ return;
557
+ }
558
+ const handle = async () => {
559
+ if (mode === "signal") {
560
+ forward("rehydrate");
561
+ return;
562
+ }
563
+ setTimeout(() => {
564
+ this.getAlreadyOnlineVisualData(visualDataConfigurations).then(forward);
565
+ }, 25);
566
+ };
567
+ tidalytics.events.on("metric:created:tider:already-online", handle);
568
+ }
569
+ attachTiderBanVisualStream(options = {}) {
570
+ const {
571
+ visualDataConfigurations = {},
572
+ mode = "buffer",
573
+ forward
574
+ } = options;
575
+ if (!forward) {
576
+ return;
577
+ }
578
+ const handle = async () => {
579
+ if (mode === "signal") {
580
+ forward("rehydrate");
581
+ return;
582
+ }
583
+ setTimeout(() => {
584
+ this.getTiderBanVisualData(visualDataConfigurations).then(forward);
585
+ }, 25);
586
+ };
587
+ tidalytics.events.on("metric:created:tider:unbanned", handle);
588
+ tidalytics.events.on("metric:created:tider:banned", handle);
589
+ tidalytics.events.on("metric:created:tider:kicked", handle);
590
+ }
591
+ attachTideFileTransferVisualStream(options = {}) {
592
+ const {
593
+ visualDataConfigurations = {},
594
+ mode = "buffer",
595
+ forward
596
+ } = options;
597
+ if (!forward) {
598
+ return;
599
+ }
600
+ const handle = async () => {
601
+ if (mode === "signal") {
602
+ forward("rehydrate");
603
+ return;
604
+ }
605
+ setTimeout(() => {
606
+ this.getTideFileTransferVisualData(visualDataConfigurations).then(forward);
607
+ }, 25);
608
+ };
609
+ tidalytics.events.on("metric:created:tide:completed-transfer", handle);
610
+ tidalytics.events.on("metric:created:tide:incoming-transfer", handle);
611
+ tidalytics.events.on("metric:created:tide:incoming-file", handle);
612
+ }
613
+ attachTideTransferStateVisualStream(options = {}) {
614
+ const {
615
+ visualDataConfigurations = {},
616
+ mode = "buffer",
617
+ forward
618
+ } = options;
619
+ if (!forward) {
620
+ return;
621
+ }
622
+ const handle = async () => {
623
+ if (mode === "signal") {
624
+ forward("rehydrate");
625
+ return;
626
+ }
627
+ setTimeout(() => {
628
+ this.getTideTransferStateVisualData(visualDataConfigurations).then(forward);
629
+ }, 25);
630
+ };
631
+ tidalytics.events.on("metric:created:tide:transfer-state", handle);
632
+ }
633
+ attachFileListVisualStream(options = {}) {
634
+ const {
635
+ visualDataConfigurations = {},
636
+ mode = "buffer",
637
+ forward
638
+ } = options;
639
+ if (!forward) {
640
+ return;
641
+ }
642
+ const handle = async () => {
643
+ if (mode === "signal") {
644
+ forward("rehydrate");
645
+ return;
646
+ }
647
+ setTimeout(() => {
648
+ this.getFileListVisualData(visualDataConfigurations).then(forward);
649
+ }, 25);
650
+ };
651
+ tidalytics.events.on("metric:created:file-list:received", handle);
652
+ tidalytics.events.on("metric:created:file-list:request", handle);
653
+ }
654
+ attachTideBarrierVisualStream(options = {}) {
655
+ const {
656
+ visualDataConfigurations = {},
657
+ mode = "buffer",
658
+ forward
659
+ } = options;
660
+ if (!forward) {
661
+ return;
662
+ }
663
+ const handle = async () => {
664
+ if (mode === "signal") {
665
+ forward("rehydrate");
666
+ return;
667
+ }
668
+ setTimeout(() => {
669
+ this.getTideBarrierVisualData(visualDataConfigurations).then(forward);
670
+ }, 25);
671
+ };
672
+ tidalytics.events.on("metric:created:tide-barrier:accepted", handle);
673
+ tidalytics.events.on("metric:created:tide-barrier:denied", handle);
674
+ }
675
+
663
676
  // --- File Messager Tide Actions Management ---
664
677
 
678
+ async getAllTideActions(options = {}) {
679
+ const {
680
+ interval = null,
681
+ limit = 1000,
682
+ source = "both",
683
+ filter = {},
684
+ rangeMode = "since",
685
+ order = "desc",
686
+ start = null,
687
+ end = null
688
+ } = options;
689
+ const tagMap = {
690
+ "tide:completed-transfer": "tide-completed-transfer",
691
+ "tide:transfer-state": "tide-transfer-state",
692
+ "tide:incoming-file": "tide-incoming-file",
693
+ "tide:incoming-transfer": "tide-incoming-transfer",
694
+ "tide-barrier:accepted": "tide-barrier-accepted",
695
+ "tide-barrier:denied": "tide-barrier-denied",
696
+ "file-list:received": "file-list-received",
697
+ "file-list:request": "file-list-request",
698
+ "tider:banned": "ban-client-activated",
699
+ "tider:kicked": "kick-client-activated",
700
+ "tider:unbanned": "unban-client-activated",
701
+ "tider:already-online": "tider-already-online",
702
+ "tider:online": "tider-online",
703
+ "tider:offline": "tider-offline"
704
+ };
705
+ const domains = Object.keys(tagMap);
706
+ const rawEvents = await this.getTidalyticsFromDomains(domains, {
707
+ interval,
708
+ source,
709
+ rangeMode,
710
+ start,
711
+ end,
712
+ filter,
713
+ order
714
+ });
715
+ if (!Array.isArray(rawEvents)) {
716
+ return [];
717
+ }
718
+ const actions = rawEvents.map(event => {
719
+ const tag = Object.keys(event.tags || {})[0];
720
+ const actionID = tagMap[tag] || "unknown";
721
+ const metadata = event.metadata || {};
722
+ const base = {
723
+ tideActionID: actionID,
724
+ tideActionDate: event.timestamp || Date.now(),
725
+ tideActionDetails: {}
726
+ };
727
+ switch (tag) {
728
+ case "tide:completed-transfer":
729
+ base.tideActionDetails = {
730
+ recipientID: metadata.recipientID,
731
+ senderID: metadata.senderID,
732
+ path: metadata.path,
733
+ fileSize: metadata.fileSize,
734
+ fileName: metadata.fileName,
735
+ completedChunks: metadata.completedChunks,
736
+ totalChunks: metadata.totalChunks,
737
+ chunkSize: metadata.chunkSize
738
+ };
739
+ break;
740
+ case "tide:transfer-state":
741
+ base.tideActionDetails = {
742
+ transferStateID: metadata.transferStateID,
743
+ recipientID: metadata.recipientID,
744
+ senderID: metadata.senderID,
745
+ path: metadata.path,
746
+ startTime: metadata.startTime,
747
+ currentTransferredSize: metadata.currentTransferredSize,
748
+ speed: metadata.speed,
749
+ transferProgress: metadata.transferProgress,
750
+ transferSize: metadata.transferSize,
751
+ transferETA: metadata.transferETA,
752
+ fileName: metadata.fileName
753
+ };
754
+ break;
755
+ case "tide:incoming-file":
756
+ base.tideActionDetails = {
757
+ recipientID: metadata.recipientID,
758
+ senderID: metadata.senderID,
759
+ path: metadata.path,
760
+ fileSize: metadata.fileSize,
761
+ fileName: metadata.fileName,
762
+ totalChunks: metadata.totalChunks,
763
+ chunkSize: metadata.chunkSize
764
+ };
765
+ break;
766
+ case "tide:incoming-transfer":
767
+ base.tideActionDetails = {
768
+ recipientID: metadata.recipientID,
769
+ senderID: metadata.senderID,
770
+ fileSize: metadata.fileSize,
771
+ fileName: metadata.fileName,
772
+ path: metadata.path,
773
+ startedOn: metadata.startedOn
774
+ };
775
+ break;
776
+ case "tide-barrier:accepted":
777
+ case "tide-barrier:denied":
778
+ base.tideActionDetails = {
779
+ recipientID: metadata.recipientID,
780
+ transferID: metadata.transferID,
781
+ senderID: metadata.senderID,
782
+ tideItemCount: metadata.tideItemCount,
783
+ tideItemSize: metadata.tideItemSize,
784
+ tideTransferContentType: metadata.tideTransferContentType,
785
+ tideTransferType: metadata.tideTransferType,
786
+ tideDestinationPath: metadata.tideDestinationPath,
787
+ tideOriginPath: metadata.tideOriginPath
788
+ };
789
+ break;
790
+ case "file-list:received":
791
+ base.tideActionDetails = {
792
+ recipientID: metadata.recipientID,
793
+ senderID: metadata.senderID,
794
+ totalItems: metadata.totalItems,
795
+ runningOn: metadata.runningOn
796
+ };
797
+ break;
798
+ case "file-list:request":
799
+ base.tideActionDetails = {
800
+ recipientID: metadata.recipientID,
801
+ requesterID: metadata.requesterID,
802
+ depth: metadata.depth
803
+ };
804
+ break;
805
+ case "tider:banned":
806
+ case "tider:kicked":
807
+ base.tideActionDetails = {
808
+ clientID: metadata.clientID,
809
+ options: metadata.options
810
+ };
811
+ break;
812
+ case "tider:unbanned":
813
+ base.tideActionDetails = {
814
+ clientID: metadata.clientID
815
+ };
816
+ break;
817
+ case "tider:already-online":
818
+ case "tider:online":
819
+ case "tider:offline":
820
+ base.tideActionDetails = {
821
+ currentTideChannel: metadata.currentTideChannel || "file-room",
822
+ originUser: metadata.originUser,
823
+ user: metadata.user,
824
+ connectionID: metadata.connectionID,
825
+ pClientID: metadata.pClientID,
826
+ tideID: metadata.tideID,
827
+ connectedOn: metadata.connectedOn
828
+ };
829
+ break;
830
+ }
831
+ return base;
832
+ });
833
+ return actions.slice(0, limit);
834
+ }
665
835
  async getTideCompletedTransferActions(options = {}) {
666
836
  const {
667
837
  interval = "1d",
@@ -64,10 +64,6 @@ class FileTide {
64
64
  FileTideDebugUtilityManager.setDebugMode(debugMode);
65
65
  return;
66
66
  }
67
- static outputGradient(text, colors) {
68
- FileTideDebugUtilityManager.outputGradient(text, colors);
69
- return;
70
- }
71
67
 
72
68
  // --- FileTide TideToken Enforcement Management ---
73
69
 
@@ -433,6 +429,10 @@ class FileTide {
433
429
 
434
430
  // --- FileTide Display Management ---
435
431
 
432
+ static outputGradient(text, colors) {
433
+ FileTideDebugUtilityManager.outputGradient(text, colors);
434
+ return;
435
+ }
436
436
  static displayFileTideLogo() {
437
437
  displayFileTideLogo();
438
438
  }
@@ -135,7 +135,7 @@ class TideTokenEnforcementManager {
135
135
  assumePreviouslyValid: true,
136
136
  fallbackIfOffline: true,
137
137
  autoRemoveExpired: true,
138
- storeInvalid: true
138
+ storeInvalid: false
139
139
  });
140
140
  }
141
141
  async validate(key) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trap_stevo/filetide",
3
- "version": "0.0.72",
3
+ "version": "0.0.74",
4
4
  "description": "Revolutionizing real-time file transfer with seamless, instant communication across any device. Deliver files instantly, regardless of platform, and experience unparalleled speed and control in managing transfers. Elevate your file-sharing capabilities with a tool designed for precision, efficiency, and effortless connectivity.",
5
5
  "main": "dist/cjs/FileTide.js",
6
6
  "scripts": {
@@ -40,7 +40,7 @@
40
40
  "@trap_stevo/legendarybuilderpronodejs-utilities": "^1.0.49",
41
41
  "@trap_stevo/lockline": "^0.0.11",
42
42
  "@trap_stevo/logictide": "^0.0.1",
43
- "@trap_stevo/metrictide": "^0.0.5",
43
+ "@trap_stevo/metrictide": "^0.0.7",
44
44
  "@trap_stevo/timelyst": "^0.0.7",
45
45
  "chalk": "^4.1.2",
46
46
  "readline": "^1.3.0"