@omnizap-system/omnizap 2.5.12
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/.clusterfuzzlite/Dockerfile +10 -0
- package/.env.example +907 -0
- package/.github/codeql/codeql-config.yml +10 -0
- package/.github/dependabot.yml +35 -0
- package/.github/workflows/ci.yml +73 -0
- package/.github/workflows/codeql.yml +106 -0
- package/.github/workflows/db-migration-check.yml +98 -0
- package/.github/workflows/dependency-review.yml +22 -0
- package/.github/workflows/deploy.yml +95 -0
- package/.github/workflows/release.yml +106 -0
- package/.github/workflows/security-attest-provenance.yml +51 -0
- package/.github/workflows/security-gitleaks.yml +34 -0
- package/.github/workflows/security-runner-hardening.yml +31 -0
- package/.github/workflows/security-scorecard.yml +44 -0
- package/.github/workflows/security-zap-baseline.yml +44 -0
- package/.github/workflows/security-zap-full-scan.yml +43 -0
- package/.github/workflows/security-zizmor.yml +36 -0
- package/.github/workflows/wiki-sync.yml +44 -0
- package/.gitleaks.toml +15 -0
- package/.prettierrc +34 -0
- package/CODE_OF_CONDUCT.md +114 -0
- package/LICENSE +56 -0
- package/README.md +110 -0
- package/SECURITY.md +110 -0
- package/app/config/index.js +4 -0
- package/app/configParts/adminIdentity.js +92 -0
- package/app/configParts/baileysConfig.js +1818 -0
- package/app/configParts/groupUtils.js +692 -0
- package/app/configParts/loggerConfig.js +394 -0
- package/app/configParts/messagePersistenceService.js +305 -0
- package/app/connection/baileysCompatibility.test.js +40 -0
- package/app/connection/baileysDbAuthState.js +344 -0
- package/app/connection/socketController.js +2243 -0
- package/app/controllers/messageController.js +7 -0
- package/app/controllers/messagePipeline/commandMiddleware.js +146 -0
- package/app/controllers/messagePipeline/conversationMiddleware.js +183 -0
- package/app/controllers/messagePipeline/messagePipelineMiddlewares.test.js +522 -0
- package/app/controllers/messagePipeline/postProcessingMiddleware.js +41 -0
- package/app/controllers/messagePipeline/preProcessingMiddlewares.js +166 -0
- package/app/controllers/messageProcessingPipeline.js +699 -0
- package/app/modules/adminModule/AGENT.md +4056 -0
- package/app/modules/adminModule/adminAiHelpService.js +56 -0
- package/app/modules/adminModule/adminConfigRuntime.js +177 -0
- package/app/modules/adminModule/commandConfig.json +7122 -0
- package/app/modules/adminModule/groupCommandHandlers.js +1823 -0
- package/app/modules/adminModule/groupCommandHandlers.test.js +350 -0
- package/app/modules/adminModule/groupEventHandlers.js +399 -0
- package/app/modules/aiModule/AGENT.md +547 -0
- package/app/modules/aiModule/aiAiHelpService.js +14 -0
- package/app/modules/aiModule/aiConfigRuntime.js +135 -0
- package/app/modules/aiModule/catCommand.js +967 -0
- package/app/modules/aiModule/commandConfig.json +981 -0
- package/app/modules/analyticsModule/messageAnalysisEventRepository.js +83 -0
- package/app/modules/gameModule/AGENT.md +196 -0
- package/app/modules/gameModule/commandConfig.json +366 -0
- package/app/modules/gameModule/diceCommand.js +42 -0
- package/app/modules/gameModule/gameAiHelpService.js +14 -0
- package/app/modules/gameModule/gameConfigRuntime.js +68 -0
- package/app/modules/menuModule/AGENT.md +205 -0
- package/app/modules/menuModule/commandConfig.json +366 -0
- package/app/modules/menuModule/common.js +316 -0
- package/app/modules/menuModule/menuAiHelpService.js +14 -0
- package/app/modules/menuModule/menuConfigRuntime.js +68 -0
- package/app/modules/menuModule/menus.js +66 -0
- package/app/modules/playModule/AGENT.md +321 -0
- package/app/modules/playModule/commandConfig.json +584 -0
- package/app/modules/playModule/playAiHelpService.js +14 -0
- package/app/modules/playModule/playCommand.js +1417 -0
- package/app/modules/playModule/playConfigRuntime.js +68 -0
- package/app/modules/quoteModule/AGENT.md +199 -0
- package/app/modules/quoteModule/commandConfig.json +366 -0
- package/app/modules/quoteModule/quoteAiHelpService.js +14 -0
- package/app/modules/quoteModule/quoteCommand.js +842 -0
- package/app/modules/quoteModule/quoteConfigRuntime.js +68 -0
- package/app/modules/rpgPokemonModule/AGENT.md +229 -0
- package/app/modules/rpgPokemonModule/commandConfig.json +386 -0
- package/app/modules/rpgPokemonModule/rpgBattleCanvasRenderer.js +795 -0
- package/app/modules/rpgPokemonModule/rpgBattleService.js +2110 -0
- package/app/modules/rpgPokemonModule/rpgBattleService.test.js +770 -0
- package/app/modules/rpgPokemonModule/rpgEvolutionUtils.js +22 -0
- package/app/modules/rpgPokemonModule/rpgPokemonAiHelpService.js +14 -0
- package/app/modules/rpgPokemonModule/rpgPokemonCommand.js +174 -0
- package/app/modules/rpgPokemonModule/rpgPokemonConfigRuntime.js +68 -0
- package/app/modules/rpgPokemonModule/rpgPokemonDomain.js +192 -0
- package/app/modules/rpgPokemonModule/rpgPokemonDomain.test.js +93 -0
- package/app/modules/rpgPokemonModule/rpgPokemonEvolution.test.js +46 -0
- package/app/modules/rpgPokemonModule/rpgPokemonMessages.js +746 -0
- package/app/modules/rpgPokemonModule/rpgPokemonRepository.js +1847 -0
- package/app/modules/rpgPokemonModule/rpgPokemonService.js +6839 -0
- package/app/modules/rpgPokemonModule/rpgProfileCanvasRenderer.js +354 -0
- package/app/modules/statsModule/AGENT.md +320 -0
- package/app/modules/statsModule/commandConfig.json +540 -0
- package/app/modules/statsModule/globalRankingCommand.js +64 -0
- package/app/modules/statsModule/rankingCommand.js +41 -0
- package/app/modules/statsModule/rankingCommon.js +1305 -0
- package/app/modules/statsModule/statsAiHelpService.js +14 -0
- package/app/modules/statsModule/statsConfigRuntime.js +68 -0
- package/app/modules/stickerModule/AGENT.md +692 -0
- package/app/modules/stickerModule/addStickerMetadata.js +239 -0
- package/app/modules/stickerModule/commandConfig.json +1216 -0
- package/app/modules/stickerModule/convertToWebp.js +367 -0
- package/app/modules/stickerModule/stickerAiHelpService.js +14 -0
- package/app/modules/stickerModule/stickerCommand.js +446 -0
- package/app/modules/stickerModule/stickerConfigRuntime.js +68 -0
- package/app/modules/stickerModule/stickerConvertCommand.js +159 -0
- package/app/modules/stickerModule/stickerTextCommand.js +653 -0
- package/app/modules/stickerPackModule/AGENT.md +215 -0
- package/app/modules/stickerPackModule/autoPackCollectorRuntime.js +20 -0
- package/app/modules/stickerPackModule/autoPackCollectorService.js +357 -0
- package/app/modules/stickerPackModule/commandConfig.json +387 -0
- package/app/modules/stickerPackModule/domainEventOutboxRepository.js +227 -0
- package/app/modules/stickerPackModule/domainEvents.js +52 -0
- package/app/modules/stickerPackModule/semanticReclassificationEngine.js +429 -0
- package/app/modules/stickerPackModule/semanticReclassificationEngine.test.js +75 -0
- package/app/modules/stickerPackModule/semanticThemeClusterService.js +544 -0
- package/app/modules/stickerPackModule/stickerAssetClassificationRepository.js +400 -0
- package/app/modules/stickerPackModule/stickerAssetRepository.js +400 -0
- package/app/modules/stickerPackModule/stickerAssetReprocessQueueRepository.js +175 -0
- package/app/modules/stickerPackModule/stickerAutoPackByTagsRuntime.js +3702 -0
- package/app/modules/stickerPackModule/stickerClassificationBackgroundRuntime.js +559 -0
- package/app/modules/stickerPackModule/stickerClassificationService.js +557 -0
- package/app/modules/stickerPackModule/stickerDedicatedTaskWorkerRuntime.js +249 -0
- package/app/modules/stickerPackModule/stickerDomainEventBus.js +65 -0
- package/app/modules/stickerPackModule/stickerDomainEventConsumerRuntime.js +208 -0
- package/app/modules/stickerPackModule/stickerMarketplaceDriftService.js +99 -0
- package/app/modules/stickerPackModule/stickerObjectStorageService.js +285 -0
- package/app/modules/stickerPackModule/stickerPackAiHelpService.js +14 -0
- package/app/modules/stickerPackModule/stickerPackCommandHandlers.js +1148 -0
- package/app/modules/stickerPackModule/stickerPackConfigRuntime.js +68 -0
- package/app/modules/stickerPackModule/stickerPackEngagementRepository.js +152 -0
- package/app/modules/stickerPackModule/stickerPackErrors.js +30 -0
- package/app/modules/stickerPackModule/stickerPackInteractionEventRepository.js +101 -0
- package/app/modules/stickerPackModule/stickerPackItemRepository.js +432 -0
- package/app/modules/stickerPackModule/stickerPackMarketplaceService.js +313 -0
- package/app/modules/stickerPackModule/stickerPackMessageService.js +268 -0
- package/app/modules/stickerPackModule/stickerPackRepository.js +450 -0
- package/app/modules/stickerPackModule/stickerPackScoreSnapshotRepository.js +179 -0
- package/app/modules/stickerPackModule/stickerPackScoreSnapshotRuntime.js +271 -0
- package/app/modules/stickerPackModule/stickerPackService.js +733 -0
- package/app/modules/stickerPackModule/stickerPackServiceRuntime.js +32 -0
- package/app/modules/stickerPackModule/stickerPackUtils.js +107 -0
- package/app/modules/stickerPackModule/stickerStorageService.js +559 -0
- package/app/modules/stickerPackModule/stickerWorkerPipelineRuntime.js +242 -0
- package/app/modules/stickerPackModule/stickerWorkerTaskQueueRepository.js +242 -0
- package/app/modules/systemMetricsModule/AGENT.md +193 -0
- package/app/modules/systemMetricsModule/commandConfig.json +344 -0
- package/app/modules/systemMetricsModule/pingCommand.js +399 -0
- package/app/modules/systemMetricsModule/systemMetricsAiHelpService.js +14 -0
- package/app/modules/systemMetricsModule/systemMetricsConfigRuntime.js +68 -0
- package/app/modules/tiktokModule/AGENT.md +196 -0
- package/app/modules/tiktokModule/commandConfig.json +366 -0
- package/app/modules/tiktokModule/tiktokAiHelpService.js +14 -0
- package/app/modules/tiktokModule/tiktokCommand.js +716 -0
- package/app/modules/tiktokModule/tiktokConfigRuntime.js +68 -0
- package/app/modules/userModule/AGENT.md +200 -0
- package/app/modules/userModule/commandConfig.json +386 -0
- package/app/modules/userModule/userAiHelpService.js +14 -0
- package/app/modules/userModule/userCommand.js +1155 -0
- package/app/modules/userModule/userConfigRuntime.js +68 -0
- package/app/modules/waifuPicsModule/AGENT.md +431 -0
- package/app/modules/waifuPicsModule/commandConfig.json +780 -0
- package/app/modules/waifuPicsModule/waifuPicsAiHelpService.js +14 -0
- package/app/modules/waifuPicsModule/waifuPicsCommand.js +586 -0
- package/app/modules/waifuPicsModule/waifuPicsConfigRuntime.js +68 -0
- package/app/observability/metrics.js +766 -0
- package/app/services/ai/aiHelpResponseCacheRepository.js +280 -0
- package/app/services/ai/aiLearningRepository.js +400 -0
- package/app/services/ai/commandConfigEnrichmentRepository.js +769 -0
- package/app/services/ai/commandConfigEnrichmentService.js +452 -0
- package/app/services/ai/commandConfigValidationService.js +443 -0
- package/app/services/ai/commandToolBuilderService.js +192 -0
- package/app/services/ai/conversationRouterService.js +516 -0
- package/app/services/ai/geminiService.js +115 -0
- package/app/services/ai/geminiService.test.js +87 -0
- package/app/services/ai/globalModuleAiHelpService.js +1412 -0
- package/app/services/ai/globalToolCallingService.js +203 -0
- package/app/services/ai/messageCommandExecutionService.js +391 -0
- package/app/services/ai/moduleAiHelpCoreService.js +1099 -0
- package/app/services/ai/moduleAiHelpWrapperFactory.js +65 -0
- package/app/services/ai/moduleCommandConfigRuntimeService.js +113 -0
- package/app/services/ai/moduleToolExecutorService.js +464 -0
- package/app/services/ai/moduleToolRegistryService.js +178 -0
- package/app/services/ai/toolCandidateSelectorService.js +781 -0
- package/app/services/auth/googleWebLinkService.js +80 -0
- package/app/services/auth/whatsappLoginLinkService.js +230 -0
- package/app/services/external/pokeApiService.js +398 -0
- package/app/services/group/groupMetadataService.js +311 -0
- package/app/services/infra/dbWriteQueue.js +874 -0
- package/app/services/infra/featureFlagService.js +131 -0
- package/app/services/infra/queueUtils.js +55 -0
- package/app/services/messaging/captchaService.js +491 -0
- package/app/services/messaging/messagePersistenceService.js +1 -0
- package/app/services/messaging/newsBroadcastService.js +347 -0
- package/app/services/sticker/stickerFocusService.js +347 -0
- package/app/services/sticker/stickerFocusService.test.js +43 -0
- package/app/store/aiPromptStore.js +38 -0
- package/app/store/conversationSessionStore.js +131 -0
- package/app/store/groupConfigStore.js +58 -0
- package/app/store/premiumUserStore.js +54 -0
- package/app/utils/antiLink/antiLinkModule.js +700 -0
- package/app/utils/http/getImageBufferModule.js +18 -0
- package/app/utils/json/jsonSanitizer.js +113 -0
- package/app/utils/json/jsonSanitizer.test.js +40 -0
- package/app/utils/systemMetrics/systemMetricsModule.js +88 -0
- package/app/workers/aiLearningWorker.js +605 -0
- package/app/workers/commandConfigEnrichmentWorker.js +242 -0
- package/database/index.js +2075 -0
- package/database/init.js +151 -0
- package/database/migrations/.gitkeep +0 -0
- package/database/migrations/20260307_d0_hardening_down.sql +64 -0
- package/database/migrations/20260307_d0_hardening_up.sql +79 -0
- package/database/migrations/20260307_d1_terms_acceptance_down.sql +11 -0
- package/database/migrations/20260307_d1_terms_acceptance_up.sql +37 -0
- package/database/migrations/20260307_d2_auth_hardening_down.sql +75 -0
- package/database/migrations/20260307_d2_auth_hardening_up.sql +100 -0
- package/database/migrations/20260314_d7_canonical_sender_down.sql +53 -0
- package/database/migrations/20260314_d7_canonical_sender_up.sql +114 -0
- package/database/migrations/20260406_d30_security_analytics_down.sql +95 -0
- package/database/migrations/20260406_d30_security_analytics_up.sql +292 -0
- package/database/migrations/20260407_d31_web_google_session_token_hardening_down.sql +2 -0
- package/database/migrations/20260407_d31_web_google_session_token_hardening_up.sql +17 -0
- package/database/migrations/20260408_d32_ai_help_response_cache_down.sql +1 -0
- package/database/migrations/20260408_d32_ai_help_response_cache_up.sql +22 -0
- package/database/migrations/20260409_d33_ai_learning_tables_down.sql +4 -0
- package/database/migrations/20260409_d33_ai_learning_tables_up.sql +52 -0
- package/database/migrations/20260410_d34_command_config_enrichment_down.sql +3 -0
- package/database/migrations/20260410_d34_command_config_enrichment_up.sql +48 -0
- package/database/schema.sql +1186 -0
- package/docker-compose.yml +104 -0
- package/docs/audits/stickerCatalogController-out-of-scope.md +103 -0
- package/docs/audits/stickerCatalogController-symbols.md +58 -0
- package/docs/compliance/acceptable-use-policy-2026-03-07.md +35 -0
- package/docs/compliance/dpa-b2b-standard-2026-03-07.md +80 -0
- package/docs/compliance/monthly-compliance-checklist-2026-03-07.md +88 -0
- package/docs/compliance/notice-and-takedown-policy-2026-03-07.md +34 -0
- package/docs/compliance/privacy-policy-2026-03-07.md +75 -0
- package/docs/compliance/subprocessors-inventory-2026-03-07.md +16 -0
- package/docs/database/production-db-evolution-runbook-2026q1.md +365 -0
- package/docs/security/dsar-lgpd-runbook-2026-03-07.md +86 -0
- package/docs/security/incident-response-lgpd-anpd-runbook-2026-03-07.md +77 -0
- package/docs/security/network-hardening-runbook-2026-03-07.md +137 -0
- package/docs/seo/omnizap-seo-playbook-br-2026-02-28.md +238 -0
- package/docs/seo/satellite-page-template.md +116 -0
- package/docs/seo/satellite-pages-phase1.json +364 -0
- package/docs/wiki/Home.md +120 -0
- package/docs/wiki/pair-extraordinaire-2026-03-08.md +3 -0
- package/docs/wiki/recent-changes-2026-03-08.md +47 -0
- package/ecosystem.prod.config.cjs +135 -0
- package/eslint.config.js +89 -0
- package/index.js +488 -0
- package/ml/clip_classifier/Dockerfile +18 -0
- package/ml/clip_classifier/README.md +118 -0
- package/ml/clip_classifier/adaptive_scoring.py +40 -0
- package/ml/clip_classifier/classifier.py +654 -0
- package/ml/clip_classifier/embedding_store.py +481 -0
- package/ml/clip_classifier/env_loader.py +15 -0
- package/ml/clip_classifier/llm_label_expander.py +144 -0
- package/ml/clip_classifier/main.py +213 -0
- package/ml/clip_classifier/requirements.txt +10 -0
- package/ml/clip_classifier/similarity_engine.py +74 -0
- package/new-logo.png +0 -0
- package/observability/alert-rules.yml +60 -0
- package/observability/grafana/dashboards/omnizap-mysql.json +136 -0
- package/observability/grafana/dashboards/omnizap-overview.json +170 -0
- package/observability/grafana/provisioning/dashboards/dashboards.yml +11 -0
- package/observability/grafana/provisioning/datasources/datasources.yml +15 -0
- package/observability/loki-config.yml +38 -0
- package/observability/mysql-setup.sql +46 -0
- package/observability/prometheus.yml +35 -0
- package/observability/promtail-config.yml +84 -0
- package/observability/sticker-catalog-slo.md +83 -0
- package/observability/sticker-scale-hardening-rollout.md +128 -0
- package/package.json +144 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/assets/css/commands-react.input.css +71 -0
- package/public/assets/css/create-pack-react.input.css +31 -0
- package/public/assets/css/home-react.input.css +106 -0
- package/public/assets/css/login-react.input.css +58 -0
- package/public/assets/css/stickers-react.input.css +18 -0
- package/public/assets/css/terms-react.input.css +115 -0
- package/public/assets/css/user-react.input.css +57 -0
- package/public/assets/images/brand-icon-192.png +0 -0
- package/public/assets/images/brand-logo-128.webp +0 -0
- package/public/assets/images/hero-banner-1280.jpg +0 -0
- package/public/comandos/commands-catalog.json +4517 -0
- package/public/css/api-docs.css +161 -0
- package/public/css/stickers-admin.css +1288 -0
- package/public/css/styles.css +679 -0
- package/public/css/systemadm/admin.css +474 -0
- package/public/css/systemadm/base.css +73 -0
- package/public/css/systemadm/components.css +662 -0
- package/public/css/systemadm/layout.css +229 -0
- package/public/css/systemadm/tokens.css +56 -0
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/js/apps/apiDocsApp.js +235 -0
- package/public/js/apps/commandsReactApp.js +528 -0
- package/public/js/apps/createPackApp.js +1646 -0
- package/public/js/apps/homeReactApp.js +942 -0
- package/public/js/apps/loginReactApp.js +496 -0
- package/public/js/apps/stickersAdminApp.js +1753 -0
- package/public/js/apps/stickersApp.js +3797 -0
- package/public/js/apps/termsReactApp.js +528 -0
- package/public/js/apps/userApp.js +2540 -0
- package/public/js/apps/userProfile/actions.js +66 -0
- package/public/js/apps/userReactApp.js +547 -0
- package/public/js/catalog.js +950 -0
- package/public/pages/api-docs.html +40 -0
- package/public/pages/aup.html +158 -0
- package/public/pages/comandos.html +41 -0
- package/public/pages/dpa.html +227 -0
- package/public/pages/home.html +45 -0
- package/public/pages/licenca.html +182 -0
- package/public/pages/login.html +40 -0
- package/public/pages/notice-and-takedown.html +234 -0
- package/public/pages/politica-de-privacidade.html +251 -0
- package/public/pages/seo-bot-whatsapp-para-grupo.html +350 -0
- package/public/pages/seo-bot-whatsapp-sem-programar.html +350 -0
- package/public/pages/seo-como-automatizar-avisos-no-whatsapp.html +350 -0
- package/public/pages/seo-como-criar-comandos-whatsapp.html +350 -0
- package/public/pages/seo-como-evitar-spam-no-whatsapp.html +350 -0
- package/public/pages/seo-como-moderar-grupo-whatsapp.html +350 -0
- package/public/pages/seo-como-organizar-comunidade-whatsapp.html +350 -0
- package/public/pages/seo-melhor-bot-whatsapp-para-grupos.html +350 -0
- package/public/pages/stickers-admin.html +31 -0
- package/public/pages/stickers-create.html +41 -0
- package/public/pages/stickers.html +45 -0
- package/public/pages/suboperadores.html +237 -0
- package/public/pages/termos-de-uso-texto-integral.html +241 -0
- package/public/pages/termos-de-uso.html +41 -0
- package/public/pages/user-password-reset.html +32 -0
- package/public/pages/user-systemadm.html +508 -0
- package/public/pages/user.html +39 -0
- package/public/robots.txt +9 -0
- package/public/site.webmanifest +24 -0
- package/public/sitemap.xml +98 -0
- package/schemas/command-config.schema.json +582 -0
- package/scripts/baileys-compat-smoke.mjs +12 -0
- package/scripts/cache-bust.mjs +142 -0
- package/scripts/deploy.sh +916 -0
- package/scripts/email-broadcast-terms-update.mjs +170 -0
- package/scripts/enrich-command-discovery-fields.mjs +286 -0
- package/scripts/generate-command-config-schema.mjs +273 -0
- package/scripts/generate-commands-catalog.mjs +308 -0
- package/scripts/generate-module-agents.mjs +631 -0
- package/scripts/generate-seo-satellite-pages.mjs +400 -0
- package/scripts/github-deploy-notify.mjs +174 -0
- package/scripts/github-release-notify.mjs +219 -0
- package/scripts/release.sh +599 -0
- package/scripts/run-codeql-local.sh +116 -0
- package/scripts/run-prettier-all.mjs +25 -0
- package/scripts/security-smoketest.mjs +581 -0
- package/scripts/sticker-catalog-loadtest.mjs +210 -0
- package/scripts/sticker-worker-task.mjs +119 -0
- package/scripts/sync-readme-snapshot.mjs +133 -0
- package/scripts/validate-command-config-schema.mjs +130 -0
- package/scripts/validate-command-configs.mjs +15 -0
- package/scripts/wiki-sync.sh +191 -0
- package/server/auth/googleWebAuth/googleWebAuthRuntime.js +62 -0
- package/server/auth/googleWebAuth/googleWebAuthService.js +807 -0
- package/server/auth/jwt/webJwtService.js +147 -0
- package/server/auth/stickerCatalogAuthContext.js +165 -0
- package/server/auth/termsAcceptance/termsAcceptanceHandler.js +189 -0
- package/server/auth/userPassword/index.js +14 -0
- package/server/auth/userPassword/userPasswordAuthService.js +422 -0
- package/server/auth/userPassword/userPasswordCrypto.js +199 -0
- package/server/auth/userPassword/userPasswordCrypto.test.js +76 -0
- package/server/auth/userPassword/userPasswordRecoveryService.js +728 -0
- package/server/auth/validation/authSchemas.js +236 -0
- package/server/auth/webAccount/webAccountHandlers.js +1434 -0
- package/server/controllers/admin/adminBanService.js +138 -0
- package/server/controllers/admin/adminPanelHandlers.js +2083 -0
- package/server/controllers/admin/stickerCatalogAdminContext.js +17 -0
- package/server/controllers/admin/systemAdminController.js +201 -0
- package/server/controllers/email/emailAutomationController.js +239 -0
- package/server/controllers/metricsController.js +21 -0
- package/server/controllers/seo/stickerCatalogSeoContext.js +514 -0
- package/server/controllers/sticker/nonCatalogHandlers.js +303 -0
- package/server/controllers/sticker/stickerCatalogController.js +4700 -0
- package/server/controllers/system/contactController.js +115 -0
- package/server/controllers/system/githubController.js +137 -0
- package/server/controllers/system/stickerCatalogSystemContext.js +758 -0
- package/server/controllers/system/storageController.js +154 -0
- package/server/controllers/system/systemController.js +135 -0
- package/server/controllers/system/systemMetricsController.js +156 -0
- package/server/controllers/system/visitController.js +90 -0
- package/server/controllers/userController.js +145 -0
- package/server/email/emailAutomationRuntime.js +225 -0
- package/server/email/emailAutomationService.js +125 -0
- package/server/email/emailOutboxRepository.js +282 -0
- package/server/email/emailTemplateService.js +480 -0
- package/server/email/emailTransportService.js +156 -0
- package/server/http/clientIp.js +95 -0
- package/server/http/httpRequestUtils.js +262 -0
- package/server/http/httpRequestUtils.test.js +80 -0
- package/server/http/httpServer.js +180 -0
- package/server/http/requestContext.js +20 -0
- package/server/http/siteRoutingUtils.js +87 -0
- package/server/index.js +1 -0
- package/server/middleware/cachePolicy.js +26 -0
- package/server/middleware/cachePolicyHelpers.js +1 -0
- package/server/middleware/endpointRateLimit.js +181 -0
- package/server/middleware/rateLimit.js +70 -0
- package/server/middleware/requireAdminAuth.js +48 -0
- package/server/middleware/securityHeaders.js +97 -0
- package/server/routes/admin/systemAdminRouter.js +64 -0
- package/server/routes/email/emailAutomationRouter.js +46 -0
- package/server/routes/health/healthRouter.js +41 -0
- package/server/routes/indexRouter.js +234 -0
- package/server/routes/metrics/metricsRouter.js +58 -0
- package/server/routes/static/staticPageRouter.js +134 -0
- package/server/routes/sticker/catalogHandlers/catalogAdminHttp.js +105 -0
- package/server/routes/sticker/catalogHandlers/catalogAuthHttp.js +77 -0
- package/server/routes/sticker/catalogHandlers/catalogPublicHttp.js +120 -0
- package/server/routes/sticker/catalogHandlers/catalogUploadHttp.js +83 -0
- package/server/routes/sticker/catalogRouter.js +77 -0
- package/server/routes/sticker/stickerApiRouter.js +84 -0
- package/server/routes/sticker/stickerDataRouter.js +145 -0
- package/server/routes/sticker/stickerSiteRouter.js +43 -0
- package/server/routes/user/userApiPaths.js +66 -0
- package/server/routes/user/userRouter.js +65 -0
- package/server/utils/safePath.js +26 -0
- package/utils/logger/loggerModule.js +35 -0
- package/vite.config.mjs +38 -0
package/.env.example
ADDED
|
@@ -0,0 +1,907 @@
|
|
|
1
|
+
# ==============================
|
|
2
|
+
# OmniZap - .env.example por prioridade
|
|
3
|
+
# ==============================
|
|
4
|
+
# P1 = Critico para iniciar o sistema
|
|
5
|
+
# P2 = Operacao base recomendada
|
|
6
|
+
# P3 = Funcionalidades de produto (opcional)
|
|
7
|
+
# P4 = Tuning avancado, IA e workers
|
|
8
|
+
# P5 = Operacao DevOps, deploy e release
|
|
9
|
+
|
|
10
|
+
# ==============================
|
|
11
|
+
# PRIORIDADE 1 - CRITICO (startup)
|
|
12
|
+
# ==============================
|
|
13
|
+
BOT_NUMBER=
|
|
14
|
+
BOT_PHONE_NUMBER=
|
|
15
|
+
COMMAND_PREFIX="#"
|
|
16
|
+
COMMAND_REACT_EMOJI=🤖
|
|
17
|
+
DB_HOST=localhost
|
|
18
|
+
DB_NAME=omnizap
|
|
19
|
+
DB_PASSWORD=1234
|
|
20
|
+
DB_POOL_LIMIT=10
|
|
21
|
+
DB_USER=user1
|
|
22
|
+
ECOSYSTEM_NAME=omnizap
|
|
23
|
+
LOG_LEVEL=info
|
|
24
|
+
LOG_FORMAT=pretty
|
|
25
|
+
LOG_EXTRA_LEVELS=
|
|
26
|
+
LOG_SAMPLING_RATE=1.0
|
|
27
|
+
LOG_RATE_LIMIT_MAX=100
|
|
28
|
+
LOG_RATE_LIMIT_WINDOW_MS=60000
|
|
29
|
+
LOG_SENSITIVE_FILE=
|
|
30
|
+
LOG_AUDIT_IMMUTABLE=false
|
|
31
|
+
LOKI_HOST=
|
|
32
|
+
ELASTICSEARCH_NODE=
|
|
33
|
+
DATADOG_API_KEY=
|
|
34
|
+
NODE_ENV=development
|
|
35
|
+
OPENAI_API_KEY=
|
|
36
|
+
GEMINI_API_KEY=
|
|
37
|
+
GEMINI_API_BASE_URL=https://generativelanguage.googleapis.com/v1beta
|
|
38
|
+
OWNER_NUMBER=5511999999999
|
|
39
|
+
PHONE_NUMBER=
|
|
40
|
+
PM2_APP_NAME=omnizap-system
|
|
41
|
+
SITE_ORIGIN=https://omnizap.shop
|
|
42
|
+
STICKER_API_BASE_PATH=/api/sticker-packs
|
|
43
|
+
USER_API_BASE_PATH=/api
|
|
44
|
+
AUTH_API_BASE_PATH=/api
|
|
45
|
+
SYSTEM_ADMIN_API_BASE_PATH=/api/admin
|
|
46
|
+
STICKER_STORAGE_DIR=./data/stickers
|
|
47
|
+
STICKER_WEB_ORIGIN=https://omnizap.shop
|
|
48
|
+
STICKER_WEB_PATH=/stickers
|
|
49
|
+
USER_ADMIN=seu_jid_de_admin@s.whatsapp.net
|
|
50
|
+
WHATSAPP_BOT_NUMBER=5511999999999
|
|
51
|
+
WHATSAPP_LOGIN_BASE_URL=https://omnizap.shop
|
|
52
|
+
WHATSAPP_LOGIN_LINK_SECRET=troque_por_um_segredo_forte
|
|
53
|
+
WHATSAPP_LOGIN_PATH=/login/
|
|
54
|
+
WHATSAPP_LOGIN_TRIGGER=iniciar
|
|
55
|
+
WHATSAPP_SUPPORT_NUMBER=5511999999999
|
|
56
|
+
|
|
57
|
+
# ==============================
|
|
58
|
+
# PRIORIDADE 2 - OPERACAO BASE
|
|
59
|
+
# ==============================
|
|
60
|
+
ADM_EMAIL=admin@omnizap.shop
|
|
61
|
+
ADM_MODERATOR_PASSWORD_MIN_LENGTH=8
|
|
62
|
+
ADM_PANEL=
|
|
63
|
+
ADM_PANEL_PASSWORD=
|
|
64
|
+
ADM_PANEL_SESSION_TTL_MS=43200000
|
|
65
|
+
ADMIN_API_TOKEN=
|
|
66
|
+
ADMIN_RATE_LIMIT_MAX=30
|
|
67
|
+
ADMIN_RATE_LIMIT_WINDOW_MS=60000
|
|
68
|
+
ADMIN_TOKEN=
|
|
69
|
+
USER_INTERNAL_API_TOKEN=
|
|
70
|
+
USER_INTERNAL_READ_REQUIRE_AUTH=true
|
|
71
|
+
USER_CONTACT_ENDPOINT_REQUIRE_AUTH=true
|
|
72
|
+
HOME_BOOTSTRAP_EXPOSE_CONTACT=false
|
|
73
|
+
STICKER_WEB_USER_PLAN_LABEL=Conta padrao
|
|
74
|
+
AUTH_ADMIN_SESSION_RATE_LIMIT_MAX=6
|
|
75
|
+
AUTH_ADMIN_SESSION_RATE_LIMIT_WINDOW_MS=60000
|
|
76
|
+
AUTH_LOGIN_RATE_LIMIT_MAX=10
|
|
77
|
+
AUTH_LOGIN_RATE_LIMIT_WINDOW_MS=60000
|
|
78
|
+
AUTH_PASSWORD_RATE_LIMIT_MAX=8
|
|
79
|
+
AUTH_PASSWORD_RATE_LIMIT_WINDOW_MS=60000
|
|
80
|
+
AUTH_PASSWORD_RECOVERY_RATE_LIMIT_MAX=4
|
|
81
|
+
AUTH_PASSWORD_RECOVERY_RATE_LIMIT_WINDOW_MS=60000
|
|
82
|
+
APP_BASE_URL=https://omnizap.shop
|
|
83
|
+
BAILEYS_EVENT_LOG_ENABLED=false
|
|
84
|
+
BAILEYS_EVENT_JOURNAL_ENABLED=false
|
|
85
|
+
BAILEYS_EVENT_JOURNAL_EVENTS=connection.update,messages.upsert,messages.update,messages.delete,messages.reaction,message-receipt.update,chats.upsert,chats.update,chats.delete,groups.upsert,groups.update,group-participants.update,group.join-request,lid-mapping.update
|
|
86
|
+
BAILEYS_MSG_RETRY_CACHE_CHECKPERIOD_SECONDS=120
|
|
87
|
+
BAILEYS_MSG_RETRY_CACHE_TTL_SECONDS=600
|
|
88
|
+
BAILEYS_RECONNECT_ATTEMPT_RESET_MS=600000
|
|
89
|
+
BAILEYS_AUTO_REJECT_CALLS=true
|
|
90
|
+
BAILEYS_ENABLE_AUTO_SESSION_RECREATION=true
|
|
91
|
+
BAILEYS_ENABLE_RECENT_MESSAGE_CACHE=true
|
|
92
|
+
BAILEYS_GENERATE_HIGH_QUALITY_LINK_PREVIEW=false
|
|
93
|
+
BAILEYS_PATCH_MESSAGE_BEFORE_SENDING=true
|
|
94
|
+
BAILEYS_USER_DEVICES_CACHE_TTL_SECONDS=300
|
|
95
|
+
BAILEYS_USER_DEVICES_CACHE_CHECKPERIOD_SECONDS=60
|
|
96
|
+
BAILEYS_MEDIA_CACHE_TTL_SECONDS=3600
|
|
97
|
+
BAILEYS_MEDIA_CACHE_CHECKPERIOD_SECONDS=300
|
|
98
|
+
BAILEYS_GROUP_METADATA_CACHE_TTL_SECONDS=120
|
|
99
|
+
BAILEYS_GROUP_METADATA_CACHE_CHECKPERIOD_SECONDS=60
|
|
100
|
+
BAILEYS_SEND_RETRY_ATTEMPTS=2
|
|
101
|
+
BAILEYS_SEND_RETRY_BASE_DELAY_MS=600
|
|
102
|
+
BAILEYS_SEND_MEDIA_UPLOAD_TIMEOUT_MS=0
|
|
103
|
+
BAILEYS_VERSION=
|
|
104
|
+
BAILEYS_FETCH_LATEST_VERSION=false
|
|
105
|
+
BAILEYS_LOGGER_MODE=child
|
|
106
|
+
BAILEYS_LOGGER_LEVEL=
|
|
107
|
+
BAILEYS_LOGGER_LABEL=baileys
|
|
108
|
+
BAILEYS_LOGGER_SERVICE=
|
|
109
|
+
BAILEYS_LOGGER_ENABLE_META_JSON=true
|
|
110
|
+
BAILEYS_LOGGER_META_JSON=
|
|
111
|
+
BAILEYS_LOGGER_TRANSPORT_DEFINITIONS_JSON=
|
|
112
|
+
BAILEYS_SOCKET_LOGGER_MODE=silent
|
|
113
|
+
BAILEYS_SOCKET_LOGGER_LEVEL=silent
|
|
114
|
+
BAILEYS_SOCKET_LOGGER_ENABLE_META_JSON=true
|
|
115
|
+
BAILEYS_SOCKET_LOGGER_META_JSON=
|
|
116
|
+
BAILEYS_SOCKET_LOGGER_OPTIONS_JSON=
|
|
117
|
+
BAILEYS_REPLY_PRESENCE_ENABLED=true
|
|
118
|
+
BAILEYS_REPLY_PRESENCE_SUBSCRIBE=true
|
|
119
|
+
BAILEYS_REPLY_PRESENCE_BEFORE=composing
|
|
120
|
+
BAILEYS_REPLY_PRESENCE_AFTER=paused
|
|
121
|
+
BAILEYS_REPLY_PRESENCE_DELAY_MS=280
|
|
122
|
+
BAILEYS_AUTH_SESSION_ID=default
|
|
123
|
+
BAILEYS_AUTH_BOOTSTRAP_FROM_FILES=true
|
|
124
|
+
BAILEYS_SINGLE_WRITER_LOCK_ENABLED=true
|
|
125
|
+
BAILEYS_SINGLE_WRITER_LOCK_NAME=
|
|
126
|
+
BAILEYS_SINGLE_WRITER_LOCK_TIMEOUT_SECONDS=2
|
|
127
|
+
BAILEYS_SINGLE_WRITER_LOCK_RETRY_DELAY_MS=15000
|
|
128
|
+
BAILEYS_EVENT_BATCH_SIZE=100
|
|
129
|
+
BAILEYS_EVENT_QUEUE_MAX=4000
|
|
130
|
+
BAILEYS_EVENT_JOURNAL_RETENTION_DAYS=14
|
|
131
|
+
BAILEYS_EVENT_JOURNAL_PRUNE_INTERVAL_MS=21600000
|
|
132
|
+
BAILEYS_EVENT_JOURNAL_PRUNE_DELETE_LIMIT=10000
|
|
133
|
+
BASE_URL=https://omnizap.shop
|
|
134
|
+
CAPTCHA_OK_EMOJI=✅
|
|
135
|
+
DB_CHAT_BATCH_SIZE=200
|
|
136
|
+
DB_CHAT_COOLDOWN_MS=45000
|
|
137
|
+
DB_LOG_EVERY_QUERY=false
|
|
138
|
+
DB_MESSAGE_BATCH_SIZE=200
|
|
139
|
+
DB_MESSAGE_QUEUE_MAX=5000
|
|
140
|
+
DB_MONITOR_ENABLED=true
|
|
141
|
+
DB_MONITOR_LOG_KEEP=5
|
|
142
|
+
DB_MONITOR_LOG_PATH=./logs/db-monitor.log
|
|
143
|
+
DB_MONITOR_LOG_ROTATE_MB=20
|
|
144
|
+
DB_MONITOR_SNAPSHOT_EVERY_MS=0
|
|
145
|
+
DB_QUERY_ALERT_THRESHOLDS=500,1000
|
|
146
|
+
DB_SLOW_EXPLAIN=false
|
|
147
|
+
DB_SLOW_QUERY_MS=250
|
|
148
|
+
DB_STATS_SAMPLE_SIZE=2000
|
|
149
|
+
DB_STATS_TOP_N=10
|
|
150
|
+
DB_WRITE_FLUSH_MS=1500
|
|
151
|
+
DOMAIN_EVENT_OUTBOX_LOCK_TIMEOUT_SECONDS=900
|
|
152
|
+
FEATURE_FLAG_CACHE_TTL_MS=30000
|
|
153
|
+
GITHUB_PROJECT_CACHE_SECONDS=300
|
|
154
|
+
GLOBAL_RANK_REFRESH_SECONDS=600
|
|
155
|
+
GROUP_SYNC_BATCH_SIZE=50
|
|
156
|
+
GROUP_SYNC_MAX_GROUPS=0
|
|
157
|
+
GROUP_SYNC_ON_CONNECT=true
|
|
158
|
+
GROUP_SYNC_TIMEOUT_MS=30000
|
|
159
|
+
HOME_MARKETPLACE_STATS_CACHE_SECONDS=45
|
|
160
|
+
HOSTNAME=
|
|
161
|
+
IMAGE_MENU=https://example.com/assets/omnizap-banner.png
|
|
162
|
+
HELMET_CONTENT_SECURITY_POLICY_ENABLED=true
|
|
163
|
+
LID_BACKFILL_BATCH=50000
|
|
164
|
+
LID_BACKFILL_ON_START=true
|
|
165
|
+
COMMAND_CONFIG_VALIDATE_ON_BOOT=true
|
|
166
|
+
MARKETPLACE_GLOBAL_STATS_CACHE_SECONDS=45
|
|
167
|
+
MESSAGE_ANALYTICS_ENABLED=true
|
|
168
|
+
MESSAGE_ANALYTICS_SOURCE=whatsapp
|
|
169
|
+
MESSAGE_COMMAND_DEDUPE_TTL_MS=120000
|
|
170
|
+
MESSAGE_REPLY_PRESENCE_BEFORE=composing
|
|
171
|
+
MESSAGE_REPLY_PRESENCE_AFTER=paused
|
|
172
|
+
MESSAGE_REPLY_PRESENCE_DELAY_MS=280
|
|
173
|
+
MESSAGE_REPLY_PRESENCE_SUBSCRIBE=true
|
|
174
|
+
METRICS_ENABLED=true
|
|
175
|
+
METRICS_ENDPOINT=
|
|
176
|
+
METRICS_HOST=127.0.0.1
|
|
177
|
+
METRICS_PATH=/metrics
|
|
178
|
+
METRICS_PING_TIMEOUT_MS=1500
|
|
179
|
+
METRICS_PORT=9102
|
|
180
|
+
METRICS_SERVICE_NAME=omnizap
|
|
181
|
+
METRICS_ALLOW_REMOTE=false
|
|
182
|
+
METRICS_TOKEN=
|
|
183
|
+
METRICS_API_KEY=
|
|
184
|
+
name=
|
|
185
|
+
NODE_APP_INSTANCE=
|
|
186
|
+
NSFW_STICKER_PLACEHOLDER_URL=https://iili.io/qfhwS6u.jpg
|
|
187
|
+
pm_id=
|
|
188
|
+
PM2_INSTANCE_ID=
|
|
189
|
+
PUBLIC_BASE_URL=https://omnizap.shop
|
|
190
|
+
PUBLIC_WEB_BASE_URL=https://omnizap.shop
|
|
191
|
+
APP_TRUST_PROXY=false
|
|
192
|
+
RATE_LIMIT_TRUST_PROXY=false
|
|
193
|
+
README_COMMAND_PREFIX=/
|
|
194
|
+
README_MESSAGE_TYPE_SAMPLE_LIMIT=25000
|
|
195
|
+
README_SUMMARY_CACHE_SECONDS=1800
|
|
196
|
+
SITE_CANONICAL_HOST=omnizap.shop
|
|
197
|
+
SITE_CANONICAL_REDIRECT_ENABLED=true
|
|
198
|
+
SITE_CANONICAL_SCHEME=https
|
|
199
|
+
SITE_COOKIE_DOMAIN=omnizap.shop
|
|
200
|
+
SITE_URL=https://omnizap.shop
|
|
201
|
+
STICKER_ADMIN_REDIRECT_TO_USER=true
|
|
202
|
+
STICKER_CATALOG_CREATOR_RANKING_CACHE_SECONDS=120
|
|
203
|
+
STICKER_CATALOG_ENABLED=true
|
|
204
|
+
STICKER_CATALOG_LIST_CACHE_SECONDS=90
|
|
205
|
+
STICKER_CATALOG_ONLY_CLASSIFIED=true
|
|
206
|
+
STICKER_CATALOG_PACK_PAYLOAD_CACHE_SECONDS=300
|
|
207
|
+
STICKER_CLASSIFICATION_BACKGROUND_BATCH_SIZE=30
|
|
208
|
+
STICKER_CLASSIFICATION_BACKGROUND_CONCURRENCY=2
|
|
209
|
+
STICKER_CLASSIFICATION_BACKGROUND_ENABLED=true
|
|
210
|
+
STICKER_CLASSIFICATION_BACKGROUND_INTERVAL_MAX_MS=600000
|
|
211
|
+
STICKER_CLASSIFICATION_BACKGROUND_INTERVAL_MIN_MS=300000
|
|
212
|
+
STICKER_CLASSIFICATION_BACKGROUND_INTERVAL_MS=0
|
|
213
|
+
STICKER_CLASSIFICATION_BACKGROUND_STARTUP_DELAY_MS=15000
|
|
214
|
+
STICKER_DATA_LIST_LIMIT=50
|
|
215
|
+
STICKER_DATA_LIST_MAX_LIMIT=200
|
|
216
|
+
STICKER_DATA_PUBLIC_DIR=./data
|
|
217
|
+
STICKER_DATA_PUBLIC_PATH=/data
|
|
218
|
+
STICKER_DATA_SCAN_MAX_FILES=10000
|
|
219
|
+
STICKER_DEFAULT_PACK_NAME=https://omnizap.shop/
|
|
220
|
+
STICKER_LOGIN_WEB_PATH=/login
|
|
221
|
+
STICKER_FOCUS_MESSAGE_COOLDOWN_MINUTES=60
|
|
222
|
+
STICKER_FOCUS_TEXT_COOLDOWN_MINUTES=60
|
|
223
|
+
STICKER_FOCUS_MESSAGE_ALLOWANCE=2
|
|
224
|
+
STICKER_FOCUS_CHAT_WINDOW_MINUTES=15
|
|
225
|
+
STICKER_FOCUS_WARNING_COOLDOWN_MS=45000
|
|
226
|
+
STICKER_ORPHAN_LIST_LIMIT=120
|
|
227
|
+
STICKER_ORPHAN_LIST_MAX_LIMIT=300
|
|
228
|
+
STICKER_PACK_AUTO_COLLECT_ENABLED=true
|
|
229
|
+
STICKER_PACK_AUTO_COLLECT_NOTIFY=true
|
|
230
|
+
STICKER_PACK_AUTO_PACK_NAME=minhasfigurinhas
|
|
231
|
+
STICKER_PACK_AUTO_PACK_VISIBILITY=private
|
|
232
|
+
STICKER_PACK_FALLBACK_SEND_LIMIT=30
|
|
233
|
+
STICKER_PACK_LAST_CACHE_TTL_MS=21600000
|
|
234
|
+
STICKER_PACK_MAX_ITEMS=30
|
|
235
|
+
STICKER_PACK_MAX_PACKS_PER_OWNER=0
|
|
236
|
+
STICKER_PACK_MAX_STICKER_BYTES=2097152
|
|
237
|
+
STICKER_PACK_PREVIEW_LINES=20
|
|
238
|
+
STICKER_PACK_RATE_MAX_ACTIONS=20
|
|
239
|
+
STICKER_PACK_RATE_WINDOW_MS=60000
|
|
240
|
+
STICKER_PACK_ZIP_ENABLED=false
|
|
241
|
+
STICKER_SEO_DISCOVERY_CACHE_SECONDS=180
|
|
242
|
+
STICKER_SEO_DISCOVERY_LINK_LIMIT=60
|
|
243
|
+
STICKER_SITEMAP_CACHE_SECONDS=180
|
|
244
|
+
STICKER_SITEMAP_MAX_PACKS=45000
|
|
245
|
+
STICKER_SUPPORT_WHATSAPP_TEXT="Ola! Preciso de suporte no catalogo OmniZap."
|
|
246
|
+
STICKER_SYSTEM_METRICS_TIMEOUT_MS=1200
|
|
247
|
+
STICKER_WEB_ASSET_CACHE_SECONDS=600
|
|
248
|
+
STICKER_WEB_ASSET_VERSION=
|
|
249
|
+
STICKER_WEB_DRAFT_CLEANUP_RUN_INTERVAL_MS=900000
|
|
250
|
+
STICKER_WEB_DRAFT_CLEANUP_TTL_MS=86400000
|
|
251
|
+
STICKER_WEB_EDIT_TOKEN_TTL_MS=21600000
|
|
252
|
+
STICKER_WEB_GOOGLE_AUTH_REQUIRED=false
|
|
253
|
+
STICKER_WEB_GOOGLE_CLIENT_ID=
|
|
254
|
+
STICKER_WEB_GOOGLE_SESSION_COOKIE_PATH=/
|
|
255
|
+
STICKER_WEB_GOOGLE_SESSION_DB_PRUNE_INTERVAL_MS=3600000
|
|
256
|
+
STICKER_WEB_GOOGLE_SESSION_DB_TOUCH_INTERVAL_MS=60000
|
|
257
|
+
STICKER_WEB_GOOGLE_SESSION_TTL_MS=604800000
|
|
258
|
+
STICKER_WEB_IMMUTABLE_ASSET_CACHE_SECONDS=31536000
|
|
259
|
+
STICKER_WEB_LIST_LIMIT=16
|
|
260
|
+
STICKER_WEB_LIST_MAX_LIMIT=60
|
|
261
|
+
STICKER_WEB_MY_PROFILE_INCLUDE_AUTO_PACKS=false
|
|
262
|
+
STICKER_PREVIEW_SIDE_PX=112
|
|
263
|
+
STICKER_PREVIEW_QUALITY=20
|
|
264
|
+
STICKER_PREVIEW_TIMEOUT_MS=2500
|
|
265
|
+
STICKER_PREVIEW_CACHE_TTL_MS=21600000
|
|
266
|
+
STICKER_PREVIEW_CACHE_MAX_ITEMS=2000
|
|
267
|
+
STICKER_WEB_STATIC_TEXT_CACHE_SECONDS=3600
|
|
268
|
+
STICKER_WEB_UPLOAD_CONCURRENCY=3
|
|
269
|
+
STICKER_WEB_UPLOAD_SOURCE_MAX_BYTES=20971520
|
|
270
|
+
STICKER_WEB_WHATSAPP_MESSAGE_TEMPLATE=/pack send {{pack_key}}
|
|
271
|
+
STORE_PATH=./temp
|
|
272
|
+
SYSTEM_SUMMARY_CACHE_SECONDS=20
|
|
273
|
+
USER_PROFILE_ACTIVE_DAYS=30
|
|
274
|
+
USER_PROFILE_SOCIAL_DAYS=45
|
|
275
|
+
USER_PROFILE_WEB_PATH=/user
|
|
276
|
+
USER_PASSWORD_RESET_WEB_PATH=/user/password-reset
|
|
277
|
+
WEB_SESSION_COOKIE_TTL_SECONDS=2592000
|
|
278
|
+
LEGAL_TERMS_VERSION=2026-03-07
|
|
279
|
+
LEGAL_PRIVACY_VERSION=2026-03-07
|
|
280
|
+
LEGAL_AUP_VERSION=2026-03-07
|
|
281
|
+
LEGAL_TERMS_ACCEPTANCE_SOURCE=login_web
|
|
282
|
+
WEB_AUTH_JWT_AUDIENCE=omnizap-web
|
|
283
|
+
WEB_AUTH_JWT_DISABLED=false
|
|
284
|
+
WEB_AUTH_JWT_EXPIRES_IN=7d
|
|
285
|
+
WEB_AUTH_JWT_ISSUER=omnizap-system
|
|
286
|
+
WEB_AUTH_JWT_SECRET=
|
|
287
|
+
WEB_PASSWORD_RECOVERY_SESSION_TTL_SECONDS=900
|
|
288
|
+
WEB_USER_PASSWORD_PEPPER_SECRET=
|
|
289
|
+
WEB_USER_PASSWORD_ARGON2_TIME_COST=3
|
|
290
|
+
WEB_USER_PASSWORD_ARGON2_MEMORY_KB=19456
|
|
291
|
+
WEB_USER_PASSWORD_ARGON2_PARALLELISM=1
|
|
292
|
+
WEB_USER_PASSWORD_ARGON2_HASH_LENGTH=32
|
|
293
|
+
WEB_USER_PASSWORD_MAX_LENGTH=72
|
|
294
|
+
WEB_USER_PASSWORD_MIN_LENGTH=12
|
|
295
|
+
WEB_USER_PASSWORD_REQUIRE_LETTER=true
|
|
296
|
+
WEB_USER_PASSWORD_REQUIRE_NUMBER=true
|
|
297
|
+
WEB_USER_PASSWORD_MAX_FAILED_ATTEMPTS=8
|
|
298
|
+
WEB_USER_PASSWORD_LOCKOUT_SECONDS=900
|
|
299
|
+
WEB_USER_PASSWORD_LOGIN_IDENTITY_MAX_ATTEMPTS=8
|
|
300
|
+
WEB_USER_PASSWORD_LOGIN_IDENTITY_LOCKOUT_SECONDS=900
|
|
301
|
+
WEB_USER_PASSWORD_RECOVERY_CODE_TTL_SECONDS=900
|
|
302
|
+
WEB_USER_PASSWORD_RECOVERY_CODE_MAX_ATTEMPTS=5
|
|
303
|
+
WEB_USER_PASSWORD_RECOVERY_CODE_RESEND_COOLDOWN_SECONDS=60
|
|
304
|
+
WEB_USER_PASSWORD_RECOVERY_CODE_HOURLY_LIMIT=4
|
|
305
|
+
WEB_USER_PASSWORD_RECOVERY_CODE_DAILY_LIMIT=8
|
|
306
|
+
WEB_USER_PASSWORD_RECOVERY_HASH_ITERATIONS=210000
|
|
307
|
+
WEB_USER_PASSWORD_RECOVERY_HASH_SECRET=
|
|
308
|
+
WEB_URL=https://omnizap.shop
|
|
309
|
+
WEB_VISITOR_COOKIE_TTL_SECONDS=31536000
|
|
310
|
+
WHATSAPP_COMMAND_REQUIRES_GOOGLE_LOGIN=true
|
|
311
|
+
WHATSAPP_GOOGLE_LINK_CHECK_CACHE_TTL_MS=60000
|
|
312
|
+
WHATSAPP_LOGIN_LINK_TTL_SECONDS=900
|
|
313
|
+
WHATSAPP_LOGIN_REQUIRE_SIGNATURE=true
|
|
314
|
+
|
|
315
|
+
# ==============================
|
|
316
|
+
# PRIORIDADE 3 - FUNCIONALIDADES
|
|
317
|
+
# ==============================
|
|
318
|
+
DEBUG_FFMPEG=false
|
|
319
|
+
FFMPEG_PATH=ffmpeg
|
|
320
|
+
FFPROBE_PATH=ffprobe
|
|
321
|
+
HTTP_SLO_TARGET_MS=750
|
|
322
|
+
NEWS_API_URL=http://127.0.0.1:3001
|
|
323
|
+
NEWS_SENT_IDS_LIMIT=500
|
|
324
|
+
OMNIZAP_SOCIAL_METRICS=0
|
|
325
|
+
OPENAI_IMAGE_MODEL=gpt-5-nano
|
|
326
|
+
OPENAI_IMAGE_TIMEOUT_MS=120000
|
|
327
|
+
OPENAI_MAX_IMAGE_MB=50
|
|
328
|
+
OPENAI_MAX_RETRIES=2
|
|
329
|
+
OPENAI_MODEL=gpt-5-nano
|
|
330
|
+
GEMINI_MODEL=gemini-1.5-flash
|
|
331
|
+
AI_HELP_LLM_PROVIDER=gemini
|
|
332
|
+
OPENAI_RETRY_BASE_MS=500
|
|
333
|
+
OPENAI_RETRY_MAX_MS=4000
|
|
334
|
+
OPENAI_SESSION_TTL_SECONDS=21600
|
|
335
|
+
OPENAI_SYSTEM_PROMPT=
|
|
336
|
+
OPENAI_TIMEOUT_MS=30000
|
|
337
|
+
GLOBAL_TOOL_CALLING_ENABLED=true
|
|
338
|
+
GLOBAL_TOOL_CALLING_MODEL=gpt-5-nano
|
|
339
|
+
GLOBAL_TOOL_CALLING_TIMEOUT_MS=20000
|
|
340
|
+
GLOBAL_TOOL_CALLING_MAX_TOOL_CALLS=1
|
|
341
|
+
GLOBAL_TOOL_CALLING_TEMPERATURE=0
|
|
342
|
+
GLOBAL_TOOL_EXECUTOR_ARGS_LOG_MAX_LEN=900
|
|
343
|
+
TOOL_SELECTION_MAX_CANDIDATES=8
|
|
344
|
+
TOOL_SELECTION_MIN_SCORE=0.2
|
|
345
|
+
TOOL_SELECTION_FALLBACK_POPULAR_LIMIT=5
|
|
346
|
+
TOOL_SELECTION_CACHE_TTL_MS=600000
|
|
347
|
+
TOOL_SELECTION_CACHE_MAX_ENTRIES=800
|
|
348
|
+
TOOL_SELECTION_LEARNED_REFRESH_MS=60000
|
|
349
|
+
TOOL_SELECTION_LEARNED_MAX_ROWS=10000
|
|
350
|
+
TOOL_SELECTION_ENRICHMENT_REFRESH_MS=120000
|
|
351
|
+
TOOL_SELECTION_ENRICHMENT_MAX_ROWS=10000
|
|
352
|
+
AI_LEARNING_WORKER_ENABLED=true
|
|
353
|
+
AI_LEARNING_WORKER_INTERVAL_MS=600000
|
|
354
|
+
AI_LEARNING_WORKER_BATCH_SIZE=50
|
|
355
|
+
AI_LEARNING_WORKER_MODEL=gpt-4o-mini
|
|
356
|
+
AI_LEARNING_WORKER_TIMEOUT_MS=20000
|
|
357
|
+
AI_LEARNING_WORKER_MAX_PATTERNS=5
|
|
358
|
+
AI_LEARNING_WORKER_MAX_KEYWORDS=12
|
|
359
|
+
AI_LEARNING_WORKER_CONFIG_SEED_ENABLED=true
|
|
360
|
+
AI_LEARNING_WORKER_CONFIG_SEED_INTERVAL_MS=21600000
|
|
361
|
+
AI_LEARNING_WORKER_CONFIG_SEED_MAX_PATTERNS=24
|
|
362
|
+
AI_LEARNING_WORKER_CONFIG_SEED_MAX_KEYWORDS=40
|
|
363
|
+
COMMAND_CONFIG_ENRICHMENT_WORKER_ENABLED=true
|
|
364
|
+
COMMAND_CONFIG_ENRICHMENT_WORKER_INTERVAL_MS=1800000
|
|
365
|
+
COMMAND_CONFIG_ENRICHMENT_WORKER_BATCH_SIZE=30
|
|
366
|
+
COMMAND_CONFIG_ENRICHMENT_WORKER_MODEL=gpt-4o-mini
|
|
367
|
+
COMMAND_CONFIG_ENRICHMENT_WORKER_TIMEOUT_MS=25000
|
|
368
|
+
COMMAND_CONFIG_ENRICHMENT_MIN_AUTO_APPLY_CONFIDENCE=0.72
|
|
369
|
+
COMMAND_CONFIG_ENRICHMENT_CONTEXT_MAX_CHARS=5200
|
|
370
|
+
COMMAND_CONFIG_ENRICHMENT_AGENT_MAX_CHARS=2400
|
|
371
|
+
COMMAND_CONFIG_ENRICHMENT_SOURCE_FILE_MAX_CHARS=1700
|
|
372
|
+
COMMAND_CONFIG_ENRICHMENT_MAX_SOURCE_FILES=3
|
|
373
|
+
COMMAND_CONFIG_ENRICHMENT_BASE_CONFIDENCE=0.55
|
|
374
|
+
OPENAI_TTS_FORMAT=mp3
|
|
375
|
+
OPENAI_TTS_MAX_CHARS=4096
|
|
376
|
+
OPENAI_TTS_MODEL=gpt-4o-mini-tts
|
|
377
|
+
OPENAI_TTS_PTT=false
|
|
378
|
+
OPENAI_TTS_VOICE=alloy
|
|
379
|
+
PLAY_API_DOWNLOAD_TIMEOUT_MS=1800000
|
|
380
|
+
PLAY_API_TIMEOUT_MS=900000
|
|
381
|
+
PLAY_MAX_MB=100
|
|
382
|
+
PLAY_QUEUE_STATUS_TIMEOUT_MS=8000
|
|
383
|
+
PLAY_VIDEO_FORCE_TRANSCODE=true
|
|
384
|
+
PLAY_VIDEO_PROCESS_TIMEOUT_MS=420000
|
|
385
|
+
POKEAPI_CACHE_TTL_MS=21600000
|
|
386
|
+
POKEAPI_DNS_FAMILY=4
|
|
387
|
+
POKEAPI_LORE_LANGS=pt-br,pt,en
|
|
388
|
+
POKEAPI_RETRY_ATTEMPTS=2
|
|
389
|
+
POKEAPI_RETRY_BASE_DELAY_MS=350
|
|
390
|
+
POKEAPI_TIMEOUT_MS=10000
|
|
391
|
+
POKEAPI_USER_AGENT=omnizap-system/2.1 (+https://github.com/Omnizap-System/omnizap)
|
|
392
|
+
QUOTE_API_URL=https://bot.lyo.su/quote/generate.png
|
|
393
|
+
QUOTE_BG_COLOR="#144d37"
|
|
394
|
+
QUOTE_EMOJI_BASE_URL=https://raw.githubusercontent.com/googlefonts/noto-emoji/main/png/128
|
|
395
|
+
QUOTE_EMOJI_TIMEOUT_MS=4000
|
|
396
|
+
QUOTE_FONT_FAMILY="Noto Sans,Segoe UI,Arial,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif"
|
|
397
|
+
QUOTE_NAME_COLOR="#facc01"
|
|
398
|
+
QUOTE_TEXT_COLOR="#e8eef6"
|
|
399
|
+
QUOTE_TIMEOUT_MS=10000
|
|
400
|
+
README_SNAPSHOT_SOURCE_URL=https://omnizap.shop/api/readme-markdown
|
|
401
|
+
README_SNAPSHOT_TARGET_PATH=README.md
|
|
402
|
+
README_SNAPSHOT_TIMEOUT_MS=15000
|
|
403
|
+
RPG_BATTLE_CANVAS_CACHE_LIMIT=120
|
|
404
|
+
RPG_BATTLE_CANVAS_CACHE_TTL_MS=600000
|
|
405
|
+
RPG_BATTLE_CANVAS_ENABLED=true
|
|
406
|
+
RPG_BATTLE_CANVAS_TIMEOUT_MS=7000
|
|
407
|
+
RPG_BATTLE_DAMAGE_MAX_HP_RATIO=0.5
|
|
408
|
+
RPG_BATTLE_DAMAGE_SCALE=0.68
|
|
409
|
+
RPG_BATTLE_DAMAGE_SUPER_EFFECTIVE_BONUS_RATIO=0.2
|
|
410
|
+
RPG_BATTLE_DAMAGE_ULTRA_EFFECTIVE_BONUS_RATIO=0.25
|
|
411
|
+
RPG_BATTLE_TTL_MS=300000
|
|
412
|
+
RPG_BIOME_LOOKUP_ATTEMPTS=6
|
|
413
|
+
RPG_COOP_CAPTURE_TARGET=25
|
|
414
|
+
RPG_COOP_RAID_TARGET=8
|
|
415
|
+
RPG_COOP_REWARD_GOLD=220
|
|
416
|
+
RPG_COOP_REWARD_ITEM_KEY=pokeball
|
|
417
|
+
RPG_COOP_REWARD_ITEM_QTY=2
|
|
418
|
+
RPG_COOP_REWARD_XP=160
|
|
419
|
+
RPG_DEFAULT_REGION=kanto
|
|
420
|
+
RPG_ECONOMY_RESCUE_COOLDOWN_MS=21600000
|
|
421
|
+
RPG_ECONOMY_RESCUE_GOLD=90
|
|
422
|
+
RPG_ECONOMY_RESCUE_MAX_GOLD=60
|
|
423
|
+
RPG_ECONOMY_RESCUE_POTION_QTY=1
|
|
424
|
+
RPG_EVENT_CAPTURE_REWARD_GOLD=160
|
|
425
|
+
RPG_EVENT_CAPTURE_REWARD_XP=120
|
|
426
|
+
RPG_EVENT_CAPTURE_TARGET=40
|
|
427
|
+
RPG_EVENT_PVP_REWARD_GOLD=220
|
|
428
|
+
RPG_EVENT_PVP_REWARD_XP=150
|
|
429
|
+
RPG_EVENT_PVP_TARGET=14
|
|
430
|
+
RPG_EVENT_RAID_DAMAGE_TARGET=4500
|
|
431
|
+
RPG_EVENT_RAID_REWARD_GOLD=210
|
|
432
|
+
RPG_EVENT_RAID_REWARD_XP=145
|
|
433
|
+
RPG_KARMA_BONUS_RATE=0.08
|
|
434
|
+
RPG_KARMA_BONUS_THRESHOLD=20
|
|
435
|
+
RPG_LEGENDARY_SPAWN_CHANCE=0.06
|
|
436
|
+
RPG_MOVE_SAMPLE_LIMIT=24
|
|
437
|
+
RPG_MYTHICAL_SPAWN_CHANCE=0.03
|
|
438
|
+
RPG_POKEDEX_TOTAL=1025
|
|
439
|
+
RPG_POTION_HEAL_HP=25
|
|
440
|
+
RPG_PROFILE_CANVAS_CACHE_LIMIT=80
|
|
441
|
+
RPG_PROFILE_CANVAS_CACHE_TTL_MS=600000
|
|
442
|
+
RPG_PROFILE_CANVAS_ENABLED=true
|
|
443
|
+
RPG_PROFILE_CANVAS_TIMEOUT_MS=6000
|
|
444
|
+
RPG_PVP_COOLDOWN_MS=30000
|
|
445
|
+
RPG_PVP_LOSS_POINTS=1
|
|
446
|
+
RPG_PVP_QUEUE_TTL_MS=600000
|
|
447
|
+
RPG_PVP_TTL_MS=900000
|
|
448
|
+
RPG_PVP_WIN_GOLD=220
|
|
449
|
+
RPG_PVP_WIN_PLAYER_XP=140
|
|
450
|
+
RPG_PVP_WIN_POINTS=3
|
|
451
|
+
RPG_PVP_WIN_POKEMON_XP=120
|
|
452
|
+
RPG_RAID_TTL_MS=1200000
|
|
453
|
+
RPG_SESSION_IDLE_MS=600000
|
|
454
|
+
RPG_SHINY_CHANCE=0.01
|
|
455
|
+
RPG_SHOP_COST_FACTOR=0.22
|
|
456
|
+
RPG_SHOP_COST_MIN=28
|
|
457
|
+
RPG_SHOP_ITEMS_PER_POCKET=6
|
|
458
|
+
RPG_SHOP_REFRESH_MS=3600000
|
|
459
|
+
RPG_SOCIAL_XP_ABUSE_CAP_HITS_THRESHOLD=3
|
|
460
|
+
RPG_SOCIAL_XP_ABUSE_PENALTY_RATE=0.12
|
|
461
|
+
RPG_SOCIAL_XP_ACTION_CAP=45
|
|
462
|
+
RPG_SOCIAL_XP_CONVERSION_RATE=0.25
|
|
463
|
+
RPG_SOCIAL_XP_DAILY_CONVERSION_CAP=300
|
|
464
|
+
RPG_SOCIAL_XP_GROUP_BOOST_RATE=0.05
|
|
465
|
+
RPG_SOCIAL_XP_KARMA_BOOST_RATE=0.08
|
|
466
|
+
RPG_SOCIAL_XP_PLAYER_SHARE=0.6
|
|
467
|
+
RPG_SPECIES_FILTER_ATTEMPTS=5
|
|
468
|
+
RPG_STARTER_GOLD=450
|
|
469
|
+
RPG_STARTER_LEVEL=5
|
|
470
|
+
RPG_STARTER_POKEBALL_QTY=4
|
|
471
|
+
RPG_STARTER_POTION_QTY=3
|
|
472
|
+
RPG_SUPER_POTION_HEAL_HP=60
|
|
473
|
+
RPG_TRADE_TTL_MS=1200000
|
|
474
|
+
RPG_WILD_MAX_POKE_ID=1025
|
|
475
|
+
STICKER_LOADTEST_BASE_URL=http://127.0.0.1:9102
|
|
476
|
+
STICKER_OBJECT_STORAGE_ACCESS_KEY_ID=
|
|
477
|
+
STICKER_OBJECT_STORAGE_BUCKET=
|
|
478
|
+
STICKER_OBJECT_STORAGE_CDN_BASE_URL=
|
|
479
|
+
STICKER_OBJECT_STORAGE_ENABLED=false
|
|
480
|
+
STICKER_OBJECT_STORAGE_ENDPOINT=
|
|
481
|
+
STICKER_OBJECT_STORAGE_FORCE_PATH_STYLE=true
|
|
482
|
+
STICKER_OBJECT_STORAGE_KEY_PREFIX=stickers
|
|
483
|
+
STICKER_OBJECT_STORAGE_PROVIDER=s3
|
|
484
|
+
STICKER_OBJECT_STORAGE_REGION=us-east-1
|
|
485
|
+
STICKER_OBJECT_STORAGE_SECRET_ACCESS_KEY=
|
|
486
|
+
STICKER_OBJECT_STORAGE_SIGNED_URL_ENABLED=true
|
|
487
|
+
STICKER_OBJECT_STORAGE_SIGNED_URL_TTL_SECONDS=300
|
|
488
|
+
STICKER_OBJECT_STORAGE_UPLOAD_ON_WRITE=true
|
|
489
|
+
STICKER_OBJECT_STORAGE_UPLOAD_TIMEOUT_MS=10000
|
|
490
|
+
TIKTOK_EXTRACT_BASE_URL=http://127.0.0.1:8000
|
|
491
|
+
TIKTOK_EXTRACT_PATH=/extract
|
|
492
|
+
TIKTOK_EXTRACT_TIMEOUT_SECONDS=60
|
|
493
|
+
TIKTOK_HTTP_TIMEOUT_MS=120000
|
|
494
|
+
TIKTOK_MAX_IMAGES_PER_POST=10
|
|
495
|
+
TIKTOK_MAX_MB=80
|
|
496
|
+
TIKTOK_MAX_URLS_PER_COMMAND=5
|
|
497
|
+
WAIFU_API_BASE=https://waifu.it/api/v4
|
|
498
|
+
WAIFU_API_TOKEN=
|
|
499
|
+
WAIFU_PICS_ALLOW_NSFW=false
|
|
500
|
+
WAIFU_PICS_BASE=https://api.waifu.pics
|
|
501
|
+
WAIFU_PICS_TIMEOUT_MS=15000
|
|
502
|
+
WAIFU_TIMEOUT_MS=15000
|
|
503
|
+
YT_DLS_BASE_URL=
|
|
504
|
+
YTDLS_BASE_URL=http://127.0.0.1:3000
|
|
505
|
+
|
|
506
|
+
# ==============================
|
|
507
|
+
# PRIORIDADE 4 - TUNING AVANCADO
|
|
508
|
+
# ==============================
|
|
509
|
+
ADAPTIVE_ALPHA=0.4
|
|
510
|
+
AFFINITY_LOG_SCALE=4.0
|
|
511
|
+
AFFINITY_WEIGHT_CAP=0.85
|
|
512
|
+
AGGRESSIVE_MIGRATION_THRESHOLD=0.01
|
|
513
|
+
ARCHIVE_LOW_SCORE_PACKS=false
|
|
514
|
+
AUTO_ARCHIVE_BELOW_PERCENTILE=20
|
|
515
|
+
AUTO_PACK_PROFILE=BALANCED
|
|
516
|
+
CLASSIFICATION_MAX_TAGS=6
|
|
517
|
+
CLIP_CLASSIFIER_API_URL=http://127.0.0.1:8008/classify
|
|
518
|
+
CLIP_CLASSIFIER_CLASSIFICATION_VERSION=v1
|
|
519
|
+
CLIP_CLASSIFIER_ENABLED=true
|
|
520
|
+
CLIP_CLASSIFIER_FEEDBACK_API_URL=http://127.0.0.1:8008/feedback
|
|
521
|
+
CLIP_CLASSIFIER_MODEL_VERSION=v1
|
|
522
|
+
CLIP_CLASSIFIER_NSFW_THRESHOLD=0.6
|
|
523
|
+
CLIP_CLASSIFIER_PROVIDER=mobileclip
|
|
524
|
+
CLIP_CLASSIFIER_TIMEOUT_MS=3000
|
|
525
|
+
CLIP_DEFAULT_LABELS_JSON=
|
|
526
|
+
CLIP_DEFAULT_LABELS_PATH=
|
|
527
|
+
CLIP_MAX_LABELS=256
|
|
528
|
+
CLIP_MODEL_NAME=MobileCLIP-S1
|
|
529
|
+
CLIP_MODEL_PRETRAINED=datacompdr
|
|
530
|
+
CLIP_TOP_K=5
|
|
531
|
+
CURATION_OWNERS_POOL=
|
|
532
|
+
ENABLE_ADAPTIVE_SCORING=true
|
|
533
|
+
ENABLE_AFFINITY_LOG_SCALING=true
|
|
534
|
+
ENABLE_CLUSTERING=true
|
|
535
|
+
ENABLE_EMBEDDING_CACHE=true
|
|
536
|
+
ENABLE_GLOBAL_OPTIMIZATION=true
|
|
537
|
+
ENABLE_LLM_EXPANSION_GATING=true
|
|
538
|
+
ENABLE_LLM_LABEL_EXPANSION=true
|
|
539
|
+
ENABLE_SEMANTIC_CLUSTERING=false
|
|
540
|
+
ENTROPY_NORMALIZED_THRESHOLD=0.76
|
|
541
|
+
ENTROPY_THRESHOLD=2.5
|
|
542
|
+
GLOBAL_ENERGY_W1=0.40
|
|
543
|
+
GLOBAL_ENERGY_W2=0.25
|
|
544
|
+
GLOBAL_ENERGY_W3=0.10
|
|
545
|
+
GLOBAL_ENERGY_W4=0.15
|
|
546
|
+
GLOBAL_ENERGY_W5=0.10
|
|
547
|
+
INTER_PACK_SIMILARITY_THRESHOLD=0.85
|
|
548
|
+
LLM_EXPANSION_MAX_ENTROPY_NORMALIZED=0.72
|
|
549
|
+
LLM_EXPANSION_MIN_MARGIN=0.08
|
|
550
|
+
LLM_LABEL_EXPANSION_MODEL=gpt-4.1-mini
|
|
551
|
+
LLM_LABEL_EXPANSION_TIMEOUT_MS=6000
|
|
552
|
+
MERGE_THRESHOLD=0.75
|
|
553
|
+
MIGRATION_CANDIDATE_LIMIT=16
|
|
554
|
+
MIN_PACK_SIZE=8
|
|
555
|
+
OPTIMIZATION_CYCLES=3
|
|
556
|
+
OPTIMIZATION_EPSILON=0.001
|
|
557
|
+
OPTIMIZATION_STABLE_CYCLES=2
|
|
558
|
+
PACK_CLASSIFICATION_TAG_MIN_SCORE=0.18
|
|
559
|
+
PACK_QUALITY_W1=0.32
|
|
560
|
+
PACK_QUALITY_W2=0.24
|
|
561
|
+
PACK_QUALITY_W3=0.16
|
|
562
|
+
PACK_QUALITY_W4=0.14
|
|
563
|
+
PACK_QUALITY_W5=0.09
|
|
564
|
+
PACK_QUALITY_W6=0.07
|
|
565
|
+
PACK_TIER_BRONZE_THRESHOLD=0.50
|
|
566
|
+
PACK_TIER_GOLD_THRESHOLD=0.80
|
|
567
|
+
PACK_TIER_QUALITY_W1=0.40
|
|
568
|
+
PACK_TIER_QUALITY_W2=0.25
|
|
569
|
+
PACK_TIER_QUALITY_W3=0.15
|
|
570
|
+
PACK_TIER_QUALITY_W4=0.10
|
|
571
|
+
PACK_TIER_QUALITY_W5=0.10
|
|
572
|
+
PACK_TIER_SILVER_THRESHOLD=0.65
|
|
573
|
+
SEMANTIC_CLUSTER_CONCURRENCY=2
|
|
574
|
+
SEMANTIC_CLUSTER_EMBEDDING_MODEL=text-embedding-3-small
|
|
575
|
+
SEMANTIC_CLUSTER_MAX_SCAN=5000
|
|
576
|
+
SEMANTIC_CLUSTER_MAX_SUGGESTIONS_PER_ASSET=8
|
|
577
|
+
SEMANTIC_CLUSTER_MEMORY_CACHE_TTL_MS=300000
|
|
578
|
+
SEMANTIC_CLUSTER_MIN_SIZE_FOR_PACK=12
|
|
579
|
+
SEMANTIC_CLUSTER_OPENAI_TIMEOUT_MS=10000
|
|
580
|
+
SEMANTIC_CLUSTER_REPROCESS_EXISTING=false
|
|
581
|
+
SEMANTIC_CLUSTER_SIMILARITY_THRESHOLD=0.87
|
|
582
|
+
SEMANTIC_CLUSTER_SLUG_MODEL=gpt-4o-mini
|
|
583
|
+
SIMILARITY_LIMIT=25
|
|
584
|
+
SIMILARITY_SCAN_LIMIT=3000
|
|
585
|
+
SIMILARITY_THRESHOLD=0.85
|
|
586
|
+
STICKER_AUTO_PACK_BY_TAGS_ADAPTIVE_BONUS_WEIGHT=0.18
|
|
587
|
+
STICKER_AUTO_PACK_BY_TAGS_AFFINITY_CAP=0.85
|
|
588
|
+
STICKER_AUTO_PACK_BY_TAGS_AFFINITY_LOG_SCALE=4
|
|
589
|
+
STICKER_AUTO_PACK_BY_TAGS_AMBIGUOUS_FLAG_PENALTY=0.06
|
|
590
|
+
STICKER_AUTO_PACK_BY_TAGS_ASSET_QUALITY_W1=0.34
|
|
591
|
+
STICKER_AUTO_PACK_BY_TAGS_ASSET_QUALITY_W2=0.24
|
|
592
|
+
STICKER_AUTO_PACK_BY_TAGS_ASSET_QUALITY_W3=0.18
|
|
593
|
+
STICKER_AUTO_PACK_BY_TAGS_ASSET_QUALITY_W4=0.24
|
|
594
|
+
STICKER_AUTO_PACK_BY_TAGS_COHESION_REBUILD_THRESHOLD=0.56
|
|
595
|
+
STICKER_AUTO_PACK_BY_TAGS_COMPLETION_TRANSFER_ENABLED=true
|
|
596
|
+
STICKER_AUTO_PACK_BY_TAGS_COMPLETION_TRANSFER_MIN_DONOR_ITEMS=8
|
|
597
|
+
STICKER_AUTO_PACK_BY_TAGS_DEDUPE_SIMILARITY_THRESHOLD=0.985
|
|
598
|
+
STICKER_AUTO_PACK_BY_TAGS_DYNAMIC_GROUP_LIMIT_BASE=30
|
|
599
|
+
STICKER_AUTO_PACK_BY_TAGS_ENABLE_AFFINITY_LOG_SCALING=true
|
|
600
|
+
STICKER_AUTO_PACK_BY_TAGS_ENABLED=true
|
|
601
|
+
STICKER_AUTO_PACK_BY_TAGS_ENTROPY_WEIGHT=0.09
|
|
602
|
+
STICKER_AUTO_PACK_BY_TAGS_GLOBAL_PACK_LIMIT=300
|
|
603
|
+
STICKER_AUTO_PACK_BY_TAGS_HARD_MIN_GROUP_SIZE=12
|
|
604
|
+
STICKER_AUTO_PACK_BY_TAGS_HARD_MIN_PACK_ITEMS=12
|
|
605
|
+
STICKER_AUTO_PACK_BY_TAGS_INCLUDE_PACKED_WHEN_REBUILD_DISABLED=false
|
|
606
|
+
STICKER_AUTO_PACK_BY_TAGS_INTERVAL_MAX_MS=600000
|
|
607
|
+
STICKER_AUTO_PACK_BY_TAGS_INTERVAL_MIN_MS=300000
|
|
608
|
+
STICKER_AUTO_PACK_BY_TAGS_INTERVAL_MS=0
|
|
609
|
+
STICKER_AUTO_PACK_BY_TAGS_LLM_TRAIT_WEIGHT=0.10
|
|
610
|
+
STICKER_AUTO_PACK_BY_TAGS_MARGIN_BONUS_WEIGHT=0.12
|
|
611
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_ADDITIONS_PER_CYCLE=300
|
|
612
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_BLURRY_SCORE=0.82
|
|
613
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_GROUPS=12
|
|
614
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_LOW_QUALITY_SCORE=0.82
|
|
615
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_PACKS_PER_OWNER=0
|
|
616
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_PACKS_PER_THEME=1
|
|
617
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_REMOVALS_PER_CYCLE=120
|
|
618
|
+
STICKER_AUTO_PACK_BY_TAGS_MAX_SCAN_ASSETS=5000
|
|
619
|
+
STICKER_AUTO_PACK_BY_TAGS_MIN_ASSET_ACCEPTANCE_RATE=0.45
|
|
620
|
+
STICKER_AUTO_PACK_BY_TAGS_MIN_ASSET_AREA=36864
|
|
621
|
+
STICKER_AUTO_PACK_BY_TAGS_MIN_ASSET_BYTES=6144
|
|
622
|
+
STICKER_AUTO_PACK_BY_TAGS_MIN_ASSET_EDGE=192
|
|
623
|
+
STICKER_AUTO_PACK_BY_TAGS_MIN_GROUP_SIZE=8
|
|
624
|
+
STICKER_AUTO_PACK_BY_TAGS_MIN_THEME_DOMINANCE_RATIO=0.55
|
|
625
|
+
STICKER_AUTO_PACK_BY_TAGS_MOVE_IN_THRESHOLD=0.12
|
|
626
|
+
STICKER_AUTO_PACK_BY_TAGS_MOVE_OUT_THRESHOLD=0.22
|
|
627
|
+
STICKER_AUTO_PACK_BY_TAGS_NSFW_EXPLICIT_THRESHOLD=0.78
|
|
628
|
+
STICKER_AUTO_PACK_BY_TAGS_NSFW_SUGGESTIVE_THRESHOLD=0.4
|
|
629
|
+
STICKER_AUTO_PACK_BY_TAGS_NSFW_THRESHOLD=0.7
|
|
630
|
+
STICKER_AUTO_PACK_BY_TAGS_PRIORITIZE_COMPLETION=true
|
|
631
|
+
STICKER_AUTO_PACK_BY_TAGS_PUBLISHER=OmniZap Auto
|
|
632
|
+
STICKER_AUTO_PACK_BY_TAGS_READY_MIN_ITEMS=1
|
|
633
|
+
STICKER_AUTO_PACK_BY_TAGS_REBUILD_ENABLED=true
|
|
634
|
+
STICKER_AUTO_PACK_BY_TAGS_RECHECK_SAMPLE_PERCENT=5
|
|
635
|
+
STICKER_AUTO_PACK_BY_TAGS_RETRO_CONSOLIDATION_ENABLED=true
|
|
636
|
+
STICKER_AUTO_PACK_BY_TAGS_RETRO_CONSOLIDATION_MUTATION_LIMIT=2000
|
|
637
|
+
STICKER_AUTO_PACK_BY_TAGS_RETRO_CONSOLIDATION_THEME_LIMIT=1000
|
|
638
|
+
STICKER_AUTO_PACK_BY_TAGS_REVIEW_CLASSIFICATION_VERSION=
|
|
639
|
+
STICKER_AUTO_PACK_BY_TAGS_SCAN_PASS_JITTER_PERCENT=12
|
|
640
|
+
STICKER_AUTO_PACK_BY_TAGS_SCAN_PASSES=2
|
|
641
|
+
STICKER_AUTO_PACK_BY_TAGS_SCORE_STDDEV_PENALTY=0.18
|
|
642
|
+
STICKER_AUTO_PACK_BY_TAGS_SIMILAR_IMAGES_PENALTY_WEIGHT=0.08
|
|
643
|
+
STICKER_AUTO_PACK_BY_TAGS_STABILITY_Z_SCORE=1.282
|
|
644
|
+
STICKER_AUTO_PACK_BY_TAGS_STARTUP_DELAY_MS=20000
|
|
645
|
+
STICKER_AUTO_PACK_BY_TAGS_TARGET_SIZE=30
|
|
646
|
+
STICKER_AUTO_PACK_BY_TAGS_TOP_TAGS_PER_ASSET=3
|
|
647
|
+
STICKER_AUTO_PACK_BY_TAGS_VISIBILITY=public
|
|
648
|
+
STICKER_AUTO_PACK_CURATION_OWNERS_POOL=
|
|
649
|
+
STICKER_AUTO_PACK_OWNER_JID=
|
|
650
|
+
STICKER_CLASSIFICATION_TAG_MIN_SCORE=0.2
|
|
651
|
+
STICKER_CREATOR_VERIFIED_PUBLISHERS=omnizap,omnizap auto
|
|
652
|
+
STICKER_DEDICATED_WORKER_COHORT_KEY=
|
|
653
|
+
STICKER_DEDICATED_WORKER_MAX_TASKS_PER_TICK=1
|
|
654
|
+
STICKER_DEDICATED_WORKER_POLL_INTERVAL_MS=2500
|
|
655
|
+
STICKER_DEDICATED_WORKER_RETRY_DELAY_SECONDS=60
|
|
656
|
+
STICKER_DEDICATED_WORKER_IDLE_BACKOFF_MULTIPLIER=1.7
|
|
657
|
+
STICKER_DEDICATED_WORKER_IDLE_MAX_POLL_INTERVAL_MS=30000
|
|
658
|
+
STICKER_DEDICATED_WORKER_IDLE_JITTER_PERCENT=12
|
|
659
|
+
STICKER_DEDICATED_WORKERS_ENABLED=true
|
|
660
|
+
STICKER_DEDICATED_WORKERS_FORCE_ENABLED=false
|
|
661
|
+
STICKER_DOMAIN_EVENT_CLASSIFICATION_COALESCE_WINDOW_SECONDS=60
|
|
662
|
+
STICKER_DOMAIN_EVENT_CONSUMER_COHORT_KEY=
|
|
663
|
+
STICKER_DOMAIN_EVENT_CONSUMER_ENABLED=true
|
|
664
|
+
STICKER_DOMAIN_EVENT_CONSUMER_POLLER_INTERVAL_MS=2000
|
|
665
|
+
STICKER_DOMAIN_EVENT_CONSUMER_RETRY_DELAY_SECONDS=45
|
|
666
|
+
STICKER_DOMAIN_EVENT_CONSUMER_STARTUP_DELAY_MS=8000
|
|
667
|
+
STICKER_DOMAIN_EVENT_CURATION_COALESCE_WINDOW_SECONDS=60
|
|
668
|
+
STICKER_DOMAIN_EVENT_REBUILD_COALESCE_WINDOW_SECONDS=120
|
|
669
|
+
STICKER_DRIFT_REFRESH_MS=600000
|
|
670
|
+
STICKER_DRIFT_SENSITIVITY=1
|
|
671
|
+
STICKER_MATRIX_ALPHA=0.38
|
|
672
|
+
STICKER_MATRIX_BETA=0.27
|
|
673
|
+
STICKER_MATRIX_DELTA=0.18
|
|
674
|
+
STICKER_MATRIX_GAMMA=0.23
|
|
675
|
+
STICKER_NSFW_EXPLICIT_THRESHOLD=0.78
|
|
676
|
+
STICKER_NSFW_SUGGESTIVE_THRESHOLD=0.4
|
|
677
|
+
STICKER_PACK_AGE_DECAY_DAYS=45
|
|
678
|
+
STICKER_REPROCESS_LOW_CONFIDENCE_SCAN_LIMIT=250
|
|
679
|
+
STICKER_REPROCESS_LOW_CONFIDENCE_STALE_HOURS=48
|
|
680
|
+
STICKER_REPROCESS_LOW_CONFIDENCE_THRESHOLD=0.65
|
|
681
|
+
STICKER_REPROCESS_MAX_PER_CYCLE=30
|
|
682
|
+
STICKER_REPROCESS_MODEL_UPGRADE_SCAN_LIMIT=350
|
|
683
|
+
STICKER_REPROCESS_PRIORITY_BACKFILL_ENABLED=true
|
|
684
|
+
STICKER_REPROCESS_PRIORITY_BACKFILL_PRIORITY=95
|
|
685
|
+
STICKER_REPROCESS_PRIORITY_BACKFILL_SCAN_LIMIT=300
|
|
686
|
+
STICKER_REPROCESS_QUEUE_ENABLED=true
|
|
687
|
+
STICKER_REPROCESS_RETRY_DELAY_SECONDS=120
|
|
688
|
+
STICKER_SCORE_SNAPSHOT_BATCH_SIZE=120
|
|
689
|
+
STICKER_SCORE_SNAPSHOT_ENABLED=true
|
|
690
|
+
STICKER_SCORE_SNAPSHOT_FULL_REBUILD_EVERY_CYCLES=12
|
|
691
|
+
STICKER_SCORE_SNAPSHOT_MAX_PENDING_PACKS=2000
|
|
692
|
+
STICKER_SCORE_SNAPSHOT_REFRESH_INTERVAL_MS=300000
|
|
693
|
+
STICKER_SCORE_SNAPSHOT_SOURCE_VERSION=v1
|
|
694
|
+
STICKER_SCORE_SNAPSHOT_STARTUP_DELAY_MS=20000
|
|
695
|
+
STICKER_SCORE_SNAPSHOT_TARGETED_BATCH_SIZE=60
|
|
696
|
+
STICKER_SEMANTIC_RECLASSIFICATION_AFFINITY_THRESHOLD=0.3
|
|
697
|
+
STICKER_SEMANTIC_RECLASSIFICATION_BATCH_SIZE=400
|
|
698
|
+
STICKER_SEMANTIC_RECLASSIFICATION_ENABLED=true
|
|
699
|
+
STICKER_SEMANTIC_RECLASSIFICATION_ENTROPY_THRESHOLD=0.8
|
|
700
|
+
STICKER_SEMANTIC_RECLASSIFICATION_MAX_PER_CYCLE=2000
|
|
701
|
+
STICKER_WORKER_CLASSIFICATION_CADENCE_MS=120000
|
|
702
|
+
STICKER_WORKER_CURATION_CADENCE_MS=180000
|
|
703
|
+
STICKER_WORKER_PIPELINE_COHORT_KEY=
|
|
704
|
+
STICKER_WORKER_PIPELINE_ENABLED=false
|
|
705
|
+
STICKER_WORKER_PIPELINE_INLINE_POLLER_ENABLED=true
|
|
706
|
+
STICKER_WORKER_PIPELINE_INLINE_POLLER_FORCE_ENABLED=false
|
|
707
|
+
STICKER_WORKER_PIPELINE_POLLER_INTERVAL_MS=4000
|
|
708
|
+
STICKER_WORKER_PIPELINE_RETRY_DELAY_SECONDS=45
|
|
709
|
+
STICKER_WORKER_PIPELINE_SCHEDULER_INTERVAL_MS=15000
|
|
710
|
+
STICKER_WORKER_PIPELINE_STARTUP_DELAY_MS=12000
|
|
711
|
+
STICKER_WORKER_REBUILD_CADENCE_MS=240000
|
|
712
|
+
STICKER_WORKER_TASK_LOCK_TIMEOUT_SECONDS=900
|
|
713
|
+
STICKER_WORKER_TASK_TYPE=
|
|
714
|
+
SYSTEM_REDUNDANCY_LAMBDA=0.2
|
|
715
|
+
TRANSFER_CANDIDATE_SIMILARITY_FLOOR=0.35
|
|
716
|
+
TRANSFER_THRESHOLD=0.02
|
|
717
|
+
|
|
718
|
+
# ==============================
|
|
719
|
+
# PRIORIDADE 5 - DEVOPS / RELEASE
|
|
720
|
+
# ==============================
|
|
721
|
+
APP_LOGS_PATH=./logs
|
|
722
|
+
DEPLOY_BACKUP_DIR=/var/www/omnizap/.backup
|
|
723
|
+
DEPLOY_BUILD_ID=
|
|
724
|
+
BUILD_ID=
|
|
725
|
+
DEPLOY_CREATE_BACKUP=1
|
|
726
|
+
DEPLOY_DRY_RUN=0
|
|
727
|
+
DEPLOY_GITHUB_ENV_URL=
|
|
728
|
+
DEPLOY_GITHUB_ENVIRONMENT=production
|
|
729
|
+
DEPLOY_GITHUB_LOG_URL=
|
|
730
|
+
DEPLOY_GITHUB_NOTIFY=1
|
|
731
|
+
DEPLOY_GITHUB_REF=
|
|
732
|
+
DEPLOY_GITHUB_REPO=Omnizap-System/omnizap
|
|
733
|
+
DEPLOY_GITHUB_TOKEN=
|
|
734
|
+
DEPLOY_NGINX_SERVICE=nginx
|
|
735
|
+
DEPLOY_PACKAGE_ARTIFACTS_DIR=.artifacts
|
|
736
|
+
DEPLOY_PACKAGE_INSTALL=1
|
|
737
|
+
DEPLOY_PACKAGE_OTP=
|
|
738
|
+
DEPLOY_PACKAGE_PACK=0
|
|
739
|
+
DEPLOY_PACKAGE_PUBLISH=0
|
|
740
|
+
DEPLOY_PACKAGE_PUBLISH_SECONDARY=0
|
|
741
|
+
DEPLOY_PACKAGE_PUBLISH_SKIP_IF_EXISTS=1
|
|
742
|
+
DEPLOY_PACKAGE_REGISTRY=https://npm.pkg.github.com
|
|
743
|
+
DEPLOY_PACKAGE_SCOPE_OWNER=
|
|
744
|
+
DEPLOY_PACKAGE_SECONDARY_ACCESS=public
|
|
745
|
+
DEPLOY_PACKAGE_SECONDARY_OTP=
|
|
746
|
+
DEPLOY_PACKAGE_SECONDARY_PUBLISH_SKIP_IF_EXISTS=1
|
|
747
|
+
DEPLOY_PACKAGE_SECONDARY_REGISTRY=https://registry.npmjs.org
|
|
748
|
+
DEPLOY_PACKAGE_SECONDARY_TAG=latest
|
|
749
|
+
DEPLOY_PACKAGE_SECONDARY_TOKEN=
|
|
750
|
+
DEPLOY_PACKAGE_SECONDARY_TOKEN_KEYS=
|
|
751
|
+
DEPLOY_PACKAGE_STEP=0
|
|
752
|
+
DEPLOY_PACKAGE_TAG=latest
|
|
753
|
+
DEPLOY_PACKAGE_TEST=0
|
|
754
|
+
DEPLOY_PACKAGE_TOKEN=
|
|
755
|
+
DEPLOY_PM2_APP_NAME=omnizap-system-production
|
|
756
|
+
DEPLOY_BACKEND_CACHE_BUST_ENABLED=1
|
|
757
|
+
DEPLOY_BACKEND_BUILD_ID_ENV=OMNIZAP_BUILD_ID
|
|
758
|
+
DEPLOY_BACKEND_BUILD_ID_VALUE=
|
|
759
|
+
OMNIZAP_BUILD_ID=
|
|
760
|
+
DEPLOY_BACKEND_ASSET_VERSION_ENV=STICKER_WEB_ASSET_VERSION
|
|
761
|
+
DEPLOY_BACKEND_ASSET_VERSION_VALUE=
|
|
762
|
+
DEPLOY_RESTART_PM2=1
|
|
763
|
+
DEPLOY_SOURCE_DIR=./public
|
|
764
|
+
SOURCE_DIR=
|
|
765
|
+
DEPLOY_TARGET_DIR=/var/www/omnizap
|
|
766
|
+
DEPLOY_VERIFY_URL=https://omnizap.shop/
|
|
767
|
+
REQUIRE_REFS=1
|
|
768
|
+
TOKEN_KEYS=
|
|
769
|
+
SECURITY_TEST_BASE_URL=http://127.0.0.1:9102
|
|
770
|
+
SECURITY_TEST_REPORT_PATH=./temp/security-smoketest-report.json
|
|
771
|
+
SECURITY_TEST_TIMEOUT_MS=10000
|
|
772
|
+
GH_TOKEN=
|
|
773
|
+
GITHUB_REPOSITORY=Omnizap-System/omnizap
|
|
774
|
+
GITHUB_TOKEN=
|
|
775
|
+
GRAFANA_ADMIN_PASSWORD=admin
|
|
776
|
+
GRAFANA_ADMIN_USER=admin
|
|
777
|
+
GRAFANA_DASHBOARDS_PATH=./observability/grafana/dashboards
|
|
778
|
+
GRAFANA_IMAGE_TAG=10.4.3
|
|
779
|
+
GRAFANA_BIND_HOST=127.0.0.1
|
|
780
|
+
GRAFANA_PORT=3003
|
|
781
|
+
GRAFANA_PROVISIONING_PATH=./observability/grafana/provisioning
|
|
782
|
+
GRAFANA_ROOT_URL=%(protocol)s://%(domain)s:%(http_port)s/
|
|
783
|
+
GRAFANA_TIMEZONE=America/Boa_Vista
|
|
784
|
+
LOKI_CONFIG_PATH=./observability/loki-config.yml
|
|
785
|
+
LOKI_IMAGE_TAG=2.9.4
|
|
786
|
+
LOKI_BIND_HOST=127.0.0.1
|
|
787
|
+
LOKI_PORT=3100
|
|
788
|
+
MYSQL_EXPORTER_CNF_PATH=./observability/mysql-exporter.cnf
|
|
789
|
+
MYSQL_EXPORTER_DSN=exporter:exporter@(host.docker.internal:3306)/
|
|
790
|
+
MYSQL_EXPORTER_IMAGE_TAG=v0.15.1
|
|
791
|
+
MYSQL_EXPORTER_BIND_HOST=127.0.0.1
|
|
792
|
+
MYSQL_EXPORTER_PORT=9104
|
|
793
|
+
MYSQL_LOGS_PATH=/var/lib/mysql
|
|
794
|
+
NODE_AUTH_TOKEN=
|
|
795
|
+
NODE_EXPORTER_IMAGE_TAG=v1.7.0
|
|
796
|
+
NODE_EXPORTER_BIND_HOST=127.0.0.1
|
|
797
|
+
NODE_EXPORTER_PORT=9100
|
|
798
|
+
NPM_TOKEN=
|
|
799
|
+
PROMETHEUS_ALERT_RULES_PATH=./observability/alert-rules.yml
|
|
800
|
+
PROMETHEUS_CONFIG_PATH=./observability/prometheus.yml
|
|
801
|
+
PROMETHEUS_IMAGE_TAG=v2.52.0
|
|
802
|
+
PROMETHEUS_BIND_HOST=127.0.0.1
|
|
803
|
+
PROMETHEUS_PORT=9090
|
|
804
|
+
PROMETHEUS_RETENTION_SIZE=20GB
|
|
805
|
+
PROMETHEUS_RETENTION_TIME=15d
|
|
806
|
+
PROMTAIL_CONFIG_PATH=./observability/promtail-config.yml
|
|
807
|
+
PROMTAIL_IMAGE_TAG=2.9.4
|
|
808
|
+
PROMTAIL_BIND_HOST=127.0.0.1
|
|
809
|
+
PROMTAIL_PORT=9080
|
|
810
|
+
RELEASE_FORCE_VERSION=
|
|
811
|
+
RELEASE_GIT_AUTO_COMMIT=1
|
|
812
|
+
RELEASE_GIT_AUTO_PUSH=1
|
|
813
|
+
RELEASE_GIT_BRANCH=
|
|
814
|
+
RELEASE_GIT_COMMIT_VERSION=1
|
|
815
|
+
RELEASE_GIT_PRE_COMMIT_MESSAGE=chore(release): auto-commit before release
|
|
816
|
+
RELEASE_GIT_REMOTE=origin
|
|
817
|
+
RELEASE_GIT_TAG_ANNOTATED=1
|
|
818
|
+
RELEASE_GIT_TAG_CREATE=1
|
|
819
|
+
RELEASE_GIT_TAG_PUSH=1
|
|
820
|
+
RELEASE_GIT_VERSION_COMMIT_PREFIX=chore(release): v
|
|
821
|
+
RELEASE_GITHUB_DRAFT=0
|
|
822
|
+
RELEASE_GITHUB_GENERATE_NOTES=1
|
|
823
|
+
RELEASE_GITHUB_NAME_PREFIX=v
|
|
824
|
+
RELEASE_GITHUB_PRERELEASE=
|
|
825
|
+
RELEASE_GITHUB_RELEASE=1
|
|
826
|
+
RELEASE_GITHUB_RELEASE_INCLUDE_CHANGED_FILES=1
|
|
827
|
+
RELEASE_GITHUB_RELEASE_MAX_FILES=300
|
|
828
|
+
RELEASE_GITHUB_REPO=Omnizap-System/omnizap
|
|
829
|
+
RELEASE_GITHUB_TAG_PREFIX=v
|
|
830
|
+
RELEASE_GITHUB_TARGET=
|
|
831
|
+
RELEASE_GITHUB_TOKEN=
|
|
832
|
+
RELEASE_PATCH_ROLLOVER_AT=10
|
|
833
|
+
RELEASE_PATCH_ROLLOVER_ENABLED=1
|
|
834
|
+
RELEASE_README_SYNC=1
|
|
835
|
+
RELEASE_README_SYNC_COMMAND=npm run readme:sync-snapshot
|
|
836
|
+
RELEASE_README_SYNC_REQUIRED=0
|
|
837
|
+
RELEASE_WIKI_SYNC=1
|
|
838
|
+
RELEASE_WIKI_SYNC_COMMAND=bash ./scripts/wiki-sync.sh
|
|
839
|
+
RELEASE_WIKI_SYNC_REQUIRED=0
|
|
840
|
+
RELEASE_REQUIRE_DUAL_PUBLISH=1
|
|
841
|
+
RELEASE_REQUIRE_GITHUB_RELEASE=1
|
|
842
|
+
RELEASE_TYPE=patch
|
|
843
|
+
RELEASE_VERIFY_PRIMARY_REGISTRY=https://npm.pkg.github.com
|
|
844
|
+
RELEASE_VERIFY_PRIMARY_TOKEN_KEYS=DEPLOY_PACKAGE_TOKEN,DEPLOY_GITHUB_TOKEN,GITHUB_TOKEN,GH_TOKEN,NPM_TOKEN,NODE_AUTH_TOKEN
|
|
845
|
+
RELEASE_VERIFY_SECONDARY_REGISTRY=https://registry.npmjs.org
|
|
846
|
+
RELEASE_VERIFY_SECONDARY_TOKEN_KEYS=DEPLOY_PACKAGE_SECONDARY_TOKEN,NPM_TOKEN,NODE_AUTH_TOKEN
|
|
847
|
+
RELEASE_VERIFY_UNIFIED_VERSION=1
|
|
848
|
+
WIKI_SYNC_COMMIT_MESSAGE=docs(wiki): sync from docs/wiki
|
|
849
|
+
WIKI_SYNC_DELETE=0
|
|
850
|
+
WIKI_SYNC_GIT_BRANCH=
|
|
851
|
+
WIKI_SYNC_GIT_REMOTE=
|
|
852
|
+
WIKI_SYNC_GITHUB_TOKEN=
|
|
853
|
+
WIKI_SYNC_KEEP_TMP=0
|
|
854
|
+
WIKI_SYNC_ORIGIN_REMOTE=origin
|
|
855
|
+
WIKI_SYNC_PUSH=1
|
|
856
|
+
WIKI_SYNC_SOURCE_DIR=./docs/wiki
|
|
857
|
+
WIKI_SYNC_TMP_DIR=/tmp/omnizap-wiki-sync
|
|
858
|
+
STACK_NAME=omnizap
|
|
859
|
+
|
|
860
|
+
# ==============================
|
|
861
|
+
# EMAIL AUTOMATION (SMTP/OUTBOX)
|
|
862
|
+
# ==============================
|
|
863
|
+
EMAIL_AUTOMATION_ENABLED=true
|
|
864
|
+
EMAIL_AUTOMATION_WORKER_ENABLED=true
|
|
865
|
+
EMAIL_AUTOMATION_POLL_INTERVAL_MS=12000
|
|
866
|
+
EMAIL_AUTOMATION_MAX_PER_TICK=3
|
|
867
|
+
EMAIL_AUTOMATION_RETRY_DELAY_SECONDS=120
|
|
868
|
+
EMAIL_AUTOMATION_IDLE_BACKOFF_MULTIPLIER=1.7
|
|
869
|
+
EMAIL_AUTOMATION_IDLE_MAX_POLL_INTERVAL_MS=96000
|
|
870
|
+
EMAIL_AUTOMATION_IDLE_JITTER_PERCENT=12
|
|
871
|
+
EMAIL_OUTBOX_LOCK_TIMEOUT_SECONDS=900
|
|
872
|
+
EMAIL_AUTOMATION_API_BASE_PATH=/api/email
|
|
873
|
+
EMAIL_AUTOMATION_REQUIRE_API_KEY=true
|
|
874
|
+
EMAIL_AUTOMATION_HEALTH_PUBLIC=false
|
|
875
|
+
EMAIL_AUTOMATION_API_KEY=
|
|
876
|
+
SMTP_HOST=
|
|
877
|
+
SMTP_PORT=465
|
|
878
|
+
SMTP_SECURE=true
|
|
879
|
+
SMTP_USER=
|
|
880
|
+
SMTP_PASS=
|
|
881
|
+
SMTP_FROM=
|
|
882
|
+
SMTP_REPLY_TO=
|
|
883
|
+
EMAIL_HOST=
|
|
884
|
+
EMAIL_PORT=
|
|
885
|
+
EMAIL_SECURE=
|
|
886
|
+
EMAIL_USER=
|
|
887
|
+
EMAIL_PASS=
|
|
888
|
+
EMAIL_FROM=
|
|
889
|
+
EMAIL_REPLY_TO=
|
|
890
|
+
MAIL_HOST=
|
|
891
|
+
MAIL_PORT=
|
|
892
|
+
MAIL_SECURE=
|
|
893
|
+
MAIL_USER=
|
|
894
|
+
MAIL_PASS=
|
|
895
|
+
MAIL_FROM=
|
|
896
|
+
MAIL_REPLY_TO=
|
|
897
|
+
EMAIL_BRAND_NAME=OmniZap
|
|
898
|
+
EMAIL_BRAND_TAGLINE=Automação profissional para WhatsApp.
|
|
899
|
+
EMAIL_BRAND_LOGO_URL=
|
|
900
|
+
EMAIL_BRAND_SUPPORT_URL=https://omnizap.shop/termos-de-uso/
|
|
901
|
+
EMAIL_BRAND_SUPPORT_LABEL=Central de suporte
|
|
902
|
+
EMAIL_BRAND_SUPPORT_PHONE=
|
|
903
|
+
EMAIL_WELCOME_BOT_PHONE=
|
|
904
|
+
EMAIL_DEFAULT_REDIRECT_URL=https://omnizap.shop/user/
|
|
905
|
+
EMAIL_DEFAULT_CTA_URL=https://omnizap.shop/
|
|
906
|
+
EMAIL_TERMS_URL=https://omnizap.shop/termos-de-uso/
|
|
907
|
+
EMAIL_TERMS_BROADCAST_TAG=
|