@hed-hog/core 0.0.399 → 0.0.401
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/dist/ai/ai-agent.sort.d.ts +6 -0
- package/dist/ai/ai-agent.sort.d.ts.map +1 -0
- package/dist/ai/ai-agent.sort.js +21 -0
- package/dist/ai/ai-agent.sort.js.map +1 -0
- package/dist/ai/ai.controller.d.ts +6 -4
- package/dist/ai/ai.controller.d.ts.map +1 -1
- package/dist/ai/ai.service.d.ts +121 -6
- package/dist/ai/ai.service.d.ts.map +1 -1
- package/dist/ai/ai.service.js +355 -160
- package/dist/ai/ai.service.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.js +26 -23
- package/dist/ai-instruction/ai-instruction.service.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.sort.d.ts +16 -0
- package/dist/ai-instruction/ai-instruction.sort.d.ts.map +1 -0
- package/dist/ai-instruction/ai-instruction.sort.js +32 -0
- package/dist/ai-instruction/ai-instruction.sort.js.map +1 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +12 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-prompt-resolver.service.js +26 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -1
- package/dist/auth/auth.controller.d.ts +24 -8
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +8 -1
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/auth.service.d.ts +72 -25
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +41 -4
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/guards/auth.guard.d.ts +3 -1
- package/dist/auth/guards/auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/auth.guard.js +12 -3
- package/dist/auth/guards/auth.guard.js.map +1 -1
- package/dist/authorize/authorize.controller.d.ts +29 -5
- package/dist/authorize/authorize.controller.d.ts.map +1 -1
- package/dist/authorize/authorize.controller.js +120 -13
- package/dist/authorize/authorize.controller.js.map +1 -1
- package/dist/authorize/authorize.errors.d.ts +34 -0
- package/dist/authorize/authorize.errors.d.ts.map +1 -0
- package/dist/authorize/authorize.errors.js +37 -0
- package/dist/authorize/authorize.errors.js.map +1 -0
- package/dist/authorize/authorize.module.d.ts.map +1 -1
- package/dist/authorize/authorize.module.js +6 -1
- package/dist/authorize/authorize.module.js.map +1 -1
- package/dist/authorize/authorize.service.d.ts +77 -3
- package/dist/authorize/authorize.service.d.ts.map +1 -1
- package/dist/authorize/authorize.service.js +212 -21
- package/dist/authorize/authorize.service.js.map +1 -1
- package/dist/authorize/dto/authorize-info.dto.d.ts +10 -1
- package/dist/authorize/dto/authorize-info.dto.d.ts.map +1 -1
- package/dist/authorize/dto/authorize-info.dto.js +16 -1
- package/dist/authorize/dto/authorize-info.dto.js.map +1 -1
- package/dist/authorize/dto/consent.dto.d.ts +10 -1
- package/dist/authorize/dto/consent.dto.d.ts.map +1 -1
- package/dist/authorize/dto/consent.dto.js +16 -1
- package/dist/authorize/dto/consent.dto.js.map +1 -1
- package/dist/authorize/dto/token.dto.d.ts +12 -0
- package/dist/authorize/dto/token.dto.d.ts.map +1 -1
- package/dist/authorize/dto/token.dto.js +21 -1
- package/dist/authorize/dto/token.dto.js.map +1 -1
- package/dist/authorize/oauth-exception.filter.d.ts +17 -0
- package/dist/authorize/oauth-exception.filter.d.ts.map +1 -0
- package/dist/authorize/oauth-exception.filter.js +54 -0
- package/dist/authorize/oauth-exception.filter.js.map +1 -0
- package/dist/authorize/oauth-metadata.service.d.ts +39 -0
- package/dist/authorize/oauth-metadata.service.d.ts.map +1 -0
- package/dist/authorize/oauth-metadata.service.js +81 -0
- package/dist/authorize/oauth-metadata.service.js.map +1 -0
- package/dist/authorize/well-known.controller.d.ts +67 -0
- package/dist/authorize/well-known.controller.d.ts.map +1 -0
- package/dist/authorize/well-known.controller.js +126 -0
- package/dist/authorize/well-known.controller.js.map +1 -0
- package/dist/captcha/captcha.service.d.ts +32 -2
- package/dist/captcha/captcha.service.d.ts.map +1 -1
- package/dist/captcha/captcha.service.js +85 -12
- package/dist/captcha/captcha.service.js.map +1 -1
- package/dist/challenge/challenge.service.d.ts +2 -2
- package/dist/core.module.d.ts.map +1 -1
- package/dist/core.module.js +9 -0
- package/dist/core.module.js.map +1 -1
- package/dist/dashboard/dashboard/dashboard.controller.d.ts +9 -9
- package/dist/dashboard/dashboard/dashboard.service.d.ts +9 -9
- package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +3 -3
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +3 -3
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts.map +1 -1
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.js +2 -4
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.js.map +1 -1
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.d.ts +8 -0
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.d.ts.map +1 -0
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.js +18 -0
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.js.map +1 -0
- package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts.map +1 -1
- package/dist/dashboard/dashboard-item/dashboard-item.service.js +2 -4
- package/dist/dashboard/dashboard-item/dashboard-item.service.js.map +1 -1
- package/dist/dashboard/dashboard-item/dashboard-item.sort.d.ts +9 -0
- package/dist/dashboard/dashboard-item/dashboard-item.sort.d.ts.map +1 -0
- package/dist/dashboard/dashboard-item/dashboard-item.sort.js +19 -0
- package/dist/dashboard/dashboard-item/dashboard-item.sort.js.map +1 -0
- package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +3 -3
- package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts.map +1 -1
- package/dist/dashboard/dashboard-role/dashboard-role.service.js +2 -4
- package/dist/dashboard/dashboard-role/dashboard-role.service.js.map +1 -1
- package/dist/dashboard/dashboard-role/dashboard-role.sort.d.ts +8 -0
- package/dist/dashboard/dashboard-role/dashboard-role.sort.d.ts.map +1 -0
- package/dist/dashboard/dashboard-role/dashboard-role.sort.js +16 -0
- package/dist/dashboard/dashboard-role/dashboard-role.sort.js.map +1 -0
- package/dist/document-kit/document-kit.module.d.ts +3 -0
- package/dist/document-kit/document-kit.module.d.ts.map +1 -0
- package/dist/document-kit/document-kit.module.js +24 -0
- package/dist/document-kit/document-kit.module.js.map +1 -0
- package/dist/document-kit/document-kit.registry.d.ts +55 -0
- package/dist/document-kit/document-kit.registry.d.ts.map +1 -0
- package/dist/document-kit/document-kit.registry.js +91 -0
- package/dist/document-kit/document-kit.registry.js.map +1 -0
- package/dist/document-kit/document-kit.service.d.ts +49 -0
- package/dist/document-kit/document-kit.service.d.ts.map +1 -0
- package/dist/document-kit/document-kit.service.js +135 -0
- package/dist/document-kit/document-kit.service.js.map +1 -0
- package/dist/file/file-upload-ticket.service.d.ts +160 -0
- package/dist/file/file-upload-ticket.service.d.ts.map +1 -0
- package/dist/file/file-upload-ticket.service.js +382 -0
- package/dist/file/file-upload-ticket.service.js.map +1 -0
- package/dist/file/file.controller.d.ts +24 -1
- package/dist/file/file.controller.d.ts.map +1 -1
- package/dist/file/file.controller.js +63 -2
- package/dist/file/file.controller.js.map +1 -1
- package/dist/file/file.module.d.ts.map +1 -1
- package/dist/file/file.module.js +14 -2
- package/dist/file/file.module.js.map +1 -1
- package/dist/file/file.service.d.ts +197 -7
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +438 -78
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/filename-encoding.util.d.ts +24 -0
- package/dist/file/filename-encoding.util.d.ts.map +1 -0
- package/dist/file/filename-encoding.util.js +63 -0
- package/dist/file/filename-encoding.util.js.map +1 -0
- package/dist/file/image-optimization.service.d.ts +27 -0
- package/dist/file/image-optimization.service.d.ts.map +1 -1
- package/dist/file/image-optimization.service.js +63 -14
- package/dist/file/image-optimization.service.js.map +1 -1
- package/dist/file/mcp-file-source.schema.d.ts +33 -0
- package/dist/file/mcp-file-source.schema.d.ts.map +1 -0
- package/dist/file/mcp-file-source.schema.js +78 -0
- package/dist/file/mcp-file-source.schema.js.map +1 -0
- package/dist/file/mcp-file-source.service.d.ts +124 -0
- package/dist/file/mcp-file-source.service.d.ts.map +1 -0
- package/dist/file/mcp-file-source.service.js +262 -0
- package/dist/file/mcp-file-source.service.js.map +1 -0
- package/dist/file/mimetype-sniff.util.d.ts +62 -0
- package/dist/file/mimetype-sniff.util.d.ts.map +1 -0
- package/dist/file/mimetype-sniff.util.js +226 -0
- package/dist/file/mimetype-sniff.util.js.map +1 -0
- package/dist/file/remote-fetch.util.d.ts +35 -0
- package/dist/file/remote-fetch.util.d.ts.map +1 -0
- package/dist/file/remote-fetch.util.js +236 -0
- package/dist/file/remote-fetch.util.js.map +1 -0
- package/dist/impersonation/dto/start-impersonation.dto.d.ts +4 -1
- package/dist/impersonation/dto/start-impersonation.dto.d.ts.map +1 -1
- package/dist/impersonation/dto/start-impersonation.dto.js +1 -1
- package/dist/impersonation/dto/start-impersonation.dto.js.map +1 -1
- package/dist/impersonation/impersonation.service.d.ts +8 -3
- package/dist/impersonation/impersonation.service.d.ts.map +1 -1
- package/dist/impersonation/impersonation.service.js +14 -4
- package/dist/impersonation/impersonation.service.js.map +1 -1
- package/dist/incident/incident.controller.d.ts +2 -1
- package/dist/incident/incident.controller.d.ts.map +1 -1
- package/dist/incident/incident.controller.js +10 -6
- package/dist/incident/incident.controller.js.map +1 -1
- package/dist/incident/incident.service.d.ts +2 -0
- package/dist/incident/incident.service.d.ts.map +1 -1
- package/dist/incident/incident.service.js +4 -0
- package/dist/incident/incident.service.js.map +1 -1
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.js +28 -0
- package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
- package/dist/integration-profile/integration-profile.service.d.ts +0 -13
- package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.service.js +5 -40
- package/dist/integration-profile/integration-profile.service.js.map +1 -1
- package/dist/integration-profile/integration-profile.utils.js +5 -5
- package/dist/integration-profile/integration-profile.utils.js.map +1 -1
- package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -1
- package/dist/integration-profile/testers/ai.testers.js +46 -8
- package/dist/integration-profile/testers/ai.testers.js.map +1 -1
- package/dist/integration-profile/testers/index.d.ts.map +1 -1
- package/dist/integration-profile/testers/index.js +2 -0
- package/dist/integration-profile/testers/index.js.map +1 -1
- package/dist/integration-profile/testers/shipping.testers.d.ts +3 -0
- package/dist/integration-profile/testers/shipping.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/shipping.testers.js +71 -0
- package/dist/integration-profile/testers/shipping.testers.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/send.dto.d.ts +6 -1
- package/dist/mail/dto/send.dto.d.ts.map +1 -1
- package/dist/mail/dto/send.dto.js.map +1 -1
- package/dist/mail/mail.service.d.ts +9 -0
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +34 -14
- package/dist/mail/mail.service.js.map +1 -1
- package/dist/mail-sent/mail-sent.controller.d.ts +1 -1
- package/dist/mail-sent/mail-sent.service.d.ts +1 -1
- package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
- package/dist/mail-sent/mail-sent.service.js +2 -1
- package/dist/mail-sent/mail-sent.service.js.map +1 -1
- package/dist/mail-sent/mail-sent.sort.d.ts +9 -0
- package/dist/mail-sent/mail-sent.sort.d.ts.map +1 -0
- package/dist/mail-sent/mail-sent.sort.js +19 -0
- package/dist/mail-sent/mail-sent.sort.js.map +1 -0
- package/dist/mcp/filters/mcp-challenge.filter.d.ts +20 -0
- package/dist/mcp/filters/mcp-challenge.filter.d.ts.map +1 -0
- package/dist/mcp/filters/mcp-challenge.filter.js +69 -0
- package/dist/mcp/filters/mcp-challenge.filter.js.map +1 -0
- package/dist/mcp/guards/mcp-auth.guard.d.ts +4 -1
- package/dist/mcp/guards/mcp-auth.guard.d.ts.map +1 -1
- package/dist/mcp/guards/mcp-auth.guard.js +19 -5
- package/dist/mcp/guards/mcp-auth.guard.js.map +1 -1
- package/dist/mcp/guards/mcp-permission.guard.d.ts +25 -3
- package/dist/mcp/guards/mcp-permission.guard.d.ts.map +1 -1
- package/dist/mcp/guards/mcp-permission.guard.js +46 -26
- package/dist/mcp/guards/mcp-permission.guard.js.map +1 -1
- package/dist/mcp/mcp-audit.service.d.ts +17 -0
- package/dist/mcp/mcp-audit.service.d.ts.map +1 -1
- package/dist/mcp/mcp-audit.service.js +32 -3
- package/dist/mcp/mcp-audit.service.js.map +1 -1
- package/dist/mcp/mcp-permission.service.d.ts +64 -0
- package/dist/mcp/mcp-permission.service.d.ts.map +1 -0
- package/dist/mcp/mcp-permission.service.js +178 -0
- package/dist/mcp/mcp-permission.service.js.map +1 -0
- package/dist/mcp/mcp-server.service.d.ts +3 -1
- package/dist/mcp/mcp-server.service.d.ts.map +1 -1
- package/dist/mcp/mcp-server.service.js +36 -15
- package/dist/mcp/mcp-server.service.js.map +1 -1
- package/dist/mcp/mcp.controller.d.ts.map +1 -1
- package/dist/mcp/mcp.controller.js +10 -2
- package/dist/mcp/mcp.controller.js.map +1 -1
- package/dist/mcp/mcp.module.d.ts.map +1 -1
- package/dist/mcp/mcp.module.js +7 -1
- package/dist/mcp/mcp.module.js.map +1 -1
- package/dist/mcp/tools/core-access-log.mcp-tools.d.ts +17 -0
- package/dist/mcp/tools/core-access-log.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-access-log.mcp-tools.js +74 -0
- package/dist/mcp/tools/core-access-log.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-ai.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-ai.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.js +1 -1
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-dashboard.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-dashboard.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-files.mcp-tools.d.ts +17 -5
- package/dist/mcp/tools/core-files.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-files.mcp-tools.js +186 -24
- package/dist/mcp/tools/core-files.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-integration-events.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-integration-events.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-mail-sent.mcp-tools.js +2 -14
- package/dist/mcp/tools/core-mail-sent.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-mail.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-mail.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-menus.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-menus.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-menus.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-notifications.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-notifications.mcp-tools.js +0 -1
- package/dist/mcp/tools/core-notifications.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-roles.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-roles.mcp-tools.js +2 -13
- package/dist/mcp/tools/core-roles.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-routes.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-routes.mcp-tools.js +2 -11
- package/dist/mcp/tools/core-routes.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-screens.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-screens.mcp-tools.js +2 -11
- package/dist/mcp/tools/core-screens.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-sessions.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-sessions.mcp-tools.js +0 -2
- package/dist/mcp/tools/core-sessions.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-settings.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-settings.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-settings.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-users.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-users.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-webhooks.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-webhooks.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-webhooks.mcp-tools.js.map +1 -1
- package/dist/mcp/types/mcp-context.type.d.ts +9 -0
- package/dist/mcp/types/mcp-context.type.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.js +8 -0
- package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
- package/dist/meeting/meeting-provider.registry.d.ts +187 -0
- package/dist/meeting/meeting-provider.registry.d.ts.map +1 -1
- package/dist/meeting/meeting-provider.registry.js.map +1 -1
- package/dist/meeting/meeting.constants.d.ts +70 -0
- package/dist/meeting/meeting.constants.d.ts.map +1 -1
- package/dist/meeting/meeting.constants.js +9 -1
- package/dist/meeting/meeting.constants.js.map +1 -1
- package/dist/menu/menu.service.d.ts.map +1 -1
- package/dist/menu/menu.service.js +29 -9
- package/dist/menu/menu.service.js.map +1 -1
- package/dist/message-template/dto/update-message-template.dto.d.ts +18 -0
- package/dist/message-template/dto/update-message-template.dto.d.ts.map +1 -0
- package/dist/message-template/dto/update-message-template.dto.js +38 -0
- package/dist/message-template/dto/update-message-template.dto.js.map +1 -0
- package/dist/message-template/message-template-admin.service.d.ts +70 -0
- package/dist/message-template/message-template-admin.service.d.ts.map +1 -0
- package/dist/message-template/message-template-admin.service.js +226 -0
- package/dist/message-template/message-template-admin.service.js.map +1 -0
- package/dist/message-template/message-template.controller.d.ts +29 -0
- package/dist/message-template/message-template.controller.d.ts.map +1 -0
- package/dist/message-template/message-template.controller.js +101 -0
- package/dist/message-template/message-template.controller.js.map +1 -0
- package/dist/message-template/message-template.module.d.ts +10 -0
- package/dist/message-template/message-template.module.d.ts.map +1 -0
- package/dist/message-template/message-template.module.js +33 -0
- package/dist/message-template/message-template.module.js.map +1 -0
- package/dist/message-template/message-template.registry.d.ts +55 -0
- package/dist/message-template/message-template.registry.d.ts.map +1 -0
- package/dist/message-template/message-template.registry.js +64 -0
- package/dist/message-template/message-template.registry.js.map +1 -0
- package/dist/message-template/message-template.service.d.ts +59 -0
- package/dist/message-template/message-template.service.d.ts.map +1 -0
- package/dist/message-template/message-template.service.js +166 -0
- package/dist/message-template/message-template.service.js.map +1 -0
- package/dist/notification/notification.constants.d.ts +11 -0
- package/dist/notification/notification.constants.d.ts.map +1 -0
- package/dist/notification/notification.constants.js +14 -0
- package/dist/notification/notification.constants.js.map +1 -0
- package/dist/notification/notification.controller.d.ts +20 -20
- package/dist/notification/notification.module.d.ts.map +1 -1
- package/dist/notification/notification.module.js +3 -0
- package/dist/notification/notification.module.js.map +1 -1
- package/dist/notification/notification.service.d.ts +33 -21
- package/dist/notification/notification.service.d.ts.map +1 -1
- package/dist/notification/notification.service.js +36 -2
- package/dist/notification/notification.service.js.map +1 -1
- package/dist/oauth/oauth-token-broker.service.d.ts +50 -1
- package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -1
- package/dist/oauth/oauth-token-broker.service.js +105 -3
- package/dist/oauth/oauth-token-broker.service.js.map +1 -1
- package/dist/oauth/oauth.controller.d.ts +4 -6
- package/dist/oauth/oauth.controller.d.ts.map +1 -1
- package/dist/oauth/oauth.controller.js +0 -1
- package/dist/oauth/oauth.controller.js.map +1 -1
- package/dist/oauth/oauth.errors.d.ts +15 -1
- package/dist/oauth/oauth.errors.d.ts.map +1 -1
- package/dist/oauth/oauth.errors.js +9 -1
- package/dist/oauth/oauth.errors.js.map +1 -1
- package/dist/oauth/oauth.module.d.ts.map +1 -1
- package/dist/oauth/oauth.module.js +6 -1
- package/dist/oauth/oauth.module.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +25 -5
- package/dist/oauth/oauth.service.d.ts.map +1 -1
- package/dist/oauth/oauth.service.js +63 -27
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/oauth/providers/abstract.provider.d.ts +10 -0
- package/dist/oauth/providers/abstract.provider.d.ts.map +1 -1
- package/dist/oauth/providers/abstract.provider.js +39 -12
- package/dist/oauth/providers/abstract.provider.js.map +1 -1
- package/dist/oauth/providers/github.provider.d.ts +1 -1
- package/dist/oauth/providers/github.provider.d.ts.map +1 -1
- package/dist/oauth/providers/github.provider.js +48 -22
- package/dist/oauth/providers/github.provider.js.map +1 -1
- package/dist/oauth/providers/microsoft-entra-id.provider.d.ts +6 -0
- package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
- package/dist/oauth/providers/microsoft-entra-id.provider.js +36 -4
- package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
- package/dist/observability/monitored-cron.d.ts +29 -12
- package/dist/observability/monitored-cron.d.ts.map +1 -1
- package/dist/observability/monitored-cron.js +131 -46
- package/dist/observability/monitored-cron.js.map +1 -1
- package/dist/pairing/pairing.service.d.ts +6 -2
- package/dist/pairing/pairing.service.d.ts.map +1 -1
- package/dist/pdf/document/charts/chart-bar.d.ts +24 -0
- package/dist/pdf/document/charts/chart-bar.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-bar.js +117 -0
- package/dist/pdf/document/charts/chart-bar.js.map +1 -0
- package/dist/pdf/document/charts/chart-donut.d.ts +16 -0
- package/dist/pdf/document/charts/chart-donut.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-donut.js +89 -0
- package/dist/pdf/document/charts/chart-donut.js.map +1 -0
- package/dist/pdf/document/charts/chart-gauge.d.ts +15 -0
- package/dist/pdf/document/charts/chart-gauge.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-gauge.js +60 -0
- package/dist/pdf/document/charts/chart-gauge.js.map +1 -0
- package/dist/pdf/document/charts/chart-line.d.ts +29 -0
- package/dist/pdf/document/charts/chart-line.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-line.js +89 -0
- package/dist/pdf/document/charts/chart-line.js.map +1 -0
- package/dist/pdf/document/charts/chart-primitives.d.ts +64 -0
- package/dist/pdf/document/charts/chart-primitives.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-primitives.js +110 -0
- package/dist/pdf/document/charts/chart-primitives.js.map +1 -0
- package/dist/pdf/document/charts/chart-radar.d.ts +13 -0
- package/dist/pdf/document/charts/chart-radar.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-radar.js +83 -0
- package/dist/pdf/document/charts/chart-radar.js.map +1 -0
- package/dist/pdf/document/charts/chart-scale.d.ts +39 -0
- package/dist/pdf/document/charts/chart-scale.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-scale.js +118 -0
- package/dist/pdf/document/charts/chart-scale.js.map +1 -0
- package/dist/pdf/document/charts/index.d.ts +8 -0
- package/dist/pdf/document/charts/index.d.ts.map +1 -0
- package/dist/pdf/document/charts/index.js +24 -0
- package/dist/pdf/document/charts/index.js.map +1 -0
- package/dist/pdf/document/index.d.ts +8 -0
- package/dist/pdf/document/index.d.ts.map +1 -0
- package/dist/pdf/document/index.js +24 -0
- package/dist/pdf/document/index.js.map +1 -0
- package/dist/pdf/document/pdf-document.chrome.d.ts +20 -0
- package/dist/pdf/document/pdf-document.chrome.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.chrome.js +36 -0
- package/dist/pdf/document/pdf-document.chrome.js.map +1 -0
- package/dist/pdf/document/pdf-document.css.d.ts +20 -0
- package/dist/pdf/document/pdf-document.css.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.css.js +239 -0
- package/dist/pdf/document/pdf-document.css.js.map +1 -0
- package/dist/pdf/document/pdf-document.renderer.d.ts +10 -0
- package/dist/pdf/document/pdf-document.renderer.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.renderer.js +153 -0
- package/dist/pdf/document/pdf-document.renderer.js.map +1 -0
- package/dist/pdf/document/pdf-document.service.d.ts +27 -0
- package/dist/pdf/document/pdf-document.service.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.service.js +81 -0
- package/dist/pdf/document/pdf-document.service.js.map +1 -0
- package/dist/pdf/document/pdf-document.theme.d.ts +41 -0
- package/dist/pdf/document/pdf-document.theme.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.theme.js +105 -0
- package/dist/pdf/document/pdf-document.theme.js.map +1 -0
- package/dist/pdf/document/pdf-document.types.d.ts +108 -0
- package/dist/pdf/document/pdf-document.types.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.types.js +18 -0
- package/dist/pdf/document/pdf-document.types.js.map +1 -0
- package/dist/pdf/pdf.module.d.ts.map +1 -1
- package/dist/pdf/pdf.module.js +3 -2
- package/dist/pdf/pdf.module.js.map +1 -1
- package/dist/pdf/pdf.service.d.ts +69 -1
- package/dist/pdf/pdf.service.d.ts.map +1 -1
- package/dist/pdf/pdf.service.js +164 -63
- package/dist/pdf/pdf.service.js.map +1 -1
- package/dist/pdf/templates/commercial-proposal.template.d.ts +96 -0
- package/dist/pdf/templates/commercial-proposal.template.d.ts.map +1 -0
- package/dist/pdf/templates/commercial-proposal.template.js +276 -0
- package/dist/pdf/templates/commercial-proposal.template.js.map +1 -0
- package/dist/profile/dto/change-password.dto.d.ts.map +1 -1
- package/dist/profile/dto/change-password.dto.js +4 -6
- package/dist/profile/dto/change-password.dto.js.map +1 -1
- package/dist/profile/profile.controller.d.ts +1 -1
- package/dist/profile/profile.service.d.ts +1 -1
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +9 -3
- package/dist/profile/profile.service.js.map +1 -1
- package/dist/realtime/realtime-tick.coalescer.d.ts +34 -0
- package/dist/realtime/realtime-tick.coalescer.d.ts.map +1 -0
- package/dist/realtime/realtime-tick.coalescer.js +60 -0
- package/dist/realtime/realtime-tick.coalescer.js.map +1 -0
- package/dist/realtime/realtime.service.d.ts +2 -0
- package/dist/realtime/realtime.service.d.ts.map +1 -1
- package/dist/realtime/realtime.service.js +22 -2
- package/dist/realtime/realtime.service.js.map +1 -1
- package/dist/redis/redis-kv.service.d.ts +90 -0
- package/dist/redis/redis-kv.service.d.ts.map +1 -0
- package/dist/redis/redis-kv.service.js +247 -0
- package/dist/redis/redis-kv.service.js.map +1 -0
- package/dist/redis/redis-master.d.ts +29 -0
- package/dist/redis/redis-master.d.ts.map +1 -0
- package/dist/redis/redis-master.js +81 -0
- package/dist/redis/redis-master.js.map +1 -0
- package/dist/redis/redis-pubsub.d.ts +12 -0
- package/dist/redis/redis-pubsub.d.ts.map +1 -1
- package/dist/redis/redis-pubsub.js +25 -2
- package/dist/redis/redis-pubsub.js.map +1 -1
- package/dist/redis/redis.module.d.ts +11 -0
- package/dist/redis/redis.module.d.ts.map +1 -0
- package/dist/redis/redis.module.js +30 -0
- package/dist/redis/redis.module.js.map +1 -0
- package/dist/session/session.controller.d.ts +6 -2
- package/dist/session/session.controller.d.ts.map +1 -1
- package/dist/session/session.service.d.ts +118 -15
- package/dist/session/session.service.d.ts.map +1 -1
- package/dist/session/session.service.js +251 -77
- package/dist/session/session.service.js.map +1 -1
- package/dist/setting/favicon.controller.d.ts +26 -0
- package/dist/setting/favicon.controller.d.ts.map +1 -0
- package/dist/setting/favicon.controller.js +130 -0
- package/dist/setting/favicon.controller.js.map +1 -0
- package/dist/setting/setting.controller.d.ts +5 -0
- package/dist/setting/setting.controller.d.ts.map +1 -1
- package/dist/setting/setting.module.d.ts.map +1 -1
- package/dist/setting/setting.module.js +2 -1
- package/dist/setting/setting.module.js.map +1 -1
- package/dist/setting/setting.service.d.ts +7 -0
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +38 -3
- package/dist/setting/setting.service.js.map +1 -1
- package/dist/task/task.service.d.ts +17 -0
- package/dist/task/task.service.d.ts.map +1 -1
- package/dist/task/task.service.js +48 -13
- package/dist/task/task.service.js.map +1 -1
- package/dist/token/token.service.d.ts +19 -1
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +39 -2
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/user-credential.util.d.ts +10 -0
- package/dist/user/user-credential.util.d.ts.map +1 -1
- package/dist/user/user-credential.util.js +14 -1
- package/dist/user/user-credential.util.js.map +1 -1
- package/dist/user/user.service.d.ts +12 -4
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +2 -11
- package/dist/user/user.service.js.map +1 -1
- package/dist/user/user.sort.d.ts +16 -0
- package/dist/user/user.sort.d.ts.map +1 -0
- package/dist/user/user.sort.js +25 -0
- package/dist/user/user.sort.js.map +1 -0
- package/dist/utils/abbreviate-name.d.ts +13 -0
- package/dist/utils/abbreviate-name.d.ts.map +1 -0
- package/dist/utils/abbreviate-name.js +42 -0
- package/dist/utils/abbreviate-name.js.map +1 -0
- package/dist/utils/date-range-query.dto.d.ts +11 -0
- package/dist/utils/date-range-query.dto.d.ts.map +1 -0
- package/dist/utils/date-range-query.dto.js +63 -0
- package/dist/utils/date-range-query.dto.js.map +1 -0
- package/dist/utils/date-range.d.ts +96 -0
- package/dist/utils/date-range.d.ts.map +1 -0
- package/dist/utils/date-range.js +172 -0
- package/dist/utils/date-range.js.map +1 -0
- package/dist/webhook-integration/webhook-utils.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-utils.js +24 -0
- package/dist/webhook-integration/webhook-utils.js.map +1 -1
- package/dist/whatsapp-sender/whatsapp-recipients.d.ts +49 -0
- package/dist/whatsapp-sender/whatsapp-recipients.d.ts.map +1 -0
- package/dist/whatsapp-sender/whatsapp-recipients.js +66 -0
- package/dist/whatsapp-sender/whatsapp-recipients.js.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +25 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -1
- package/dist/whatsapp-sender/whatsapp-sender.service.js +71 -7
- package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -1
- package/hedhog/data/integration_provider.yaml +9 -0
- package/hedhog/data/integration_type.yaml +12 -0
- package/hedhog/data/locale.yaml +0 -1
- package/hedhog/data/mail.yaml +2 -2
- package/hedhog/data/mail_layout.yaml +6 -3
- package/hedhog/data/menu.yaml +25 -5
- package/hedhog/data/route.yaml +148 -0
- package/hedhog/data/setting_group.yaml +189 -3
- package/hedhog/frontend/app/access-log/page.tsx.ejs +47 -53
- package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +33 -8
- package/hedhog/frontend/app/account/components/mcp-tokens.tsx.ejs +54 -13
- package/hedhog/frontend/app/account/components/mfa-method-card.tsx.ejs +7 -1
- package/hedhog/frontend/app/account/components/recovery-codes-dialog.tsx.ejs +1 -0
- package/hedhog/frontend/app/account/components/tokens.tsx.ejs +47 -17
- package/hedhog/frontend/app/ai_agent/page.tsx.ejs +46 -5
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-form.tsx.ejs +101 -30
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-versions.tsx.ejs +24 -8
- package/hedhog/frontend/app/ai_instruction/page.tsx.ejs +80 -15
- package/hedhog/frontend/app/configurations/[slug]/components/image-optimization-action.tsx.ejs +166 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +145 -45
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +99 -219
- package/hedhog/frontend/app/configurations/[slug]/page.tsx.ejs +19 -1
- package/hedhog/frontend/app/configurations/layout.tsx.ejs +19 -5
- package/hedhog/frontend/app/dashboard/[slug]/widget-renderer.tsx.ejs +2 -8
- package/hedhog/frontend/app/dashboard/components/dynamic-widget.tsx.ejs +3 -0
- package/hedhog/frontend/app/dashboard/components/widget-wrapper.tsx.ejs +4 -0
- package/hedhog/frontend/app/dashboard/dashboard-home-tabs.tsx.ejs +43 -44
- package/hedhog/frontend/app/dashboard/management/tabs/component-roles-tab.tsx.ejs +41 -3
- package/hedhog/frontend/app/dashboard/management/tabs/components-tab.tsx.ejs +42 -2
- package/hedhog/frontend/app/dashboard/management/tabs/dashboard-roles-tab.tsx.ejs +41 -3
- package/hedhog/frontend/app/dashboard/management/tabs/dashboards-tab.tsx.ejs +39 -4
- package/hedhog/frontend/app/dashboard/management/tabs/items-tab.tsx.ejs +42 -3
- package/hedhog/frontend/app/incidents/page.tsx.ejs +60 -31
- package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +45 -5
- package/hedhog/frontend/app/integrations-webhooks/page.tsx.ejs +92 -15
- package/hedhog/frontend/app/mail/log/page.tsx.ejs +109 -61
- package/hedhog/frontend/app/mail/template/page.tsx.ejs +125 -23
- package/hedhog/frontend/app/mcp_chat/chat-components.tsx.ejs +13 -15
- package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +116 -110
- package/hedhog/frontend/app/message-templates/_components/message-template-sheet.tsx.ejs +245 -0
- package/hedhog/frontend/app/message-templates/_lib/types.ts.ejs +24 -0
- package/hedhog/frontend/app/message-templates/page.tsx.ejs +182 -0
- package/hedhog/frontend/app/pages/_components/page-wizard-sheet.tsx.ejs +1 -0
- package/hedhog/frontend/app/pages/page.tsx.ejs +94 -9
- package/hedhog/frontend/app/roles/menus.tsx.ejs +4 -4
- package/hedhog/frontend/app/roles/routes.tsx.ejs +4 -4
- package/hedhog/frontend/app/roles/users.tsx.ejs +4 -4
- package/hedhog/frontend/app/setting-list/page.tsx.ejs +71 -9
- package/hedhog/frontend/app/users/page.tsx.ejs +77 -67
- package/hedhog/frontend/messages/en.json +237 -37
- package/hedhog/frontend/messages/pt.json +237 -37
- package/hedhog/table/cron_lock.yaml +17 -0
- package/hedhog/table/file.yaml +13 -1
- package/hedhog/table/file_upload_chunk.yaml +23 -0
- package/hedhog/table/file_upload_ticket.yaml +67 -0
- package/hedhog/table/mcp_tool_call_log.yaml +30 -22
- package/hedhog/table/message_template.yaml +33 -0
- package/hedhog/table/setting.yaml +8 -0
- package/hedhog/table/user_session.yaml +36 -1
- package/package.json +5 -3
- package/src/ai/ai-agent.sort.ts +21 -0
- package/src/ai/ai-attachment.fragments.spec.ts +56 -3
- package/src/ai/ai.service.responses.spec.ts +429 -0
- package/src/ai/ai.service.spec.ts +173 -1
- package/src/ai/ai.service.ts +473 -220
- package/src/ai-instruction/ai-instruction.service.ts +32 -28
- package/src/ai-instruction/ai-instruction.sort.ts +32 -0
- package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +44 -0
- package/src/ai-instruction/ai-prompt-resolver.service.ts +29 -0
- package/src/auth/auth.module.ts +8 -1
- package/src/auth/auth.service.spec.ts +108 -1
- package/src/auth/auth.service.ts +59 -5
- package/src/auth/guards/auth.guard.ts +9 -1
- package/src/authorize/authorize.controller.ts +126 -11
- package/src/authorize/authorize.errors.ts +55 -0
- package/src/authorize/authorize.module.ts +6 -1
- package/src/authorize/authorize.service.spec.ts +379 -7
- package/src/authorize/authorize.service.ts +309 -23
- package/src/authorize/dto/authorize-info.dto.ts +21 -3
- package/src/authorize/dto/consent.dto.ts +21 -3
- package/src/authorize/dto/token.dto.ts +24 -2
- package/src/authorize/oauth-exception.filter.ts +58 -0
- package/src/authorize/oauth-metadata.service.ts +67 -0
- package/src/authorize/well-known.controller.spec.ts +84 -0
- package/src/authorize/well-known.controller.ts +96 -0
- package/src/captcha/captcha.service.spec.ts +211 -4
- package/src/captcha/captcha.service.ts +127 -10
- package/src/core.module.ts +9 -0
- package/src/dashboard/dashboard-component-role/dashboard-component-role.service.ts +2 -3
- package/src/dashboard/dashboard-component-role/dashboard-component-role.sort.ts +18 -0
- package/src/dashboard/dashboard-item/dashboard-item.service.ts +2 -3
- package/src/dashboard/dashboard-item/dashboard-item.sort.ts +19 -0
- package/src/dashboard/dashboard-role/dashboard-role.service.ts +2 -3
- package/src/dashboard/dashboard-role/dashboard-role.sort.ts +16 -0
- package/src/document-kit/document-kit.module.ts +12 -0
- package/src/document-kit/document-kit.registry.ts +125 -0
- package/src/document-kit/document-kit.service.spec.ts +156 -0
- package/src/document-kit/document-kit.service.ts +173 -0
- package/src/file/file-upload-ticket.service.spec.ts +422 -0
- package/src/file/file-upload-ticket.service.ts +513 -0
- package/src/file/file.controller.ts +65 -0
- package/src/file/file.module.ts +14 -2
- package/src/file/file.service.spec.ts +262 -1
- package/src/file/file.service.ts +505 -87
- package/src/file/filename-encoding.util.spec.ts +54 -0
- package/src/file/filename-encoding.util.ts +67 -0
- package/src/file/image-optimization.service.spec.ts +156 -19
- package/src/file/image-optimization.service.ts +106 -21
- package/src/file/mcp-file-source.schema.ts +86 -0
- package/src/file/mcp-file-source.service.spec.ts +473 -0
- package/src/file/mcp-file-source.service.ts +445 -0
- package/src/file/mimetype-sniff.util.spec.ts +126 -0
- package/src/file/mimetype-sniff.util.ts +265 -0
- package/src/file/remote-fetch.util.spec.ts +117 -0
- package/src/file/remote-fetch.util.ts +330 -0
- package/src/impersonation/dto/start-impersonation.dto.ts +5 -2
- package/src/impersonation/impersonation.service.spec.ts +24 -1
- package/src/impersonation/impersonation.service.ts +14 -4
- package/src/incident/incident.controller.ts +9 -1
- package/src/incident/incident.service.ts +7 -0
- package/src/index.ts +23 -1
- package/src/integration-profile/integration-profile.secrets.ts +28 -0
- package/src/integration-profile/integration-profile.service.ts +7 -64
- package/src/integration-profile/integration-profile.utils.spec.ts +9 -0
- package/src/integration-profile/integration-profile.utils.ts +5 -5
- package/src/integration-profile/testers/ai.testers.ts +70 -5
- package/src/integration-profile/testers/index.ts +2 -0
- package/src/integration-profile/testers/remaining.testers.spec.ts +144 -1
- package/src/integration-profile/testers/shipping.testers.ts +94 -0
- package/src/integration-profile/testers/tester-coverage.spec.ts +10 -0
- package/src/mail/dto/send.dto.ts +6 -1
- package/src/mail/mail-template.spec.ts +58 -1
- package/src/mail/mail.service.spec.ts +112 -0
- package/src/mail/mail.service.ts +42 -4
- package/src/mail-sent/mail-sent.service.ts +3 -0
- package/src/mail-sent/mail-sent.sort.ts +19 -0
- package/src/mcp/filters/mcp-challenge.filter.spec.ts +76 -0
- package/src/mcp/filters/mcp-challenge.filter.ts +70 -0
- package/src/mcp/guards/mcp-auth.guard.spec.ts +51 -2
- package/src/mcp/guards/mcp-auth.guard.ts +24 -1
- package/src/mcp/guards/mcp-permission.guard.spec.ts +109 -15
- package/src/mcp/guards/mcp-permission.guard.ts +76 -51
- package/src/mcp/mcp-audit.service.spec.ts +107 -0
- package/src/mcp/mcp-audit.service.ts +37 -1
- package/src/mcp/mcp-permission.service.spec.ts +197 -0
- package/src/mcp/mcp-permission.service.ts +184 -0
- package/src/mcp/mcp-server.service.spec.ts +84 -2
- package/src/mcp/mcp-server.service.ts +111 -87
- package/src/mcp/mcp.controller.ts +8 -1
- package/src/mcp/mcp.module.ts +7 -1
- package/src/mcp/tools/core-access-log.mcp-tools.ts +66 -0
- package/src/mcp/tools/core-ai.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-dashboard-items.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-dashboard.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-event-webhooks.mcp-tools.ts +1 -2
- package/src/mcp/tools/core-files.mcp-tools.ts +202 -22
- package/src/mcp/tools/core-integration-events.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-mail-sent.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-mail.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-menus.mcp-tools.ts +1 -2
- package/src/mcp/tools/core-notifications.mcp-tools.ts +0 -1
- package/src/mcp/tools/core-roles.mcp-tools.ts +1 -5
- package/src/mcp/tools/core-routes.mcp-tools.ts +1 -3
- package/src/mcp/tools/core-screens.mcp-tools.ts +1 -3
- package/src/mcp/tools/core-sessions.mcp-tools.ts +0 -2
- package/src/mcp/tools/core-settings.mcp-tools.ts +1 -2
- package/src/mcp/tools/core-users.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-webhooks.mcp-tools.ts +1 -2
- package/src/mcp/types/mcp-context.type.ts +15 -6
- package/src/mcp-chat/mcp-chat.service.ts +8 -0
- package/src/meeting/meeting-provider.registry.ts +201 -0
- package/src/meeting/meeting.constants.ts +74 -0
- package/src/menu/menu.service.spec.ts +89 -0
- package/src/menu/menu.service.ts +29 -11
- package/src/message-template/dto/update-message-template.dto.ts +22 -0
- package/src/message-template/message-template-admin.service.spec.ts +163 -0
- package/src/message-template/message-template-admin.service.ts +239 -0
- package/src/message-template/message-template.controller.ts +52 -0
- package/src/message-template/message-template.module.ts +21 -0
- package/src/message-template/message-template.registry.spec.ts +62 -0
- package/src/message-template/message-template.registry.ts +125 -0
- package/src/message-template/message-template.service.spec.ts +149 -0
- package/src/message-template/message-template.service.ts +149 -0
- package/src/notification/notification.constants.ts +10 -0
- package/src/notification/notification.module.ts +3 -0
- package/src/notification/notification.service.spec.ts +75 -1
- package/src/notification/notification.service.ts +39 -1
- package/src/oauth/oauth-token-broker.service.spec.ts +108 -0
- package/src/oauth/oauth-token-broker.service.ts +129 -2
- package/src/oauth/oauth.controller.ts +0 -1
- package/src/oauth/oauth.errors.ts +7 -0
- package/src/oauth/oauth.module.ts +6 -1
- package/src/oauth/oauth.service.spec.ts +58 -7
- package/src/oauth/oauth.service.ts +71 -32
- package/src/oauth/providers/abstract.provider.spec.ts +192 -0
- package/src/oauth/providers/abstract.provider.ts +46 -14
- package/src/oauth/providers/github.provider.ts +57 -34
- package/src/oauth/providers/microsoft-entra-id.provider.spec.ts +133 -0
- package/src/oauth/providers/microsoft-entra-id.provider.ts +37 -3
- package/src/observability/monitored-cron.spec.ts +164 -31
- package/src/observability/monitored-cron.ts +154 -62
- package/src/pdf/document/charts/chart-bar.ts +217 -0
- package/src/pdf/document/charts/chart-donut.ts +163 -0
- package/src/pdf/document/charts/chart-gauge.ts +94 -0
- package/src/pdf/document/charts/chart-line.ts +159 -0
- package/src/pdf/document/charts/chart-primitives.ts +188 -0
- package/src/pdf/document/charts/chart-radar.ts +136 -0
- package/src/pdf/document/charts/chart-scale.spec.ts +93 -0
- package/src/pdf/document/charts/chart-scale.ts +141 -0
- package/src/pdf/document/charts/charts.spec.ts +157 -0
- package/src/pdf/document/charts/index.ts +7 -0
- package/src/pdf/document/index.ts +7 -0
- package/src/pdf/document/pdf-document.chrome.ts +38 -0
- package/src/pdf/document/pdf-document.css.ts +238 -0
- package/src/pdf/document/pdf-document.renderer.spec.ts +129 -0
- package/src/pdf/document/pdf-document.renderer.ts +215 -0
- package/src/pdf/document/pdf-document.service.ts +77 -0
- package/src/pdf/document/pdf-document.theme.ts +146 -0
- package/src/pdf/document/pdf-document.types.ts +97 -0
- package/src/pdf/pdf.module.ts +3 -2
- package/src/pdf/pdf.service.spec.ts +131 -0
- package/src/pdf/pdf.service.ts +245 -82
- package/src/pdf/templates/commercial-proposal.template.spec.ts +177 -0
- package/src/pdf/templates/commercial-proposal.template.ts +400 -0
- package/src/profile/dto/change-password.dto.ts +25 -7
- package/src/profile/profile.service.spec.ts +97 -0
- package/src/profile/profile.service.ts +9 -3
- package/src/realtime/realtime-tick.coalescer.spec.ts +92 -0
- package/src/realtime/realtime-tick.coalescer.ts +60 -0
- package/src/realtime/realtime.service.spec.ts +33 -0
- package/src/realtime/realtime.service.ts +28 -2
- package/src/redis/redis-kv.service.ts +261 -0
- package/src/redis/redis-master.spec.ts +111 -0
- package/src/redis/redis-master.ts +86 -0
- package/src/redis/redis-pubsub.ts +27 -3
- package/src/redis/redis.module.ts +17 -0
- package/src/session/session.service.spec.ts +121 -42
- package/src/session/session.service.ts +279 -82
- package/src/setting/favicon.controller.spec.ts +92 -0
- package/src/setting/favicon.controller.ts +135 -0
- package/src/setting/setting.module.ts +2 -1
- package/src/setting/setting.service.ts +44 -3
- package/src/task/task.service.spec.ts +41 -0
- package/src/task/task.service.ts +53 -13
- package/src/token/token.service.spec.ts +90 -0
- package/src/token/token.service.ts +48 -2
- package/src/user/user-credential.util.ts +14 -5
- package/src/user/user.service.ts +2 -12
- package/src/user/user.sort.ts +25 -0
- package/src/utils/abbreviate-name.spec.ts +50 -0
- package/src/utils/abbreviate-name.ts +44 -0
- package/src/utils/date-range-query.dto.ts +56 -0
- package/src/utils/date-range.spec.ts +175 -0
- package/src/utils/date-range.ts +246 -0
- package/src/webhook-integration/webhook-utils.spec.ts +67 -0
- package/src/webhook-integration/webhook-utils.ts +26 -0
- package/src/whatsapp-sender/whatsapp-recipients.spec.ts +89 -0
- package/src/whatsapp-sender/whatsapp-recipients.ts +83 -0
- package/src/whatsapp-sender/whatsapp-sender.service.spec.ts +185 -0
- package/src/whatsapp-sender/whatsapp-sender.service.ts +90 -7
- package/hedhog/query/device_pairing_request.sql +0 -46
- package/hedhog/query/impersonation_grant.sql +0 -71
- package/hedhog/query/oauth_authorize_pkce.sql +0 -58
- package/hedhog/query/oauth_mobile_state_token.sql +0 -30
- package/hedhog/query/oauth_web_ref_token.sql +0 -25
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
{
|
|
2
|
+
"DateRangePicker": {
|
|
3
|
+
"placeholder": "Selecionar período",
|
|
4
|
+
"apply": "Aplicar",
|
|
5
|
+
"clear": "Limpar",
|
|
6
|
+
"clearTooltip": "Limpar período",
|
|
7
|
+
"otherYears": "Outros anos",
|
|
8
|
+
"fromLabel": "De",
|
|
9
|
+
"toLabel": "Até",
|
|
10
|
+
"datePlaceholder": "dd/mm/aaaa",
|
|
11
|
+
"invalidDate": "Data inválida",
|
|
12
|
+
"previousDecade": "Década anterior",
|
|
13
|
+
"nextDecade": "Próxima década",
|
|
14
|
+
"presets": {
|
|
15
|
+
"today": "Hoje",
|
|
16
|
+
"yesterday": "Ontem",
|
|
17
|
+
"last7Days": "Últimos 7 dias",
|
|
18
|
+
"thisWeek": "Esta semana",
|
|
19
|
+
"lastWeek": "Semana passada",
|
|
20
|
+
"thisMonth": "Este mês",
|
|
21
|
+
"lastMonth": "Mês passado",
|
|
22
|
+
"last30Days": "Últimos 30 dias",
|
|
23
|
+
"last90Days": "Últimos 90 dias",
|
|
24
|
+
"thisYear": "Este ano"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
2
27
|
"TagSelectorSheet": {
|
|
3
28
|
"addTag": "Adicionar tag",
|
|
4
29
|
"sheetTitle": "Gerenciar tags",
|
|
@@ -23,6 +48,16 @@
|
|
|
23
48
|
"btnBuscar": "Buscar",
|
|
24
49
|
"filterPlaceholder": "Filtrar"
|
|
25
50
|
},
|
|
51
|
+
"TableSort": {
|
|
52
|
+
"sortAscending": "Ordenar crescente",
|
|
53
|
+
"sortDescending": "Ordenar decrescente"
|
|
54
|
+
},
|
|
55
|
+
"ColumnsMenu": {
|
|
56
|
+
"trigger": "Colunas",
|
|
57
|
+
"label": "Exibir colunas",
|
|
58
|
+
"reset": "Restaurar padrão",
|
|
59
|
+
"dragHandle": "Arraste para reordenar a coluna"
|
|
60
|
+
},
|
|
26
61
|
"Sheet": {
|
|
27
62
|
"close": "Fechar"
|
|
28
63
|
},
|
|
@@ -574,6 +609,8 @@
|
|
|
574
609
|
"tableVariables": "Variáveis",
|
|
575
610
|
"tableUpdated": "Atualizado",
|
|
576
611
|
"tableActions": "Ações",
|
|
612
|
+
"moreVariables": "+{count} variáveis",
|
|
613
|
+
"allVariablesTitle": "Todas as variáveis",
|
|
577
614
|
"editTemplate": "Editar Template",
|
|
578
615
|
"newTemplateTitle": "Novo Template",
|
|
579
616
|
"editTemplateDescription": "Edite as informações do template de e-mail",
|
|
@@ -976,7 +1013,8 @@
|
|
|
976
1013
|
"nameLabel": "Nome",
|
|
977
1014
|
"mfaNameAriaLabel": "Nome da MFA",
|
|
978
1015
|
"cancel": "Cancelar",
|
|
979
|
-
"save": "Salvar"
|
|
1016
|
+
"save": "Salvar",
|
|
1017
|
+
"removeMfa": "Remover método"
|
|
980
1018
|
},
|
|
981
1019
|
"RecoveryCodes": {
|
|
982
1020
|
"title": "Códigos de Recuperação",
|
|
@@ -994,7 +1032,8 @@
|
|
|
994
1032
|
"allCodesCopyFailed": "Falha ao copiar códigos",
|
|
995
1033
|
"noCodesAvailable": "Nenhum código de recuperação disponível para download",
|
|
996
1034
|
"codesDownloaded": "Códigos de recuperação baixados",
|
|
997
|
-
"downloadFailed": "Falha ao baixar códigos"
|
|
1035
|
+
"downloadFailed": "Falha ao baixar códigos",
|
|
1036
|
+
"copyCode": "Copiar código"
|
|
998
1037
|
},
|
|
999
1038
|
"RegenerateRecoveryCodes": {
|
|
1000
1039
|
"title": "Regenerar Códigos de Recuperação",
|
|
@@ -1413,44 +1452,99 @@
|
|
|
1413
1452
|
"byteUnitGB": "GB",
|
|
1414
1453
|
"byteUnitTB": "TB",
|
|
1415
1454
|
"selectOption": "Selecione uma opção",
|
|
1416
|
-
"
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1455
|
+
"profileTypes": {
|
|
1456
|
+
"ai": {
|
|
1457
|
+
"placeholder": "Selecione um perfil de IA",
|
|
1458
|
+
"emptyState": "Nenhum perfil de IA encontrado.",
|
|
1459
|
+
"name": "perfil de IA"
|
|
1460
|
+
},
|
|
1461
|
+
"email": {
|
|
1462
|
+
"placeholder": "Selecione um perfil de e-mail",
|
|
1463
|
+
"emptyState": "Nenhum perfil de e-mail encontrado.",
|
|
1464
|
+
"name": "perfil de e-mail"
|
|
1465
|
+
},
|
|
1466
|
+
"whatsapp": {
|
|
1467
|
+
"placeholder": "Selecione um perfil de WhatsApp",
|
|
1468
|
+
"emptyState": "Nenhum perfil de WhatsApp encontrado.",
|
|
1469
|
+
"name": "perfil de WhatsApp"
|
|
1470
|
+
},
|
|
1471
|
+
"storage": {
|
|
1472
|
+
"placeholder": "Selecione um perfil de armazenamento",
|
|
1473
|
+
"emptyState": "Nenhum perfil de armazenamento encontrado.",
|
|
1474
|
+
"name": "perfil de armazenamento"
|
|
1475
|
+
},
|
|
1476
|
+
"oauth": {
|
|
1477
|
+
"placeholder": "Selecione um perfil OAuth",
|
|
1478
|
+
"emptyState": "Nenhum perfil OAuth encontrado.",
|
|
1479
|
+
"name": "perfil OAuth"
|
|
1480
|
+
},
|
|
1481
|
+
"payment": {
|
|
1482
|
+
"placeholder": "Selecione um perfil de pagamento",
|
|
1483
|
+
"emptyState": "Nenhum perfil de pagamento encontrado.",
|
|
1484
|
+
"name": "perfil de pagamento"
|
|
1485
|
+
},
|
|
1486
|
+
"infrastructure": {
|
|
1487
|
+
"placeholder": "Selecione o perfil de infraestrutura",
|
|
1488
|
+
"emptyState": "Nenhum perfil de infraestrutura encontrado. Crie um perfil DigitalOcean ou Kubernetes primeiro.",
|
|
1489
|
+
"name": "perfil de infraestrutura"
|
|
1490
|
+
},
|
|
1491
|
+
"shipping": {
|
|
1492
|
+
"placeholder": "Selecione um perfil de frete",
|
|
1493
|
+
"emptyState": "Nenhum perfil de frete encontrado. Crie um perfil da Melhor Envio primeiro.",
|
|
1494
|
+
"name": "perfil de frete"
|
|
1495
|
+
},
|
|
1496
|
+
"captcha": {
|
|
1497
|
+
"placeholder": "Selecione um perfil de captcha",
|
|
1498
|
+
"emptyState": "Nenhum perfil de captcha encontrado.",
|
|
1499
|
+
"name": "perfil de captcha"
|
|
1500
|
+
},
|
|
1501
|
+
"video": {
|
|
1502
|
+
"placeholder": "Selecione um perfil de vídeo",
|
|
1503
|
+
"emptyState": "Nenhum perfil de vídeo encontrado.",
|
|
1504
|
+
"name": "perfil de vídeo"
|
|
1505
|
+
},
|
|
1506
|
+
"fiscal": {
|
|
1507
|
+
"placeholder": "Selecione um perfil fiscal",
|
|
1508
|
+
"emptyState": "Nenhum perfil fiscal encontrado.",
|
|
1509
|
+
"name": "perfil fiscal"
|
|
1510
|
+
},
|
|
1511
|
+
"generic": {
|
|
1512
|
+
"placeholder": "Selecione um perfil de integração",
|
|
1513
|
+
"emptyState": "Nenhum perfil de integração encontrado.",
|
|
1514
|
+
"name": "perfil de integração"
|
|
1515
|
+
}
|
|
1516
|
+
},
|
|
1517
|
+
"profileProviders": {
|
|
1518
|
+
"kubernetes": "perfil Kubernetes"
|
|
1519
|
+
},
|
|
1430
1520
|
"editProfileAria": "Editar {profile}",
|
|
1431
1521
|
"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"
|
|
1442
|
-
},
|
|
1443
|
-
"selectInfraProfile": "Selecione o perfil de infraestrutura",
|
|
1444
|
-
"infraProfileEmptyState": "Nenhum perfil de infraestrutura encontrado. Crie um perfil DigitalOcean ou Kubernetes primeiro.",
|
|
1445
|
-
"selectK8sInfraProfile": "Selecione o perfil Kubernetes",
|
|
1446
|
-
"k8sInfraProfileEmptyState": "Nenhum perfil de infraestrutura Kubernetes encontrado. Crie um primeiro.",
|
|
1447
1522
|
"openLink": "Abrir",
|
|
1448
1523
|
"settingOptions": {
|
|
1449
1524
|
"commerce-android-checkout-mode": {
|
|
1450
1525
|
"web": "Checkout no site",
|
|
1451
1526
|
"play_billing": "Google Play Billing (compra no app)"
|
|
1527
|
+
},
|
|
1528
|
+
"commerce-store-interest-mode": {
|
|
1529
|
+
"buyer_pays": "Comprador paga os juros",
|
|
1530
|
+
"merchant_absorbs": "Loja absorve os juros"
|
|
1452
1531
|
}
|
|
1453
|
-
}
|
|
1532
|
+
},
|
|
1533
|
+
"imageOptimization": {
|
|
1534
|
+
"title": "Reprocessar imagens já armazenadas",
|
|
1535
|
+
"description": "As configurações acima valem para uploads novos. Use esta ação para reaplicá-las às imagens que já estão no storage — o arquivo é regravado no lugar, mantendo o mesmo id, e só é substituído quando o resultado fica menor ou muda de formato.",
|
|
1536
|
+
"preview": "{count, plural, =0 {Nenhuma imagem acima desse tamanho.} one {# imagem acima desse tamanho, somando {size}.} other {# imagens acima desse tamanho, somando {size}.}}",
|
|
1537
|
+
"previewLoading": "Calculando…",
|
|
1538
|
+
"previewFailed": "Não foi possível calcular a prévia.",
|
|
1539
|
+
"refresh": "Recalcular",
|
|
1540
|
+
"queueAction": "Reprocessar",
|
|
1541
|
+
"queueHint": "O reprocessamento roda em segundo plano; acompanhe em <link>Fila de Jobs</link>.",
|
|
1542
|
+
"queuedSuccess": "{count, plural, =0 {Nenhum job enfileirado.} one {# imagem enfileirada para reprocessamento.} other {# imagens enfileiradas para reprocessamento.}}",
|
|
1543
|
+
"queuedRemaining": "{count, plural, one {Resta # imagem: repita a ação para enfileirar o restante.} other {Restam # imagens: repita a ação para enfileirar o restante.}}",
|
|
1544
|
+
"queueFailed": "Falha ao enfileirar o reprocessamento das imagens."
|
|
1545
|
+
},
|
|
1546
|
+
"menuActions": "Mais ações",
|
|
1547
|
+
"uploadFile": "Enviar arquivo"
|
|
1454
1548
|
},
|
|
1455
1549
|
"AddWidgetDialog": {
|
|
1456
1550
|
"title": "Selecionar Componentes do Dashboard",
|
|
@@ -1668,6 +1762,7 @@
|
|
|
1668
1762
|
"description": "Dispositivos conectados à sua conta",
|
|
1669
1763
|
"moreInfo": "Mais Informações",
|
|
1670
1764
|
"thisSession": "Esta sessão",
|
|
1765
|
+
"moreActions": "Mais ações",
|
|
1671
1766
|
"terminateSession": "Encerrar sessão",
|
|
1672
1767
|
"activeNow": "Ativo agora",
|
|
1673
1768
|
"minutesAgo": "{count}min atrás",
|
|
@@ -1764,7 +1859,8 @@
|
|
|
1764
1859
|
"darkPalette": "Paleta escura",
|
|
1765
1860
|
"primary": "Primária",
|
|
1766
1861
|
"notSet": "Não definido"
|
|
1767
|
-
}
|
|
1862
|
+
},
|
|
1863
|
+
"removeWidget": "Remover widget"
|
|
1768
1864
|
},
|
|
1769
1865
|
"WidgetRenderer": {
|
|
1770
1866
|
"saveWidgetPreview": "Salvar preview do widget",
|
|
@@ -1942,7 +2038,11 @@
|
|
|
1942
2038
|
"componentSlugPlaceholder": "total-users",
|
|
1943
2039
|
"componentNamePlaceholder": "Total de Usuários",
|
|
1944
2040
|
"addItemError": "Erro ao adicionar item",
|
|
1945
|
-
"deleteItemError": "Erro ao excluir item"
|
|
2041
|
+
"deleteItemError": "Erro ao excluir item",
|
|
2042
|
+
"goToFirstPage": "Ir para primeira página",
|
|
2043
|
+
"goToPreviousPage": "Ir para página anterior",
|
|
2044
|
+
"goToNextPage": "Ir para próxima página",
|
|
2045
|
+
"goToLastPage": "Ir para última página"
|
|
1946
2046
|
},
|
|
1947
2047
|
"DashboardComponent": {
|
|
1948
2048
|
"title": "Componentes do Dashboard",
|
|
@@ -2258,7 +2358,13 @@
|
|
|
2258
2358
|
"logRetryError": "Falha ao tentar reexecutar a chamada do webhook",
|
|
2259
2359
|
"logRetryFailedAgain": "A reexecução rodou, mas a chamada falhou novamente",
|
|
2260
2360
|
"logRetryConfirmTitle": "Tentar novamente esta chamada?",
|
|
2261
|
-
"logRetryConfirmDescription": "Todas as actions ativas deste webhook serão executadas de novo usando o payload original. Actions que já tinham dado certo (ex.: e-mails ou mensagens de WhatsApp) podem ser reenviadas."
|
|
2361
|
+
"logRetryConfirmDescription": "Todas as actions ativas deste webhook serão executadas de novo usando o payload original. Actions que já tinham dado certo (ex.: e-mails ou mensagens de WhatsApp) podem ser reenviadas.",
|
|
2362
|
+
"duplicate": "Duplicar",
|
|
2363
|
+
"removeIp": "Remover IP",
|
|
2364
|
+
"editSelectedMailProfile": "Editar perfil de e-mail selecionado",
|
|
2365
|
+
"editSelectedMailTemplate": "Editar template de e-mail selecionado",
|
|
2366
|
+
"editAction": "Editar ação",
|
|
2367
|
+
"deleteAction": "Excluir ação"
|
|
2262
2368
|
},
|
|
2263
2369
|
"McpChatPage": {
|
|
2264
2370
|
"title": "Chat MCP",
|
|
@@ -2365,7 +2471,10 @@
|
|
|
2365
2471
|
"mcpUsageExampleLabel": "Exemplo (Claude Desktop / Cursor):",
|
|
2366
2472
|
"apiUsageDesc": "Use este token para autenticar requisições à API REST passando-o como Bearer token no header Authorization.",
|
|
2367
2473
|
"apiUsageHeader": "Adicione este header em cada requisição:",
|
|
2368
|
-
"apiUsageExampleLabel": "Exemplo (curl):"
|
|
2474
|
+
"apiUsageExampleLabel": "Exemplo (curl):",
|
|
2475
|
+
"copy": "Copiar",
|
|
2476
|
+
"copyToken": "Copiar token",
|
|
2477
|
+
"revoke": "Revogar token"
|
|
2369
2478
|
},
|
|
2370
2479
|
"McpFloatingChat": {
|
|
2371
2480
|
"title": "Chat MCP",
|
|
@@ -2484,6 +2593,8 @@
|
|
|
2484
2593
|
"rawUserAgent": "User Agent",
|
|
2485
2594
|
"simulated": "Simulado",
|
|
2486
2595
|
"simulatedBy": "Simulado por {name}",
|
|
2596
|
+
"connectedApp": "Aplicativo conectado",
|
|
2597
|
+
"viaConnector": "Pelo conector",
|
|
2487
2598
|
"simulatedAccess": "Acesso simulado",
|
|
2488
2599
|
"filterBySimulated": "Simulação",
|
|
2489
2600
|
"simulatedAll": "Todos os acessos",
|
|
@@ -2610,9 +2721,12 @@
|
|
|
2610
2721
|
"fieldBusinessId": "Business ID",
|
|
2611
2722
|
"fieldAppId": "Meta App ID",
|
|
2612
2723
|
"fieldAppSecret": "Meta App Secret",
|
|
2724
|
+
"fieldInstagramAppId": "ID do app do Instagram (Instagram > API setup with Instagram login)",
|
|
2725
|
+
"fieldInstagramAppSecret": "Chave secreta do app do Instagram (Instagram > API setup with Instagram login)",
|
|
2613
2726
|
"fieldWabaId": "ID da Conta do WhatsApp Business (WABA)",
|
|
2614
2727
|
"fieldVerifyToken": "Verify Token do Webhook",
|
|
2615
2728
|
"fieldGraphApiVersion": "Versão da Graph API",
|
|
2729
|
+
"fieldLinkedInApiVersion": "Versão da API do LinkedIn (AAAAMM)",
|
|
2616
2730
|
"fieldEnvironmentTest": "Teste",
|
|
2617
2731
|
"fieldEnvironmentProduction": "Produção",
|
|
2618
2732
|
"copiedToClipboard": "Copiado para a área de transferência",
|
|
@@ -2678,6 +2792,7 @@
|
|
|
2678
2792
|
"paymentGooglePlayStep3": "Conceda à service account de publicação do Play permissão para publicar no tópico.",
|
|
2679
2793
|
"paymentGooglePlayStep4": "Envie uma notificação de teste e confirme que ela chega.",
|
|
2680
2794
|
"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).",
|
|
2795
|
+
"paymentWebhookSecretMissingInProduction": "Este perfil está em produção sem Webhook Secret: nesse estado todo webhook do gateway é rejeitado com 401 e o pedido nunca sai de pendente. Cadastre a URL acima no painel do provedor, copie a chave secreta gerada e cole no campo Webhook Secret.",
|
|
2681
2796
|
"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.",
|
|
2682
2797
|
"fieldBasePath": "Caminho Base",
|
|
2683
2798
|
"fieldBucket": "Bucket",
|
|
@@ -2704,6 +2819,7 @@
|
|
|
2704
2819
|
"fieldModeSandbox": "Sandbox",
|
|
2705
2820
|
"fieldModeProduction": "Produção",
|
|
2706
2821
|
"fieldSiteKey": "Chave do Site",
|
|
2822
|
+
"fieldHostnames": "Hostnames permitidos",
|
|
2707
2823
|
"fieldHmacKey": "Chave HMAC",
|
|
2708
2824
|
"fieldScoreThreshold": "Limiar de Pontuação",
|
|
2709
2825
|
"fieldApiUrl": "URL da API",
|
|
@@ -2719,6 +2835,8 @@
|
|
|
2719
2835
|
"addCallbackUrl": "Adicionar URL",
|
|
2720
2836
|
"noCallbackUrls": "Nenhuma URL de callback configurada.",
|
|
2721
2837
|
"callbackUrlPlaceholder": "https://seudominio.com/callback/...",
|
|
2838
|
+
"copyUrl": "Copiar URL",
|
|
2839
|
+
"removeCallbackUrl": "Remover URL",
|
|
2722
2840
|
"showPassword": "Mostrar valor",
|
|
2723
2841
|
"hidePassword": "Ocultar valor",
|
|
2724
2842
|
"leaveBlankToKeep": "Deixe em branco para manter o valor atual",
|
|
@@ -2730,6 +2848,8 @@
|
|
|
2730
2848
|
"fieldApiServer": "URL do API Server",
|
|
2731
2849
|
"fieldCaCert": "Certificado CA (PEM)",
|
|
2732
2850
|
"fieldNamespace": "Namespace",
|
|
2851
|
+
"fieldUserAgent": "User-Agent (e-mail de contato)",
|
|
2852
|
+
"fieldSandbox": "Ambiente de testes (sandbox)",
|
|
2733
2853
|
"fieldVideoNodePool": "Node Pool de Vídeo",
|
|
2734
2854
|
"nodePoolSectionTitle": "Node Pool de Vídeo",
|
|
2735
2855
|
"nodePoolSectionDescription": "Pool onde os pods de conversão de vídeo rodam. Carregue os pools da DigitalOcean e escolha um pelo nome.",
|
|
@@ -2770,7 +2890,57 @@
|
|
|
2770
2890
|
"fileStored": "Arquivo armazenado e cifrado. Clique para substituir.",
|
|
2771
2891
|
"fileSelected": "Novo arquivo selecionado. Será cifrado ao salvar.",
|
|
2772
2892
|
"fieldRtdnServiceAccount": "Conta de Serviço das Notificações (RTDN)",
|
|
2773
|
-
"fieldRtdnAudience": "Audience das Notificações (RTDN)"
|
|
2893
|
+
"fieldRtdnAudience": "Audience das Notificações (RTDN)",
|
|
2894
|
+
"fieldLoginConfigId": "Login Configuration ID (Facebook Login for Business)",
|
|
2895
|
+
"metaSocialSectionTitle": "Conexão das redes sociais",
|
|
2896
|
+
"metaSocialDescription": "Este perfil é o app do HedHog na Meta. As Páginas e contas Instagram são conectadas por marca, em Social → Marcas → Canais.",
|
|
2897
|
+
"metaSocialRedirectUriLabel": "URI de redirecionamento do OAuth",
|
|
2898
|
+
"metaSocialRedirectUriUnavailable": "Defina NEXT_PUBLIC_API_BASE_URL para exibir a URI",
|
|
2899
|
+
"metaSocialStepsTitle": "Como configurar no painel da Meta",
|
|
2900
|
+
"metaSocialStep1": "Crie um app do tipo Business e adicione o Facebook Login for Business e a API do Instagram com login do Facebook.",
|
|
2901
|
+
"metaSocialStep2": "Crie uma Login Configuration do tipo \"User access token\" com as permissões de publicação e cole o ID dela acima.",
|
|
2902
|
+
"metaSocialStep3": "Cadastre a URI acima em \"Valid OAuth Redirect URIs\".",
|
|
2903
|
+
"metaSocialStep4": "Até o App Review ser aprovado, use o modo Sandbox ou só contas de administradores e testadores do app.",
|
|
2904
|
+
"instagramSocialSectionTitle": "Conexão com o Instagram",
|
|
2905
|
+
"instagramSocialDescription": "Este perfil é o app do HedHog na API do Instagram com login do Instagram. As contas profissionais do Instagram (Empresa ou Criador de conteúdo) são conectadas por marca, em Social → Marcas → Canais, com ou sem Página do Facebook.",
|
|
2906
|
+
"instagramSocialRedirectUriLabel": "URI de redirecionamento do OAuth",
|
|
2907
|
+
"instagramSocialRedirectUriUnavailable": "Defina NEXT_PUBLIC_API_BASE_URL para exibir a URI",
|
|
2908
|
+
"instagramSocialStepsTitle": "Como configurar no painel da Meta",
|
|
2909
|
+
"instagramSocialStep1": "No app da Meta, adicione o produto Instagram e abra \"API setup with Instagram login\".",
|
|
2910
|
+
"instagramSocialStep2": "Copie o ID do app do Instagram e a chave secreta do app do Instagram exibidos ali e cole acima. Eles não são o ID e a chave do app da Meta.",
|
|
2911
|
+
"instagramSocialStep3": "Em \"Set up Instagram business login\" > Business login settings, cadastre a URI acima em \"OAuth redirect URIs\" exatamente como aparece, sem barra no final.",
|
|
2912
|
+
"instagramSocialStep4": "Nas mesmas configurações, preencha a Deauthorize callback URL e a Data deletion request URL com a página das suas instruções de privacidade.",
|
|
2913
|
+
"instagramSocialStep5": "Até o App Review ser aprovado, adicione as contas que serão conectadas como testadoras do Instagram no app, ou use o modo Sandbox.",
|
|
2914
|
+
"linkedinSocialSectionTitle": "Conexão com o LinkedIn",
|
|
2915
|
+
"linkedinSocialDescription": "Este perfil é o app do HedHog na Community Management API do LinkedIn. As páginas de empresa são conectadas por marca, em Social → Marcas → Canais, por um membro que seja administrador ou administrador de conteúdo da página.",
|
|
2916
|
+
"linkedinSocialRedirectUriLabel": "URL de redirecionamento autorizada",
|
|
2917
|
+
"linkedinSocialRedirectUriUnavailable": "Defina NEXT_PUBLIC_API_BASE_URL para exibir a URL",
|
|
2918
|
+
"linkedinSocialStepsTitle": "Como configurar no LinkedIn Developer Portal",
|
|
2919
|
+
"linkedinSocialStep1": "Crie um app dedicado, sem outros produtos, vinculado à página da empresa e verificado por um superadministrador dessa Página do LinkedIn.",
|
|
2920
|
+
"linkedinSocialStep2": "Na aba Products, solicite a Community Management API. O acesso começa no nível Development.",
|
|
2921
|
+
"linkedinSocialStep3": "Na aba Auth, cadastre a URL acima em \"Authorized redirect URLs for your app\" exatamente como aparece e copie o Client ID e o Primary Client Secret para os campos acima.",
|
|
2922
|
+
"linkedinSocialStep4": "Antes de ir para produção, solicite o nível Standard, que exige um screencast de cada caso de uso do app.",
|
|
2923
|
+
"linkedinSocialStep5": "Até o nível Standard ser aprovado, use o modo Sandbox.",
|
|
2924
|
+
"fieldOauthAppStatus": "Status da tela de consentimento OAuth",
|
|
2925
|
+
"fieldOauthAppStatusTesting": "Em teste (o token de atualização expira em 7 dias e o canal precisa ser reconectado)",
|
|
2926
|
+
"fieldOauthAppStatusProduction": "Em produção (o token de atualização não expira em 7 dias)",
|
|
2927
|
+
"googleSocialSectionTitle": "Conexão com o Google",
|
|
2928
|
+
"youtubeSocialDescription": "Este perfil é o projeto do HedHog no Google Cloud para o YouTube. Os canais são conectados por marca, em Social → Marcas → Canais.",
|
|
2929
|
+
"googleBusinessSocialDescription": "Este perfil é o projeto do HedHog no Google Cloud para o Perfil da Empresa no Google. Os locais são conectados por marca, em Social → Marcas → Canais.",
|
|
2930
|
+
"googleSocialRedirectUriLabel": "URI de redirecionamento autorizado do OAuth",
|
|
2931
|
+
"googleSocialRedirectUriUnavailable": "Defina NEXT_PUBLIC_API_BASE_URL para exibir a URI",
|
|
2932
|
+
"googleSocialStepsTitle": "Como configurar no Google Cloud Console",
|
|
2933
|
+
"youtubeSocialStep1": "Crie um projeto no Google Cloud só para o YouTube e ative a YouTube Data API v3.",
|
|
2934
|
+
"youtubeSocialStep2": "Configure a tela de consentimento OAuth com os escopos youtube.upload e youtube.readonly. Por serem escopos sensíveis, o app precisa passar pela verificação do Google antes de ser publicado.",
|
|
2935
|
+
"youtubeSocialStep3": "Crie um ID do cliente OAuth do tipo \"Aplicativo da Web\", cadastre a URI acima em \"URIs de redirecionamento autorizados\" e cole o Client ID e o Client Secret acima.",
|
|
2936
|
+
"youtubeSocialStep4": "Solicite a auditoria de conformidade da API do YouTube: até ela ser aprovada, todo vídeo enviado pelo projeto fica privado.",
|
|
2937
|
+
"youtubeSocialStep5": "A cota padrão do projeto permite cerca de 100 envios de vídeo por dia. Ao esgotar, a publicação é reagendada para depois do reset (meia-noite no horário do Pacífico).",
|
|
2938
|
+
"googleBusinessSocialStep1": "O Perfil da Empresa precisa estar verificado há mais de 60 dias e ter um site cadastrado.",
|
|
2939
|
+
"googleBusinessSocialStep2": "Crie um projeto no Google Cloud só para o Perfil da Empresa e solicite o acesso básico à API (Basic API Access) informando o número desse projeto.",
|
|
2940
|
+
"googleBusinessSocialStep3": "Ative a My Business Account Management API, a My Business Business Information API e a Google My Business API. Até o acesso ser aprovado a cota é 0 e toda chamada falha.",
|
|
2941
|
+
"googleBusinessSocialStep4": "Configure a tela de consentimento OAuth com o escopo business.manage.",
|
|
2942
|
+
"googleBusinessSocialStep5": "Crie um ID do cliente OAuth do tipo \"Aplicativo da Web\", cadastre a URI acima em \"URIs de redirecionamento autorizados\" e cole o Client ID e o Client Secret acima.",
|
|
2943
|
+
"googleSocialTestingStep": "Enquanto a tela de consentimento estiver em \"Teste\", escolha \"Em teste\" no status acima e use o modo Sandbox para desenvolver sem depender das aprovações do Google."
|
|
2774
2944
|
},
|
|
2775
2945
|
"SystemPagesPage": {
|
|
2776
2946
|
"title": "Páginas",
|
|
@@ -2923,6 +3093,7 @@
|
|
|
2923
3093
|
"columnInList": "Na listagem",
|
|
2924
3094
|
"columnInFilters": "Como filtro",
|
|
2925
3095
|
"addColumn": "Adicionar coluna",
|
|
3096
|
+
"removeColumn": "Remover coluna",
|
|
2926
3097
|
"generateBackend": "Gerar backend",
|
|
2927
3098
|
"generateBackendHint": "Cria table YAML, migration, DTO, service, controller e módulo NestJS.",
|
|
2928
3099
|
"menuParent": "Menu pai",
|
|
@@ -3105,6 +3276,7 @@
|
|
|
3105
3276
|
"noContent": "Sem conteúdo para visualizar",
|
|
3106
3277
|
"complexHtmlWarningTitle": "HTML complexo detectado",
|
|
3107
3278
|
"complexHtmlWarningDesc": "Este conteúdo tem tags style, head ou script que o editor visual remove. Use a aba HTML para editá-lo.",
|
|
3279
|
+
"complexHtmlTabDisabled": "Indisponível para HTML complexo: o editor visual removeria as tags style, head ou script. Use a aba HTML.",
|
|
3108
3280
|
"aiEditTitle": "Ajustar HTML com IA",
|
|
3109
3281
|
"aiInstructionPlaceholder": "Descreva o ajuste que a IA deve fazer neste HTML.",
|
|
3110
3282
|
"aiApplyButton": "Ajustar com IA",
|
|
@@ -3185,5 +3357,33 @@
|
|
|
3185
3357
|
"redeemMissingCode": "Nenhum código de simulação foi encontrado no link.",
|
|
3186
3358
|
"noAdminAccessTitle": "Este usuário não tem acesso ao painel",
|
|
3187
3359
|
"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."
|
|
3360
|
+
},
|
|
3361
|
+
"MessageTemplatesPage": {
|
|
3362
|
+
"title": "Modelos de mensagem",
|
|
3363
|
+
"description": "Texto das mensagens que a plataforma envia fora do e-mail, como os avisos de novo chamado e de venda no WhatsApp.",
|
|
3364
|
+
"breadcrumbDashboard": "Início",
|
|
3365
|
+
"breadcrumbManagement": "Gerenciamento",
|
|
3366
|
+
"breadcrumbCurrent": "Modelos de mensagem",
|
|
3367
|
+
"emptyTitle": "Nenhum modelo disponível",
|
|
3368
|
+
"emptyDescription": "Os modelos vêm dos módulos instalados. Se esta lista está vazia, nenhum módulo declarou mensagem para editar.",
|
|
3369
|
+
"edit": "Editar",
|
|
3370
|
+
"restore": "Restaurar padrão",
|
|
3371
|
+
"restoreHint": "Apaga o texto editado e volta ao que o módulo traz. As melhorias que vierem por atualização voltam a valer.",
|
|
3372
|
+
"customized": "Personalizado",
|
|
3373
|
+
"inactive": "Texto editado desligado",
|
|
3374
|
+
"sheetTitle": "Editar modelo",
|
|
3375
|
+
"sheetDescription": "O texto vai como está para o WhatsApp. Use *asteriscos* para negrito e as variáveis abaixo para os dados.",
|
|
3376
|
+
"fieldActive": "Usar o texto editado",
|
|
3377
|
+
"fieldActiveHint": "Desligado, o aviso volta a usar o texto padrão do módulo — nunca fica sem aviso.",
|
|
3378
|
+
"fieldBody": "Corpo da mensagem",
|
|
3379
|
+
"fieldBodyHint": "Uma linha com {{#if variavel}} sozinha não aparece na mensagem: ela só esconde o trecho quando o campo vem vazio.",
|
|
3380
|
+
"locale_pt": "Português",
|
|
3381
|
+
"locale_en": "Inglês",
|
|
3382
|
+
"variables": "Variáveis disponíveis",
|
|
3383
|
+
"preview": "Pré-visualizar",
|
|
3384
|
+
"previewHint": "Renderiza o texto com dados de exemplo, sem salvar.",
|
|
3385
|
+
"save": "Salvar",
|
|
3386
|
+
"cancel": "Cancelar",
|
|
3387
|
+
"saved": "Modelo salvo."
|
|
3188
3388
|
}
|
|
3189
3389
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: slug
|
|
4
|
+
length: 127
|
|
5
|
+
- name: holder
|
|
6
|
+
length: 255
|
|
7
|
+
- name: locked_until
|
|
8
|
+
type: timestamptz
|
|
9
|
+
- type: created_at
|
|
10
|
+
- type: updated_at
|
|
11
|
+
|
|
12
|
+
indexes:
|
|
13
|
+
- columns:
|
|
14
|
+
- slug
|
|
15
|
+
isUnique: true
|
|
16
|
+
- columns:
|
|
17
|
+
- locked_until
|
package/hedhog/table/file.yaml
CHANGED
|
@@ -27,5 +27,17 @@ columns:
|
|
|
27
27
|
- name: is_private
|
|
28
28
|
type: boolean
|
|
29
29
|
default: false
|
|
30
|
+
# Quem enviou. O MCP so aceita `fileId` de arquivo do proprio usuario (ou de
|
|
31
|
+
# quem tem admin/admin-access) — pelo mesmo motivo do is_private acima, id
|
|
32
|
+
# sequencial e enumeravel, e sem dono nao ha como recusar um id adivinhado.
|
|
33
|
+
# Nulo nos arquivos anteriores a esta coluna e nos caminhos internos sem
|
|
34
|
+
# usuario (seed, cron, webhook); nulo so e utilizavel por admin.
|
|
35
|
+
- name: created_by_user_id
|
|
36
|
+
type: fk
|
|
37
|
+
references:
|
|
38
|
+
table: user
|
|
39
|
+
column: id
|
|
40
|
+
onDelete: SET NULL
|
|
41
|
+
isNullable: true
|
|
30
42
|
- type: created_at
|
|
31
|
-
- type: updated_at
|
|
43
|
+
- type: updated_at
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Partes do modo `chunked`. Ficam no banco, e nao em disco, porque a API roda com
|
|
2
|
+
# varios pods: dois `append` do mesmo upload caem em processos diferentes e um
|
|
3
|
+
# arquivo temporario local nao seria visto pelo pod seguinte. `bytea` guarda o
|
|
4
|
+
# binario ja decodificado, sem os 33% de inchaco do base64.
|
|
5
|
+
columns:
|
|
6
|
+
- type: pk
|
|
7
|
+
- name: ticket_id
|
|
8
|
+
type: fk
|
|
9
|
+
references:
|
|
10
|
+
table: file_upload_ticket
|
|
11
|
+
column: id
|
|
12
|
+
onDelete: CASCADE
|
|
13
|
+
- name: index
|
|
14
|
+
type: int
|
|
15
|
+
unsigned: true
|
|
16
|
+
- name: data
|
|
17
|
+
type: bytes
|
|
18
|
+
- type: created_at
|
|
19
|
+
indices:
|
|
20
|
+
- columns:
|
|
21
|
+
- ticket_id
|
|
22
|
+
- index
|
|
23
|
+
isUnique: true
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Upload iniciado fora do corpo da chamada MCP: o cliente pede um ticket, sobe o
|
|
2
|
+
# binario pelo PUT assinado (ou em partes, quando nao consegue falar HTTP) e so
|
|
3
|
+
# entao passa o fileId para a tool que vai usar o arquivo. O ticket e o que
|
|
4
|
+
# amarra o upload ao usuario, ao mimetype e ao tamanho declarados.
|
|
5
|
+
columns:
|
|
6
|
+
- type: pk
|
|
7
|
+
- name: user_id
|
|
8
|
+
type: fk
|
|
9
|
+
references:
|
|
10
|
+
table: user
|
|
11
|
+
column: id
|
|
12
|
+
onDelete: CASCADE
|
|
13
|
+
- name: filename
|
|
14
|
+
- name: mimetype
|
|
15
|
+
- name: size_bytes
|
|
16
|
+
type: int
|
|
17
|
+
unsigned: true
|
|
18
|
+
- name: destination
|
|
19
|
+
- name: is_private
|
|
20
|
+
type: boolean
|
|
21
|
+
default: false
|
|
22
|
+
# sha256 em hex declarado na abertura; conferido contra o conteudo no complete.
|
|
23
|
+
- name: sha256
|
|
24
|
+
type: varchar
|
|
25
|
+
length: 64
|
|
26
|
+
isNullable: true
|
|
27
|
+
- name: mode
|
|
28
|
+
type: enum
|
|
29
|
+
enum:
|
|
30
|
+
- signed_url
|
|
31
|
+
- chunked
|
|
32
|
+
# `completed` e gravado pelo update condicional que garante uso unico: quem
|
|
33
|
+
# perde a corrida ve count 0 e recebe erro em vez de gerar um segundo arquivo.
|
|
34
|
+
- name: status
|
|
35
|
+
type: enum
|
|
36
|
+
enum:
|
|
37
|
+
- pending
|
|
38
|
+
- completed
|
|
39
|
+
- failed
|
|
40
|
+
default: pending
|
|
41
|
+
- name: file_id
|
|
42
|
+
type: fk
|
|
43
|
+
references:
|
|
44
|
+
table: file
|
|
45
|
+
column: id
|
|
46
|
+
onDelete: SET NULL
|
|
47
|
+
isNullable: true
|
|
48
|
+
# Retry do cliente devolve o mesmo ticket em vez de abrir outro.
|
|
49
|
+
- name: idempotency_key
|
|
50
|
+
type: varchar
|
|
51
|
+
length: 128
|
|
52
|
+
isNullable: true
|
|
53
|
+
- name: expires_at
|
|
54
|
+
type: timestamptz
|
|
55
|
+
- name: consumed_at
|
|
56
|
+
type: timestamptz
|
|
57
|
+
isNullable: true
|
|
58
|
+
- type: created_at
|
|
59
|
+
- type: updated_at
|
|
60
|
+
indices:
|
|
61
|
+
- columns:
|
|
62
|
+
- user_id
|
|
63
|
+
- idempotency_key
|
|
64
|
+
isUnique: true
|
|
65
|
+
- columns:
|
|
66
|
+
- status
|
|
67
|
+
- expires_at
|
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
columns:
|
|
2
|
-
- type: pk
|
|
3
|
-
- name: user_id
|
|
4
|
-
type: fk
|
|
5
|
-
references:
|
|
6
|
-
table: user
|
|
7
|
-
column: id
|
|
8
|
-
onDelete: SET NULL
|
|
9
|
-
isNullable: true
|
|
10
|
-
- name: tool_name
|
|
11
|
-
- name: input
|
|
12
|
-
type: text
|
|
13
|
-
isNullable: true
|
|
14
|
-
- name: success
|
|
15
|
-
type: boolean
|
|
16
|
-
default: false
|
|
17
|
-
- name: error
|
|
18
|
-
isNullable: true
|
|
19
|
-
- name: duration_ms
|
|
20
|
-
type: int
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: user_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: user
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: SET NULL
|
|
9
|
+
isNullable: true
|
|
10
|
+
- name: tool_name
|
|
11
|
+
- name: input
|
|
12
|
+
type: text
|
|
13
|
+
isNullable: true
|
|
14
|
+
- name: success
|
|
15
|
+
type: boolean
|
|
16
|
+
default: false
|
|
17
|
+
- name: error
|
|
18
|
+
isNullable: true
|
|
19
|
+
- name: duration_ms
|
|
20
|
+
type: int
|
|
21
|
+
# Por onde a chamada entrou: o client OAuth externo (hoje 'claude-connector')
|
|
22
|
+
# ou NULL para o caminho interno — chave hedhog_mcp_, JWT de login, mcp-chat.
|
|
23
|
+
# Sem isto uma acao feita pelo Claude Desktop e indistinguivel de uma feita
|
|
24
|
+
# pelo Claude Code, e a auditoria nao responde "quem pediu isso".
|
|
25
|
+
- name: client_id
|
|
26
|
+
type: varchar
|
|
27
|
+
length: 100
|
|
28
|
+
isNullable: true
|
|
29
|
+
- type: created_at
|
|
30
|
+
- type: updated_at
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Texto das mensagens que a plataforma manda por canal que nao e e-mail — hoje,
|
|
2
|
+
# os avisos internos de WhatsApp do atendimento e do comercio.
|
|
3
|
+
#
|
|
4
|
+
# Nao da para reusar a tabela `mail`: o render dela troca quebra de linha por
|
|
5
|
+
# `<br/>` porque corpo de e-mail e HTML, e no WhatsApp isso sai literal na tela.
|
|
6
|
+
# Aqui o corpo e texto puro, com o markdown do proprio WhatsApp.
|
|
7
|
+
#
|
|
8
|
+
# A tabela e MENOR do que parece necessario de proposito. Nome, descricao e a
|
|
9
|
+
# lista de variaveis nao moram aqui: moram no registry em codigo
|
|
10
|
+
# (`message-template.registry.ts`), declarados pela library dona do template, ao
|
|
11
|
+
# lado de quem produz os valores. Este e o mesmo desenho dos prompts de IA, e a
|
|
12
|
+
# frase que o resume esta la: o registry e o que faz do banco um OVERRIDE em vez
|
|
13
|
+
# da unica copia.
|
|
14
|
+
#
|
|
15
|
+
# Consequencia pratica: instalar uma library ja traz os modelos dela para a tela,
|
|
16
|
+
# sem migration por template, e a linha aqui so nasce quando alguem edita o texto
|
|
17
|
+
# ou desliga o aviso. "Restaurar padrao" apaga a linha.
|
|
18
|
+
columns:
|
|
19
|
+
- type: pk
|
|
20
|
+
- type: slug
|
|
21
|
+
- name: body
|
|
22
|
+
type: locale_text
|
|
23
|
+
locale:
|
|
24
|
+
en: Body
|
|
25
|
+
pt: Corpo
|
|
26
|
+
# Template desligado nao cala o aviso: o servico volta para o texto canonico do
|
|
27
|
+
# registry. Este campo e o desligamento do TEXTO EDITADO, para quem quer voltar
|
|
28
|
+
# ao padrao sem perder o que escreveu.
|
|
29
|
+
- name: is_active
|
|
30
|
+
type: boolean
|
|
31
|
+
default: true
|
|
32
|
+
- type: created_at
|
|
33
|
+
- type: updated_at
|
|
@@ -38,6 +38,14 @@ columns:
|
|
|
38
38
|
- name: value
|
|
39
39
|
length: 1023
|
|
40
40
|
isNullable: true
|
|
41
|
+
# Filtro do picker de entidade (component: entity-picker). Hoje só perfil de
|
|
42
|
+
# integração: { typeSlug, providerSlug?, excludeProviders? }. As chaves vão
|
|
43
|
+
# cruas na query string de GET /integration-profile, por isso camelCase.
|
|
44
|
+
# O seeder do CLI serializa este objeto com JSON.stringify sem escapar aspas
|
|
45
|
+
# simples — mantenha os valores restritos a slugs.
|
|
46
|
+
- name: entity_filter
|
|
47
|
+
type: jsonb
|
|
48
|
+
isNullable: true
|
|
41
49
|
- name: user_override
|
|
42
50
|
type: boolean
|
|
43
51
|
default: false
|