@hed-hog/core 0.0.387 → 0.0.390
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 +12 -11
- package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
- package/dist/access-log/access-log.interceptor.js +4 -2
- package/dist/access-log/access-log.interceptor.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 +7 -16
- package/dist/ai/ai.controller.d.ts.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 +63 -12
- package/dist/ai/ai.service.d.ts.map +1 -1
- package/dist/ai/ai.service.js +215 -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/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-instruction/ai-instruction.controller.d.ts +61 -7
- 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 +24 -9
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +49 -21
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.service.d.ts +33 -8
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +78 -29
- package/dist/auth/auth.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 +16 -7
- package/dist/challenge/challenge.service.d.ts.map +1 -1
- package/dist/challenge/challenge.service.js +64 -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 +29 -2
- package/dist/core.module.js.map +1 -1
- package/dist/dashboard/dashboard/dashboard.controller.d.ts +15 -15
- package/dist/dashboard/dashboard/dashboard.service.d.ts +15 -15
- package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +6 -6
- package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +6 -6
- 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 +1 -1
- package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +1 -1
- 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.service.d.ts +6 -0
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +44 -4
- package/dist/file/file.service.js.map +1 -1
- 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 +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -0
- package/dist/index.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 +9 -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 +13 -1
- package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.utils.js +20 -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 +128 -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 +4 -2
- package/dist/language/pt.json +4 -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 +7 -0
- package/dist/mail/dto/send.dto.d.ts.map +1 -1
- package/dist/mail/dto/send.dto.js +10 -0
- package/dist/mail/dto/send.dto.js.map +1 -1
- package/dist/mail/mail.controller.d.ts +4 -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.service.d.ts +23 -2
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +102 -13
- package/dist/mail/mail.service.js.map +1 -1
- 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/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/menu/menu.controller.d.ts +3 -3
- package/dist/menu/menu.service.d.ts +3 -3
- 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/pdf/pdf.service.d.ts +8 -0
- package/dist/pdf/pdf.service.d.ts.map +1 -1
- package/dist/pdf/pdf.service.js +52 -0
- 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 +21 -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 +30 -18
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +113 -37
- 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 +140 -0
- package/dist/redis/redis-pubsub.js.map +1 -0
- package/dist/role/role.controller.d.ts +3 -3
- package/dist/role/role.service.d.ts +3 -3
- 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.service.d.ts +8 -5
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +25 -1
- package/dist/setting/setting.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 +17 -5
- 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 +28 -6
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +204 -13
- package/dist/user/user.service.js.map +1 -1
- 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/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 +16 -0
- package/hedhog/data/mail.yaml +88 -61
- package/hedhog/data/mail_layout.yaml +188 -0
- package/hedhog/data/menu.yaml +67 -3
- package/hedhog/data/route.yaml +135 -0
- package/hedhog/data/setting_group.yaml +139 -1
- package/hedhog/frontend/app/account/components/mfa-setup-dialog.tsx.ejs +36 -0
- package/hedhog/frontend/app/account/components/two-factor-auth.tsx.ejs +2 -0
- package/hedhog/frontend/app/account/hooks/use-mfa-setup.ts.ejs +10 -7
- 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.tsx.ejs +51 -4
- 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/template/page.tsx.ejs +155 -121
- 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/page.tsx.ejs +119 -13
- package/hedhog/frontend/app/users/user-activity-timeline.tsx.ejs +231 -0
- package/hedhog/frontend/app/users/user-mails.tsx.ejs +399 -0
- package/hedhog/frontend/app/users/user-sheet.tsx.ejs +60 -75
- package/hedhog/frontend/messages/en.json +499 -3
- package/hedhog/frontend/messages/pt.json +499 -3
- package/hedhog/table/ai_agent.yaml +1 -0
- package/hedhog/table/ai_instruction.yaml +15 -0
- package/hedhog/table/leaked_password.yaml +18 -0
- package/hedhog/table/mail_layout.yaml +35 -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_presence.yaml +36 -0
- package/package.json +8 -4
- package/src/access-log/access-log.interceptor.ts +4 -2
- package/src/ai/ai-attachment.fragments.spec.ts +319 -0
- package/src/ai/ai-attachment.fragments.ts +35 -0
- package/src/ai/ai.prompts.ts +38 -0
- package/src/ai/ai.service.spec.ts +280 -0
- package/src/ai/ai.service.ts +338 -82
- package/src/ai/dto/chat.dto.ts +33 -3
- package/src/ai/dto/create-agent.dto.ts +2 -2
- package/src/ai/dto/update-agent.dto.ts +2 -2
- 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 +31 -5
- package/src/auth/auth.service.spec.ts +3 -1
- package/src/auth/auth.service.ts +101 -36
- 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 +39 -4
- package/src/challenge/challenge.service.ts +72 -17
- package/src/core.module.ts +27 -1
- package/src/file/file.service.spec.ts +105 -0
- package/src/file/file.service.ts +60 -3
- 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 +37 -0
- 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 +9 -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 +40 -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 +161 -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 +4 -2
- package/src/language/pt.json +4 -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 +14 -1
- package/src/mail/mail-template.spec.ts +197 -0
- package/src/mail/mail.controller.ts +9 -2
- package/src/mail/mail.service.spec.ts +116 -1
- package/src/mail/mail.service.ts +118 -12
- 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/mcp-chat/mcp-chat.service.spec.ts +236 -0
- package/src/mcp-chat/mcp-chat.service.ts +122 -26
- 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/pdf/pdf.service.ts +75 -0
- 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 +138 -38
- 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 +179 -0
- package/src/setting/dto/create.dto.ts +13 -2
- package/src/setting/setting.service.spec.ts +56 -0
- package/src/setting/setting.service.ts +29 -1
- 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 +153 -0
- package/src/user/user.service.ts +255 -12
- package/src/validators/is-strong-password-with-settings.validator.ts +12 -0
- package/src/validators/service-locator.ts +15 -0
- package/src/whatsapp-sender/whatsapp-sender.module.ts +10 -0
- package/src/whatsapp-sender/whatsapp-sender.service.ts +313 -0
|
@@ -255,6 +255,7 @@
|
|
|
255
255
|
"tabIdentifiers": "Identifiers",
|
|
256
256
|
"tabMfa": "MFA",
|
|
257
257
|
"tabSessions": "Sessions",
|
|
258
|
+
"tabEmails": "Emails",
|
|
258
259
|
"tabLogs": "Logs",
|
|
259
260
|
"cardLastLoginDescription": "Last Login",
|
|
260
261
|
"cardLastLoginTitle": "Never",
|
|
@@ -265,6 +266,9 @@
|
|
|
265
266
|
"cardMfaMethods": "MFA Methods",
|
|
266
267
|
"cardUserId": "User ID",
|
|
267
268
|
"recentActivityTitle": "Recent Activities",
|
|
269
|
+
"activityToday": "Today",
|
|
270
|
+
"activityYesterday": "Yesterday",
|
|
271
|
+
"activityEventsCount": "{count, plural, one {# event} other {# events}}",
|
|
268
272
|
"buttonDeleteUser": "Delete User",
|
|
269
273
|
"dialogDeleteUserTitle": "Delete User Confirmation",
|
|
270
274
|
"dialogDeleteUserDescription": "Are you sure to delete this user? This can not be undone.",
|
|
@@ -354,6 +358,7 @@
|
|
|
354
358
|
"passwordLastChangedAbsolute": "Last recorded update: {absoluteLabel}",
|
|
355
359
|
"passwordLastChangedUnavailable": "The system could not determine when this password was last updated.",
|
|
356
360
|
"passwordResetNotice": "After this reset, the user must change the password on the next login.",
|
|
361
|
+
"passwordResetSelfNotice": "You can't reset your own password from here — this would immediately require you to change it, and you wouldn't have the generated password to do so. Use your account settings (My Account > Password) instead.",
|
|
357
362
|
"buttonResetPassword": "Reset Password",
|
|
358
363
|
"passwordResetDialogTitle": "Reset User Password",
|
|
359
364
|
"passwordResetDialogDescription": "A strong password is generated by default. You can edit it before confirming.",
|
|
@@ -373,7 +378,13 @@
|
|
|
373
378
|
"viewModeCards": "Cards",
|
|
374
379
|
"columnName": "Name",
|
|
375
380
|
"columnEmail": "Email",
|
|
376
|
-
"columnStatus": "Status"
|
|
381
|
+
"columnStatus": "Status",
|
|
382
|
+
"columnPasswordReset": "Password",
|
|
383
|
+
"columnLastLogin": "Last login",
|
|
384
|
+
"passwordResetPending": "Reset pending",
|
|
385
|
+
"passwordResetNone": "Up to date",
|
|
386
|
+
"neverLoggedIn": "Never signed in",
|
|
387
|
+
"filterOptionPasswordReset": "Password reset pending"
|
|
377
388
|
},
|
|
378
389
|
"RolePage": {
|
|
379
390
|
"title": "Roles Management",
|
|
@@ -617,7 +628,9 @@
|
|
|
617
628
|
"importConflictTitle": "Templates already exist",
|
|
618
629
|
"importConflictDescription": "The following templates already exist in the database. Do you want to overwrite them?",
|
|
619
630
|
"conflictingSlugs": "Conflicting slugs",
|
|
620
|
-
"overwrite": "Overwrite"
|
|
631
|
+
"overwrite": "Overwrite",
|
|
632
|
+
"fullDocumentWarningTitle": "Full HTML document",
|
|
633
|
+
"fullDocumentWarningDesc": "This body is a complete HTML document, so the base layout will not be applied to it."
|
|
621
634
|
},
|
|
622
635
|
"MailProfilePage": {
|
|
623
636
|
"breadcrumbHome": "Home",
|
|
@@ -748,6 +761,26 @@
|
|
|
748
761
|
"emailRequired": "Email is required",
|
|
749
762
|
"emailInvalid": "Email is invalid"
|
|
750
763
|
},
|
|
764
|
+
"ResetPasswordPage": {
|
|
765
|
+
"title": "Reset Password",
|
|
766
|
+
"newPasswordLabel": "New Password",
|
|
767
|
+
"newPasswordPlaceholder": "Enter your new password",
|
|
768
|
+
"confirmPasswordLabel": "Confirm New Password",
|
|
769
|
+
"confirmPasswordPlaceholder": "Confirm your new password",
|
|
770
|
+
"newPasswordMinLength": "Password must be at least {minLength} characters",
|
|
771
|
+
"newPasswordMinSymbols": "Password must contain at least {minSymbols} special symbols",
|
|
772
|
+
"newPasswordMinUppercase": "Password must contain at least {minUppercase} uppercase letters",
|
|
773
|
+
"newPasswordMinNumbers": "Password must contain at least {minNumbers} numbers",
|
|
774
|
+
"confirmPasswordRequired": "Please confirm your new password",
|
|
775
|
+
"passwordsDontMatch": "Passwords don't match",
|
|
776
|
+
"missingTokenTitle": "Invalid link",
|
|
777
|
+
"missingToken": "This password reset link is invalid or missing. Please request a new one.",
|
|
778
|
+
"errorTitle": "Reset Failed",
|
|
779
|
+
"successTitle": "Password updated",
|
|
780
|
+
"successDescription": "Your password has been reset successfully. Redirecting you now...",
|
|
781
|
+
"submitButton": "Reset Password",
|
|
782
|
+
"submitButtonLoading": "Resetting..."
|
|
783
|
+
},
|
|
751
784
|
"NavUser": {
|
|
752
785
|
"account": "Account",
|
|
753
786
|
"notifications": "Notifications",
|
|
@@ -996,6 +1029,36 @@
|
|
|
996
1029
|
"revokeAllSuccess": "Sessions revoked successfully!",
|
|
997
1030
|
"revokeAllFailure": "Failed to revoke sessions"
|
|
998
1031
|
},
|
|
1032
|
+
"UserMails": {
|
|
1033
|
+
"title": "Sent emails",
|
|
1034
|
+
"searchPlaceholder": "Search by subject...",
|
|
1035
|
+
"filterByStatus": "Status",
|
|
1036
|
+
"statusAll": "All statuses",
|
|
1037
|
+
"statusReceived": "Received",
|
|
1038
|
+
"statusRead": "Read",
|
|
1039
|
+
"statusError": "Error",
|
|
1040
|
+
"statusUntracked": "Not tracked",
|
|
1041
|
+
"status_received": "Received",
|
|
1042
|
+
"status_read": "Read",
|
|
1043
|
+
"status_error": "Error",
|
|
1044
|
+
"kpiTotal": "Total sent",
|
|
1045
|
+
"kpiRead": "Read",
|
|
1046
|
+
"kpiError": "With error",
|
|
1047
|
+
"emptyTitle": "No emails sent",
|
|
1048
|
+
"emptyDescription": "The system has not sent any email to this user yet.",
|
|
1049
|
+
"detailsTitle": "Email details",
|
|
1050
|
+
"detailsDescription": "Content and delivery status of the sent email.",
|
|
1051
|
+
"subject": "Subject",
|
|
1052
|
+
"from": "From",
|
|
1053
|
+
"to": "To",
|
|
1054
|
+
"cc": "Cc",
|
|
1055
|
+
"bcc": "Bcc",
|
|
1056
|
+
"body": "Body",
|
|
1057
|
+
"delivery": "Delivery",
|
|
1058
|
+
"createdAt": "Sent at",
|
|
1059
|
+
"readAt": "Read at",
|
|
1060
|
+
"errorMessage": "Error"
|
|
1061
|
+
},
|
|
999
1062
|
"UserChangeLog": {
|
|
1000
1063
|
"title": "Change History",
|
|
1001
1064
|
"byActor": "by",
|
|
@@ -1106,6 +1169,8 @@
|
|
|
1106
1169
|
"descriptionRemove": "Enter your verification code to confirm removal",
|
|
1107
1170
|
"descriptionSetup": "Follow the instructions to setup two-factor authentication",
|
|
1108
1171
|
"scanQrCode": "Scan this QR code with your authenticator app",
|
|
1172
|
+
"manualCodeHint": "Can't scan it? Type this code into the authenticator app:",
|
|
1173
|
+
"manualCodeCopy": "Copy code",
|
|
1109
1174
|
"methodNameLabel": "Method Name",
|
|
1110
1175
|
"methodNamePlaceholder": "e.g., {methodLabel} {example}",
|
|
1111
1176
|
"securityKeyNameLabel": "Security Key Name",
|
|
@@ -1358,7 +1423,14 @@
|
|
|
1358
1423
|
"selectInfraProfile": "Select infrastructure profile",
|
|
1359
1424
|
"infraProfileEmptyState": "No infrastructure profiles found. Create a DigitalOcean or Kubernetes profile first.",
|
|
1360
1425
|
"selectK8sInfraProfile": "Select Kubernetes profile",
|
|
1361
|
-
"k8sInfraProfileEmptyState": "No Kubernetes infrastructure profiles found. Create one first."
|
|
1426
|
+
"k8sInfraProfileEmptyState": "No Kubernetes infrastructure profiles found. Create one first.",
|
|
1427
|
+
"openLink": "Open",
|
|
1428
|
+
"settingOptions": {
|
|
1429
|
+
"commerce-android-checkout-mode": {
|
|
1430
|
+
"web": "Website checkout",
|
|
1431
|
+
"play_billing": "Google Play Billing (in-app purchase)"
|
|
1432
|
+
}
|
|
1433
|
+
}
|
|
1362
1434
|
},
|
|
1363
1435
|
"AddWidgetDialog": {
|
|
1364
1436
|
"title": "Select Dashboard Components",
|
|
@@ -2393,15 +2465,30 @@
|
|
|
2393
2465
|
"tableSlug": "Slug",
|
|
2394
2466
|
"tableProvider": "Provider",
|
|
2395
2467
|
"tableStatus": "Status",
|
|
2468
|
+
"tableValidation": "Validation",
|
|
2396
2469
|
"tableUses": "Uses",
|
|
2397
2470
|
"tableUpdated": "Updated",
|
|
2398
2471
|
"tableActions": "Actions",
|
|
2399
2472
|
"statusActive": "Active",
|
|
2400
2473
|
"statusInactive": "Inactive",
|
|
2474
|
+
"validationOk": "Validated",
|
|
2475
|
+
"validationError": "Failed",
|
|
2476
|
+
"validationNever": "Never tested",
|
|
2477
|
+
"validationTooltipAt": "Last tested on {date}",
|
|
2401
2478
|
"noProfilesFound": "No profiles found",
|
|
2402
2479
|
"noProfilesHint": "Create a new profile to store connection credentials.",
|
|
2403
2480
|
"createProfile": "Create Profile",
|
|
2404
2481
|
"saveChanges": "Save Changes",
|
|
2482
|
+
"testConnection": "Test connection",
|
|
2483
|
+
"testing": "Testing...",
|
|
2484
|
+
"testConnectionRunning": "Testing connection...",
|
|
2485
|
+
"testConnectionSuccess": "Connection validated successfully.",
|
|
2486
|
+
"testConnectionOkWithInfo": "Connection validated: {info}",
|
|
2487
|
+
"testConnectionWarning": "Credentials are valid, but: {warning}",
|
|
2488
|
+
"testConnectionError": "Connection test failed.",
|
|
2489
|
+
"testConnectionErrorFallback": "Could not validate the credentials.",
|
|
2490
|
+
"testConnectionNotPersisted": "Save the profile to record the result.",
|
|
2491
|
+
"loadingProfile": "Loading profile...",
|
|
2405
2492
|
"cancel": "Cancel",
|
|
2406
2493
|
"delete": "Delete",
|
|
2407
2494
|
"deleteConfirmTitle": "Confirm Deletion",
|
|
@@ -2421,6 +2508,7 @@
|
|
|
2421
2508
|
"fieldFromEmail": "From Email",
|
|
2422
2509
|
"fieldFromName": "From Name",
|
|
2423
2510
|
"fieldReplyTo": "Reply-To Email",
|
|
2511
|
+
"fieldReplyToName": "Reply-To Name",
|
|
2424
2512
|
"fieldClientId": "Client ID",
|
|
2425
2513
|
"fieldClientSecret": "Client Secret",
|
|
2426
2514
|
"fieldRefreshToken": "Refresh Token",
|
|
@@ -2454,6 +2542,49 @@
|
|
|
2454
2542
|
"whatsappWebhookStep2": "Click \"Verify and save\".",
|
|
2455
2543
|
"whatsappWebhookStep3": "Subscribe to the \"messages\" field.",
|
|
2456
2544
|
"whatsappWebhookStep4": "Send a test message and confirm it arrives.",
|
|
2545
|
+
"microsoftWebhookSectionTitle": "Microsoft Graph webhook",
|
|
2546
|
+
"microsoftWebhookDescription": "A single URL that receives all Microsoft Graph events (ended meetings/calls, recordings, transcripts, presence, messages and Entra users). Registered automatically in the webhooks list.",
|
|
2547
|
+
"microsoftWebhookUrlLabel": "Webhook URL (notificationUrl)",
|
|
2548
|
+
"microsoftWebhookLoading": "Generating URL…",
|
|
2549
|
+
"microsoftWebhookUnavailable": "URL unavailable — check the API base URL setting (api-url must be a public HTTPS URL).",
|
|
2550
|
+
"microsoftWebhookSaveFirst": "Save the profile to generate the webhook URL.",
|
|
2551
|
+
"microsoftSyncButton": "Sync subscriptions",
|
|
2552
|
+
"microsoftSyncing": "Syncing…",
|
|
2553
|
+
"microsoftSyncResult": "Subscriptions synced: {created} created, {reused} kept, {failed} failed.",
|
|
2554
|
+
"microsoftSyncError": "Failed to sync subscriptions.",
|
|
2555
|
+
"microsoftStepsTitle": "In the Azure portal (Microsoft Entra ID → App registrations):",
|
|
2556
|
+
"microsoftStep1": "Register an app (or use the existing one) and copy the application (client) id and directory (tenant) id into the fields above.",
|
|
2557
|
+
"microsoftStep2": "Under \"Certificates & secrets\", create a client secret and paste it above.",
|
|
2558
|
+
"microsoftStep3": "Under \"Authentication\", add the OAuth redirect URI (callbacks tab) so sign-in works.",
|
|
2559
|
+
"microsoftStep4": "Under \"API permissions\", grant the permissions below and click \"Grant admin consent\".",
|
|
2560
|
+
"microsoftStep5": "Save the profile, copy the webhook URL above and click \"Sync subscriptions\".",
|
|
2561
|
+
"microsoftPermissionsTitle": "Microsoft Graph permissions",
|
|
2562
|
+
"microsoftPermissionsApplication": "Application (admin consent)",
|
|
2563
|
+
"microsoftPermissionsDelegated": "Delegated (per user)",
|
|
2564
|
+
"microsoftProtectedSuffix": "(protected API — requires an approved request to Microsoft)",
|
|
2565
|
+
"microsoftNotes": "App-only meetings/transcripts require an Application Access Policy created via PowerShell (New-CsApplicationAccessPolicy). Org-wide chat message subscriptions only work after Microsoft approves protected-API access.",
|
|
2566
|
+
"paymentWebhookSectionTitle": "Payment gateway webhook",
|
|
2567
|
+
"paymentWebhookDescription": "Register this URL in your payment provider so it notifies HedHog of payments, refunds and subscription changes.",
|
|
2568
|
+
"paymentWebhookUrlLabel": "Webhook URL",
|
|
2569
|
+
"paymentWebhookLoading": "Generating URL…",
|
|
2570
|
+
"paymentWebhookUnavailable": "URL unavailable — check the API base URL setting.",
|
|
2571
|
+
"paymentWebhookSaveFirst": "Save the profile to generate the webhook URL.",
|
|
2572
|
+
"paymentWebhookBaseUrlMissing": "URL unavailable — set a public HTTPS API URL (the api-url setting) so the webhook can be registered in the gateway.",
|
|
2573
|
+
"paymentWebhookStepsTitle": "In your payment provider dashboard:",
|
|
2574
|
+
"paymentStripeStep1": "Open Developers → Webhooks and click \"Add endpoint\".",
|
|
2575
|
+
"paymentStripeStep2": "Paste the Webhook URL above as the endpoint URL.",
|
|
2576
|
+
"paymentStripeStep3": "Select the events to send (payment_intent, charge, checkout.session, invoice, customer.subscription).",
|
|
2577
|
+
"paymentStripeStep4": "Copy the endpoint's \"Signing secret\" and paste it into the Webhook Secret field above.",
|
|
2578
|
+
"paymentMercadoPagoStep1": "Open Your integrations → your application → Webhooks / Notifications.",
|
|
2579
|
+
"paymentMercadoPagoStep2": "Paste the Webhook URL above and select the payment and subscription events.",
|
|
2580
|
+
"paymentMercadoPagoStep3": "Save to generate the secret key used for signature validation.",
|
|
2581
|
+
"paymentMercadoPagoStep4": "Copy that secret and paste it into the Webhook Secret field above.",
|
|
2582
|
+
"paymentGooglePlayStep1": "In Google Play Console, open Monetization setup and set the Pub/Sub topic for real-time developer notifications (RTDN).",
|
|
2583
|
+
"paymentGooglePlayStep2": "Create a Pub/Sub push subscription pointing to the Webhook URL above.",
|
|
2584
|
+
"paymentGooglePlayStep3": "Grant the Play publisher service account permission to publish to the topic.",
|
|
2585
|
+
"paymentGooglePlayStep4": "Send a test notification and confirm it arrives.",
|
|
2586
|
+
"paymentWebhookSecretRequiredNote": "In production mode, set the Webhook Secret from the provider — without it, production webhooks are rejected (unsigned requests are not processed).",
|
|
2587
|
+
"paymentGooglePlayNote": "Google Play RTDN is authenticated by Pub/Sub (OIDC push); there is no webhook secret to configure. The subscription state is always re-fetched from the Play Developer API.",
|
|
2457
2588
|
"fieldBasePath": "Base Path",
|
|
2458
2589
|
"fieldBucket": "Bucket",
|
|
2459
2590
|
"fieldProjectId": "Project ID",
|
|
@@ -2464,6 +2595,7 @@
|
|
|
2464
2595
|
"fieldContainer": "Container",
|
|
2465
2596
|
"fieldEndpoint": "Endpoint URL",
|
|
2466
2597
|
"fieldApiKey": "API Key",
|
|
2598
|
+
"fieldModel": "Model",
|
|
2467
2599
|
"fieldOrganization": "Organization ID",
|
|
2468
2600
|
"fieldRedirectUri": "Redirect URI",
|
|
2469
2601
|
"fieldTenantId": "Tenant ID",
|
|
@@ -2481,6 +2613,13 @@
|
|
|
2481
2613
|
"fieldHmacKey": "HMAC Key",
|
|
2482
2614
|
"fieldScoreThreshold": "Score Threshold",
|
|
2483
2615
|
"fieldApiUrl": "API URL",
|
|
2616
|
+
"fieldPackageName": "Android Package Name",
|
|
2617
|
+
"fieldServiceAccountJson": "Service Account JSON",
|
|
2618
|
+
"fieldServiceAccountPrivateKey": "Service Account Private Key (PEM)",
|
|
2619
|
+
"fieldClientEmail": "Service Account Email",
|
|
2620
|
+
"fieldSessionToken": "Session Token (STS)",
|
|
2621
|
+
"fieldRoleArn": "Role ARN",
|
|
2622
|
+
"fieldExternalId": "External ID",
|
|
2484
2623
|
"callbackUrlsSectionTitle": "Callback URLs",
|
|
2485
2624
|
"callbackUrlsDescription": "Register these URLs in your OAuth application settings.",
|
|
2486
2625
|
"addCallbackUrl": "Add URL",
|
|
@@ -2536,5 +2675,362 @@
|
|
|
2536
2675
|
"fieldMaxRetries": "Max retries",
|
|
2537
2676
|
"fileStored": "A file is stored and encrypted. Click to replace it.",
|
|
2538
2677
|
"fileSelected": "New file selected. It will be encrypted on save."
|
|
2678
|
+
},
|
|
2679
|
+
"SystemPagesPage": {
|
|
2680
|
+
"title": "Pages",
|
|
2681
|
+
"description": "Catalog of the admin pages, with menu, permissions and endpoints for each one.",
|
|
2682
|
+
"breadcrumbHome": "Home",
|
|
2683
|
+
"breadcrumbManagement": "Management",
|
|
2684
|
+
"newPage": "New page",
|
|
2685
|
+
"statsTotal": "Pages",
|
|
2686
|
+
"statsLibraries": "Libraries",
|
|
2687
|
+
"statsResidue": "Likely residue",
|
|
2688
|
+
"statsWithoutI18n": "Without translation",
|
|
2689
|
+
"searchPlaceholder": "Search by route, file or library",
|
|
2690
|
+
"filterByLibrary": "Library",
|
|
2691
|
+
"allLibraries": "All libraries",
|
|
2692
|
+
"filterByMenuStatus": "Menu link",
|
|
2693
|
+
"allMenuStatuses": "All links",
|
|
2694
|
+
"menuStatusLinked": "With menu",
|
|
2695
|
+
"menuStatusOrphan": "Without menu",
|
|
2696
|
+
"menuStatusResidue": "Likely residue",
|
|
2697
|
+
"viewMode": "View",
|
|
2698
|
+
"viewModeTable": "Table",
|
|
2699
|
+
"viewModeCards": "Cards",
|
|
2700
|
+
"emptyStateTitle": "No page found",
|
|
2701
|
+
"emptyStateDescription": "Adjust the search or the filters to see other pages.",
|
|
2702
|
+
"emptyStateLoading": "Loading menus and permissions...",
|
|
2703
|
+
"columnRoute": "Route",
|
|
2704
|
+
"columnLibrary": "Library",
|
|
2705
|
+
"columnTemplate": "Template",
|
|
2706
|
+
"columnMenu": "Menu",
|
|
2707
|
+
"columnRoles": "Roles",
|
|
2708
|
+
"columnReferences": "References",
|
|
2709
|
+
"columnEndpoints": "Endpoints",
|
|
2710
|
+
"orphanBadge": "No menu",
|
|
2711
|
+
"residueBadge": "Residue",
|
|
2712
|
+
"cardEndpoints": "{count} endpoints",
|
|
2713
|
+
"cardLoc": "{count} lines",
|
|
2714
|
+
"template_list-kpi": "List with KPIs",
|
|
2715
|
+
"template_list-simple": "Simple list",
|
|
2716
|
+
"template_detail-form": "Detail / form",
|
|
2717
|
+
"template_dashboard": "Dashboard",
|
|
2718
|
+
"template_custom": "Custom",
|
|
2719
|
+
"tabOverview": "Overview",
|
|
2720
|
+
"tabMenu": "Menu",
|
|
2721
|
+
"tabPermissions": "Permissions",
|
|
2722
|
+
"tabFiles": "Files",
|
|
2723
|
+
"fieldRoute": "Route",
|
|
2724
|
+
"fieldLibrary": "Library",
|
|
2725
|
+
"fieldTemplate": "Template",
|
|
2726
|
+
"fieldLoc": "Lines",
|
|
2727
|
+
"fieldFile": "File",
|
|
2728
|
+
"fieldNamespaces": "Translation namespaces",
|
|
2729
|
+
"noNamespaces": "No namespace detected",
|
|
2730
|
+
"fieldFeatures": "Detected components",
|
|
2731
|
+
"fieldReferencedBy": "Referenced by",
|
|
2732
|
+
"noReferences": "No code file navigates to this page",
|
|
2733
|
+
"feature_pageHeader": "PageHeader",
|
|
2734
|
+
"feature_kpis": "KPIs",
|
|
2735
|
+
"feature_searchBar": "Search",
|
|
2736
|
+
"feature_pagination": "Pagination",
|
|
2737
|
+
"feature_viewModeToggle": "Table/cards",
|
|
2738
|
+
"feature_formSheet": "Form sheet",
|
|
2739
|
+
"feature_dataTable": "Data table",
|
|
2740
|
+
"feature_widgets": "Widgets",
|
|
2741
|
+
"menuName": "Menu name",
|
|
2742
|
+
"menuSlug": "Slug",
|
|
2743
|
+
"menuUrl": "URL",
|
|
2744
|
+
"menuIcon": "Icon",
|
|
2745
|
+
"menuParent": "Parent menu",
|
|
2746
|
+
"menuRoot": "Root menu",
|
|
2747
|
+
"menuOrder": "Order",
|
|
2748
|
+
"openMenuManager": "Open menu manager",
|
|
2749
|
+
"orphanTitle": "Page without a linked menu",
|
|
2750
|
+
"orphanDescription": "No menu points to {route}. The page exists in the code but is only reachable by direct link.",
|
|
2751
|
+
"menuRolesTitle": "Roles with menu access",
|
|
2752
|
+
"menuRolesDescription": "Roles that see this item in the sidebar.",
|
|
2753
|
+
"noRoles": "No role",
|
|
2754
|
+
"endpointsTitle": "Consumed endpoints",
|
|
2755
|
+
"endpointsDescription": "Inferred from the page and its components; double-check before treating it as the source of truth.",
|
|
2756
|
+
"noEndpoints": "No endpoint detected",
|
|
2757
|
+
"columnMethod": "Method",
|
|
2758
|
+
"columnEndpoint": "Endpoint",
|
|
2759
|
+
"columnEndpointRoles": "Roles",
|
|
2760
|
+
"endpointNotRegistered": "Not registered in routes",
|
|
2761
|
+
"noComponents": "No dedicated components",
|
|
2762
|
+
"filesHint": "Paths relative to the monorepo root.",
|
|
2763
|
+
"deletePage": "Delete page",
|
|
2764
|
+
"deleteHintResidue": "No menu and no code references — likely residue.",
|
|
2765
|
+
"deleteHintReferenced": "{count} file(s) navigate to this page.",
|
|
2766
|
+
"deleteTitle": "Delete page",
|
|
2767
|
+
"deleteConfirmLabel": "Type the exact route to confirm",
|
|
2768
|
+
"deleteConfirm": "Delete from disk",
|
|
2769
|
+
"deleteClose": "Close",
|
|
2770
|
+
"deletePreviewLoading": "Computing what will be removed...",
|
|
2771
|
+
"deletePreviewError": "Could not compute the deletion.",
|
|
2772
|
+
"deleteError": "Could not delete the page.",
|
|
2773
|
+
"deleteMenuError": "Files removed, but the menu was not deleted from the database.",
|
|
2774
|
+
"deleteSuccess": "Page deleted.",
|
|
2775
|
+
"deleteReferencedTitle": "This page is referenced in the code",
|
|
2776
|
+
"deleteReferencedDescription": "{count} file(s) navigate to this route and may break. Review before deleting.",
|
|
2777
|
+
"deleteMenuChildrenTitle": "Menu with submenus",
|
|
2778
|
+
"deleteMenuChildrenDescription": "The menu has child items and will not be removed from the database — only the files will be deleted. Adjust the menu manually under Menus.",
|
|
2779
|
+
"deleteCategory_page": "Page files",
|
|
2780
|
+
"deleteCategory_mirror": "Library mirror",
|
|
2781
|
+
"deleteCategory_i18n": "Translations",
|
|
2782
|
+
"deleteCategory_menu": "Menu (YAML)",
|
|
2783
|
+
"deleteCategory_migration": "Migration",
|
|
2784
|
+
"deleteAction_delete": "delete",
|
|
2785
|
+
"deleteAction_rewrite": "rewrite",
|
|
2786
|
+
"deleteAction_create": "create",
|
|
2787
|
+
"deleteDoneTitle": "Page deleted",
|
|
2788
|
+
"deleteDoneDescription": "The files were removed. Git is the safety net: git checkout / git clean undoes everything.",
|
|
2789
|
+
"deleteDoneSteps": "Next steps"
|
|
2790
|
+
},
|
|
2791
|
+
"PageWizard": {
|
|
2792
|
+
"title": "New page",
|
|
2793
|
+
"description": "Generates the page, translations, menu and library CRUD following the repository standard. Development only.",
|
|
2794
|
+
"steps": {
|
|
2795
|
+
"target": "Target",
|
|
2796
|
+
"template": "Template",
|
|
2797
|
+
"columns": "Data model",
|
|
2798
|
+
"backend": "Backend",
|
|
2799
|
+
"menu": "Menu and roles",
|
|
2800
|
+
"review": "Review"
|
|
2801
|
+
},
|
|
2802
|
+
"fieldLibrary": "Library",
|
|
2803
|
+
"fieldLibraryPlaceholder": "Select the library",
|
|
2804
|
+
"fieldEntity": "Entity",
|
|
2805
|
+
"fieldEntityHint": "Singular snake_case. Also the table name.",
|
|
2806
|
+
"fieldRoute": "Page route",
|
|
2807
|
+
"fieldApiBasePath": "API prefix",
|
|
2808
|
+
"fieldLabelPt": "Title (pt)",
|
|
2809
|
+
"fieldLabelEn": "Title (en)",
|
|
2810
|
+
"fieldDescriptionPt": "Description (pt)",
|
|
2811
|
+
"fieldDescriptionEn": "Description (en)",
|
|
2812
|
+
"template_list-kpi": "List with KPIs",
|
|
2813
|
+
"template_list-simple": "Simple list",
|
|
2814
|
+
"template_detail-form": "Detail / form",
|
|
2815
|
+
"template_dashboard": "Dashboard",
|
|
2816
|
+
"templateHint_list-kpi": "PageHeader, KPIs, search with filters, table/cards, pagination and form sheet.",
|
|
2817
|
+
"templateHint_list-simple": "Same listing without the KPI row. For auxiliary lookups.",
|
|
2818
|
+
"templateHint_detail-form": "Single form, settings-like: loads with GET and saves with PATCH.",
|
|
2819
|
+
"templateHint_dashboard": "Panel with KPIs and a widget area, without a paginated list.",
|
|
2820
|
+
"columnsHint": "User-facing text must use locale_varchar/locale_text so the translation table is generated.",
|
|
2821
|
+
"columnName": "Column",
|
|
2822
|
+
"columnLabelPt": "Label (pt)",
|
|
2823
|
+
"columnLabelEn": "Label (en)",
|
|
2824
|
+
"columnEnumValues": "Comma-separated values",
|
|
2825
|
+
"columnReferences": "Referenced table",
|
|
2826
|
+
"columnNullable": "Nullable",
|
|
2827
|
+
"columnInList": "In the list",
|
|
2828
|
+
"columnInFilters": "As a filter",
|
|
2829
|
+
"addColumn": "Add column",
|
|
2830
|
+
"generateBackend": "Generate backend",
|
|
2831
|
+
"generateBackendHint": "Creates table YAML, migration, DTO, service, controller and NestJS module.",
|
|
2832
|
+
"menuParent": "Parent menu",
|
|
2833
|
+
"menuRoot": "Root menu",
|
|
2834
|
+
"menuIcon": "Icon",
|
|
2835
|
+
"menuOrder": "Order",
|
|
2836
|
+
"rolesTitle": "Roles with access",
|
|
2837
|
+
"rolesHint": "The admin role is always included.",
|
|
2838
|
+
"issuesTitle": "Fix before generating",
|
|
2839
|
+
"conflictsTitle": "Files already exist",
|
|
2840
|
+
"overwrite": "Overwrite the existing files",
|
|
2841
|
+
"previewLoading": "Building preview...",
|
|
2842
|
+
"previewError": "Could not build the preview.",
|
|
2843
|
+
"applyError": "Could not write the files.",
|
|
2844
|
+
"applySuccess": "{count} files written.",
|
|
2845
|
+
"action_create": "create",
|
|
2846
|
+
"action_merge": "append",
|
|
2847
|
+
"action_patch": "patch",
|
|
2848
|
+
"action_manual": "manual",
|
|
2849
|
+
"back": "Back",
|
|
2850
|
+
"next": "Next",
|
|
2851
|
+
"refreshPreview": "Refresh preview",
|
|
2852
|
+
"generate": "Generate files",
|
|
2853
|
+
"close": "Close",
|
|
2854
|
+
"doneTitle": "Files generated",
|
|
2855
|
+
"doneDescription": "{count} files were written to the repository.",
|
|
2856
|
+
"doneFiles": "Files",
|
|
2857
|
+
"doneSteps": "Next steps",
|
|
2858
|
+
"doneStepsHint": "The wizard does not run commands. Review the generated migration before applying it."
|
|
2859
|
+
},
|
|
2860
|
+
"Incidents": {
|
|
2861
|
+
"breadcrumbHome": "Home",
|
|
2862
|
+
"breadcrumbTitle": "Incidents",
|
|
2863
|
+
"title": "Incidents",
|
|
2864
|
+
"description": "Failures that would otherwise be swallowed silently by the system.",
|
|
2865
|
+
"kpiOpen": "Open",
|
|
2866
|
+
"kpiCritical": "Critical",
|
|
2867
|
+
"kpiOccurrences": "Occurrences",
|
|
2868
|
+
"kpiResolved": "Resolved",
|
|
2869
|
+
"searchPlaceholder": "Search by message, code or source",
|
|
2870
|
+
"filterByStatus": "Status",
|
|
2871
|
+
"statusOpen": "Open",
|
|
2872
|
+
"statusResolved": "Resolved",
|
|
2873
|
+
"statusAll": "All",
|
|
2874
|
+
"filterBySeverity": "Severity",
|
|
2875
|
+
"severityAll": "All severities",
|
|
2876
|
+
"severityCritical": "Critical",
|
|
2877
|
+
"severityError": "Error",
|
|
2878
|
+
"severityWarning": "Warning",
|
|
2879
|
+
"severity_critical": "Critical",
|
|
2880
|
+
"severity_error": "Error",
|
|
2881
|
+
"severity_warning": "Warning",
|
|
2882
|
+
"filterBySource": "Source",
|
|
2883
|
+
"sourceAll": "All sources",
|
|
2884
|
+
"columnSeverity": "Severity",
|
|
2885
|
+
"columnSource": "Source",
|
|
2886
|
+
"columnMessage": "Message",
|
|
2887
|
+
"columnOccurrences": "Occurrences",
|
|
2888
|
+
"columnLastSeen": "Last seen",
|
|
2889
|
+
"firstSeen": "First seen",
|
|
2890
|
+
"context": "Context",
|
|
2891
|
+
"resolve": "Mark as resolved",
|
|
2892
|
+
"reopen": "Reopen",
|
|
2893
|
+
"emptyTitle": "No open incidents",
|
|
2894
|
+
"emptyDescription": "Nothing failed silently in this period."
|
|
2895
|
+
},
|
|
2896
|
+
"AiInstructionPage": {
|
|
2897
|
+
"breadcrumbDashboard": "Dashboard",
|
|
2898
|
+
"breadcrumbManagement": "Management",
|
|
2899
|
+
"breadcrumbCurrent": "AI Prompts",
|
|
2900
|
+
"title": "AI Prompts",
|
|
2901
|
+
"description": "View and edit every prompt the system sends to AI models, grouped by module. Each prompt keeps a canonical copy in code: if a stored prompt is missing, empty or invalid, that copy is used instead and the flow keeps working.",
|
|
2902
|
+
"searchPlaceholder": "Search by slug or name...",
|
|
2903
|
+
"loading": "Loading...",
|
|
2904
|
+
"empty": "No prompts found",
|
|
2905
|
+
"emptyDescription": "Adjust the filters or clear the search to see the registered prompts.",
|
|
2906
|
+
"edit": "Edit",
|
|
2907
|
+
"cancel": "Cancel",
|
|
2908
|
+
"save": "Save",
|
|
2909
|
+
"saving": "Saving...",
|
|
2910
|
+
"saveSuccess": "Prompt saved.",
|
|
2911
|
+
"saveError": "Could not save the prompt.",
|
|
2912
|
+
"filterLayer": "Layer",
|
|
2913
|
+
"filterModule": "Module",
|
|
2914
|
+
"filterStatus": "Status",
|
|
2915
|
+
"filterAllLayers": "All layers",
|
|
2916
|
+
"filterAllModules": "All modules",
|
|
2917
|
+
"filterAllStatuses": "All statuses",
|
|
2918
|
+
"filterActive": "Active",
|
|
2919
|
+
"filterInactive": "Inactive",
|
|
2920
|
+
"layer_task": "Task",
|
|
2921
|
+
"layer_system": "System",
|
|
2922
|
+
"layer_product": "Product",
|
|
2923
|
+
"layer_module": "Module",
|
|
2924
|
+
"layer_agent": "Agent",
|
|
2925
|
+
"layer_tool": "Tool",
|
|
2926
|
+
"layer_output": "Output",
|
|
2927
|
+
"columnName": "Name",
|
|
2928
|
+
"columnLayer": "Layer",
|
|
2929
|
+
"columnModule": "Module",
|
|
2930
|
+
"columnParams": "Parameters",
|
|
2931
|
+
"columnState": "State",
|
|
2932
|
+
"columnUpdatedAt": "Updated",
|
|
2933
|
+
"badgeDefault": "Default",
|
|
2934
|
+
"badgeCustomized": "Customized",
|
|
2935
|
+
"badgeLocked": "Locked",
|
|
2936
|
+
"badgeInactive": "Inactive",
|
|
2937
|
+
"tabContent": "Content",
|
|
2938
|
+
"tabVariables": "Variables",
|
|
2939
|
+
"tabPreview": "Preview",
|
|
2940
|
+
"tabHistory": "History",
|
|
2941
|
+
"fieldSlug": "Slug",
|
|
2942
|
+
"fieldName": "Name",
|
|
2943
|
+
"fieldLocale": "Language",
|
|
2944
|
+
"fieldIsActive": "Active",
|
|
2945
|
+
"fieldContent": "Prompt content",
|
|
2946
|
+
"fieldChangeNote": "Change note",
|
|
2947
|
+
"fieldModel": "Model",
|
|
2948
|
+
"fieldTemperature": "Temperature",
|
|
2949
|
+
"fieldMaxTokens": "Max tokens",
|
|
2950
|
+
"slugImmutable": "The slug cannot be changed: the code resolves the prompt by it.",
|
|
2951
|
+
"copySlug": "Copy slug",
|
|
2952
|
+
"slugCopied": "Slug copied.",
|
|
2953
|
+
"isActiveHint": "When inactive, the flow uses the copy in the code.",
|
|
2954
|
+
"changeNotePlaceholder": "What changed and why",
|
|
2955
|
+
"charCountWithTokens": "{chars} characters · ~{tokens} tokens",
|
|
2956
|
+
"restoreDefault": "Restore default",
|
|
2957
|
+
"restoreDefaultApplied": "Default content applied. Save to confirm.",
|
|
2958
|
+
"inheritPlaceholder": "inherit",
|
|
2959
|
+
"modelParamsTitle": "Model parameters",
|
|
2960
|
+
"modelParamsHint": "Leave empty to keep what the integration profile or the code already uses.",
|
|
2961
|
+
"unbalancedBlocksError": "Unclosed template block: {blocks}. This would discard the rest of the prompt.",
|
|
2962
|
+
"missingRequiredError": "Required variables missing from the content: {variables}.",
|
|
2963
|
+
"missingPhrasesWarning": "Safety phrases removed: {phrases}.",
|
|
2964
|
+
"allPhrasesMissingWarning": "Every safety phrase was removed. At runtime this prompt will be ignored and the copy in the code will be used instead.",
|
|
2965
|
+
"lockedTitle": "Security-sensitive prompt",
|
|
2966
|
+
"lockedDescription": "This prompt is the prompt-injection defence for automated grading. Changing it can allow grade manipulation.",
|
|
2967
|
+
"unlockEditing": "Unlock editing",
|
|
2968
|
+
"unlockDialogTitle": "Unlock editing",
|
|
2969
|
+
"unlockDialogDescription": "Type the prompt slug to confirm you reviewed the security impact of this change.",
|
|
2970
|
+
"variablesEmpty": "This prompt takes no variables.",
|
|
2971
|
+
"variablesFromCode": "Variables declared in code. The prompt must keep using the required ones.",
|
|
2972
|
+
"columnVariable": "Variable",
|
|
2973
|
+
"columnVariableType": "Type",
|
|
2974
|
+
"columnVariableRequired": "Required",
|
|
2975
|
+
"columnVariableDescription": "Description",
|
|
2976
|
+
"variableRequired": "Required",
|
|
2977
|
+
"variableConditional": "Conditional",
|
|
2978
|
+
"previewNoVariables": "This prompt takes no variables; render it to see the final text.",
|
|
2979
|
+
"previewRender": "Render",
|
|
2980
|
+
"previewRendering": "Rendering...",
|
|
2981
|
+
"previewError": "Could not render the preview.",
|
|
2982
|
+
"versionsEmpty": "No versions recorded yet.",
|
|
2983
|
+
"versionsSelectHint": "Select a version to compare it with the current content.",
|
|
2984
|
+
"versionCurrent": "current",
|
|
2985
|
+
"columnVersionDate": "Date",
|
|
2986
|
+
"columnVersionAuthor": "Author",
|
|
2987
|
+
"columnVersionNote": "Note",
|
|
2988
|
+
"columnVersionSize": "Chars",
|
|
2989
|
+
"restoreVersion": "Restore",
|
|
2990
|
+
"restoring": "Restoring...",
|
|
2991
|
+
"restoreSuccess": "Version {version} restored as a new version.",
|
|
2992
|
+
"restoreError": "Could not restore the version.",
|
|
2993
|
+
"restoreDialogTitle": "Restore version",
|
|
2994
|
+
"restoreDialogDescription": "The content of version {version} becomes a new version on top of the current one. Nothing is deleted.",
|
|
2995
|
+
"diffCurrentLabel": "current",
|
|
2996
|
+
"diffVersionLabel": "version {version}",
|
|
2997
|
+
"diffIdentical": "This version is identical to the current content."
|
|
2998
|
+
},
|
|
2999
|
+
"HtmlCodeEditor": {
|
|
3000
|
+
"zoomIn": "Increase font size",
|
|
3001
|
+
"zoomOut": "Decrease font size",
|
|
3002
|
+
"resetZoom": "Reset zoom"
|
|
3003
|
+
},
|
|
3004
|
+
"HtmlContentEditor": {
|
|
3005
|
+
"tabPreview": "Preview",
|
|
3006
|
+
"tabEditor": "Editor",
|
|
3007
|
+
"tabCode": "HTML",
|
|
3008
|
+
"previewTitle": "HTML preview",
|
|
3009
|
+
"noContent": "No content to preview",
|
|
3010
|
+
"complexHtmlWarningTitle": "Complex HTML detected",
|
|
3011
|
+
"complexHtmlWarningDesc": "This content has style, head or script tags that the visual editor removes. Use the HTML tab to edit it."
|
|
3012
|
+
},
|
|
3013
|
+
"MailLayoutPage": {
|
|
3014
|
+
"breadcrumbHome": "Home",
|
|
3015
|
+
"breadcrumbMail": "Email Templates",
|
|
3016
|
+
"breadcrumbTitle": "Base Layout",
|
|
3017
|
+
"title": "Base Layout",
|
|
3018
|
+
"description": "Wrapper, header and footer applied to every email the system sends",
|
|
3019
|
+
"save": "Save layout",
|
|
3020
|
+
"saving": "Saving...",
|
|
3021
|
+
"localeLabel": "Language",
|
|
3022
|
+
"tabHeader": "Header",
|
|
3023
|
+
"tabFooter": "Footer",
|
|
3024
|
+
"tabWrapper": "Wrapper",
|
|
3025
|
+
"headerHelp": "Fragment rendered above the message content. Translated per language.",
|
|
3026
|
+
"footerHelp": "Fragment rendered below the message content. Translated per language.",
|
|
3027
|
+
"wrapperHelp": "Full HTML document with the structure and CSS. Shared by every language, so it is edited as raw HTML only.",
|
|
3028
|
+
"tokensHelp": "Available tokens:",
|
|
3029
|
+
"sampleSubject": "Sample subject",
|
|
3030
|
+
"sampleBody": "Hello,<br>This is a sample body used only to preview the base layout.<br>Best regards.",
|
|
3031
|
+
"loadError": "Failed to load the base layout",
|
|
3032
|
+
"saveSuccess": "Base layout saved",
|
|
3033
|
+
"saveError": "Failed to save the base layout",
|
|
3034
|
+
"missingContentTokenError": "The wrapper must contain the {{{content}}} token, otherwise every email would be sent empty."
|
|
2539
3035
|
}
|
|
2540
3036
|
}
|