@hed-hog/core 0.0.387 → 0.0.393
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/README.md +51 -11
- package/dist/access-log/access-log.controller.d.ts.map +1 -1
- package/dist/access-log/access-log.controller.js +1 -1
- package/dist/access-log/access-log.controller.js.map +1 -1
- package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
- package/dist/access-log/access-log.interceptor.js +11 -6
- package/dist/access-log/access-log.interceptor.js.map +1 -1
- package/dist/access-log/access-log.service.d.ts +4 -0
- package/dist/access-log/access-log.service.d.ts.map +1 -1
- package/dist/access-log/access-log.service.js +31 -4
- package/dist/access-log/access-log.service.js.map +1 -1
- package/dist/access-log/dto/query-access-log.dto.d.ts +2 -0
- package/dist/access-log/dto/query-access-log.dto.d.ts.map +1 -1
- package/dist/access-log/dto/query-access-log.dto.js +5 -0
- package/dist/access-log/dto/query-access-log.dto.js.map +1 -1
- package/dist/ai/ai-attachment.fragments.d.ts +23 -0
- package/dist/ai/ai-attachment.fragments.d.ts.map +1 -0
- package/dist/ai/ai-attachment.fragments.js +34 -0
- package/dist/ai/ai-attachment.fragments.js.map +1 -0
- package/dist/ai/ai.controller.d.ts +12 -17
- package/dist/ai/ai.controller.d.ts.map +1 -1
- package/dist/ai/ai.controller.js +17 -2
- package/dist/ai/ai.controller.js.map +1 -1
- package/dist/ai/ai.module.d.ts.map +1 -1
- package/dist/ai/ai.module.js +3 -2
- package/dist/ai/ai.module.js.map +1 -1
- package/dist/ai/ai.prompts.d.ts +16 -0
- package/dist/ai/ai.prompts.d.ts.map +1 -0
- package/dist/ai/ai.prompts.js +37 -0
- package/dist/ai/ai.prompts.js.map +1 -0
- package/dist/ai/ai.service.d.ts +92 -12
- package/dist/ai/ai.service.d.ts.map +1 -1
- package/dist/ai/ai.service.js +309 -88
- package/dist/ai/ai.service.js.map +1 -1
- package/dist/ai/dto/chat.dto.d.ts +4 -1
- package/dist/ai/dto/chat.dto.d.ts.map +1 -1
- package/dist/ai/dto/chat.dto.js +23 -1
- package/dist/ai/dto/chat.dto.js.map +1 -1
- package/dist/ai/dto/create-agent.dto.d.ts +1 -1
- package/dist/ai/dto/create-agent.dto.d.ts.map +1 -1
- package/dist/ai/dto/create-agent.dto.js +1 -1
- package/dist/ai/dto/create-agent.dto.js.map +1 -1
- package/dist/ai/dto/richtext-edit-html.dto.d.ts +5 -0
- package/dist/ai/dto/richtext-edit-html.dto.d.ts.map +1 -0
- package/dist/ai/dto/richtext-edit-html.dto.js +27 -0
- package/dist/ai/dto/richtext-edit-html.dto.js.map +1 -0
- package/dist/ai/dto/update-agent.dto.d.ts +1 -1
- package/dist/ai/dto/update-agent.dto.d.ts.map +1 -1
- package/dist/ai/dto/update-agent.dto.js +1 -1
- package/dist/ai/dto/update-agent.dto.js.map +1 -1
- package/dist/ai/richtext-ai.prompts.d.ts +5 -0
- package/dist/ai/richtext-ai.prompts.d.ts.map +1 -0
- package/dist/ai/richtext-ai.prompts.js +57 -0
- package/dist/ai/richtext-ai.prompts.js.map +1 -0
- package/dist/ai/richtext-ai.service.d.ts +34 -0
- package/dist/ai/richtext-ai.service.d.ts.map +1 -0
- package/dist/ai/richtext-ai.service.js +95 -0
- package/dist/ai/richtext-ai.service.js.map +1 -0
- package/dist/ai-instruction/ai-instruction.controller.d.ts +59 -5
- package/dist/ai-instruction/ai-instruction.controller.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.controller.js +63 -20
- package/dist/ai-instruction/ai-instruction.controller.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.module.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.module.js +13 -2
- package/dist/ai-instruction/ai-instruction.module.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.d.ts +131 -6
- package/dist/ai-instruction/ai-instruction.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.js +533 -60
- package/dist/ai-instruction/ai-instruction.service.js.map +1 -1
- package/dist/ai-instruction/ai-prompt-builder.service.d.ts +8 -0
- package/dist/ai-instruction/ai-prompt-builder.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-prompt-builder.service.js +10 -1
- package/dist/ai-instruction/ai-prompt-builder.service.js.map +1 -1
- package/dist/ai-instruction/ai-prompt-registry.d.ts +45 -0
- package/dist/ai-instruction/ai-prompt-registry.d.ts.map +1 -0
- package/dist/ai-instruction/ai-prompt-registry.js +49 -0
- package/dist/ai-instruction/ai-prompt-registry.js.map +1 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +89 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.js +222 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -0
- package/dist/ai-instruction/ai-prompt-template.util.d.ts +70 -0
- package/dist/ai-instruction/ai-prompt-template.util.d.ts.map +1 -0
- package/dist/ai-instruction/ai-prompt-template.util.js +154 -0
- package/dist/ai-instruction/ai-prompt-template.util.js.map +1 -0
- package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts +5 -0
- package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts.map +1 -1
- package/dist/ai-instruction/dto/create-ai-instruction.dto.js +27 -1
- package/dist/ai-instruction/dto/create-ai-instruction.dto.js.map +1 -1
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts +14 -0
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts.map +1 -0
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.js +42 -0
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.js.map +1 -0
- package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts +11 -0
- package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts.map +1 -1
- package/dist/ai-instruction/dto/update-ai-instruction.dto.js +34 -0
- package/dist/ai-instruction/dto/update-ai-instruction.dto.js.map +1 -1
- package/dist/ai-instruction/types/ai-instruction.types.d.ts +13 -1
- package/dist/ai-instruction/types/ai-instruction.types.d.ts.map +1 -1
- package/dist/ai-instruction/types/ai-instruction.types.js +10 -0
- package/dist/ai-instruction/types/ai-instruction.types.js.map +1 -1
- package/dist/auth/auth.controller.d.ts +89 -15
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +116 -44
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +2 -0
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/auth.service.d.ts +169 -12
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +314 -67
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/dto/confirm-email.dto.d.ts +4 -0
- package/dist/auth/dto/confirm-email.dto.d.ts.map +1 -0
- package/dist/auth/dto/confirm-email.dto.js +22 -0
- package/dist/auth/dto/confirm-email.dto.js.map +1 -0
- package/dist/auth/dto/resend-confirmation.dto.d.ts +8 -0
- package/dist/auth/dto/resend-confirmation.dto.d.ts.map +1 -0
- package/dist/auth/dto/resend-confirmation.dto.js +36 -0
- package/dist/auth/dto/resend-confirmation.dto.js.map +1 -0
- package/dist/authorize/authorize.controller.d.ts +1 -1
- package/dist/authorize/authorize.controller.d.ts.map +1 -1
- package/dist/authorize/authorize.controller.js +4 -2
- package/dist/authorize/authorize.controller.js.map +1 -1
- package/dist/authorize/authorize.service.d.ts +7 -0
- package/dist/authorize/authorize.service.d.ts.map +1 -1
- package/dist/authorize/authorize.service.js +1 -1
- package/dist/authorize/authorize.service.js.map +1 -1
- package/dist/captcha/captcha.module.d.ts +3 -0
- package/dist/captcha/captcha.module.d.ts.map +1 -0
- package/dist/captcha/captcha.module.js +23 -0
- package/dist/captcha/captcha.module.js.map +1 -0
- package/dist/captcha/captcha.service.d.ts +38 -0
- package/dist/captcha/captcha.service.d.ts.map +1 -0
- package/dist/captcha/captcha.service.js +144 -0
- package/dist/captcha/captcha.service.js.map +1 -0
- package/dist/challenge/challenge.service.d.ts +31 -9
- package/dist/challenge/challenge.service.d.ts.map +1 -1
- package/dist/challenge/challenge.service.js +111 -16
- package/dist/challenge/challenge.service.js.map +1 -1
- package/dist/core.module.d.ts +3 -1
- package/dist/core.module.d.ts.map +1 -1
- package/dist/core.module.js +46 -2
- package/dist/core.module.js.map +1 -1
- package/dist/dashboard/dashboard/dashboard.controller.d.ts +21 -21
- package/dist/dashboard/dashboard/dashboard.service.d.ts +21 -21
- package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +10 -10
- package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +10 -10
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +20 -20
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +20 -20
- package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +3 -3
- package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +2 -2
- package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +2 -2
- package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +13 -13
- package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +13 -13
- package/dist/file/file.controller.d.ts +8 -1
- package/dist/file/file.controller.d.ts.map +1 -1
- package/dist/file/file.controller.js +45 -7
- package/dist/file/file.controller.js.map +1 -1
- package/dist/file/file.service.d.ts +134 -1
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +363 -12
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/image-optimization.service.d.ts +43 -0
- package/dist/file/image-optimization.service.d.ts.map +1 -1
- package/dist/file/image-optimization.service.js +154 -0
- package/dist/file/image-optimization.service.js.map +1 -1
- package/dist/file/provider/abstract.provider.d.ts +16 -0
- package/dist/file/provider/abstract.provider.d.ts.map +1 -1
- package/dist/file/provider/abstract.provider.js +4 -0
- package/dist/file/provider/abstract.provider.js.map +1 -1
- package/dist/file/provider/gcs.provider.d.ts +2 -0
- package/dist/file/provider/gcs.provider.d.ts.map +1 -1
- package/dist/file/provider/gcs.provider.js +10 -0
- package/dist/file/provider/gcs.provider.js.map +1 -1
- package/dist/file/provider/local.provider.d.ts +1 -0
- package/dist/file/provider/local.provider.d.ts.map +1 -1
- package/dist/file/provider/local.provider.js +13 -0
- package/dist/file/provider/local.provider.js.map +1 -1
- package/dist/file/provider/s3.provider.d.ts +5 -0
- package/dist/file/provider/s3.provider.d.ts.map +1 -1
- package/dist/file/provider/s3.provider.js +15 -0
- package/dist/file/provider/s3.provider.js.map +1 -1
- package/dist/file/provider/spaces.provider.d.ts +5 -0
- package/dist/file/provider/spaces.provider.d.ts.map +1 -1
- package/dist/file/provider/spaces.provider.js +16 -0
- package/dist/file/provider/spaces.provider.js.map +1 -1
- package/dist/impersonation/dto/redeem-impersonation.dto.d.ts +4 -0
- package/dist/impersonation/dto/redeem-impersonation.dto.d.ts.map +1 -0
- package/dist/impersonation/dto/redeem-impersonation.dto.js +23 -0
- package/dist/impersonation/dto/redeem-impersonation.dto.js.map +1 -0
- package/dist/impersonation/dto/start-impersonation.dto.d.ts +7 -0
- package/dist/impersonation/dto/start-impersonation.dto.d.ts.map +1 -0
- package/dist/impersonation/dto/start-impersonation.dto.js +27 -0
- package/dist/impersonation/dto/start-impersonation.dto.js.map +1 -0
- package/dist/impersonation/impersonation-restrictions.d.ts +26 -0
- package/dist/impersonation/impersonation-restrictions.d.ts.map +1 -0
- package/dist/impersonation/impersonation-restrictions.js +76 -0
- package/dist/impersonation/impersonation-restrictions.js.map +1 -0
- package/dist/impersonation/impersonation.controller.d.ts +90 -0
- package/dist/impersonation/impersonation.controller.d.ts.map +1 -0
- package/dist/impersonation/impersonation.controller.js +135 -0
- package/dist/impersonation/impersonation.controller.js.map +1 -0
- package/dist/impersonation/impersonation.module.d.ts +8 -0
- package/dist/impersonation/impersonation.module.d.ts.map +1 -0
- package/dist/impersonation/impersonation.module.js +44 -0
- package/dist/impersonation/impersonation.module.js.map +1 -0
- package/dist/impersonation/impersonation.service.d.ts +164 -0
- package/dist/impersonation/impersonation.service.d.ts.map +1 -0
- package/dist/impersonation/impersonation.service.js +408 -0
- package/dist/impersonation/impersonation.service.js.map +1 -0
- package/dist/incident/incident-notifier.service.d.ts +36 -0
- package/dist/incident/incident-notifier.service.d.ts.map +1 -0
- package/dist/incident/incident-notifier.service.js +208 -0
- package/dist/incident/incident-notifier.service.js.map +1 -0
- package/dist/incident/incident.controller.d.ts +23 -0
- package/dist/incident/incident.controller.d.ts.map +1 -0
- package/dist/incident/incident.controller.js +75 -0
- package/dist/incident/incident.controller.js.map +1 -0
- package/dist/incident/incident.module.d.ts +7 -0
- package/dist/incident/incident.module.d.ts.map +1 -0
- package/dist/incident/incident.module.js +32 -0
- package/dist/incident/incident.module.js.map +1 -0
- package/dist/incident/incident.service.d.ts +72 -0
- package/dist/incident/incident.service.d.ts.map +1 -0
- package/dist/incident/incident.service.js +184 -0
- package/dist/incident/incident.service.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -1
- package/dist/integration/services/outbox-polling.coordinator.d.ts +2 -0
- package/dist/integration/services/outbox-polling.coordinator.d.ts.map +1 -1
- package/dist/integration/services/outbox-polling.coordinator.js +50 -30
- package/dist/integration/services/outbox-polling.coordinator.js.map +1 -1
- package/dist/integration/services/outbox.service.d.ts.map +1 -1
- package/dist/integration/services/outbox.service.js +5 -1
- package/dist/integration/services/outbox.service.js.map +1 -1
- package/dist/integration-profile/dto/test.dto.d.ts +13 -0
- package/dist/integration-profile/dto/test.dto.d.ts.map +1 -0
- package/dist/integration-profile/dto/test.dto.js +26 -0
- package/dist/integration-profile/dto/test.dto.js.map +1 -0
- package/dist/integration-profile/integration-profile.controller.d.ts +12 -1
- package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.controller.js +9 -1
- package/dist/integration-profile/integration-profile.controller.js.map +1 -1
- package/dist/integration-profile/integration-profile.module.d.ts +6 -1
- package/dist/integration-profile/integration-profile.module.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.module.js +26 -3
- package/dist/integration-profile/integration-profile.module.js.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.js +12 -1
- package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
- package/dist/integration-profile/integration-profile.service.d.ts +26 -7
- package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.service.js +94 -91
- package/dist/integration-profile/integration-profile.service.js.map +1 -1
- package/dist/integration-profile/integration-profile.utils.d.ts +27 -1
- package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.utils.js +46 -5
- package/dist/integration-profile/integration-profile.utils.js.map +1 -1
- package/dist/integration-profile/testers/ai.testers.d.ts +3 -0
- package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/ai.testers.js +125 -0
- package/dist/integration-profile/testers/ai.testers.js.map +1 -0
- package/dist/integration-profile/testers/captcha.testers.d.ts +3 -0
- package/dist/integration-profile/testers/captcha.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/captcha.testers.js +121 -0
- package/dist/integration-profile/testers/captcha.testers.js.map +1 -0
- package/dist/integration-profile/testers/email.testers.d.ts +3 -0
- package/dist/integration-profile/testers/email.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/email.testers.js +156 -0
- package/dist/integration-profile/testers/email.testers.js.map +1 -0
- package/dist/integration-profile/testers/http-probe.d.ts +57 -0
- package/dist/integration-profile/testers/http-probe.d.ts.map +1 -0
- package/dist/integration-profile/testers/http-probe.js +140 -0
- package/dist/integration-profile/testers/http-probe.js.map +1 -0
- package/dist/integration-profile/testers/index.d.ts +12 -0
- package/dist/integration-profile/testers/index.d.ts.map +1 -0
- package/dist/integration-profile/testers/index.js +45 -0
- package/dist/integration-profile/testers/index.js.map +1 -0
- package/dist/integration-profile/testers/infrastructure.testers.d.ts +3 -0
- package/dist/integration-profile/testers/infrastructure.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/infrastructure.testers.js +105 -0
- package/dist/integration-profile/testers/infrastructure.testers.js.map +1 -0
- package/dist/integration-profile/testers/integration-tester.registry.d.ts +17 -0
- package/dist/integration-profile/testers/integration-tester.registry.d.ts.map +1 -0
- package/dist/integration-profile/testers/integration-tester.registry.js +52 -0
- package/dist/integration-profile/testers/integration-tester.registry.js.map +1 -0
- package/dist/integration-profile/testers/integration-tester.types.d.ts +55 -0
- package/dist/integration-profile/testers/integration-tester.types.d.ts.map +1 -0
- package/dist/integration-profile/testers/integration-tester.types.js +16 -0
- package/dist/integration-profile/testers/integration-tester.types.js.map +1 -0
- package/dist/integration-profile/testers/messaging.testers.d.ts +3 -0
- package/dist/integration-profile/testers/messaging.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/messaging.testers.js +70 -0
- package/dist/integration-profile/testers/messaging.testers.js.map +1 -0
- package/dist/integration-profile/testers/oauth.testers.d.ts +3 -0
- package/dist/integration-profile/testers/oauth.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/oauth.testers.js +285 -0
- package/dist/integration-profile/testers/oauth.testers.js.map +1 -0
- package/dist/integration-profile/testers/payment.testers.d.ts +3 -0
- package/dist/integration-profile/testers/payment.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/payment.testers.js +169 -0
- package/dist/integration-profile/testers/payment.testers.js.map +1 -0
- package/dist/integration-profile/testers/storage.testers.d.ts +3 -0
- package/dist/integration-profile/testers/storage.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/storage.testers.js +208 -0
- package/dist/integration-profile/testers/storage.testers.js.map +1 -0
- package/dist/language/en.json +15 -2
- package/dist/language/pt.json +15 -2
- package/dist/leaked-password/leaked-password.controller.d.ts +24 -0
- package/dist/leaked-password/leaked-password.controller.d.ts.map +1 -0
- package/dist/leaked-password/leaked-password.controller.js +78 -0
- package/dist/leaked-password/leaked-password.controller.js.map +1 -0
- package/dist/leaked-password/leaked-password.module.d.ts +8 -0
- package/dist/leaked-password/leaked-password.module.d.ts.map +1 -0
- package/dist/leaked-password/leaked-password.module.js +31 -0
- package/dist/leaked-password/leaked-password.module.js.map +1 -0
- package/dist/leaked-password/leaked-password.service.d.ts +64 -0
- package/dist/leaked-password/leaked-password.service.d.ts.map +1 -0
- package/dist/leaked-password/leaked-password.service.js +218 -0
- package/dist/leaked-password/leaked-password.service.js.map +1 -0
- package/dist/locale/locale.controller.d.ts +1 -1
- package/dist/locale/locale.service.d.ts +1 -1
- package/dist/mail/dto/preview.dto.d.ts +18 -0
- package/dist/mail/dto/preview.dto.d.ts.map +1 -0
- package/dist/mail/dto/preview.dto.js +66 -0
- package/dist/mail/dto/preview.dto.js.map +1 -0
- package/dist/mail/dto/send.dto.d.ts +44 -0
- package/dist/mail/dto/send.dto.d.ts.map +1 -1
- package/dist/mail/dto/send.dto.js +20 -0
- package/dist/mail/dto/send.dto.js.map +1 -1
- package/dist/mail/mail.controller.d.ts +5 -0
- package/dist/mail/mail.controller.d.ts.map +1 -1
- package/dist/mail/mail.controller.js +16 -2
- package/dist/mail/mail.controller.js.map +1 -1
- package/dist/mail/mail.module.d.ts.map +1 -1
- package/dist/mail/mail.module.js +2 -0
- package/dist/mail/mail.module.js.map +1 -1
- package/dist/mail/mail.service.d.ts +69 -4
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +278 -37
- package/dist/mail/mail.service.js.map +1 -1
- package/dist/mail-delivery/mail-delivery-provision.service.d.ts +21 -0
- package/dist/mail-delivery/mail-delivery-provision.service.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery-provision.service.js +64 -0
- package/dist/mail-delivery/mail-delivery-provision.service.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.constants.d.ts +17 -0
- package/dist/mail-delivery/mail-delivery.constants.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.constants.js +31 -0
- package/dist/mail-delivery/mail-delivery.constants.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.controller.d.ts +19 -0
- package/dist/mail-delivery/mail-delivery.controller.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.controller.js +53 -0
- package/dist/mail-delivery/mail-delivery.controller.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.module.d.ts +7 -0
- package/dist/mail-delivery/mail-delivery.module.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.module.js +36 -0
- package/dist/mail-delivery/mail-delivery.module.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.service.d.ts +38 -0
- package/dist/mail-delivery/mail-delivery.service.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.service.js +140 -0
- package/dist/mail-delivery/mail-delivery.service.js.map +1 -0
- package/dist/mail-delivery/ses-event.parser.d.ts +27 -0
- package/dist/mail-delivery/ses-event.parser.d.ts.map +1 -0
- package/dist/mail-delivery/ses-event.parser.js +131 -0
- package/dist/mail-delivery/ses-event.parser.js.map +1 -0
- package/dist/mail-delivery/ses-webhook.service.d.ts +58 -0
- package/dist/mail-delivery/ses-webhook.service.d.ts.map +1 -0
- package/dist/mail-delivery/ses-webhook.service.js +214 -0
- package/dist/mail-delivery/ses-webhook.service.js.map +1 -0
- package/dist/mail-delivery/sns-message.util.d.ts +38 -0
- package/dist/mail-delivery/sns-message.util.d.ts.map +1 -0
- package/dist/mail-delivery/sns-message.util.js +109 -0
- package/dist/mail-delivery/sns-message.util.js.map +1 -0
- package/dist/mail-layout/dto/update.dto.d.ts +17 -0
- package/dist/mail-layout/dto/update.dto.d.ts.map +1 -0
- package/dist/mail-layout/dto/update.dto.js +27 -0
- package/dist/mail-layout/dto/update.dto.js.map +1 -0
- package/dist/mail-layout/mail-layout.controller.d.ts +15 -0
- package/dist/mail-layout/mail-layout.controller.d.ts.map +1 -0
- package/dist/mail-layout/mail-layout.controller.js +71 -0
- package/dist/mail-layout/mail-layout.controller.js.map +1 -0
- package/dist/mail-layout/mail-layout.module.d.ts +3 -0
- package/dist/mail-layout/mail-layout.module.d.ts.map +1 -0
- package/dist/mail-layout/mail-layout.module.js +35 -0
- package/dist/mail-layout/mail-layout.module.js.map +1 -0
- package/dist/mail-layout/mail-layout.service.d.ts +27 -0
- package/dist/mail-layout/mail-layout.service.d.ts.map +1 -0
- package/dist/mail-layout/mail-layout.service.js +80 -0
- package/dist/mail-layout/mail-layout.service.js.map +1 -0
- package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts +5 -0
- package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts.map +1 -1
- package/dist/mail-sent/dto/query-mail-sent-list.dto.js +6 -0
- package/dist/mail-sent/dto/query-mail-sent-list.dto.js.map +1 -1
- package/dist/mail-sent/mail-sent.controller.d.ts +39 -0
- package/dist/mail-sent/mail-sent.controller.d.ts.map +1 -1
- package/dist/mail-sent/mail-sent.service.d.ts +39 -0
- package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
- package/dist/mail-sent/mail-sent.service.js +45 -4
- package/dist/mail-sent/mail-sent.service.js.map +1 -1
- package/dist/mailbox/mailbox-fetcher.registry.d.ts +100 -0
- package/dist/mailbox/mailbox-fetcher.registry.d.ts.map +1 -0
- package/dist/mailbox/mailbox-fetcher.registry.js +59 -0
- package/dist/mailbox/mailbox-fetcher.registry.js.map +1 -0
- package/dist/mailbox/mailbox.module.d.ts +8 -0
- package/dist/mailbox/mailbox.module.d.ts.map +1 -0
- package/dist/mailbox/mailbox.module.js +27 -0
- package/dist/mailbox/mailbox.module.js.map +1 -0
- package/dist/mcp-chat/mcp-chat.controller.d.ts +2 -2
- package/dist/mcp-chat/mcp-chat.service.d.ts +24 -2
- package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.js +80 -24
- package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
- package/dist/meeting/meeting-provider.registry.d.ts +155 -0
- package/dist/meeting/meeting-provider.registry.d.ts.map +1 -0
- package/dist/meeting/meeting-provider.registry.js +53 -0
- package/dist/meeting/meeting-provider.registry.js.map +1 -0
- package/dist/meeting/meeting.constants.d.ts +47 -0
- package/dist/meeting/meeting.constants.d.ts.map +1 -0
- package/dist/meeting/meeting.constants.js +21 -0
- package/dist/meeting/meeting.constants.js.map +1 -0
- package/dist/meeting/meeting.module.d.ts +7 -0
- package/dist/meeting/meeting.module.d.ts.map +1 -0
- package/dist/meeting/meeting.module.js +26 -0
- package/dist/meeting/meeting.module.js.map +1 -0
- package/dist/menu/menu.controller.d.ts +3 -3
- package/dist/menu/menu.service.d.ts +3 -3
- package/dist/middlewares/locale-injection.middleware.d.ts +12 -0
- package/dist/middlewares/locale-injection.middleware.d.ts.map +1 -1
- package/dist/middlewares/locale-injection.middleware.js +20 -4
- package/dist/middlewares/locale-injection.middleware.js.map +1 -1
- package/dist/notification/notification.controller.d.ts +12 -12
- package/dist/notification/notification.service.d.ts +12 -12
- package/dist/oauth/oauth-token-broker.service.d.ts +72 -0
- package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -0
- package/dist/oauth/oauth-token-broker.service.js +258 -0
- package/dist/oauth/oauth-token-broker.service.js.map +1 -0
- package/dist/oauth/oauth.module.d.ts.map +1 -1
- package/dist/oauth/oauth.module.js +3 -1
- package/dist/oauth/oauth.module.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +2 -0
- package/dist/oauth/oauth.service.d.ts.map +1 -1
- package/dist/oauth/oauth.service.js +6 -3
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/oauth/providers/google.provider.d.ts +7 -0
- package/dist/oauth/providers/google.provider.d.ts.map +1 -1
- package/dist/oauth/providers/google.provider.js +43 -13
- package/dist/oauth/providers/google.provider.js.map +1 -1
- package/dist/observability/monitored-cron.d.ts +34 -0
- package/dist/observability/monitored-cron.d.ts.map +1 -0
- package/dist/observability/monitored-cron.js +118 -0
- package/dist/observability/monitored-cron.js.map +1 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts +12 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.js +30 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/claim-pairing.dto.d.ts +11 -0
- package/dist/pairing/dto/claim-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/claim-pairing.dto.js +35 -0
- package/dist/pairing/dto/claim-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/confirm-pairing.dto.d.ts +10 -0
- package/dist/pairing/dto/confirm-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/confirm-pairing.dto.js +24 -0
- package/dist/pairing/dto/confirm-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts +5 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.js +24 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/start-pairing.dto.d.ts +11 -0
- package/dist/pairing/dto/start-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/start-pairing.dto.js +30 -0
- package/dist/pairing/dto/start-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.d.ts +24 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.js +47 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.js.map +1 -0
- package/dist/pairing/pairing.controller.d.ts +118 -0
- package/dist/pairing/pairing.controller.d.ts.map +1 -0
- package/dist/pairing/pairing.controller.js +296 -0
- package/dist/pairing/pairing.controller.js.map +1 -0
- package/dist/pairing/pairing.module.d.ts +10 -0
- package/dist/pairing/pairing.module.d.ts.map +1 -0
- package/dist/pairing/pairing.module.js +40 -0
- package/dist/pairing/pairing.module.js.map +1 -0
- package/dist/pairing/pairing.service.d.ts +238 -0
- package/dist/pairing/pairing.service.d.ts.map +1 -0
- package/dist/pairing/pairing.service.js +495 -0
- package/dist/pairing/pairing.service.js.map +1 -0
- package/dist/pdf/pdf.service.d.ts +11 -6
- package/dist/pdf/pdf.service.d.ts.map +1 -1
- package/dist/pdf/pdf.service.js +60 -20
- package/dist/pdf/pdf.service.js.map +1 -1
- package/dist/presence/presence.controller.d.ts +16 -0
- package/dist/presence/presence.controller.d.ts.map +1 -0
- package/dist/presence/presence.controller.js +60 -0
- package/dist/presence/presence.controller.js.map +1 -0
- package/dist/presence/presence.listener.d.ts +29 -0
- package/dist/presence/presence.listener.d.ts.map +1 -0
- package/dist/presence/presence.listener.js +82 -0
- package/dist/presence/presence.listener.js.map +1 -0
- package/dist/presence/presence.module.d.ts +3 -0
- package/dist/presence/presence.module.d.ts.map +1 -0
- package/dist/presence/presence.module.js +32 -0
- package/dist/presence/presence.module.js.map +1 -0
- package/dist/presence/presence.service.d.ts +42 -0
- package/dist/presence/presence.service.d.ts.map +1 -0
- package/dist/presence/presence.service.js +147 -0
- package/dist/presence/presence.service.js.map +1 -0
- package/dist/profile/dto/delete-account.dto.d.ts +8 -0
- package/dist/profile/dto/delete-account.dto.d.ts.map +1 -0
- package/dist/profile/dto/delete-account.dto.js +22 -0
- package/dist/profile/dto/delete-account.dto.js.map +1 -0
- package/dist/profile/events/profile-account-deleted.event.d.ts +12 -0
- package/dist/profile/events/profile-account-deleted.event.d.ts.map +1 -0
- package/dist/profile/events/profile-account-deleted.event.js +17 -0
- package/dist/profile/events/profile-account-deleted.event.js.map +1 -0
- package/dist/profile/profile.controller.d.ts +32 -15
- package/dist/profile/profile.controller.d.ts.map +1 -1
- package/dist/profile/profile.controller.js +75 -46
- package/dist/profile/profile.controller.js.map +1 -1
- package/dist/profile/profile.service.d.ts +41 -18
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +133 -48
- package/dist/profile/profile.service.js.map +1 -1
- package/dist/realtime/realtime.gateway.d.ts +48 -0
- package/dist/realtime/realtime.gateway.d.ts.map +1 -0
- package/dist/realtime/realtime.gateway.js +156 -0
- package/dist/realtime/realtime.gateway.js.map +1 -0
- package/dist/realtime/realtime.module.d.ts +8 -0
- package/dist/realtime/realtime.module.d.ts.map +1 -0
- package/dist/realtime/realtime.module.js +29 -0
- package/dist/realtime/realtime.module.js.map +1 -0
- package/dist/realtime/realtime.service.d.ts +51 -0
- package/dist/realtime/realtime.service.d.ts.map +1 -0
- package/dist/realtime/realtime.service.js +177 -0
- package/dist/realtime/realtime.service.js.map +1 -0
- package/dist/redis/redis-pubsub.d.ts +27 -0
- package/dist/redis/redis-pubsub.d.ts.map +1 -0
- package/dist/redis/redis-pubsub.js +184 -0
- package/dist/redis/redis-pubsub.js.map +1 -0
- package/dist/role/guards/role.guard.d.ts +5 -0
- package/dist/role/guards/role.guard.d.ts.map +1 -1
- package/dist/role/guards/role.guard.js +41 -39
- package/dist/role/guards/role.guard.js.map +1 -1
- package/dist/role/role.controller.d.ts +3 -3
- package/dist/role/role.service.d.ts +3 -3
- package/dist/session/session.controller.d.ts +2 -0
- package/dist/session/session.controller.d.ts.map +1 -1
- package/dist/session/session.service.d.ts +39 -0
- package/dist/session/session.service.d.ts.map +1 -1
- package/dist/session/session.service.js +91 -8
- package/dist/session/session.service.js.map +1 -1
- package/dist/setting/brand-asset.service.d.ts +48 -0
- package/dist/setting/brand-asset.service.d.ts.map +1 -0
- package/dist/setting/brand-asset.service.js +130 -0
- package/dist/setting/brand-asset.service.js.map +1 -0
- package/dist/setting/dto/create.dto.d.ts.map +1 -1
- package/dist/setting/dto/create.dto.js +9 -2
- package/dist/setting/dto/create.dto.js.map +1 -1
- package/dist/setting/setting.controller.d.ts +5 -5
- package/dist/setting/setting.module.d.ts.map +1 -1
- package/dist/setting/setting.module.js +3 -2
- package/dist/setting/setting.module.js.map +1 -1
- package/dist/setting/setting.service.d.ts +41 -5
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +113 -1
- package/dist/setting/setting.service.js.map +1 -1
- package/dist/token/token.service.d.ts +23 -2
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +39 -4
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/dto/create-with-email-and-password.dto.d.ts +2 -0
- package/dist/user/dto/create-with-email-and-password.dto.d.ts.map +1 -1
- package/dist/user/dto/create-with-email-and-password.dto.js +5 -0
- package/dist/user/dto/create-with-email-and-password.dto.js.map +1 -1
- package/dist/user/dto/query-user-mail-list.dto.d.ts +5 -0
- package/dist/user/dto/query-user-mail-list.dto.d.ts.map +1 -0
- package/dist/user/dto/query-user-mail-list.dto.js +25 -0
- package/dist/user/dto/query-user-mail-list.dto.js.map +1 -0
- package/dist/user/user-credential.util.d.ts +19 -0
- package/dist/user/user-credential.util.d.ts.map +1 -0
- package/dist/user/user-credential.util.js +32 -0
- package/dist/user/user-credential.util.js.map +1 -0
- package/dist/user/user.controller.d.ts +24 -26
- package/dist/user/user.controller.d.ts.map +1 -1
- package/dist/user/user.controller.js +18 -3
- package/dist/user/user.controller.js.map +1 -1
- package/dist/user/user.service.d.ts +71 -29
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +291 -17
- package/dist/user/user.service.js.map +1 -1
- package/dist/user-device/user-device.controller.d.ts +54 -0
- package/dist/user-device/user-device.controller.d.ts.map +1 -0
- package/dist/user-device/user-device.controller.js +103 -0
- package/dist/user-device/user-device.controller.js.map +1 -0
- package/dist/user-device/user-device.module.d.ts +3 -0
- package/dist/user-device/user-device.module.d.ts.map +1 -0
- package/dist/user-device/user-device.module.js +26 -0
- package/dist/user-device/user-device.module.js.map +1 -0
- package/dist/user-device/user-device.service.d.ts +71 -0
- package/dist/user-device/user-device.service.d.ts.map +1 -0
- package/dist/user-device/user-device.service.js +158 -0
- package/dist/user-device/user-device.service.js.map +1 -0
- package/dist/utils/device-key.d.ts +23 -0
- package/dist/utils/device-key.d.ts.map +1 -0
- package/dist/utils/device-key.js +31 -0
- package/dist/utils/device-key.js.map +1 -0
- package/dist/utils/geo-ip.d.ts +38 -0
- package/dist/utils/geo-ip.d.ts.map +1 -0
- package/dist/utils/geo-ip.js +122 -0
- package/dist/utils/geo-ip.js.map +1 -0
- package/dist/utils/locale-context.d.ts +10 -7
- package/dist/utils/locale-context.d.ts.map +1 -1
- package/dist/utils/locale-context.js +14 -8
- package/dist/utils/locale-context.js.map +1 -1
- package/dist/utils/security-event-vars.d.ts +56 -0
- package/dist/utils/security-event-vars.d.ts.map +1 -0
- package/dist/utils/security-event-vars.js +109 -0
- package/dist/utils/security-event-vars.js.map +1 -0
- package/dist/utils/user-agent.d.ts +19 -0
- package/dist/utils/user-agent.d.ts.map +1 -0
- package/dist/utils/user-agent.js +36 -0
- package/dist/utils/user-agent.js.map +1 -0
- package/dist/validators/is-strong-password-with-settings.validator.d.ts.map +1 -1
- package/dist/validators/is-strong-password-with-settings.validator.js +11 -0
- package/dist/validators/is-strong-password-with-settings.validator.js.map +1 -1
- package/dist/validators/service-locator.d.ts +9 -0
- package/dist/validators/service-locator.d.ts.map +1 -1
- package/dist/validators/service-locator.js +12 -0
- package/dist/validators/service-locator.js.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.d.ts +5 -0
- package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.js +50 -4
- package/dist/webhook-integration/webhook-integration.service.js.map +1 -1
- package/dist/webhook-integration/webhook-protocol.registry.d.ts +6 -0
- package/dist/webhook-integration/webhook-protocol.registry.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-protocol.registry.js.map +1 -1
- package/dist/whatsapp-sender/whatsapp-sender.module.d.ts +3 -0
- package/dist/whatsapp-sender/whatsapp-sender.module.d.ts.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.module.js +23 -0
- package/dist/whatsapp-sender/whatsapp-sender.module.js.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +50 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.js +224 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -0
- package/hedhog/data/integration_provider.yaml +25 -0
- package/hedhog/data/mail.yaml +275 -112
- package/hedhog/data/mail_layout.yaml +198 -0
- package/hedhog/data/menu.yaml +69 -3
- package/hedhog/data/role.yaml +16 -0
- package/hedhog/data/route.yaml +307 -3
- package/hedhog/data/setting_group.yaml +315 -1
- package/hedhog/data/setting_subgroup.yaml +8 -0
- package/hedhog/frontend/app/_lib/hooks/use-core-access.test.tsx.ejs +125 -0
- package/hedhog/frontend/app/_lib/hooks/use-core-access.ts.ejs +29 -0
- package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.test.ts.ejs +71 -0
- package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.ts.ejs +32 -0
- package/hedhog/frontend/app/access-log/page.tsx.ejs +96 -22
- package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +17 -1
- package/hedhog/frontend/app/account/components/known-devices.tsx.ejs +89 -0
- package/hedhog/frontend/app/account/components/mfa-setup-dialog.tsx.ejs +36 -0
- package/hedhog/frontend/app/account/components/profile-form.tsx.ejs +2 -1
- package/hedhog/frontend/app/account/components/two-factor-auth.tsx.ejs +2 -0
- package/hedhog/frontend/app/account/components/user-devices-list.tsx.ejs +186 -0
- package/hedhog/frontend/app/account/devices/page.tsx.ejs +5 -0
- package/hedhog/frontend/app/account/hooks/use-mfa-setup.ts.ejs +10 -7
- package/hedhog/frontend/app/account/layout.tsx.ejs +2 -0
- package/hedhog/frontend/app/ai_agent/page.tsx.ejs +7 -4
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-form.tsx.ejs +580 -0
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-preview.tsx.ejs +150 -0
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-versions.tsx.ejs +199 -0
- package/hedhog/frontend/app/ai_instruction/_components/prompt-diff.tsx.ejs +63 -0
- package/hedhog/frontend/app/ai_instruction/_lib/line-diff.spec.ts.ejs +59 -0
- package/hedhog/frontend/app/ai_instruction/_lib/line-diff.ts.ejs +72 -0
- package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.spec.ts.ejs +170 -0
- package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.ts.ejs +167 -0
- package/hedhog/frontend/app/ai_instruction/_lib/types.ts.ejs +99 -0
- package/hedhog/frontend/app/ai_instruction/page.tsx.ejs +422 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +298 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +410 -1223
- package/hedhog/frontend/app/incidents/page.tsx.ejs +400 -0
- package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +153 -84
- package/hedhog/frontend/app/mail/layout/page.tsx.ejs +344 -0
- package/hedhog/frontend/app/mail/log/page.tsx.ejs +210 -3
- package/hedhog/frontend/app/mail/template/page.tsx.ejs +292 -200
- package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +129 -17
- package/hedhog/frontend/app/pages/_components/page-delete-dialog.tsx.ejs +343 -0
- package/hedhog/frontend/app/pages/_components/page-detail-sheet.tsx.ejs +438 -0
- package/hedhog/frontend/app/pages/_components/page-wizard-sheet.tsx.ejs +1009 -0
- package/hedhog/frontend/app/pages/_components/system-page-types.ts.ejs +56 -0
- package/hedhog/frontend/app/pages/_components/use-system-pages.ts.ejs +171 -0
- package/hedhog/frontend/app/pages/page.tsx.ejs +514 -0
- package/hedhog/frontend/app/users/active-session.tsx.ejs +58 -11
- package/hedhog/frontend/app/users/page.tsx.ejs +186 -21
- package/hedhog/frontend/app/users/simulate-access-dialog.test.tsx.ejs +202 -0
- package/hedhog/frontend/app/users/simulate-access-dialog.tsx.ejs +170 -0
- package/hedhog/frontend/app/users/user-activity-timeline.tsx.ejs +250 -0
- package/hedhog/frontend/app/users/user-devices.tsx.ejs +89 -0
- package/hedhog/frontend/app/users/user-logs.tsx.ejs +13 -1
- package/hedhog/frontend/app/users/user-mails.tsx.ejs +399 -0
- package/hedhog/frontend/app/users/user-sheet.tsx.ejs +106 -99
- package/hedhog/frontend/messages/en.json +643 -49
- package/hedhog/frontend/messages/pt.json +643 -49
- package/hedhog/table/access_log.yaml +7 -0
- package/hedhog/table/ai_agent.yaml +1 -0
- package/hedhog/table/ai_instruction.yaml +15 -0
- package/hedhog/table/file.yaml +8 -0
- package/hedhog/table/leaked_password.yaml +18 -0
- package/hedhog/table/mail_delivery_event.yaml +76 -0
- package/hedhog/table/mail_layout.yaml +35 -0
- package/hedhog/table/mail_sent.yaml +23 -0
- package/hedhog/table/mail_var.yaml +4 -0
- package/hedhog/table/setting.yaml +1 -0
- package/hedhog/table/system_incident.yaml +59 -0
- package/hedhog/table/user_activity.yaml +9 -0
- package/hedhog/table/user_device.yaml +52 -0
- package/hedhog/table/user_presence.yaml +36 -0
- package/hedhog/table/user_session.yaml +20 -1
- package/package.json +7 -2
- package/src/access-log/access-log.controller.ts +1 -0
- package/src/access-log/access-log.interceptor.ts +9 -3
- package/src/access-log/access-log.service.spec.ts +33 -2
- package/src/access-log/access-log.service.ts +38 -0
- package/src/access-log/dto/query-access-log.dto.ts +5 -0
- package/src/ai/ai-attachment.fragments.spec.ts +319 -0
- package/src/ai/ai-attachment.fragments.ts +35 -0
- package/src/ai/ai.controller.ts +9 -0
- package/src/ai/ai.module.ts +3 -2
- package/src/ai/ai.prompts.ts +38 -0
- package/src/ai/ai.service.spec.ts +280 -0
- package/src/ai/ai.service.ts +475 -82
- package/src/ai/dto/chat.dto.ts +33 -3
- package/src/ai/dto/create-agent.dto.ts +2 -2
- package/src/ai/dto/richtext-edit-html.dto.ts +11 -0
- package/src/ai/dto/update-agent.dto.ts +2 -2
- package/src/ai/richtext-ai.prompts.ts +57 -0
- package/src/ai/richtext-ai.service.ts +109 -0
- package/src/ai-instruction/ai-instruction.controller.ts +40 -9
- package/src/ai-instruction/ai-instruction.module.ts +13 -2
- package/src/ai-instruction/ai-instruction.service.spec.ts +658 -0
- package/src/ai-instruction/ai-instruction.service.ts +661 -62
- package/src/ai-instruction/ai-prompt-builder.service.ts +10 -1
- package/src/ai-instruction/ai-prompt-registry.ts +87 -0
- package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +375 -0
- package/src/ai-instruction/ai-prompt-resolver.service.ts +295 -0
- package/src/ai-instruction/ai-prompt-template.util.spec.ts +162 -0
- package/src/ai-instruction/ai-prompt-template.util.ts +199 -0
- package/src/ai-instruction/dto/create-ai-instruction.dto.ts +39 -3
- package/src/ai-instruction/dto/preview-ai-instruction.dto.ts +26 -0
- package/src/ai-instruction/dto/update-ai-instruction.dto.ts +42 -1
- package/src/ai-instruction/types/ai-instruction.types.ts +24 -1
- package/src/auth/auth.controller.ts +78 -13
- package/src/auth/auth.module.ts +2 -0
- package/src/auth/auth.service.spec.ts +386 -7
- package/src/auth/auth.service.ts +435 -81
- package/src/auth/dto/confirm-email.dto.ts +7 -0
- package/src/auth/dto/resend-confirmation.dto.ts +20 -0
- package/src/authorize/authorize.controller.ts +2 -0
- package/src/authorize/authorize.service.spec.ts +23 -0
- package/src/authorize/authorize.service.ts +8 -0
- package/src/captcha/captcha.module.ts +10 -0
- package/src/captcha/captcha.service.spec.ts +210 -0
- package/src/captcha/captcha.service.ts +191 -0
- package/src/challenge/challenge.service.spec.ts +112 -4
- package/src/challenge/challenge.service.ts +131 -17
- package/src/core.module.ts +46 -1
- package/src/file/file.controller.ts +54 -4
- package/src/file/file.service.spec.ts +275 -0
- package/src/file/file.service.ts +468 -16
- package/src/file/image-optimization.service.spec.ts +92 -0
- package/src/file/image-optimization.service.ts +202 -0
- package/src/file/provider/abstract.provider.ts +23 -0
- package/src/file/provider/gcs.provider.ts +17 -0
- package/src/file/provider/local.provider.ts +21 -0
- package/src/file/provider/s3.provider.ts +25 -0
- package/src/file/provider/spaces.provider.ts +26 -0
- package/src/impersonation/dto/redeem-impersonation.dto.ts +8 -0
- package/src/impersonation/dto/start-impersonation.dto.ts +13 -0
- package/src/impersonation/impersonation-restrictions.ts +84 -0
- package/src/impersonation/impersonation.controller.ts +109 -0
- package/src/impersonation/impersonation.module.ts +31 -0
- package/src/impersonation/impersonation.service.spec.ts +427 -0
- package/src/impersonation/impersonation.service.ts +577 -0
- package/src/incident/incident-notifier.service.spec.ts +205 -0
- package/src/incident/incident-notifier.service.ts +241 -0
- package/src/incident/incident.controller.ts +38 -0
- package/src/incident/incident.module.ts +19 -0
- package/src/incident/incident.service.spec.ts +150 -0
- package/src/incident/incident.service.ts +209 -0
- package/src/index.ts +58 -0
- package/src/integration/services/outbox-polling.coordinator.spec.ts +90 -0
- package/src/integration/services/outbox-polling.coordinator.ts +62 -40
- package/src/integration/services/outbox.service.spec.ts +8 -0
- package/src/integration/services/outbox.service.ts +19 -13
- package/src/integration-profile/dto/test.dto.ts +19 -0
- package/src/integration-profile/integration-profile.controller.ts +10 -1
- package/src/integration-profile/integration-profile.module.spec.ts +51 -0
- package/src/integration-profile/integration-profile.module.ts +23 -4
- package/src/integration-profile/integration-profile.secrets.ts +12 -1
- package/src/integration-profile/integration-profile.service.spec.ts +279 -0
- package/src/integration-profile/integration-profile.service.ts +120 -124
- package/src/integration-profile/integration-profile.utils.spec.ts +22 -0
- package/src/integration-profile/integration-profile.utils.ts +78 -3
- package/src/integration-profile/testers/ai.testers.ts +165 -0
- package/src/integration-profile/testers/captcha.testers.spec.ts +92 -0
- package/src/integration-profile/testers/captcha.testers.ts +139 -0
- package/src/integration-profile/testers/email.testers.ts +194 -0
- package/src/integration-profile/testers/http-probe.spec.ts +153 -0
- package/src/integration-profile/testers/http-probe.ts +171 -0
- package/src/integration-profile/testers/index.ts +30 -0
- package/src/integration-profile/testers/infrastructure.testers.ts +122 -0
- package/src/integration-profile/testers/integration-tester.registry.spec.ts +75 -0
- package/src/integration-profile/testers/integration-tester.registry.ts +43 -0
- package/src/integration-profile/testers/integration-tester.types.ts +61 -0
- package/src/integration-profile/testers/messaging.testers.ts +102 -0
- package/src/integration-profile/testers/oauth.testers.spec.ts +220 -0
- package/src/integration-profile/testers/oauth.testers.ts +305 -0
- package/src/integration-profile/testers/payment.testers.ts +185 -0
- package/src/integration-profile/testers/remaining.testers.spec.ts +401 -0
- package/src/integration-profile/testers/storage.testers.spec.ts +185 -0
- package/src/integration-profile/testers/storage.testers.ts +226 -0
- package/src/integration-profile/testers/tester-coverage.spec.ts +58 -0
- package/src/language/en.json +15 -2
- package/src/language/pt.json +15 -2
- package/src/leaked-password/README.md +83 -0
- package/src/leaked-password/leaked-password.controller.ts +52 -0
- package/src/leaked-password/leaked-password.module.ts +18 -0
- package/src/leaked-password/leaked-password.service.ts +242 -0
- package/src/leaked-password/seed/build-seed-sql.mjs +180 -0
- package/src/leaked-password/seed/common-passwords.txt +335 -0
- package/src/mail/dto/preview.dto.ts +50 -0
- package/src/mail/dto/send.dto.ts +58 -1
- package/src/mail/mail-template.spec.ts +274 -0
- package/src/mail/mail.controller.ts +9 -2
- package/src/mail/mail.module.ts +2 -0
- package/src/mail/mail.service.spec.ts +422 -6
- package/src/mail/mail.service.ts +337 -34
- package/src/mail-delivery/mail-delivery-provision.service.ts +66 -0
- package/src/mail-delivery/mail-delivery.constants.ts +31 -0
- package/src/mail-delivery/mail-delivery.controller.ts +38 -0
- package/src/mail-delivery/mail-delivery.module.ts +23 -0
- package/src/mail-delivery/mail-delivery.service.spec.ts +136 -0
- package/src/mail-delivery/mail-delivery.service.ts +152 -0
- package/src/mail-delivery/ses-event.parser.spec.ts +140 -0
- package/src/mail-delivery/ses-event.parser.ts +191 -0
- package/src/mail-delivery/ses-webhook.service.spec.ts +170 -0
- package/src/mail-delivery/ses-webhook.service.ts +240 -0
- package/src/mail-delivery/sns-message.util.spec.ts +163 -0
- package/src/mail-delivery/sns-message.util.ts +125 -0
- package/src/mail-layout/dto/update.dto.ts +19 -0
- package/src/mail-layout/mail-layout.controller.ts +47 -0
- package/src/mail-layout/mail-layout.module.ts +22 -0
- package/src/mail-layout/mail-layout.service.ts +94 -0
- package/src/mail-sent/dto/query-mail-sent-list.dto.ts +15 -0
- package/src/mail-sent/mail-sent.service.ts +46 -2
- package/src/mailbox/mailbox-fetcher.registry.ts +132 -0
- package/src/mailbox/mailbox.module.ts +14 -0
- package/src/mcp-chat/mcp-chat.service.spec.ts +236 -0
- package/src/mcp-chat/mcp-chat.service.ts +122 -26
- package/src/meeting/meeting-provider.registry.ts +193 -0
- package/src/meeting/meeting.constants.ts +53 -0
- package/src/meeting/meeting.module.ts +13 -0
- package/src/middlewares/locale-injection.middleware.ts +25 -6
- package/src/oauth/oauth-token-broker.service.spec.ts +172 -0
- package/src/oauth/oauth-token-broker.service.ts +363 -0
- package/src/oauth/oauth.module.ts +3 -1
- package/src/oauth/oauth.service.ts +8 -2
- package/src/oauth/providers/google.provider.ts +49 -15
- package/src/observability/monitored-cron.spec.ts +102 -0
- package/src/observability/monitored-cron.ts +110 -0
- package/src/pairing/dto/approve-reverse-pairing.dto.ts +20 -0
- package/src/pairing/dto/claim-pairing.dto.ts +19 -0
- package/src/pairing/dto/confirm-pairing.dto.ts +14 -0
- package/src/pairing/dto/poll-reverse-pairing.dto.ts +9 -0
- package/src/pairing/dto/start-pairing.dto.ts +19 -0
- package/src/pairing/dto/start-reverse-pairing.dto.ts +45 -0
- package/src/pairing/pairing.controller.ts +246 -0
- package/src/pairing/pairing.module.ts +27 -0
- package/src/pairing/pairing.service.spec.ts +462 -0
- package/src/pairing/pairing.service.ts +614 -0
- package/src/pdf/pdf.service.ts +81 -24
- package/src/presence/presence.controller.ts +29 -0
- package/src/presence/presence.listener.ts +53 -0
- package/src/presence/presence.module.ts +19 -0
- package/src/presence/presence.service.spec.ts +97 -0
- package/src/presence/presence.service.ts +160 -0
- package/src/profile/dto/delete-account.dto.ts +11 -0
- package/src/profile/events/profile-account-deleted.event.ts +13 -0
- package/src/profile/profile.controller.ts +46 -34
- package/src/profile/profile.service.ts +164 -46
- package/src/realtime/realtime.gateway.ts +138 -0
- package/src/realtime/realtime.module.ts +16 -0
- package/src/realtime/realtime.service.spec.ts +50 -0
- package/src/realtime/realtime.service.ts +187 -0
- package/src/redis/redis-pubsub.ts +190 -0
- package/src/role/guards/role.guard.spec.ts +75 -0
- package/src/role/guards/role.guard.ts +64 -46
- package/src/session/session.service.spec.ts +81 -0
- package/src/session/session.service.ts +93 -6
- package/src/setting/brand-asset.service.ts +137 -0
- package/src/setting/dto/create.dto.ts +13 -2
- package/src/setting/setting.module.ts +3 -2
- package/src/setting/setting.service.spec.ts +135 -1
- package/src/setting/setting.service.ts +138 -2
- package/src/token/token.service.spec.ts +62 -0
- package/src/token/token.service.ts +57 -3
- package/src/user/dto/create-with-email-and-password.dto.ts +6 -1
- package/src/user/dto/query-user-mail-list.dto.ts +10 -0
- package/src/user/user-credential.util.ts +35 -0
- package/src/user/user.controller.ts +17 -2
- package/src/user/user.service.spec.ts +186 -2
- package/src/user/user.service.ts +361 -16
- package/src/user-device/user-device.controller.ts +77 -0
- package/src/user-device/user-device.module.ts +13 -0
- package/src/user-device/user-device.service.spec.ts +234 -0
- package/src/user-device/user-device.service.ts +168 -0
- package/src/utils/device-key.spec.ts +57 -0
- package/src/utils/device-key.ts +32 -0
- package/src/utils/geo-ip.spec.ts +134 -0
- package/src/utils/geo-ip.ts +93 -0
- package/src/utils/locale-context.spec.ts +27 -1
- package/src/utils/locale-context.ts +15 -12
- package/src/utils/security-event-vars.spec.ts +161 -0
- package/src/utils/security-event-vars.ts +153 -0
- package/src/utils/user-agent.spec.ts +37 -0
- package/src/utils/user-agent.ts +46 -0
- package/src/validators/is-strong-password-with-settings.validator.ts +12 -0
- package/src/validators/service-locator.ts +15 -0
- package/src/webhook-integration/webhook-integration.service.ts +57 -3
- package/src/webhook-integration/webhook-protocol.registry.ts +6 -0
- package/src/whatsapp-sender/whatsapp-sender.module.ts +10 -0
- package/src/whatsapp-sender/whatsapp-sender.service.ts +313 -0
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
"tab2fa": "2FA",
|
|
76
76
|
"tabAccounts": "Contas",
|
|
77
77
|
"tabSessions": "Sessões",
|
|
78
|
+
"tabDevices": "Dispositivos",
|
|
78
79
|
"tabMcpTokens": "Tokens MCP",
|
|
79
80
|
"tabTokens": "Tokens",
|
|
80
81
|
"breadcrumbLabel": "Conta",
|
|
@@ -255,6 +256,8 @@
|
|
|
255
256
|
"tabIdentifiers": "Identificadores",
|
|
256
257
|
"tabMfa": "MFA",
|
|
257
258
|
"tabSessions": "Sessões",
|
|
259
|
+
"tabDevices": "Dispositivos",
|
|
260
|
+
"tabEmails": "E-mails",
|
|
258
261
|
"tabLogs": "Logs",
|
|
259
262
|
"cardLastLoginDescription": "Último login",
|
|
260
263
|
"cardLastLoginTitle": "Nunca",
|
|
@@ -265,6 +268,9 @@
|
|
|
265
268
|
"cardMfaMethods": "Métodos MFA",
|
|
266
269
|
"cardUserId": "ID do Usuário",
|
|
267
270
|
"recentActivityTitle": "Atividades Recentes",
|
|
271
|
+
"activityToday": "Hoje",
|
|
272
|
+
"activityYesterday": "Ontem",
|
|
273
|
+
"activityEventsCount": "{count, plural, one {# evento} other {# eventos}}",
|
|
268
274
|
"buttonDeleteUser": "Excluir Usuário",
|
|
269
275
|
"dialogDeleteUserTitle": "Confirmação de Exclusão de Usuário",
|
|
270
276
|
"dialogDeleteUserDescription": "Tem certeza de que deseja excluir este usuário? Esta ação não pode ser desfeita.",
|
|
@@ -354,6 +360,7 @@
|
|
|
354
360
|
"passwordLastChangedAbsolute": "Última atualização registrada: {absoluteLabel}",
|
|
355
361
|
"passwordLastChangedUnavailable": "Ainda não foi possível identificar quando esta senha foi atualizada pela última vez.",
|
|
356
362
|
"passwordResetNotice": "Após essa redefinição, o usuário será obrigado a alterar a senha no próximo login.",
|
|
363
|
+
"passwordResetSelfNotice": "Você não pode redefinir sua própria senha por aqui — isso exigiria a troca imediata e você não teria a senha gerada para fazer isso. Use as configurações da sua conta (Minha Conta > Senha) para trocar sua senha.",
|
|
357
364
|
"buttonResetPassword": "Redefinir senha",
|
|
358
365
|
"passwordResetDialogTitle": "Redefinir senha do usuário",
|
|
359
366
|
"passwordResetDialogDescription": "Uma senha forte é gerada por padrão. Você pode editar antes de confirmar.",
|
|
@@ -373,7 +380,14 @@
|
|
|
373
380
|
"viewModeCards": "Cards",
|
|
374
381
|
"columnName": "Nome",
|
|
375
382
|
"columnEmail": "E-mail",
|
|
376
|
-
"columnStatus": "Status"
|
|
383
|
+
"columnStatus": "Status",
|
|
384
|
+
"columnPasswordReset": "Senha",
|
|
385
|
+
"columnLastLogin": "Último login",
|
|
386
|
+
"passwordResetPending": "Reset pendente",
|
|
387
|
+
"passwordResetNone": "Em dia",
|
|
388
|
+
"neverLoggedIn": "Nunca acessou",
|
|
389
|
+
"filterOptionPasswordReset": "Reset de senha pendente",
|
|
390
|
+
"activityByActor": "por {name}"
|
|
377
391
|
},
|
|
378
392
|
"RolePage": {
|
|
379
393
|
"title": "Gerenciamento de Cargos",
|
|
@@ -573,12 +587,14 @@
|
|
|
573
587
|
"variablesHelp": "Use '{{variavel}}' no corpo do e-mail",
|
|
574
588
|
"bodyLabel": "Corpo HTML",
|
|
575
589
|
"localeLabel": "Idioma",
|
|
590
|
+
"sectionIdentification": "Identificação",
|
|
576
591
|
"preview": "Preview",
|
|
577
592
|
"availableVariables": "Variáveis disponíveis:",
|
|
578
593
|
"testValuePlaceholder": "Valor de teste",
|
|
579
594
|
"downloadYAML": "Baixar YAML",
|
|
580
595
|
"generateMigration": "Gerar Migration",
|
|
581
596
|
"sendTestEmail": "Enviar e-mail de teste",
|
|
597
|
+
"moreActions": "Mais ações",
|
|
582
598
|
"cancel": "Cancelar",
|
|
583
599
|
"saveChanges": "Salvar Alterações",
|
|
584
600
|
"createTemplate": "Criar Template",
|
|
@@ -617,7 +633,9 @@
|
|
|
617
633
|
"importConflictTitle": "Templates já existem",
|
|
618
634
|
"importConflictDescription": "Os seguintes templates já existem no banco de dados. Deseja sobrescrevê-los?",
|
|
619
635
|
"conflictingSlugs": "Slugs conflitantes",
|
|
620
|
-
"overwrite": "Sobrescrever"
|
|
636
|
+
"overwrite": "Sobrescrever",
|
|
637
|
+
"fullDocumentWarningTitle": "Documento HTML completo",
|
|
638
|
+
"fullDocumentWarningDesc": "Este corpo é um documento HTML completo, então o layout base não será aplicado a ele."
|
|
621
639
|
},
|
|
622
640
|
"MailProfilePage": {
|
|
623
641
|
"breadcrumbHome": "Início",
|
|
@@ -706,7 +724,11 @@
|
|
|
706
724
|
"logout": "Realizou logout",
|
|
707
725
|
"resetPassword": "Redefiniu a senha",
|
|
708
726
|
"revokeAllSessions": "Revogou todas as sessões",
|
|
709
|
-
"revokeSession": "Revogou uma sessão"
|
|
727
|
+
"revokeSession": "Revogou uma sessão",
|
|
728
|
+
"impersonationStarted": "Acesso simulado por um operador",
|
|
729
|
+
"impersonationEnded": "Simulação de acesso encerrada",
|
|
730
|
+
"impersonationPerformed": "Simulou o acesso de outro usuário",
|
|
731
|
+
"impersonationPerformedEnded": "Encerrou a simulação de acesso"
|
|
710
732
|
},
|
|
711
733
|
"LoginPage": {
|
|
712
734
|
"title": "Autenticação",
|
|
@@ -737,6 +759,36 @@
|
|
|
737
759
|
"showPassword": "Mostrar senha",
|
|
738
760
|
"loginWith": "Entrar com"
|
|
739
761
|
},
|
|
762
|
+
"ResetPasswordPage": {
|
|
763
|
+
"title": "Redefinir senha",
|
|
764
|
+
"newPasswordLabel": "Nova senha",
|
|
765
|
+
"newPasswordPlaceholder": "Digite sua nova senha",
|
|
766
|
+
"confirmPasswordLabel": "Confirmar nova senha",
|
|
767
|
+
"confirmPasswordPlaceholder": "Confirme sua nova senha",
|
|
768
|
+
"newPasswordMinLength": "A senha precisa ter pelo menos {minLength} caracteres",
|
|
769
|
+
"newPasswordMinSymbols": "A senha precisa ter pelo menos {minSymbols} símbolos especiais",
|
|
770
|
+
"newPasswordMinUppercase": "A senha precisa ter pelo menos {minUppercase} letras maiúsculas",
|
|
771
|
+
"newPasswordMinNumbers": "A senha precisa ter pelo menos {minNumbers} números",
|
|
772
|
+
"confirmPasswordRequired": "Confirme sua nova senha",
|
|
773
|
+
"passwordsDontMatch": "As senhas não conferem",
|
|
774
|
+
"missingTokenTitle": "Link inválido",
|
|
775
|
+
"missingToken": "Este link de redefinição de senha é inválido ou está ausente. Solicite um novo.",
|
|
776
|
+
"errorTitle": "Falha ao redefinir",
|
|
777
|
+
"successTitle": "Senha atualizada",
|
|
778
|
+
"successDescription": "Sua senha foi redefinida com sucesso. Redirecionando...",
|
|
779
|
+
"submitButton": "Redefinir senha",
|
|
780
|
+
"submitButtonLoading": "Redefinindo..."
|
|
781
|
+
},
|
|
782
|
+
"ConfirmEmailPage": {
|
|
783
|
+
"title": "Confirmação de e-mail",
|
|
784
|
+
"checking": "Só um instante enquanto validamos o link...",
|
|
785
|
+
"invalidTitle": "Link inválido",
|
|
786
|
+
"invalidDescription": "Este link de confirmação é inválido ou já expirou. Sua conta continua ativa: basta entrar normalmente.",
|
|
787
|
+
"successTitle": "E-mail confirmado",
|
|
788
|
+
"successDescription": "Pronto! Seu endereço de e-mail foi confirmado.",
|
|
789
|
+
"alreadyConfirmedDescription": "Seu e-mail já estava confirmado. Não é preciso fazer mais nada.",
|
|
790
|
+
"goToLogin": "Ir para o login"
|
|
791
|
+
},
|
|
740
792
|
"ForgotPage": {
|
|
741
793
|
"title": "Esqueci minha Senha",
|
|
742
794
|
"emailLabel": "E-mail",
|
|
@@ -994,7 +1046,38 @@
|
|
|
994
1046
|
"revokeSuccess": "Sessão revogada com sucesso!",
|
|
995
1047
|
"revokeFailure": "Falha ao revogar a sessão",
|
|
996
1048
|
"revokeAllSuccess": "Sessões revogadas com sucesso!",
|
|
997
|
-
"revokeAllFailure": "Falha ao revogar sessões"
|
|
1049
|
+
"revokeAllFailure": "Falha ao revogar sessões",
|
|
1050
|
+
"simulatedBy": "Simulado por {name}"
|
|
1051
|
+
},
|
|
1052
|
+
"UserMails": {
|
|
1053
|
+
"title": "E-mails enviados",
|
|
1054
|
+
"searchPlaceholder": "Buscar por assunto...",
|
|
1055
|
+
"filterByStatus": "Status",
|
|
1056
|
+
"statusAll": "Todos os status",
|
|
1057
|
+
"statusReceived": "Recebido",
|
|
1058
|
+
"statusRead": "Lido",
|
|
1059
|
+
"statusError": "Erro",
|
|
1060
|
+
"statusUntracked": "Não rastreado",
|
|
1061
|
+
"status_received": "Recebido",
|
|
1062
|
+
"status_read": "Lido",
|
|
1063
|
+
"status_error": "Erro",
|
|
1064
|
+
"kpiTotal": "Total enviados",
|
|
1065
|
+
"kpiRead": "Lidos",
|
|
1066
|
+
"kpiError": "Com erro",
|
|
1067
|
+
"emptyTitle": "Nenhum e-mail enviado",
|
|
1068
|
+
"emptyDescription": "O sistema ainda não enviou nenhum e-mail para este usuário.",
|
|
1069
|
+
"detailsTitle": "Detalhes do e-mail",
|
|
1070
|
+
"detailsDescription": "Conteúdo e status de entrega do e-mail enviado.",
|
|
1071
|
+
"subject": "Assunto",
|
|
1072
|
+
"from": "De",
|
|
1073
|
+
"to": "Para",
|
|
1074
|
+
"cc": "Cc",
|
|
1075
|
+
"bcc": "Cco",
|
|
1076
|
+
"body": "Corpo",
|
|
1077
|
+
"delivery": "Entrega",
|
|
1078
|
+
"createdAt": "Enviado em",
|
|
1079
|
+
"readAt": "Lido em",
|
|
1080
|
+
"errorMessage": "Erro"
|
|
998
1081
|
},
|
|
999
1082
|
"UserChangeLog": {
|
|
1000
1083
|
"title": "Histórico de Alterações",
|
|
@@ -1006,7 +1089,10 @@
|
|
|
1006
1089
|
"role_removed": "Papel removido",
|
|
1007
1090
|
"avatar_changed": "Avatar alterado",
|
|
1008
1091
|
"emptyTitle": "Nenhuma alteração registrada",
|
|
1009
|
-
"emptyDescription": "As alterações administrativas feitas neste usuário aparecerão aqui."
|
|
1092
|
+
"emptyDescription": "As alterações administrativas feitas neste usuário aparecerão aqui.",
|
|
1093
|
+
"impersonation_requested": "Simulação de acesso solicitada",
|
|
1094
|
+
"impersonation_started": "Simulação de acesso iniciada",
|
|
1095
|
+
"impersonation_ended": "Simulação de acesso encerrada"
|
|
1010
1096
|
},
|
|
1011
1097
|
"UserActiveSessions": {
|
|
1012
1098
|
"title": "Sessões Ativas",
|
|
@@ -1023,7 +1109,9 @@
|
|
|
1023
1109
|
"revokeSuccess": "Sessão revogada com sucesso!",
|
|
1024
1110
|
"revokeFailure": "Falha ao revogar sessão",
|
|
1025
1111
|
"revokeAllSuccess": "Sessões revogadas com sucesso!",
|
|
1026
|
-
"revokeAllFailure": "Falha ao revogar sessões"
|
|
1112
|
+
"revokeAllFailure": "Falha ao revogar sessões",
|
|
1113
|
+
"simulatedSession": "Acesso simulado",
|
|
1114
|
+
"simulatedBy": "Simulado por {name}"
|
|
1027
1115
|
},
|
|
1028
1116
|
"UserIdentifiers": {
|
|
1029
1117
|
"title": "Identificadores do Usuário",
|
|
@@ -1106,6 +1194,8 @@
|
|
|
1106
1194
|
"descriptionRemove": "Digite seu código de verificação para confirmar a remoção",
|
|
1107
1195
|
"descriptionSetup": "Siga as instruções para configurar a autenticação de dois fatores",
|
|
1108
1196
|
"scanQrCode": "Escaneie este código QR com seu aplicativo autenticador",
|
|
1197
|
+
"manualCodeHint": "Não consegue escanear? Digite este código no aplicativo autenticador:",
|
|
1198
|
+
"manualCodeCopy": "Copiar código",
|
|
1109
1199
|
"methodNameLabel": "Nome do Método",
|
|
1110
1200
|
"methodNamePlaceholder": "ex: {methodLabel} {example}",
|
|
1111
1201
|
"securityKeyNameLabel": "Nome da Chave de Segurança",
|
|
@@ -1225,6 +1315,7 @@
|
|
|
1225
1315
|
"to": "Para",
|
|
1226
1316
|
"cc": "CC",
|
|
1227
1317
|
"bcc": "CCO",
|
|
1318
|
+
"providerMessageId": "ID da mensagem no provedor",
|
|
1228
1319
|
"body": "Corpo",
|
|
1229
1320
|
"createdAt": "Criado em",
|
|
1230
1321
|
"updatedAt": "Atualizado em",
|
|
@@ -1244,6 +1335,20 @@
|
|
|
1244
1335
|
"statusRead": "Lido",
|
|
1245
1336
|
"statusError": "Erro",
|
|
1246
1337
|
"statusUnavailable": "Sem status",
|
|
1338
|
+
"filterByDelivery": "Entrega",
|
|
1339
|
+
"deliveryAll": "Qualquer desfecho",
|
|
1340
|
+
"deliveryPending": "Sem resposta ainda",
|
|
1341
|
+
"deliveryPendingHint": "O provedor aceitou a mensagem e ainda não informou o desfecho.",
|
|
1342
|
+
"deliveryDelivered": "Entregue",
|
|
1343
|
+
"deliveryBounced": "Devolvido",
|
|
1344
|
+
"deliveryComplained": "Marcado como spam",
|
|
1345
|
+
"deliveryRejected": "Recusado",
|
|
1346
|
+
"undeliveredCurrentPage": "Não entregues (página)",
|
|
1347
|
+
"undeliveredHint": "Aceitos pelo provedor e devolvidos depois",
|
|
1348
|
+
"providerEvents": "Eventos de entrega do provedor",
|
|
1349
|
+
"noProviderEvents": "O provedor ainda não informou nada sobre esta mensagem.",
|
|
1350
|
+
"allRecipients": "Todos os destinatários",
|
|
1351
|
+
"reportingMta": "Reportado por",
|
|
1247
1352
|
"statusReceivedShort": "Recebidos: {count}",
|
|
1248
1353
|
"statusReadShort": "Lidos: {count}",
|
|
1249
1354
|
"statusErrorShort": "Erros: {count}",
|
|
@@ -1295,7 +1400,7 @@
|
|
|
1295
1400
|
"fileUploaded": "Arquivo enviado com sucesso.",
|
|
1296
1401
|
"fileUploadFailed": "Falha ao enviar arquivo.",
|
|
1297
1402
|
"fileIdNotReturned": "ID do arquivo não retornado.",
|
|
1298
|
-
"
|
|
1403
|
+
"apiBaseUrlNotConfigured": "A URL base da API não está configurada.",
|
|
1299
1404
|
"uploadedFileAlt": "Arquivo enviado",
|
|
1300
1405
|
"fileUrlPlaceholder": "URL do arquivo",
|
|
1301
1406
|
"durationUnitSeconds": "Segundos",
|
|
@@ -1319,49 +1424,33 @@
|
|
|
1319
1424
|
"oauthProfileEmptyState": "Nenhum perfil OAuth encontrado.",
|
|
1320
1425
|
"selectPaymentProfile": "Selecione um perfil de pagamento",
|
|
1321
1426
|
"paymentProfileEmptyState": "Nenhum perfil de pagamento encontrado.",
|
|
1322
|
-
"
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
"
|
|
1329
|
-
"
|
|
1330
|
-
"
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
"
|
|
1334
|
-
"
|
|
1335
|
-
"
|
|
1336
|
-
"
|
|
1337
|
-
"smtpUsernameLabel": "Usuário SMTP *",
|
|
1338
|
-
"smtpUsernamePlaceholder": "usuario@exemplo.com",
|
|
1339
|
-
"smtpPasswordLabel": "Senha SMTP *",
|
|
1340
|
-
"replyToEmailLabel": "E-mail do reply-to",
|
|
1341
|
-
"replyToEmailPlaceholder": "suporte@empresa.com",
|
|
1342
|
-
"clientIdLabel": "Client ID *",
|
|
1343
|
-
"clientSecretLabel": "Client Secret *",
|
|
1344
|
-
"refreshTokenLabel": "Refresh Token *",
|
|
1345
|
-
"accessKeyIdLabel": "Access Key ID *",
|
|
1346
|
-
"secretAccessKeyLabel": "Secret Access Key *",
|
|
1347
|
-
"regionLabel": "Região *",
|
|
1348
|
-
"regionPlaceholder": "us-east-1"
|
|
1349
|
-
},
|
|
1350
|
-
"whatsappProfile": {
|
|
1351
|
-
"nameLabel": "Nome *",
|
|
1352
|
-
"namePlaceholder": "Meu Perfil de WhatsApp",
|
|
1353
|
-
"providerLabel": "Provedor *",
|
|
1354
|
-
"hostLabel": "Host da API *",
|
|
1355
|
-
"hostPlaceholder": "https://api.exemplo.com",
|
|
1356
|
-
"instanceNameLabel": "Nome da instância *",
|
|
1357
|
-
"instanceNamePlaceholder": "MinhaInstancia",
|
|
1358
|
-
"tokenLabel": "Token *",
|
|
1359
|
-
"tokenPlaceholder": "Token de autenticação"
|
|
1427
|
+
"whatsappProfileEmptyState": "Nenhum perfil de WhatsApp encontrado.",
|
|
1428
|
+
"selectIntegrationProfile": "Selecione um perfil de integração",
|
|
1429
|
+
"integrationProfileEmptyState": "Nenhum perfil de integração encontrado.",
|
|
1430
|
+
"editProfileAria": "Editar {profile}",
|
|
1431
|
+
"createProfileAria": "Criar {profile}",
|
|
1432
|
+
"profileTypeNames": {
|
|
1433
|
+
"ai": "perfil de IA",
|
|
1434
|
+
"email": "perfil de e-mail",
|
|
1435
|
+
"whatsapp": "perfil de WhatsApp",
|
|
1436
|
+
"storage": "perfil de armazenamento",
|
|
1437
|
+
"oauth": "perfil OAuth",
|
|
1438
|
+
"payment": "perfil de pagamento",
|
|
1439
|
+
"infrastructure": "perfil de infraestrutura",
|
|
1440
|
+
"kubernetes": "perfil Kubernetes",
|
|
1441
|
+
"generic": "perfil de integração"
|
|
1360
1442
|
},
|
|
1361
1443
|
"selectInfraProfile": "Selecione o perfil de infraestrutura",
|
|
1362
1444
|
"infraProfileEmptyState": "Nenhum perfil de infraestrutura encontrado. Crie um perfil DigitalOcean ou Kubernetes primeiro.",
|
|
1363
1445
|
"selectK8sInfraProfile": "Selecione o perfil Kubernetes",
|
|
1364
|
-
"k8sInfraProfileEmptyState": "Nenhum perfil de infraestrutura Kubernetes encontrado. Crie um primeiro."
|
|
1446
|
+
"k8sInfraProfileEmptyState": "Nenhum perfil de infraestrutura Kubernetes encontrado. Crie um primeiro.",
|
|
1447
|
+
"openLink": "Abrir",
|
|
1448
|
+
"settingOptions": {
|
|
1449
|
+
"commerce-android-checkout-mode": {
|
|
1450
|
+
"web": "Checkout no site",
|
|
1451
|
+
"play_billing": "Google Play Billing (compra no app)"
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1365
1454
|
},
|
|
1366
1455
|
"AddWidgetDialog": {
|
|
1367
1456
|
"title": "Selecionar Componentes do Dashboard",
|
|
@@ -1744,7 +1833,13 @@
|
|
|
1744
1833
|
"decreaseZoom": "Diminuir zoom",
|
|
1745
1834
|
"resetZoom": "Resetar zoom",
|
|
1746
1835
|
"increaseZoom": "Aumentar zoom",
|
|
1747
|
-
"saveAndClose": "Salvar e Fechar"
|
|
1836
|
+
"saveAndClose": "Salvar e Fechar",
|
|
1837
|
+
"aiEdit": "Editar com IA",
|
|
1838
|
+
"aiEditPromptLabel": "O que você quer mudar?",
|
|
1839
|
+
"aiEditPromptPlaceholder": "Ex.: deixe o texto mais formal e adicione uma lista com os próximos passos",
|
|
1840
|
+
"aiEditSubmit": "Gerar",
|
|
1841
|
+
"aiEditSuccess": "Conteúdo atualizado pela IA",
|
|
1842
|
+
"aiEditError": "Não foi possível atualizar o conteúdo com IA"
|
|
1748
1843
|
},
|
|
1749
1844
|
"DashboardManagement": {
|
|
1750
1845
|
"title": "Gerenciamento de Dashboards",
|
|
@@ -2386,7 +2481,14 @@
|
|
|
2386
2481
|
"detailsDescription": "Detalhes completos desta entrada de log de acesso",
|
|
2387
2482
|
"os": "Sistema Operacional",
|
|
2388
2483
|
"location": "Localização",
|
|
2389
|
-
"rawUserAgent": "User Agent"
|
|
2484
|
+
"rawUserAgent": "User Agent",
|
|
2485
|
+
"simulated": "Simulado",
|
|
2486
|
+
"simulatedBy": "Simulado por {name}",
|
|
2487
|
+
"simulatedAccess": "Acesso simulado",
|
|
2488
|
+
"filterBySimulated": "Simulação",
|
|
2489
|
+
"simulatedAll": "Todos os acessos",
|
|
2490
|
+
"simulatedOnly": "Somente simulados",
|
|
2491
|
+
"simulatedExclude": "Excluir simulados"
|
|
2390
2492
|
},
|
|
2391
2493
|
"IntegrationProfilePage": {
|
|
2392
2494
|
"breadcrumbHome": "Início",
|
|
@@ -2448,15 +2550,30 @@
|
|
|
2448
2550
|
"tableSlug": "Slug",
|
|
2449
2551
|
"tableProvider": "Provedor",
|
|
2450
2552
|
"tableStatus": "Status",
|
|
2553
|
+
"tableValidation": "Validação",
|
|
2451
2554
|
"tableUses": "Usos",
|
|
2452
2555
|
"tableUpdated": "Atualizado",
|
|
2453
2556
|
"tableActions": "Ações",
|
|
2454
2557
|
"statusActive": "Ativo",
|
|
2455
2558
|
"statusInactive": "Inativo",
|
|
2559
|
+
"validationOk": "Validado",
|
|
2560
|
+
"validationError": "Falhou",
|
|
2561
|
+
"validationNever": "Nunca testado",
|
|
2562
|
+
"validationTooltipAt": "Último teste em {date}",
|
|
2456
2563
|
"noProfilesFound": "Nenhum perfil encontrado",
|
|
2457
2564
|
"noProfilesHint": "Crie um novo perfil para armazenar credenciais de conexão.",
|
|
2458
2565
|
"createProfile": "Criar Perfil",
|
|
2459
2566
|
"saveChanges": "Salvar Alterações",
|
|
2567
|
+
"testConnection": "Testar conexão",
|
|
2568
|
+
"testing": "Testando...",
|
|
2569
|
+
"testConnectionRunning": "Testando conexão...",
|
|
2570
|
+
"testConnectionSuccess": "Conexão validada com sucesso.",
|
|
2571
|
+
"testConnectionOkWithInfo": "Conexão validada: {info}",
|
|
2572
|
+
"testConnectionWarning": "Credenciais válidas, mas: {warning}",
|
|
2573
|
+
"testConnectionError": "Falha ao testar a conexão.",
|
|
2574
|
+
"testConnectionErrorFallback": "Não foi possível validar as credenciais.",
|
|
2575
|
+
"testConnectionNotPersisted": "Salve o perfil para registrar o resultado.",
|
|
2576
|
+
"loadingProfile": "Carregando perfil...",
|
|
2460
2577
|
"cancel": "Cancelar",
|
|
2461
2578
|
"delete": "Excluir",
|
|
2462
2579
|
"deleteConfirmTitle": "Confirmar Exclusão",
|
|
@@ -2476,6 +2593,8 @@
|
|
|
2476
2593
|
"fieldFromEmail": "E-mail de Envio",
|
|
2477
2594
|
"fieldFromName": "Nome de Envio",
|
|
2478
2595
|
"fieldReplyTo": "E-mail de Resposta",
|
|
2596
|
+
"fieldReplyToName": "Nome de Resposta",
|
|
2597
|
+
"fieldSnsTopicArn": "ARN do Tópico SNS (rastreio de entrega)",
|
|
2479
2598
|
"fieldClientId": "Client ID",
|
|
2480
2599
|
"fieldClientSecret": "Client Secret",
|
|
2481
2600
|
"fieldRefreshToken": "Refresh Token",
|
|
@@ -2483,6 +2602,7 @@
|
|
|
2483
2602
|
"fieldSecretAccessKey": "Secret Access Key",
|
|
2484
2603
|
"fieldRegion": "Região",
|
|
2485
2604
|
"fieldDomain": "Domínio",
|
|
2605
|
+
"fieldImapSecure": "TLS direto (porta 993)",
|
|
2486
2606
|
"fieldToken": "Token",
|
|
2487
2607
|
"fieldInstanceName": "Nome da Instância",
|
|
2488
2608
|
"fieldPhoneNumberId": "ID do Número de Telefone",
|
|
@@ -2496,6 +2616,13 @@
|
|
|
2496
2616
|
"fieldEnvironmentTest": "Teste",
|
|
2497
2617
|
"fieldEnvironmentProduction": "Produção",
|
|
2498
2618
|
"copiedToClipboard": "Copiado para a área de transferência",
|
|
2619
|
+
"sesWebhookSectionTitle": "Rastreio de entrega (SNS)",
|
|
2620
|
+
"sesWebhookDescription": "Sem esta assinatura o Hub só sabe que o provedor aceitou a mensagem, não se ela foi entregue.",
|
|
2621
|
+
"sesWebhookEndpointLabel": "URL do endpoint",
|
|
2622
|
+
"sesWebhookStep1": "Crie um tópico SNS na mesma região deste perfil do SES.",
|
|
2623
|
+
"sesWebhookStep2": "Adicione uma assinatura HTTPS no tópico com a URL acima. Ela é confirmada automaticamente.",
|
|
2624
|
+
"sesWebhookStep3": "No SES, abra a identidade de envio e aponte as notificações de Bounce, Complaint e Delivery para esse tópico.",
|
|
2625
|
+
"sesWebhookStep4": "Cole o ARN do tópico no campo acima para que eventos de outros tópicos sejam recusados.",
|
|
2499
2626
|
"whatsappWebhookSectionTitle": "Webhook da Meta",
|
|
2500
2627
|
"whatsappWebhookDescription": "Registre este webhook no seu app da Meta para receber mensagens do WhatsApp.",
|
|
2501
2628
|
"whatsappWebhookCallbackUrlLabel": "URL de Callback",
|
|
@@ -2509,6 +2636,49 @@
|
|
|
2509
2636
|
"whatsappWebhookStep2": "Clique em \"Verificar e salvar\".",
|
|
2510
2637
|
"whatsappWebhookStep3": "Assine o campo \"messages\".",
|
|
2511
2638
|
"whatsappWebhookStep4": "Envie uma mensagem de teste e confirme que ela chega.",
|
|
2639
|
+
"microsoftWebhookSectionTitle": "Webhook do Microsoft Graph",
|
|
2640
|
+
"microsoftWebhookDescription": "URL única que recebe todos os eventos do Microsoft Graph (reuniões/chamadas encerradas, gravações, transcrições, presença, mensagens e usuários do Entra). Registrada automaticamente na lista de webhooks.",
|
|
2641
|
+
"microsoftWebhookUrlLabel": "URL do webhook (notificationUrl)",
|
|
2642
|
+
"microsoftWebhookLoading": "Gerando URL…",
|
|
2643
|
+
"microsoftWebhookUnavailable": "URL indisponível — verifique a configuração de URL base da API (setting api-url, precisa ser HTTPS público).",
|
|
2644
|
+
"microsoftWebhookSaveFirst": "Salve o perfil para gerar a URL do webhook.",
|
|
2645
|
+
"microsoftSyncButton": "Sincronizar assinaturas",
|
|
2646
|
+
"microsoftSyncing": "Sincronizando…",
|
|
2647
|
+
"microsoftSyncResult": "Assinaturas sincronizadas: {created} criadas, {reused} mantidas, {failed} com falha.",
|
|
2648
|
+
"microsoftSyncError": "Falha ao sincronizar as assinaturas.",
|
|
2649
|
+
"microsoftStepsTitle": "No portal do Azure (Microsoft Entra ID → Registros de aplicativo):",
|
|
2650
|
+
"microsoftStep1": "Registre um aplicativo (ou use o existente) e copie o ID do aplicativo (client_id) e o ID do locatário (tenant_id) para os campos acima.",
|
|
2651
|
+
"microsoftStep2": "Em \"Certificados e segredos\", crie um Client secret e cole no campo acima.",
|
|
2652
|
+
"microsoftStep3": "Em \"Autenticação\", adicione o URI de redirecionamento do OAuth (aba de callbacks) para o login funcionar.",
|
|
2653
|
+
"microsoftStep4": "Em \"Permissões de API\", conceda as permissões abaixo e clique em \"Conceder consentimento do administrador\".",
|
|
2654
|
+
"microsoftStep5": "Salve o perfil, copie a URL do webhook acima e clique em \"Sincronizar assinaturas\".",
|
|
2655
|
+
"microsoftPermissionsTitle": "Permissões do Microsoft Graph",
|
|
2656
|
+
"microsoftPermissionsApplication": "Aplicativo (consentimento do admin)",
|
|
2657
|
+
"microsoftPermissionsDelegated": "Delegadas (por usuário)",
|
|
2658
|
+
"microsoftProtectedSuffix": "(API protegida — exige pedido aprovado à Microsoft)",
|
|
2659
|
+
"microsoftNotes": "Reuniões/transcrições em modo app-only exigem uma Application Access Policy criada via PowerShell (New-CsApplicationAccessPolicy). As subscriptions de mensagens de chat org-wide só funcionam após a Microsoft aprovar o acesso à API protegida.",
|
|
2660
|
+
"paymentWebhookSectionTitle": "Webhook do gateway de pagamento",
|
|
2661
|
+
"paymentWebhookDescription": "Cadastre esta URL no seu provedor de pagamento para que ele notifique o HedHog sobre pagamentos, estornos e mudanças de assinatura.",
|
|
2662
|
+
"paymentWebhookUrlLabel": "URL do Webhook",
|
|
2663
|
+
"paymentWebhookLoading": "Gerando URL…",
|
|
2664
|
+
"paymentWebhookUnavailable": "URL indisponível — verifique a configuração da URL base da API.",
|
|
2665
|
+
"paymentWebhookSaveFirst": "Salve o perfil para gerar a URL do webhook.",
|
|
2666
|
+
"paymentWebhookBaseUrlMissing": "URL indisponível — configure uma URL pública HTTPS da API (setting api-url) para o webhook poder ser cadastrado no gateway.",
|
|
2667
|
+
"paymentWebhookStepsTitle": "No painel do seu provedor de pagamento:",
|
|
2668
|
+
"paymentStripeStep1": "Abra Desenvolvedores → Webhooks e clique em \"Adicionar endpoint\".",
|
|
2669
|
+
"paymentStripeStep2": "Cole a URL do Webhook acima como URL do endpoint.",
|
|
2670
|
+
"paymentStripeStep3": "Selecione os eventos a enviar (payment_intent, charge, checkout.session, invoice, customer.subscription).",
|
|
2671
|
+
"paymentStripeStep4": "Copie o \"Signing secret\" do endpoint e cole no campo Webhook Secret acima.",
|
|
2672
|
+
"paymentMercadoPagoStep1": "Abra Suas integrações → sua aplicação → Webhooks / Notificações.",
|
|
2673
|
+
"paymentMercadoPagoStep2": "Cole a URL do Webhook acima e selecione os eventos de pagamento e assinatura.",
|
|
2674
|
+
"paymentMercadoPagoStep3": "Salve para gerar a chave secreta usada na validação de assinatura.",
|
|
2675
|
+
"paymentMercadoPagoStep4": "Copie essa chave secreta e cole no campo Webhook Secret acima.",
|
|
2676
|
+
"paymentGooglePlayStep1": "No Google Play Console, abra a configuração de Monetização e defina o tópico Pub/Sub para as notificações em tempo real (RTDN).",
|
|
2677
|
+
"paymentGooglePlayStep2": "Crie uma subscription push do Pub/Sub apontando para a URL do Webhook acima.",
|
|
2678
|
+
"paymentGooglePlayStep3": "Conceda à service account de publicação do Play permissão para publicar no tópico.",
|
|
2679
|
+
"paymentGooglePlayStep4": "Envie uma notificação de teste e confirme que ela chega.",
|
|
2680
|
+
"paymentWebhookSecretRequiredNote": "Em modo produção, configure o Webhook Secret do provedor — sem ele, os webhooks de produção são rejeitados (requisições sem assinatura não são processadas).",
|
|
2681
|
+
"paymentGooglePlayNote": "O RTDN do Google Play é autenticado pelo Pub/Sub (push OIDC); não há webhook secret para configurar. O estado da assinatura é sempre reconsultado na Play Developer API.",
|
|
2512
2682
|
"fieldBasePath": "Caminho Base",
|
|
2513
2683
|
"fieldBucket": "Bucket",
|
|
2514
2684
|
"fieldProjectId": "Project ID",
|
|
@@ -2519,6 +2689,7 @@
|
|
|
2519
2689
|
"fieldContainer": "Container",
|
|
2520
2690
|
"fieldEndpoint": "URL do Endpoint",
|
|
2521
2691
|
"fieldApiKey": "Chave de API",
|
|
2692
|
+
"fieldModel": "Modelo",
|
|
2522
2693
|
"fieldOrganization": "ID da Organização",
|
|
2523
2694
|
"fieldRedirectUri": "URI de Redirecionamento",
|
|
2524
2695
|
"fieldTenantId": "Tenant ID",
|
|
@@ -2536,6 +2707,13 @@
|
|
|
2536
2707
|
"fieldHmacKey": "Chave HMAC",
|
|
2537
2708
|
"fieldScoreThreshold": "Limiar de Pontuação",
|
|
2538
2709
|
"fieldApiUrl": "URL da API",
|
|
2710
|
+
"fieldPackageName": "Nome do Pacote Android",
|
|
2711
|
+
"fieldServiceAccountJson": "JSON da Conta de Serviço",
|
|
2712
|
+
"fieldServiceAccountPrivateKey": "Chave Privada da Conta de Serviço (PEM)",
|
|
2713
|
+
"fieldClientEmail": "E-mail da Conta de Serviço",
|
|
2714
|
+
"fieldSessionToken": "Session Token (STS)",
|
|
2715
|
+
"fieldRoleArn": "ARN da Role",
|
|
2716
|
+
"fieldExternalId": "External ID",
|
|
2539
2717
|
"callbackUrlsSectionTitle": "URLs de Callback",
|
|
2540
2718
|
"callbackUrlsDescription": "Registre estas URLs nas configurações do seu aplicativo OAuth.",
|
|
2541
2719
|
"addCallbackUrl": "Adicionar URL",
|
|
@@ -2590,6 +2768,422 @@
|
|
|
2590
2768
|
"fieldTimeoutMs": "Timeout (ms)",
|
|
2591
2769
|
"fieldMaxRetries": "Máximo de tentativas",
|
|
2592
2770
|
"fileStored": "Arquivo armazenado e cifrado. Clique para substituir.",
|
|
2593
|
-
"fileSelected": "Novo arquivo selecionado. Será cifrado ao salvar."
|
|
2771
|
+
"fileSelected": "Novo arquivo selecionado. Será cifrado ao salvar.",
|
|
2772
|
+
"fieldRtdnServiceAccount": "Conta de Serviço das Notificações (RTDN)",
|
|
2773
|
+
"fieldRtdnAudience": "Audience das Notificações (RTDN)"
|
|
2774
|
+
},
|
|
2775
|
+
"SystemPagesPage": {
|
|
2776
|
+
"title": "Páginas",
|
|
2777
|
+
"description": "Catálogo das páginas do painel, com menu, permissões e endpoints de cada uma.",
|
|
2778
|
+
"breadcrumbHome": "Início",
|
|
2779
|
+
"breadcrumbManagement": "Gerenciamento",
|
|
2780
|
+
"newPage": "Nova página",
|
|
2781
|
+
"statsTotal": "Páginas",
|
|
2782
|
+
"statsLibraries": "Bibliotecas",
|
|
2783
|
+
"statsResidue": "Possível resíduo",
|
|
2784
|
+
"statsWithoutI18n": "Sem tradução",
|
|
2785
|
+
"searchPlaceholder": "Buscar por rota, arquivo ou biblioteca",
|
|
2786
|
+
"filterByLibrary": "Biblioteca",
|
|
2787
|
+
"allLibraries": "Todas as bibliotecas",
|
|
2788
|
+
"filterByMenuStatus": "Vínculo com menu",
|
|
2789
|
+
"allMenuStatuses": "Todos os vínculos",
|
|
2790
|
+
"menuStatusLinked": "Com menu",
|
|
2791
|
+
"menuStatusOrphan": "Sem menu",
|
|
2792
|
+
"menuStatusResidue": "Possível resíduo",
|
|
2793
|
+
"viewMode": "Visualização",
|
|
2794
|
+
"viewModeTable": "Tabela",
|
|
2795
|
+
"viewModeCards": "Cards",
|
|
2796
|
+
"emptyStateTitle": "Nenhuma página encontrada",
|
|
2797
|
+
"emptyStateDescription": "Ajuste a busca ou os filtros para ver outras páginas.",
|
|
2798
|
+
"emptyStateLoading": "Carregando menus e permissões...",
|
|
2799
|
+
"columnRoute": "Rota",
|
|
2800
|
+
"columnLibrary": "Biblioteca",
|
|
2801
|
+
"columnTemplate": "Template",
|
|
2802
|
+
"columnMenu": "Menu",
|
|
2803
|
+
"columnRoles": "Cargos",
|
|
2804
|
+
"columnReferences": "Referências",
|
|
2805
|
+
"columnEndpoints": "Endpoints",
|
|
2806
|
+
"orphanBadge": "Sem menu",
|
|
2807
|
+
"residueBadge": "Resíduo",
|
|
2808
|
+
"cardEndpoints": "{count} endpoints",
|
|
2809
|
+
"cardLoc": "{count} linhas",
|
|
2810
|
+
"template_list-kpi": "Lista com KPIs",
|
|
2811
|
+
"template_list-simple": "Lista simples",
|
|
2812
|
+
"template_detail-form": "Detalhe / formulário",
|
|
2813
|
+
"template_dashboard": "Dashboard",
|
|
2814
|
+
"template_custom": "Personalizada",
|
|
2815
|
+
"tabOverview": "Visão geral",
|
|
2816
|
+
"tabMenu": "Menu",
|
|
2817
|
+
"tabPermissions": "Permissões",
|
|
2818
|
+
"tabFiles": "Arquivos",
|
|
2819
|
+
"fieldRoute": "Rota",
|
|
2820
|
+
"fieldLibrary": "Biblioteca",
|
|
2821
|
+
"fieldTemplate": "Template",
|
|
2822
|
+
"fieldLoc": "Linhas",
|
|
2823
|
+
"fieldFile": "Arquivo",
|
|
2824
|
+
"fieldNamespaces": "Namespaces de tradução",
|
|
2825
|
+
"noNamespaces": "Nenhum namespace detectado",
|
|
2826
|
+
"fieldFeatures": "Componentes detectados",
|
|
2827
|
+
"fieldReferencedBy": "Referenciada por",
|
|
2828
|
+
"noReferences": "Nenhum arquivo do código navega para esta página",
|
|
2829
|
+
"feature_pageHeader": "PageHeader",
|
|
2830
|
+
"feature_kpis": "KPIs",
|
|
2831
|
+
"feature_searchBar": "Busca",
|
|
2832
|
+
"feature_pagination": "Paginação",
|
|
2833
|
+
"feature_viewModeToggle": "Tabela/cards",
|
|
2834
|
+
"feature_formSheet": "Sheet de formulário",
|
|
2835
|
+
"feature_dataTable": "Tabela de dados",
|
|
2836
|
+
"feature_widgets": "Widgets",
|
|
2837
|
+
"menuName": "Nome do menu",
|
|
2838
|
+
"menuSlug": "Slug",
|
|
2839
|
+
"menuUrl": "URL",
|
|
2840
|
+
"menuIcon": "Ícone",
|
|
2841
|
+
"menuParent": "Menu pai",
|
|
2842
|
+
"menuRoot": "Menu raiz",
|
|
2843
|
+
"menuOrder": "Ordem",
|
|
2844
|
+
"openMenuManager": "Abrir gerenciador de menus",
|
|
2845
|
+
"orphanTitle": "Página sem menu vinculado",
|
|
2846
|
+
"orphanDescription": "Nenhum menu aponta para {route}. A página existe no código, mas só é acessível por link direto.",
|
|
2847
|
+
"menuRolesTitle": "Cargos com acesso ao menu",
|
|
2848
|
+
"menuRolesDescription": "Cargos que enxergam este item no menu lateral.",
|
|
2849
|
+
"noRoles": "Nenhum cargo",
|
|
2850
|
+
"endpointsTitle": "Endpoints consumidos",
|
|
2851
|
+
"endpointsDescription": "Inferidos do código da página e dos seus componentes; confira antes de usar como fonte de verdade.",
|
|
2852
|
+
"noEndpoints": "Nenhum endpoint detectado",
|
|
2853
|
+
"columnMethod": "Método",
|
|
2854
|
+
"columnEndpoint": "Endpoint",
|
|
2855
|
+
"columnEndpointRoles": "Cargos",
|
|
2856
|
+
"endpointNotRegistered": "Não cadastrado em rotas",
|
|
2857
|
+
"noComponents": "Sem componentes próprios",
|
|
2858
|
+
"filesHint": "Caminhos relativos à raiz do monorepo.",
|
|
2859
|
+
"deletePage": "Excluir página",
|
|
2860
|
+
"deleteHintResidue": "Sem menu e sem referências no código — provável resíduo.",
|
|
2861
|
+
"deleteHintReferenced": "{count} arquivo(s) navegam para esta página.",
|
|
2862
|
+
"deleteTitle": "Excluir página",
|
|
2863
|
+
"deleteConfirmLabel": "Digite a rota exata para confirmar",
|
|
2864
|
+
"deleteConfirm": "Excluir do disco",
|
|
2865
|
+
"deleteClose": "Fechar",
|
|
2866
|
+
"deletePreviewLoading": "Calculando o que será apagado...",
|
|
2867
|
+
"deletePreviewError": "Não foi possível calcular a exclusão.",
|
|
2868
|
+
"deleteError": "Não foi possível excluir a página.",
|
|
2869
|
+
"deleteMenuError": "Arquivos removidos, mas o menu não saiu do banco.",
|
|
2870
|
+
"deleteSuccess": "Página excluída.",
|
|
2871
|
+
"deleteReferencedTitle": "Esta página é referenciada no código",
|
|
2872
|
+
"deleteReferencedDescription": "{count} arquivo(s) navegam para esta rota e podem quebrar. Revise antes de excluir.",
|
|
2873
|
+
"deleteMenuChildrenTitle": "Menu com submenus",
|
|
2874
|
+
"deleteMenuChildrenDescription": "O menu tem itens filhos e não será removido do banco — apenas os arquivos serão apagados. Ajuste o menu manualmente em Menus.",
|
|
2875
|
+
"deleteCategory_page": "Arquivos da página",
|
|
2876
|
+
"deleteCategory_mirror": "Espelho da biblioteca",
|
|
2877
|
+
"deleteCategory_i18n": "Traduções",
|
|
2878
|
+
"deleteCategory_menu": "Menu (YAML)",
|
|
2879
|
+
"deleteCategory_migration": "Migration",
|
|
2880
|
+
"deleteAction_delete": "apagar",
|
|
2881
|
+
"deleteAction_rewrite": "alterar",
|
|
2882
|
+
"deleteAction_create": "criar",
|
|
2883
|
+
"deleteDoneTitle": "Página excluída",
|
|
2884
|
+
"deleteDoneDescription": "Os arquivos foram removidos. O git é a rede de segurança: git checkout / git clean desfaz tudo.",
|
|
2885
|
+
"deleteDoneSteps": "Próximos passos"
|
|
2886
|
+
},
|
|
2887
|
+
"PageWizard": {
|
|
2888
|
+
"title": "Nova página",
|
|
2889
|
+
"description": "Gera a página, as traduções, o menu e o CRUD da biblioteca seguindo o padrão do repositório. Disponível apenas em desenvolvimento.",
|
|
2890
|
+
"steps": {
|
|
2891
|
+
"target": "Alvo",
|
|
2892
|
+
"template": "Template",
|
|
2893
|
+
"columns": "Modelo de dados",
|
|
2894
|
+
"backend": "Backend",
|
|
2895
|
+
"menu": "Menu e cargos",
|
|
2896
|
+
"review": "Revisão"
|
|
2897
|
+
},
|
|
2898
|
+
"fieldLibrary": "Biblioteca",
|
|
2899
|
+
"fieldLibraryPlaceholder": "Selecione a biblioteca",
|
|
2900
|
+
"fieldEntity": "Entidade",
|
|
2901
|
+
"fieldEntityHint": "snake_case no singular. Também é o nome da tabela.",
|
|
2902
|
+
"fieldRoute": "Rota da página",
|
|
2903
|
+
"fieldApiBasePath": "Prefixo da API",
|
|
2904
|
+
"fieldLabelPt": "Título (pt)",
|
|
2905
|
+
"fieldLabelEn": "Título (en)",
|
|
2906
|
+
"fieldDescriptionPt": "Descrição (pt)",
|
|
2907
|
+
"fieldDescriptionEn": "Descrição (en)",
|
|
2908
|
+
"template_list-kpi": "Lista com KPIs",
|
|
2909
|
+
"template_list-simple": "Lista simples",
|
|
2910
|
+
"template_detail-form": "Detalhe / formulário",
|
|
2911
|
+
"template_dashboard": "Dashboard",
|
|
2912
|
+
"templateHint_list-kpi": "PageHeader, KPIs, busca com filtros, tabela/cards, paginação e sheet de formulário.",
|
|
2913
|
+
"templateHint_list-simple": "Mesma listagem, sem a linha de KPIs. Para cadastros auxiliares.",
|
|
2914
|
+
"templateHint_detail-form": "Formulário único, estilo configurações: carrega em GET e salva em PATCH.",
|
|
2915
|
+
"templateHint_dashboard": "Painel com KPIs e área para widgets, sem listagem paginada.",
|
|
2916
|
+
"columnsHint": "Textos exibidos ao usuário devem usar locale_varchar/locale_text para gerar a tabela de traduções.",
|
|
2917
|
+
"columnName": "Coluna",
|
|
2918
|
+
"columnLabelPt": "Rótulo (pt)",
|
|
2919
|
+
"columnLabelEn": "Rótulo (en)",
|
|
2920
|
+
"columnEnumValues": "Valores separados por vírgula",
|
|
2921
|
+
"columnReferences": "Tabela referenciada",
|
|
2922
|
+
"columnNullable": "Aceita nulo",
|
|
2923
|
+
"columnInList": "Na listagem",
|
|
2924
|
+
"columnInFilters": "Como filtro",
|
|
2925
|
+
"addColumn": "Adicionar coluna",
|
|
2926
|
+
"generateBackend": "Gerar backend",
|
|
2927
|
+
"generateBackendHint": "Cria table YAML, migration, DTO, service, controller e módulo NestJS.",
|
|
2928
|
+
"menuParent": "Menu pai",
|
|
2929
|
+
"menuRoot": "Menu raiz",
|
|
2930
|
+
"menuIcon": "Ícone",
|
|
2931
|
+
"menuOrder": "Ordem",
|
|
2932
|
+
"rolesTitle": "Cargos com acesso",
|
|
2933
|
+
"rolesHint": "O cargo admin é sempre incluído.",
|
|
2934
|
+
"issuesTitle": "Corrija antes de gerar",
|
|
2935
|
+
"conflictsTitle": "Arquivos já existentes",
|
|
2936
|
+
"overwrite": "Sobrescrever os arquivos existentes",
|
|
2937
|
+
"previewLoading": "Gerando pré-visualização...",
|
|
2938
|
+
"previewError": "Não foi possível gerar a pré-visualização.",
|
|
2939
|
+
"applyError": "Não foi possível gravar os arquivos.",
|
|
2940
|
+
"applySuccess": "{count} arquivos gravados.",
|
|
2941
|
+
"action_create": "criar",
|
|
2942
|
+
"action_merge": "acrescentar",
|
|
2943
|
+
"action_patch": "alterar",
|
|
2944
|
+
"action_manual": "manual",
|
|
2945
|
+
"back": "Voltar",
|
|
2946
|
+
"next": "Avançar",
|
|
2947
|
+
"refreshPreview": "Atualizar preview",
|
|
2948
|
+
"generate": "Gerar arquivos",
|
|
2949
|
+
"close": "Fechar",
|
|
2950
|
+
"doneTitle": "Arquivos gerados",
|
|
2951
|
+
"doneDescription": "{count} arquivos foram gravados no repositório.",
|
|
2952
|
+
"doneFiles": "Arquivos",
|
|
2953
|
+
"doneSteps": "Próximos passos",
|
|
2954
|
+
"doneStepsHint": "O wizard não executa comandos. Revise a migration gerada antes de aplicá-la."
|
|
2955
|
+
},
|
|
2956
|
+
"Incidents": {
|
|
2957
|
+
"breadcrumbHome": "Início",
|
|
2958
|
+
"breadcrumbTitle": "Incidentes",
|
|
2959
|
+
"title": "Incidentes",
|
|
2960
|
+
"description": "Falhas que, sem este registro, sumiriam silenciosamente no sistema.",
|
|
2961
|
+
"kpiOpen": "Em aberto",
|
|
2962
|
+
"kpiCritical": "Críticos",
|
|
2963
|
+
"kpiOccurrences": "Ocorrências",
|
|
2964
|
+
"kpiResolved": "Resolvidos",
|
|
2965
|
+
"searchPlaceholder": "Buscar por mensagem, código ou origem",
|
|
2966
|
+
"filterByStatus": "Situação",
|
|
2967
|
+
"statusOpen": "Em aberto",
|
|
2968
|
+
"statusResolved": "Resolvidos",
|
|
2969
|
+
"statusAll": "Todos",
|
|
2970
|
+
"filterBySeverity": "Severidade",
|
|
2971
|
+
"severityAll": "Todas as severidades",
|
|
2972
|
+
"severityCritical": "Crítico",
|
|
2973
|
+
"severityError": "Erro",
|
|
2974
|
+
"severityWarning": "Alerta",
|
|
2975
|
+
"severity_critical": "Crítico",
|
|
2976
|
+
"severity_error": "Erro",
|
|
2977
|
+
"severity_warning": "Alerta",
|
|
2978
|
+
"filterBySource": "Origem",
|
|
2979
|
+
"sourceAll": "Todas as origens",
|
|
2980
|
+
"columnSeverity": "Severidade",
|
|
2981
|
+
"columnSource": "Origem",
|
|
2982
|
+
"columnMessage": "Mensagem",
|
|
2983
|
+
"columnOccurrences": "Ocorrências",
|
|
2984
|
+
"columnLastSeen": "Visto por último",
|
|
2985
|
+
"firstSeen": "Primeira ocorrência",
|
|
2986
|
+
"context": "Contexto",
|
|
2987
|
+
"resolve": "Marcar como resolvido",
|
|
2988
|
+
"reopen": "Reabrir",
|
|
2989
|
+
"emptyTitle": "Nenhum incidente em aberto",
|
|
2990
|
+
"emptyDescription": "Nada falhou em silêncio neste período."
|
|
2991
|
+
},
|
|
2992
|
+
"AiInstructionPage": {
|
|
2993
|
+
"breadcrumbDashboard": "Painel",
|
|
2994
|
+
"breadcrumbManagement": "Gerenciamento",
|
|
2995
|
+
"breadcrumbCurrent": "Prompts de IA",
|
|
2996
|
+
"title": "Prompts de IA",
|
|
2997
|
+
"description": "Veja e edite todos os prompts que o sistema envia aos modelos de IA, agrupados por módulo. Cada prompt mantém uma cópia canônica no código: se o prompt do banco estiver ausente, vazio ou inválido, essa cópia é usada e o fluxo continua funcionando.",
|
|
2998
|
+
"searchPlaceholder": "Buscar por slug ou nome...",
|
|
2999
|
+
"loading": "Carregando...",
|
|
3000
|
+
"empty": "Nenhum prompt encontrado",
|
|
3001
|
+
"emptyDescription": "Ajuste os filtros ou limpe a busca para ver os prompts cadastrados.",
|
|
3002
|
+
"edit": "Editar",
|
|
3003
|
+
"cancel": "Cancelar",
|
|
3004
|
+
"save": "Salvar",
|
|
3005
|
+
"saving": "Salvando...",
|
|
3006
|
+
"saveSuccess": "Prompt salvo.",
|
|
3007
|
+
"saveError": "Não foi possível salvar o prompt.",
|
|
3008
|
+
"filterLayer": "Camada",
|
|
3009
|
+
"filterModule": "Módulo",
|
|
3010
|
+
"filterStatus": "Situação",
|
|
3011
|
+
"filterAllLayers": "Todas as camadas",
|
|
3012
|
+
"filterAllModules": "Todos os módulos",
|
|
3013
|
+
"filterAllStatuses": "Todas as situações",
|
|
3014
|
+
"filterActive": "Ativos",
|
|
3015
|
+
"filterInactive": "Inativos",
|
|
3016
|
+
"layer_task": "Tarefa",
|
|
3017
|
+
"layer_system": "Sistema",
|
|
3018
|
+
"layer_product": "Produto",
|
|
3019
|
+
"layer_module": "Módulo",
|
|
3020
|
+
"layer_agent": "Agente",
|
|
3021
|
+
"layer_tool": "Ferramenta",
|
|
3022
|
+
"layer_output": "Saída",
|
|
3023
|
+
"columnName": "Nome",
|
|
3024
|
+
"columnLayer": "Camada",
|
|
3025
|
+
"columnModule": "Módulo",
|
|
3026
|
+
"columnParams": "Parâmetros",
|
|
3027
|
+
"columnState": "Estado",
|
|
3028
|
+
"columnUpdatedAt": "Atualizado",
|
|
3029
|
+
"badgeDefault": "Padrão",
|
|
3030
|
+
"badgeCustomized": "Customizado",
|
|
3031
|
+
"badgeLocked": "Bloqueado",
|
|
3032
|
+
"badgeInactive": "Inativo",
|
|
3033
|
+
"tabContent": "Conteúdo",
|
|
3034
|
+
"tabVariables": "Variáveis",
|
|
3035
|
+
"tabPreview": "Pré-visualização",
|
|
3036
|
+
"tabHistory": "Histórico",
|
|
3037
|
+
"fieldSlug": "Slug",
|
|
3038
|
+
"fieldName": "Nome",
|
|
3039
|
+
"fieldLocale": "Idioma",
|
|
3040
|
+
"fieldIsActive": "Ativo",
|
|
3041
|
+
"fieldContent": "Conteúdo do prompt",
|
|
3042
|
+
"fieldChangeNote": "Nota da alteração",
|
|
3043
|
+
"fieldModel": "Modelo",
|
|
3044
|
+
"fieldTemperature": "Temperatura",
|
|
3045
|
+
"fieldMaxTokens": "Máximo de tokens",
|
|
3046
|
+
"slugImmutable": "O slug não pode ser alterado: é por ele que o código resolve o prompt.",
|
|
3047
|
+
"copySlug": "Copiar slug",
|
|
3048
|
+
"slugCopied": "Slug copiado.",
|
|
3049
|
+
"isActiveHint": "Quando inativo, o fluxo usa a cópia que está no código.",
|
|
3050
|
+
"changeNotePlaceholder": "O que mudou e por quê",
|
|
3051
|
+
"charCountWithTokens": "{chars} caracteres · ~{tokens} tokens",
|
|
3052
|
+
"restoreDefault": "Restaurar padrão",
|
|
3053
|
+
"restoreDefaultApplied": "Conteúdo padrão aplicado. Salve para confirmar.",
|
|
3054
|
+
"inheritPlaceholder": "herdar",
|
|
3055
|
+
"modelParamsTitle": "Parâmetros do modelo",
|
|
3056
|
+
"modelParamsHint": "Deixe vazio para manter o que o perfil de integração ou o código já usam.",
|
|
3057
|
+
"unbalancedBlocksError": "Bloco de template não fechado: {blocks}. Isso descartaria o resto do prompt.",
|
|
3058
|
+
"missingRequiredError": "Variáveis obrigatórias ausentes do conteúdo: {variables}.",
|
|
3059
|
+
"missingPhrasesWarning": "Frases de segurança removidas: {phrases}.",
|
|
3060
|
+
"allPhrasesMissingWarning": "Todas as frases de segurança foram removidas. Em execução este prompt será ignorado e a cópia do código será usada no lugar.",
|
|
3061
|
+
"lockedTitle": "Prompt sensível de segurança",
|
|
3062
|
+
"lockedDescription": "Este prompt é a defesa contra prompt injection na correção automática. Alterá-lo pode permitir manipulação de notas.",
|
|
3063
|
+
"unlockEditing": "Desbloquear edição",
|
|
3064
|
+
"unlockDialogTitle": "Desbloquear edição",
|
|
3065
|
+
"unlockDialogDescription": "Digite o slug do prompt para confirmar que você revisou o impacto de segurança desta alteração.",
|
|
3066
|
+
"variablesEmpty": "Este prompt não recebe variáveis.",
|
|
3067
|
+
"variablesFromCode": "Variáveis declaradas no código. O prompt precisa continuar usando as obrigatórias.",
|
|
3068
|
+
"columnVariable": "Variável",
|
|
3069
|
+
"columnVariableType": "Tipo",
|
|
3070
|
+
"columnVariableRequired": "Obrigatória",
|
|
3071
|
+
"columnVariableDescription": "Descrição",
|
|
3072
|
+
"variableRequired": "Obrigatória",
|
|
3073
|
+
"variableConditional": "Condicional",
|
|
3074
|
+
"previewNoVariables": "Este prompt não recebe variáveis; renderize para ver o texto final.",
|
|
3075
|
+
"previewRender": "Renderizar",
|
|
3076
|
+
"previewRendering": "Renderizando...",
|
|
3077
|
+
"previewError": "Não foi possível renderizar a pré-visualização.",
|
|
3078
|
+
"versionsEmpty": "Nenhuma versão registrada ainda.",
|
|
3079
|
+
"versionsSelectHint": "Selecione uma versão para comparar com o conteúdo atual.",
|
|
3080
|
+
"versionCurrent": "atual",
|
|
3081
|
+
"columnVersionDate": "Data",
|
|
3082
|
+
"columnVersionAuthor": "Autor",
|
|
3083
|
+
"columnVersionNote": "Nota",
|
|
3084
|
+
"columnVersionSize": "Caracteres",
|
|
3085
|
+
"restoreVersion": "Restaurar",
|
|
3086
|
+
"restoring": "Restaurando...",
|
|
3087
|
+
"restoreSuccess": "Versão {version} restaurada como uma nova versão.",
|
|
3088
|
+
"restoreError": "Não foi possível restaurar a versão.",
|
|
3089
|
+
"restoreDialogTitle": "Restaurar versão",
|
|
3090
|
+
"restoreDialogDescription": "O conteúdo da versão {version} passa a ser uma nova versão em cima da atual. Nada é apagado.",
|
|
3091
|
+
"diffCurrentLabel": "atual",
|
|
3092
|
+
"diffVersionLabel": "versão {version}",
|
|
3093
|
+
"diffIdentical": "Esta versão é idêntica ao conteúdo atual."
|
|
3094
|
+
},
|
|
3095
|
+
"HtmlCodeEditor": {
|
|
3096
|
+
"zoomIn": "Aumentar fonte",
|
|
3097
|
+
"zoomOut": "Diminuir fonte",
|
|
3098
|
+
"resetZoom": "Resetar zoom"
|
|
3099
|
+
},
|
|
3100
|
+
"HtmlContentEditor": {
|
|
3101
|
+
"tabPreview": "Visualizar",
|
|
3102
|
+
"tabEditor": "Editor",
|
|
3103
|
+
"tabCode": "HTML",
|
|
3104
|
+
"previewTitle": "Pré-visualização do HTML",
|
|
3105
|
+
"noContent": "Sem conteúdo para visualizar",
|
|
3106
|
+
"complexHtmlWarningTitle": "HTML complexo detectado",
|
|
3107
|
+
"complexHtmlWarningDesc": "Este conteúdo tem tags style, head ou script que o editor visual remove. Use a aba HTML para editá-lo.",
|
|
3108
|
+
"aiEditTitle": "Ajustar HTML com IA",
|
|
3109
|
+
"aiInstructionPlaceholder": "Descreva o ajuste que a IA deve fazer neste HTML.",
|
|
3110
|
+
"aiApplyButton": "Ajustar com IA",
|
|
3111
|
+
"aiApplying": "Ajustando...",
|
|
3112
|
+
"aiEditAppliedDefault": "HTML ajustado pela IA. Revise antes de salvar.",
|
|
3113
|
+
"aiEditErrorDefault": "Não foi possível ajustar o HTML com IA.",
|
|
3114
|
+
"enterFullscreen": "Tela cheia",
|
|
3115
|
+
"exitFullscreen": "Sair da tela cheia",
|
|
3116
|
+
"enterSplitView": "Ver painéis lado a lado",
|
|
3117
|
+
"exitSplitView": "Ver em abas",
|
|
3118
|
+
"splitViewLabel": "Preview, HTML e IA lado a lado"
|
|
3119
|
+
},
|
|
3120
|
+
"MailLayoutPage": {
|
|
3121
|
+
"breadcrumbHome": "Início",
|
|
3122
|
+
"breadcrumbMail": "Templates de E-mail",
|
|
3123
|
+
"breadcrumbTitle": "Layout base",
|
|
3124
|
+
"title": "Layout base",
|
|
3125
|
+
"description": "Wrapper, cabeçalho e rodapé aplicados a todo e-mail enviado pelo sistema",
|
|
3126
|
+
"save": "Salvar layout",
|
|
3127
|
+
"saving": "Salvando...",
|
|
3128
|
+
"localeLabel": "Idioma",
|
|
3129
|
+
"tabHeader": "Cabeçalho",
|
|
3130
|
+
"tabFooter": "Rodapé",
|
|
3131
|
+
"tabWrapper": "Wrapper",
|
|
3132
|
+
"headerHelp": "Fragmento exibido acima do conteúdo da mensagem. Traduzido por idioma.",
|
|
3133
|
+
"footerHelp": "Fragmento exibido abaixo do conteúdo da mensagem. Traduzido por idioma.",
|
|
3134
|
+
"wrapperHelp": "Documento HTML completo com a estrutura e o CSS. É compartilhado por todos os idiomas, por isso é editado apenas como HTML puro.",
|
|
3135
|
+
"tokensHelp": "Tokens disponíveis:",
|
|
3136
|
+
"sampleSubject": "Assunto de exemplo",
|
|
3137
|
+
"sampleBody": "Olá,<br>Este é um corpo de exemplo usado apenas para visualizar o layout base.<br>Atenciosamente.",
|
|
3138
|
+
"loadError": "Falha ao carregar o layout base",
|
|
3139
|
+
"saveSuccess": "Layout base salvo",
|
|
3140
|
+
"saveError": "Falha ao salvar o layout base",
|
|
3141
|
+
"missingContentTokenError": "O wrapper precisa conter o token {{{content}}}, senão todos os e-mails seriam enviados vazios."
|
|
3142
|
+
},
|
|
3143
|
+
"KnownDevices": {
|
|
3144
|
+
"title": "Dispositivos Conhecidos",
|
|
3145
|
+
"description": "Aparelhos que sua conta já reconhece. Um acesso vindo de um dispositivo fora desta lista dispara um alerta por e-mail.",
|
|
3146
|
+
"adminDescription": "Aparelhos que a conta deste usuário já reconhece.",
|
|
3147
|
+
"device": "Dispositivo",
|
|
3148
|
+
"browser": "Navegador",
|
|
3149
|
+
"lastIp": "Último IP",
|
|
3150
|
+
"lastSeen": "Último acesso",
|
|
3151
|
+
"firstSeen": "Reconhecido em",
|
|
3152
|
+
"action": "Ação",
|
|
3153
|
+
"unknown": "Desconhecido",
|
|
3154
|
+
"forget": "Esquecer",
|
|
3155
|
+
"noDevices": "Nenhum dispositivo reconhecido ainda",
|
|
3156
|
+
"forgetTitle": "Esquecer dispositivo",
|
|
3157
|
+
"forgetDescription": "O próximo acesso vindo deste dispositivo será tratado como desconhecido e disparará um alerta por e-mail. As sessões abertas nele continuam válidas — para encerrá-las, revogue as sessões.",
|
|
3158
|
+
"cancel": "Cancelar",
|
|
3159
|
+
"forgetSuccess": "Dispositivo esquecido",
|
|
3160
|
+
"forgetFailure": "Não foi possível esquecer o dispositivo",
|
|
3161
|
+
"simulatedNotRecorded": "Acessos simulados não são registrados como dispositivo — veja a aba de sessões."
|
|
3162
|
+
},
|
|
3163
|
+
"AccessSimulation": {
|
|
3164
|
+
"action": "Simular acesso",
|
|
3165
|
+
"dialogTitle": "Simular acesso",
|
|
3166
|
+
"dialogDescription": "Abre uma sessão curta e auditada vendo o sistema como {name}. Tudo o que você fizer fica registrado no nome dessa pessoa e no seu.",
|
|
3167
|
+
"targetApp": "Aplicação de destino",
|
|
3168
|
+
"targetAppPlaceholder": "Escolha onde abrir a sessão",
|
|
3169
|
+
"noAppsConfigured": "Nenhuma aplicação tem URL configurada na setting app-urls.",
|
|
3170
|
+
"reason": "Motivo (opcional)",
|
|
3171
|
+
"reasonPlaceholder": "Chamado, solicitação ou contexto desta simulação",
|
|
3172
|
+
"auditWarning": "A simulação fica registrada nas sessões, no log de acesso e na linha do tempo de atividade dos dois usuários. Dura 30 minutos e não pode ser renovada.",
|
|
3173
|
+
"confirm": "Iniciar simulação",
|
|
3174
|
+
"cancel": "Cancelar",
|
|
3175
|
+
"opening": "Abrindo…",
|
|
3176
|
+
"startFailure": "Não foi possível iniciar a simulação de acesso.",
|
|
3177
|
+
"bannerViewingAs": "ACESSO SIMULADO — você está vendo o sistema como",
|
|
3178
|
+
"bannerOperator": "Operador",
|
|
3179
|
+
"bannerExpiresIn": "expira em",
|
|
3180
|
+
"bannerStop": "Encerrar simulação",
|
|
3181
|
+
"bannerStopping": "Encerrando…",
|
|
3182
|
+
"redeemLoading": "Iniciando a simulação de acesso…",
|
|
3183
|
+
"redeemInvalidTitle": "Este link de simulação não vale mais",
|
|
3184
|
+
"redeemInvalidDescription": "O link funciona uma única vez e expira em um minuto. Peça ao operador para iniciar uma nova simulação.",
|
|
3185
|
+
"redeemMissingCode": "Nenhum código de simulação foi encontrado no link.",
|
|
3186
|
+
"noAdminAccessTitle": "Este usuário não tem acesso ao painel",
|
|
3187
|
+
"noAdminAccessDescription": "{name} não tem papel administrativo, então não há o que mostrar aqui. Simule esse acesso na aplicação que a pessoa realmente usa."
|
|
2594
3188
|
}
|
|
2595
3189
|
}
|