@kaikybrofc/omnizap-system 2.2.10 → 2.3.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 (123) hide show
  1. package/README.md +13 -13
  2. package/app/config/adminIdentity.js +1 -3
  3. package/app/connection/socketController.js +10 -20
  4. package/app/controllers/messageController.js +7 -28
  5. package/app/modules/aiModule/catCommand.js +29 -192
  6. package/app/modules/broadcastModule/noticeCommand.js +28 -97
  7. package/app/modules/gameModule/diceCommand.js +6 -32
  8. package/app/modules/playModule/playCommand.js +57 -258
  9. package/app/modules/quoteModule/quoteCommand.js +2 -4
  10. package/app/modules/rpgPokemonModule/rpgPokemonRepository.js +1 -13
  11. package/app/modules/statsModule/noMessageCommand.js +16 -84
  12. package/app/modules/statsModule/rankingCommand.js +5 -25
  13. package/app/modules/statsModule/rankingCommon.js +1 -9
  14. package/app/modules/stickerModule/convertToWebp.js +4 -27
  15. package/app/modules/stickerModule/stickerCommand.js +13 -24
  16. package/app/modules/stickerModule/stickerTextCommand.js +13 -25
  17. package/app/modules/stickerPackModule/autoPackCollectorService.js +16 -7
  18. package/app/modules/stickerPackModule/domainEventOutboxRepository.js +20 -36
  19. package/app/modules/stickerPackModule/domainEvents.js +2 -11
  20. package/app/modules/stickerPackModule/semanticReclassificationEngine.js +13 -50
  21. package/app/modules/stickerPackModule/semanticReclassificationEngine.test.js +2 -15
  22. package/app/modules/stickerPackModule/semanticThemeClusterService.js +14 -41
  23. package/app/modules/stickerPackModule/stickerAssetClassificationRepository.js +25 -95
  24. package/app/modules/stickerPackModule/stickerAssetRepository.js +12 -31
  25. package/app/modules/stickerPackModule/stickerAssetReprocessQueueRepository.js +13 -18
  26. package/app/modules/stickerPackModule/stickerAutoPackByTagsRuntime.js +284 -709
  27. package/app/modules/stickerPackModule/stickerClassificationBackgroundRuntime.js +27 -106
  28. package/app/modules/stickerPackModule/stickerClassificationService.js +46 -77
  29. package/app/modules/stickerPackModule/stickerDedicatedTaskWorkerRuntime.js +13 -53
  30. package/app/modules/stickerPackModule/stickerDomainEventBus.js +10 -16
  31. package/app/modules/stickerPackModule/stickerDomainEventConsumerRuntime.js +40 -39
  32. package/app/modules/stickerPackModule/stickerMarketplaceDriftService.js +1 -4
  33. package/app/modules/stickerPackModule/stickerObjectStorageService.js +26 -26
  34. package/app/modules/stickerPackModule/stickerPackCommandHandlers.js +32 -187
  35. package/app/modules/stickerPackModule/stickerPackInteractionEventRepository.js +6 -15
  36. package/app/modules/stickerPackModule/stickerPackItemRepository.js +6 -32
  37. package/app/modules/stickerPackModule/stickerPackMarketplaceService.js +12 -36
  38. package/app/modules/stickerPackModule/stickerPackMessageService.js +12 -40
  39. package/app/modules/stickerPackModule/stickerPackRepository.js +23 -66
  40. package/app/modules/stickerPackModule/stickerPackScoreSnapshotRepository.js +9 -21
  41. package/app/modules/stickerPackModule/stickerPackScoreSnapshotRuntime.js +10 -40
  42. package/app/modules/stickerPackModule/stickerPackService.js +50 -115
  43. package/app/modules/stickerPackModule/stickerPackServiceRuntime.js +2 -21
  44. package/app/modules/stickerPackModule/stickerPackUtils.js +13 -3
  45. package/app/modules/stickerPackModule/stickerStorageService.js +16 -65
  46. package/app/modules/stickerPackModule/stickerWorkerPipelineRuntime.js +4 -22
  47. package/app/modules/stickerPackModule/stickerWorkerTaskQueueRepository.js +14 -29
  48. package/app/modules/systemMetricsModule/pingCommand.js +9 -39
  49. package/app/modules/tiktokModule/tiktokCommand.js +17 -109
  50. package/app/modules/userModule/userCommand.js +2 -88
  51. package/app/observability/metrics.js +5 -16
  52. package/app/services/captchaService.js +1 -6
  53. package/app/services/dbWriteQueue.js +3 -18
  54. package/app/services/featureFlagService.js +2 -8
  55. package/app/services/newsBroadcastService.js +0 -1
  56. package/app/services/queueUtils.js +2 -4
  57. package/app/services/whatsappLoginLinkService.js +7 -9
  58. package/app/store/premiumUserStore.js +1 -2
  59. package/app/utils/antiLink/antiLinkModule.js +3 -233
  60. package/app/utils/logger/loggerModule.js +9 -34
  61. package/app/utils/systemMetrics/systemMetricsModule.js +1 -4
  62. package/database/index.js +1 -0
  63. package/database/init.js +1 -8
  64. package/database/migrations/20260228_0027_web_visit_event.sql +15 -0
  65. package/docker-compose.yml +27 -27
  66. package/docs/seo/omnizap-seo-playbook-br-2026-02-28.md +26 -0
  67. package/docs/seo/satellite-page-template.md +2 -0
  68. package/docs/seo/satellite-pages-phase1.json +40 -177
  69. package/eslint.config.js +2 -15
  70. package/index.js +8 -36
  71. package/ml/clip_classifier/README.md +4 -6
  72. package/observability/alert-rules.yml +12 -12
  73. package/observability/grafana/provisioning/dashboards/dashboards.yml +1 -1
  74. package/package.json +6 -3
  75. package/public/api-docs/index.html +220 -193
  76. package/public/bot-whatsapp-para-grupo/index.html +291 -261
  77. package/public/bot-whatsapp-sem-programar/index.html +291 -261
  78. package/public/comandos/index.html +421 -406
  79. package/public/como-automatizar-avisos-no-whatsapp/index.html +291 -261
  80. package/public/como-criar-comandos-whatsapp/index.html +291 -261
  81. package/public/como-evitar-spam-no-whatsapp/index.html +291 -261
  82. package/public/como-moderar-grupo-whatsapp/index.html +291 -261
  83. package/public/como-organizar-comunidade-whatsapp/index.html +291 -261
  84. package/public/css/github-project-panel.css +13 -8
  85. package/public/css/stickers-admin.css +25 -9
  86. package/public/css/styles.css +23 -16
  87. package/public/index.html +1106 -993
  88. package/public/js/apps/apiDocsApp.js +17 -167
  89. package/public/js/apps/createPackApp.js +69 -332
  90. package/public/js/apps/homeApp.js +274 -101
  91. package/public/js/apps/loginApp.js +3 -12
  92. package/public/js/apps/stickersAdminApp.js +190 -181
  93. package/public/js/apps/stickersApp.js +482 -1411
  94. package/public/js/apps/userApp.js +217 -1
  95. package/public/js/catalog.js +11 -74
  96. package/public/js/github-panel/components/ErrorState.js +1 -8
  97. package/public/js/github-panel/components/GithubProjectPanel.js +2 -9
  98. package/public/js/github-panel/components/SkeletonPanel.js +1 -11
  99. package/public/js/github-panel/components/StatCard.js +1 -7
  100. package/public/js/github-panel/vendor/react.js +1 -9
  101. package/public/js/runtime/react-runtime.js +1 -9
  102. package/public/licenca/index.html +200 -86
  103. package/public/login/index.html +315 -325
  104. package/public/melhor-bot-whatsapp-para-grupos/index.html +291 -261
  105. package/public/stickers/admin/index.html +14 -19
  106. package/public/stickers/create/index.html +39 -44
  107. package/public/stickers/index.html +96 -107
  108. package/public/termos-de-uso/index.html +369 -122
  109. package/public/user/index.html +527 -350
  110. package/scripts/cache-bust.mjs +5 -24
  111. package/scripts/generate-seo-satellite-pages.mjs +10 -13
  112. package/scripts/run-prettier-all.mjs +25 -0
  113. package/scripts/sticker-catalog-loadtest.mjs +13 -11
  114. package/scripts/sticker-worker-task.mjs +1 -4
  115. package/scripts/sync-readme-snapshot.mjs +3 -2
  116. package/server/auth/googleWebAuth/googleWebAuthService.js +614 -0
  117. package/server/controllers/stickerCatalogController.js +297 -632
  118. package/server/http/httpServer.js +2 -10
  119. package/server/routes/stickerCatalog/catalogHandlers/catalogAdminHttp.js +1 -8
  120. package/server/routes/stickerCatalog/catalogHandlers/catalogAuthHttp.js +1 -9
  121. package/server/routes/stickerCatalog/catalogHandlers/catalogPublicHttp.js +10 -11
  122. package/server/routes/stickerCatalog/catalogHandlers/catalogUploadHttp.js +1 -10
  123. package/server/routes/stickerCatalog/catalogRouter.js +11 -13
@@ -33,11 +33,14 @@ body {
33
33
  }
34
34
 
35
35
  body {
36
- font-family: 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
37
- background:
38
- radial-gradient(1300px 660px at 12% -12%, rgba(37, 99, 235, 0.14), transparent 52%),
39
- radial-gradient(900px 500px at 92% -18%, rgba(59, 130, 246, 0.1), transparent 55%),
40
- var(--bg);
36
+ font-family:
37
+ 'Manrope',
38
+ ui-sans-serif,
39
+ system-ui,
40
+ -apple-system,
41
+ 'Segoe UI',
42
+ sans-serif;
43
+ background: radial-gradient(1300px 660px at 12% -12%, rgba(37, 99, 235, 0.14), transparent 52%), radial-gradient(900px 500px at 92% -18%, rgba(59, 130, 246, 0.1), transparent 55%), var(--bg);
41
44
  color: var(--text);
42
45
  line-height: 1.4;
43
46
  }
@@ -187,7 +190,11 @@ a:focus-visible {
187
190
  font-weight: 700;
188
191
  text-align: left;
189
192
  cursor: pointer;
190
- transition: border-color var(--transition), color var(--transition), background-color var(--transition), transform var(--transition);
193
+ transition:
194
+ border-color var(--transition),
195
+ color var(--transition),
196
+ background-color var(--transition),
197
+ transform var(--transition);
191
198
  }
192
199
 
193
200
  .nav-item:hover {
@@ -242,7 +249,10 @@ a:focus-visible {
242
249
  box-shadow: var(--shadow-1);
243
250
  padding: 14px;
244
251
  min-width: 0;
245
- transition: transform var(--transition), border-color var(--transition), background-color var(--transition);
252
+ transition:
253
+ transform var(--transition),
254
+ border-color var(--transition),
255
+ background-color var(--transition);
246
256
  }
247
257
 
248
258
  .metric-card:hover {
@@ -348,7 +358,10 @@ a:focus-visible {
348
358
  font-weight: 700;
349
359
  white-space: nowrap;
350
360
  cursor: pointer;
351
- transition: background-color var(--transition), border-color var(--transition), color var(--transition);
361
+ transition:
362
+ background-color var(--transition),
363
+ border-color var(--transition),
364
+ color var(--transition);
352
365
  }
353
366
 
354
367
  .tab-btn:hover {
@@ -436,7 +449,10 @@ a:focus-visible {
436
449
  background: rgba(15, 23, 42, 0.88);
437
450
  color: var(--text);
438
451
  padding: 0 12px;
439
- transition: border-color var(--transition), background-color var(--transition), box-shadow var(--transition);
452
+ transition:
453
+ border-color var(--transition),
454
+ background-color var(--transition),
455
+ box-shadow var(--transition);
440
456
  }
441
457
 
442
458
  .search-input::placeholder {
@@ -14,24 +14,19 @@
14
14
  }
15
15
 
16
16
  body.catalog-body {
17
- font-family: "Manrope", "Bricolage Grotesque", sans-serif;
17
+ font-family: 'Manrope', 'Bricolage Grotesque', sans-serif;
18
18
  color: var(--text);
19
- background:
20
- radial-gradient(58rem 24rem at -8% -12%, rgba(37, 99, 235, 0.14), transparent 60%),
21
- radial-gradient(58rem 24rem at 112% -10%, rgba(124, 58, 237, 0.14), transparent 58%),
22
- linear-gradient(165deg, var(--bg), var(--bg-2));
19
+ background: radial-gradient(58rem 24rem at -8% -12%, rgba(37, 99, 235, 0.14), transparent 60%), radial-gradient(58rem 24rem at 112% -10%, rgba(124, 58, 237, 0.14), transparent 58%), linear-gradient(165deg, var(--bg), var(--bg-2));
23
20
  min-height: 100vh;
24
21
  background-attachment: fixed;
25
22
  }
26
23
 
27
24
  body.catalog-body::before {
28
- content: "";
25
+ content: '';
29
26
  position: fixed;
30
27
  inset: 0;
31
28
  pointer-events: none;
32
- background:
33
- linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
34
- linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px);
29
+ background: linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px);
35
30
  background-size: 26px 26px;
36
31
  opacity: 0.2;
37
32
  z-index: -1;
@@ -82,7 +77,7 @@ body.catalog-body::before {
82
77
  .catalog-title,
83
78
  .section-title,
84
79
  #panel-title {
85
- font-family: "Sora", "Instrument Serif", serif;
80
+ font-family: 'Sora', 'Instrument Serif', serif;
86
81
  color: var(--text);
87
82
  }
88
83
 
@@ -154,7 +149,9 @@ body.catalog-body::before {
154
149
 
155
150
  .categories-picker:focus-within {
156
151
  border-color: #4c72ac;
157
- box-shadow: 0 0 0 0.2rem rgba(124, 58, 237, 0.2), inset 0 1px 0 rgba(190, 214, 255, 0.12);
152
+ box-shadow:
153
+ 0 0 0 0.2rem rgba(124, 58, 237, 0.2),
154
+ inset 0 1px 0 rgba(190, 214, 255, 0.12);
158
155
  }
159
156
 
160
157
  .categories-search-wrap {
@@ -291,7 +288,10 @@ body.catalog-body::before {
291
288
  font-weight: 700;
292
289
  border-radius: 14px;
293
290
  box-shadow: 0 8px 24px rgba(24, 152, 88, 0.24);
294
- transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
291
+ transition:
292
+ transform 180ms ease,
293
+ box-shadow 180ms ease,
294
+ filter 180ms ease;
295
295
  }
296
296
 
297
297
  .btn-success:hover,
@@ -321,7 +321,10 @@ body.catalog-body::before {
321
321
  border-color: var(--line-soft) !important;
322
322
  border-radius: 14px !important;
323
323
  overflow: hidden;
324
- transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
324
+ transition:
325
+ transform 220ms ease,
326
+ box-shadow 220ms ease,
327
+ border-color 220ms ease;
325
328
  animation: fadeInUp 260ms ease both;
326
329
  }
327
330
 
@@ -341,7 +344,9 @@ body.catalog-body::before {
341
344
  .pack-card:focus-visible {
342
345
  transform: translateY(-4px);
343
346
  border-color: #5171a6 !important;
344
- box-shadow: 0 0 0 1px rgba(122, 168, 255, 0.22), 0 18px 36px rgba(0, 0, 0, 0.4);
347
+ box-shadow:
348
+ 0 0 0 1px rgba(122, 168, 255, 0.22),
349
+ 0 18px 36px rgba(0, 0, 0, 0.4);
345
350
  }
346
351
 
347
352
  .pack-card .card-title {
@@ -362,7 +367,7 @@ body.catalog-body::before {
362
367
  }
363
368
 
364
369
  .pack-thumb::after {
365
- content: "";
370
+ content: '';
366
371
  position: absolute;
367
372
  inset: 0;
368
373
  background: linear-gradient(to top, rgba(8, 14, 28, 0.32), rgba(8, 14, 28, 0));
@@ -489,7 +494,9 @@ body.catalog-body::before {
489
494
  color: #eff7ff;
490
495
  background: linear-gradient(120deg, rgba(16, 31, 57, 0.92), rgba(28, 53, 94, 0.9));
491
496
  border: 1px solid rgba(111, 151, 220, 0.62);
492
- box-shadow: 0 6px 14px rgba(2, 8, 22, 0.34), inset 0 1px 0 rgba(190, 216, 255, 0.2);
497
+ box-shadow:
498
+ 0 6px 14px rgba(2, 8, 22, 0.34),
499
+ inset 0 1px 0 rgba(190, 216, 255, 0.2);
493
500
  backdrop-filter: blur(6px);
494
501
  text-transform: lowercase;
495
502
  letter-spacing: 0.015em;