@hed-hog/core 0.0.349 → 0.0.351
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/access-log/access-log.controller.d.ts +16 -0
- package/dist/access-log/access-log.controller.d.ts.map +1 -0
- package/dist/access-log/access-log.controller.js +44 -0
- package/dist/access-log/access-log.controller.js.map +1 -0
- package/dist/access-log/access-log.interceptor.d.ts +9 -0
- package/dist/access-log/access-log.interceptor.d.ts.map +1 -0
- package/dist/access-log/access-log.interceptor.js +46 -0
- package/dist/access-log/access-log.interceptor.js.map +1 -0
- package/dist/access-log/access-log.module.d.ts +3 -0
- package/dist/access-log/access-log.module.d.ts.map +1 -0
- package/dist/access-log/access-log.module.js +29 -0
- package/dist/access-log/access-log.module.js.map +1 -0
- package/dist/access-log/access-log.service.d.ts +47 -0
- package/dist/access-log/access-log.service.d.ts.map +1 -0
- package/dist/access-log/access-log.service.js +113 -0
- package/dist/access-log/access-log.service.js.map +1 -0
- package/dist/access-log/dto/query-access-log.dto.d.ts +8 -0
- package/dist/access-log/dto/query-access-log.dto.d.ts.map +1 -0
- package/dist/access-log/dto/query-access-log.dto.js +42 -0
- package/dist/access-log/dto/query-access-log.dto.js.map +1 -0
- package/dist/auth/auth.controller.d.ts +12 -12
- package/dist/auth/auth.service.d.ts +27 -27
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +0 -4
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/challenge/challenge.service.d.ts +2 -2
- package/dist/challenge/challenge.service.d.ts.map +1 -1
- package/dist/challenge/challenge.service.js +0 -1
- package/dist/challenge/challenge.service.js.map +1 -1
- package/dist/core/system.module.d.ts.map +1 -1
- package/dist/core/system.module.js +1 -0
- package/dist/core/system.module.js.map +1 -1
- package/dist/core.module.d.ts.map +1 -1
- package/dist/core.module.js +15 -0
- package/dist/core.module.js.map +1 -1
- package/dist/dashboard/dashboard-user/dashboard-user.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-user/dashboard-user.service.d.ts +3 -3
- package/dist/dashboard/dashboard.module.d.ts.map +1 -1
- package/dist/dashboard/dashboard.module.js +4 -1
- package/dist/dashboard/dashboard.module.js.map +1 -1
- package/dist/file/file.controller.js +0 -1
- package/dist/file/file.controller.js.map +1 -1
- package/dist/file/file.service.d.ts +65 -0
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +151 -3
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/provider/abstract.provider.d.ts +8 -0
- package/dist/file/provider/abstract.provider.d.ts.map +1 -1
- package/dist/file/provider/abstract.provider.js.map +1 -1
- package/dist/file/provider/azure.provider.d.ts +4 -0
- package/dist/file/provider/azure.provider.d.ts.map +1 -1
- package/dist/file/provider/azure.provider.js +14 -0
- package/dist/file/provider/azure.provider.js.map +1 -1
- package/dist/file/provider/gcs.provider.d.ts +4 -0
- package/dist/file/provider/gcs.provider.d.ts.map +1 -1
- package/dist/file/provider/gcs.provider.js +14 -0
- package/dist/file/provider/gcs.provider.js.map +1 -1
- package/dist/file/provider/local.provider.d.ts +4 -0
- package/dist/file/provider/local.provider.d.ts.map +1 -1
- package/dist/file/provider/local.provider.js +19 -0
- package/dist/file/provider/local.provider.js.map +1 -1
- package/dist/file/provider/provider.factory.d.ts.map +1 -1
- package/dist/file/provider/provider.factory.js +3 -0
- package/dist/file/provider/provider.factory.js.map +1 -1
- package/dist/file/provider/s3.provider.d.ts +4 -0
- package/dist/file/provider/s3.provider.d.ts.map +1 -1
- package/dist/file/provider/s3.provider.js +17 -0
- package/dist/file/provider/s3.provider.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/guards/mcp-auth.guard.d.ts +6 -1
- package/dist/mcp/guards/mcp-auth.guard.d.ts.map +1 -1
- package/dist/mcp/guards/mcp-auth.guard.js +29 -2
- package/dist/mcp/guards/mcp-auth.guard.js.map +1 -1
- package/dist/mcp/mcp-api-key.controller.d.ts +32 -0
- package/dist/mcp/mcp-api-key.controller.d.ts.map +1 -0
- package/dist/mcp/mcp-api-key.controller.js +64 -0
- package/dist/mcp/mcp-api-key.controller.js.map +1 -0
- package/dist/mcp/mcp-api-key.service.d.ts +27 -0
- package/dist/mcp/mcp-api-key.service.d.ts.map +1 -0
- package/dist/mcp/mcp-api-key.service.js +74 -0
- package/dist/mcp/mcp-api-key.service.js.map +1 -0
- package/dist/mcp/mcp-audit.service.d.ts +3 -1
- package/dist/mcp/mcp-audit.service.d.ts.map +1 -1
- package/dist/mcp/mcp-audit.service.js +14 -2
- package/dist/mcp/mcp-audit.service.js.map +1 -1
- package/dist/mcp/mcp-registry.service.d.ts +1 -2
- package/dist/mcp/mcp-registry.service.d.ts.map +1 -1
- package/dist/mcp/mcp-registry.service.js +6 -2
- package/dist/mcp/mcp-registry.service.js.map +1 -1
- package/dist/mcp/mcp.controller.d.ts +3 -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 +80 -1
- package/dist/mcp/mcp.module.js.map +1 -1
- package/dist/mcp/tools/core-ai.mcp-tools.d.ts +45 -0
- package/dist/mcp/tools/core-ai.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-ai.mcp-tools.js +214 -0
- package/dist/mcp/tools/core-ai.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.d.ts +21 -0
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.js +89 -0
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-dashboard.mcp-tools.d.ts +29 -0
- package/dist/mcp/tools/core-dashboard.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-dashboard.mcp-tools.js +149 -0
- package/dist/mcp/tools/core-dashboard.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.d.ts +30 -0
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.js +185 -0
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-files.mcp-tools.d.ts +26 -0
- package/dist/mcp/tools/core-files.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-files.mcp-tools.js +140 -0
- package/dist/mcp/tools/core-files.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-integration-events.mcp-tools.d.ts +26 -0
- package/dist/mcp/tools/core-integration-events.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-integration-events.mcp-tools.js +168 -0
- package/dist/mcp/tools/core-integration-events.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-mail-profile.mcp-tools.d.ts +32 -0
- package/dist/mcp/tools/core-mail-profile.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-mail-profile.mcp-tools.js +178 -0
- package/dist/mcp/tools/core-mail-profile.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-mail-sent.mcp-tools.d.ts +14 -0
- package/dist/mcp/tools/core-mail-sent.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-mail-sent.mcp-tools.js +106 -0
- package/dist/mcp/tools/core-mail-sent.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-mail.mcp-tools.d.ts +36 -0
- package/dist/mcp/tools/core-mail.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-mail.mcp-tools.js +184 -0
- package/dist/mcp/tools/core-mail.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-mcp-chat.mcp-tools.d.ts +21 -0
- package/dist/mcp/tools/core-mcp-chat.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-mcp-chat.mcp-tools.js +118 -0
- package/dist/mcp/tools/core-mcp-chat.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-menus.mcp-tools.d.ts +40 -0
- package/dist/mcp/tools/core-menus.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-menus.mcp-tools.js +268 -0
- package/dist/mcp/tools/core-menus.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-notifications.mcp-tools.d.ts +31 -0
- package/dist/mcp/tools/core-notifications.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-notifications.mcp-tools.js +178 -0
- package/dist/mcp/tools/core-notifications.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-profile.mcp-tools.d.ts +20 -0
- package/dist/mcp/tools/core-profile.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-profile.mcp-tools.js +111 -0
- package/dist/mcp/tools/core-profile.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-roles.mcp-tools.d.ts +70 -0
- package/dist/mcp/tools/core-roles.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-roles.mcp-tools.js +355 -0
- package/dist/mcp/tools/core-roles.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-routes.mcp-tools.d.ts +52 -0
- package/dist/mcp/tools/core-routes.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-routes.mcp-tools.js +254 -0
- package/dist/mcp/tools/core-routes.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-screens.mcp-tools.d.ts +47 -0
- package/dist/mcp/tools/core-screens.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-screens.mcp-tools.js +250 -0
- package/dist/mcp/tools/core-screens.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-sessions.mcp-tools.d.ts +20 -0
- package/dist/mcp/tools/core-sessions.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-sessions.mcp-tools.js +128 -0
- package/dist/mcp/tools/core-sessions.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-settings.mcp-tools.d.ts +25 -0
- package/dist/mcp/tools/core-settings.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-settings.mcp-tools.js +138 -0
- package/dist/mcp/tools/core-settings.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-system.mcp-tools.d.ts +8 -0
- package/dist/mcp/tools/core-system.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-system.mcp-tools.js +40 -0
- package/dist/mcp/tools/core-system.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-webhooks.mcp-tools.d.ts +46 -0
- package/dist/mcp/tools/core-webhooks.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-webhooks.mcp-tools.js +266 -0
- package/dist/mcp/tools/core-webhooks.mcp-tools.js.map +1 -0
- package/dist/mcp-chat/mcp-chat.controller.d.ts +5 -1
- package/dist/mcp-chat/mcp-chat.controller.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.controller.js +46 -0
- package/dist/mcp-chat/mcp-chat.controller.js.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.d.ts +31 -3
- package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.js +776 -38
- package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
- package/dist/notification/dto/create-notification.dto.d.ts +26 -0
- package/dist/notification/dto/create-notification.dto.d.ts.map +1 -0
- package/dist/notification/dto/create-notification.dto.js +86 -0
- package/dist/notification/dto/create-notification.dto.js.map +1 -0
- package/dist/notification/dto/update-progress.dto.d.ts +6 -0
- package/dist/notification/dto/update-progress.dto.d.ts.map +1 -0
- package/dist/notification/dto/update-progress.dto.js +33 -0
- package/dist/notification/dto/update-progress.dto.js.map +1 -0
- package/dist/notification/notification.controller.d.ts +112 -0
- package/dist/notification/notification.controller.d.ts.map +1 -0
- package/dist/notification/notification.controller.js +130 -0
- package/dist/notification/notification.controller.js.map +1 -0
- package/dist/notification/notification.module.d.ts +3 -0
- package/dist/notification/notification.module.d.ts.map +1 -0
- package/dist/notification/notification.module.js +29 -0
- package/dist/notification/notification.module.js.map +1 -0
- package/dist/notification/notification.service.d.ts +112 -0
- package/dist/notification/notification.service.d.ts.map +1 -0
- package/dist/notification/notification.service.js +269 -0
- package/dist/notification/notification.service.js.map +1 -0
- package/dist/pdf/pdf.service.js +1 -1
- package/dist/pdf/pdf.service.js.map +1 -1
- package/dist/profile/profile.controller.d.ts +4 -4
- package/dist/profile/profile.controller.js +0 -1
- package/dist/profile/profile.controller.js.map +1 -1
- package/dist/profile/profile.module.d.ts.map +1 -1
- package/dist/profile/profile.module.js +1 -0
- package/dist/profile/profile.module.js.map +1 -1
- package/dist/profile/profile.service.d.ts +4 -4
- package/dist/session/session.controller.d.ts +3 -3
- package/dist/session/session.service.d.ts +9 -9
- package/dist/setting/dto/update-setting-list.dto.d.ts +9 -0
- package/dist/setting/dto/update-setting-list.dto.d.ts.map +1 -0
- package/dist/setting/dto/update-setting-list.dto.js +44 -0
- package/dist/setting/dto/update-setting-list.dto.js.map +1 -0
- package/dist/setting/setting.controller.d.ts +20 -1
- package/dist/setting/setting.controller.d.ts.map +1 -1
- package/dist/setting/setting.controller.js +12 -0
- package/dist/setting/setting.controller.js.map +1 -1
- package/dist/setting/setting.service.d.ts +20 -1
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +80 -4
- package/dist/setting/setting.service.js.map +1 -1
- package/dist/task/task.service.d.ts +13 -0
- package/dist/task/task.service.d.ts.map +1 -1
- package/dist/task/task.service.js +85 -0
- package/dist/task/task.service.js.map +1 -1
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +0 -1
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/user.controller.d.ts +11 -11
- package/dist/user/user.service.d.ts +27 -27
- package/dist/webhook-integration/dto/webhook-action.dto.d.ts +22 -0
- package/dist/webhook-integration/dto/webhook-action.dto.d.ts.map +1 -0
- package/dist/webhook-integration/dto/webhook-action.dto.js +120 -0
- package/dist/webhook-integration/dto/webhook-action.dto.js.map +1 -0
- package/dist/webhook-integration/webhook-integration.controller.d.ts +7 -5
- package/dist/webhook-integration/webhook-integration.controller.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-integration.controller.js +18 -5
- package/dist/webhook-integration/webhook-integration.controller.js.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.d.ts +18 -5
- package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.js +342 -59
- package/dist/webhook-integration/webhook-integration.service.js.map +1 -1
- package/dist/webhook-integration/webhook-utils.d.ts +1 -0
- package/dist/webhook-integration/webhook-utils.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-utils.js +38 -0
- package/dist/webhook-integration/webhook-utils.js.map +1 -1
- package/hedhog/data/menu.yaml +63 -4
- package/hedhog/data/route.yaml +1437 -0
- package/hedhog/data/setting_group.yaml +112 -0
- package/hedhog/data/setting_subgroup.yaml +32 -0
- package/hedhog/frontend/app/access-log/page.tsx.ejs +772 -0
- package/hedhog/frontend/app/account/components/mcp-tokens.tsx.ejs +285 -0
- package/hedhog/frontend/app/account/layout.tsx.ejs +32 -55
- package/hedhog/frontend/app/account/mcp-tokens/page.tsx.ejs +5 -0
- package/hedhog/frontend/app/ai_agent/page.tsx.ejs +10 -3
- package/hedhog/frontend/app/dashboard/dashboard-home-tabs.tsx.ejs +33 -13
- package/hedhog/frontend/app/dashboard/management/tabs/components-tab.tsx.ejs +12 -5
- package/hedhog/frontend/app/dashboard/management/tabs/dashboards-tab.tsx.ejs +12 -5
- package/hedhog/frontend/app/integrations-webhooks/page.tsx.ejs +3559 -1835
- package/hedhog/frontend/app/mcp_chat/chat-components.tsx.ejs +633 -0
- package/hedhog/frontend/app/mcp_chat/chat-types.ts.ejs +16 -0
- package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +583 -384
- package/hedhog/frontend/app/menu/page.tsx.ejs +9 -3
- package/hedhog/frontend/app/roles/page.tsx.ejs +18 -6
- package/hedhog/frontend/app/routes/page.tsx.ejs +9 -3
- package/hedhog/frontend/app/setting-list/page.tsx.ejs +822 -0
- package/hedhog/frontend/app/users/page.tsx.ejs +445 -203
- package/hedhog/frontend/app/users/user-access-sheet.tsx.ejs +310 -304
- package/hedhog/frontend/app/users/user-sheet.tsx.ejs +41 -44
- package/hedhog/frontend/messages/en.json +343 -3
- package/hedhog/frontend/messages/pt.json +343 -3
- package/hedhog/table/access_log.yaml +31 -0
- package/hedhog/table/mcp_api_key.yaml +30 -0
- package/hedhog/table/notification.yaml +72 -0
- package/hedhog/table/webhook_action_log.yaml +49 -0
- package/package.json +5 -4
- package/src/access-log/access-log.controller.ts +29 -0
- package/src/access-log/access-log.interceptor.ts +38 -0
- package/src/access-log/access-log.module.ts +16 -0
- package/src/access-log/access-log.service.ts +129 -0
- package/src/access-log/dto/query-access-log.dto.ts +23 -0
- package/src/auth/auth.service.ts +0 -7
- package/src/challenge/challenge.service.ts +0 -2
- package/src/core/system.module.ts +1 -0
- package/src/core.module.ts +15 -0
- package/src/dashboard/dashboard.module.ts +4 -1
- package/src/file/file.controller.ts +14 -14
- package/src/file/file.service.ts +198 -4
- package/src/file/provider/abstract.provider.ts +10 -0
- package/src/file/provider/azure.provider.ts +24 -0
- package/src/file/provider/gcs.provider.ts +20 -0
- package/src/file/provider/local.provider.ts +30 -2
- package/src/file/provider/provider.factory.ts +3 -0
- package/src/file/provider/s3.provider.ts +22 -0
- package/src/index.ts +5 -0
- package/src/mcp/guards/mcp-auth.guard.ts +64 -32
- package/src/mcp/mcp-api-key.controller.ts +42 -0
- package/src/mcp/mcp-api-key.service.ts +66 -0
- package/src/mcp/mcp-audit.service.ts +47 -36
- package/src/mcp/mcp-registry.service.ts +75 -69
- package/src/mcp/mcp.controller.ts +40 -30
- package/src/mcp/mcp.module.ts +115 -36
- package/src/mcp/tools/core-ai.mcp-tools.ts +156 -0
- package/src/mcp/tools/core-dashboard-items.mcp-tools.ts +63 -0
- package/src/mcp/tools/core-dashboard.mcp-tools.ts +103 -0
- package/src/mcp/tools/core-event-webhooks.mcp-tools.ts +134 -0
- package/src/mcp/tools/core-files.mcp-tools.ts +105 -0
- package/src/mcp/tools/core-integration-events.mcp-tools.ts +118 -0
- package/src/mcp/tools/core-mail-profile.mcp-tools.ts +128 -0
- package/src/mcp/tools/core-mail-sent.mcp-tools.ts +76 -0
- package/src/mcp/tools/core-mail.mcp-tools.ts +130 -0
- package/src/mcp/tools/core-mcp-chat.mcp-tools.ts +81 -0
- package/src/mcp/tools/core-menus.mcp-tools.ts +197 -0
- package/src/mcp/tools/core-notifications.mcp-tools.ts +128 -0
- package/src/mcp/tools/core-profile.mcp-tools.ts +74 -0
- package/src/mcp/tools/core-roles.mcp-tools.ts +288 -0
- package/src/mcp/tools/core-routes.mcp-tools.ts +196 -0
- package/src/mcp/tools/core-screens.mcp-tools.ts +186 -0
- package/src/mcp/tools/core-sessions.mcp-tools.ts +97 -0
- package/src/mcp/tools/core-settings.mcp-tools.ts +171 -53
- package/src/mcp/tools/core-system.mcp-tools.ts +19 -0
- package/src/mcp/tools/core-webhooks.mcp-tools.ts +199 -0
- package/src/mcp-chat/mcp-chat.controller.ts +113 -60
- package/src/mcp-chat/mcp-chat.service.ts +1343 -332
- package/src/notification/dto/create-notification.dto.ts +71 -0
- package/src/notification/dto/update-progress.dto.ts +16 -0
- package/src/notification/notification.controller.ts +83 -0
- package/src/notification/notification.module.ts +16 -0
- package/src/notification/notification.service.ts +324 -0
- package/src/pdf/pdf.service.ts +1 -1
- package/src/profile/profile.controller.ts +1 -1
- package/src/profile/profile.module.ts +1 -0
- package/src/setting/dto/update-setting-list.dto.ts +32 -0
- package/src/setting/setting.controller.ts +9 -0
- package/src/setting/setting.service.ts +99 -11
- package/src/task/task.service.ts +103 -0
- package/src/token/token.service.ts +0 -2
- package/src/webhook-integration/dto/webhook-action.dto.ts +96 -0
- package/src/webhook-integration/webhook-integration.controller.ts +124 -103
- package/src/webhook-integration/webhook-integration.service.ts +1137 -735
- package/src/webhook-integration/webhook-utils.ts +136 -79
|
@@ -20,7 +20,15 @@
|
|
|
20
20
|
},
|
|
21
21
|
"SearchBar": {
|
|
22
22
|
"searchPlaceholder": "Pesquisar...",
|
|
23
|
-
"btnBuscar": "Buscar"
|
|
23
|
+
"btnBuscar": "Buscar",
|
|
24
|
+
"filterPlaceholder": "Filtrar"
|
|
25
|
+
},
|
|
26
|
+
"Sheet": {
|
|
27
|
+
"close": "Fechar"
|
|
28
|
+
},
|
|
29
|
+
"PageHeader": {
|
|
30
|
+
"openBreadcrumbLevels": "Abrir níveis do breadcrumb",
|
|
31
|
+
"openActionsMenu": "Abrir menu de ações"
|
|
24
32
|
},
|
|
25
33
|
"EmailVerificationPage": {
|
|
26
34
|
"title": "Verificação de E-mail",
|
|
@@ -67,6 +75,7 @@
|
|
|
67
75
|
"tab2fa": "2FA",
|
|
68
76
|
"tabAccounts": "Contas",
|
|
69
77
|
"tabSessions": "Sessões",
|
|
78
|
+
"tabMcpTokens": "Tokens MCP",
|
|
70
79
|
"breadcrumbLabel": "Conta",
|
|
71
80
|
"home": "Home",
|
|
72
81
|
"title": "Conta",
|
|
@@ -125,6 +134,56 @@
|
|
|
125
134
|
"timezoneUpdated": "Fuso horário atualizado com sucesso",
|
|
126
135
|
"timezoneUpdateError": "Falha ao atualizar o fuso horário"
|
|
127
136
|
},
|
|
137
|
+
"SettingListPage": {
|
|
138
|
+
"breadcrumbs": {
|
|
139
|
+
"home": "Home",
|
|
140
|
+
"core": "Core"
|
|
141
|
+
},
|
|
142
|
+
"title": "Gerenciar opções de configurações",
|
|
143
|
+
"description": "Gerencie as opções das settings do tipo lista (combobox e checkbox), organizadas por grupo e subgrupo.",
|
|
144
|
+
"searchPlaceholder": "Pesquisar por nome, slug, descrição ou opção...",
|
|
145
|
+
"loading": "Carregando configurações...",
|
|
146
|
+
"emptyTitle": "Nenhuma setting de lista encontrada",
|
|
147
|
+
"emptyDescriptionNoSettings": "O grupo selecionado não possui settings de lista (combobox/checkbox) com opções.",
|
|
148
|
+
"emptyDescriptionFiltered": "Nenhuma setting encontrada para o filtro informado.",
|
|
149
|
+
"itemCount": "{count, plural, one {# item} other {# itens}}",
|
|
150
|
+
"emptyOptions": "Nenhuma opção cadastrada.",
|
|
151
|
+
"optionPlaceholder": "Digite o valor da opção",
|
|
152
|
+
"optionsSavedSuccess": "Opções atualizadas com sucesso.",
|
|
153
|
+
"optionsSavedError": "Não foi possível atualizar as opções.",
|
|
154
|
+
"optionsClearedSuccess": "Lista limpa com sucesso.",
|
|
155
|
+
"optionsClearedError": "Não foi possível limpar a lista.",
|
|
156
|
+
"actions": {
|
|
157
|
+
"editOptions": "Editar lista",
|
|
158
|
+
"clearOptions": "Limpar lista",
|
|
159
|
+
"addOption": "Adicionar opção",
|
|
160
|
+
"removeOption": "Remover opção",
|
|
161
|
+
"saveOptions": "Salvar opções",
|
|
162
|
+
"saving": "Salvando..."
|
|
163
|
+
},
|
|
164
|
+
"sheet": {
|
|
165
|
+
"title": "Editar opções da lista",
|
|
166
|
+
"description": "Gerencie os itens da lista de \"{name}\".",
|
|
167
|
+
"descriptionFallback": "Gerencie os itens da lista selecionada."
|
|
168
|
+
},
|
|
169
|
+
"sections": {
|
|
170
|
+
"withoutSubgroup": "Sem subgrupo"
|
|
171
|
+
},
|
|
172
|
+
"kpis": {
|
|
173
|
+
"groups": "Grupos",
|
|
174
|
+
"settingsTotal": "Settings de lista",
|
|
175
|
+
"subgroups": "Subgrupos",
|
|
176
|
+
"settingsWithOptions": "Com opções",
|
|
177
|
+
"totalOptions": "Opções totais",
|
|
178
|
+
"options": "Opções"
|
|
179
|
+
},
|
|
180
|
+
"filters": {
|
|
181
|
+
"allGroups": "Todas",
|
|
182
|
+
"groupPlaceholder": "Grupo",
|
|
183
|
+
"subgroupPlaceholder": "Subgrupo",
|
|
184
|
+
"allSubgroups": "Todos os subgrupos"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
128
187
|
"UserPage": {
|
|
129
188
|
"errorName": "O nome deve ter pelo menos 2 caracteres",
|
|
130
189
|
"errorEmail": "Endereço de e-mail inválido",
|
|
@@ -242,7 +301,13 @@
|
|
|
242
301
|
"buttonCopyPassword": "Copiar senha",
|
|
243
302
|
"passwordCopied": "Senha copiada para a área de transferência.",
|
|
244
303
|
"passwordCopyError": "Não foi possível copiar a senha.",
|
|
245
|
-
"close": "Fechar"
|
|
304
|
+
"close": "Fechar",
|
|
305
|
+
"viewMode": "Visualização",
|
|
306
|
+
"viewModeTable": "Tabela",
|
|
307
|
+
"viewModeCards": "Cards",
|
|
308
|
+
"columnName": "Nome",
|
|
309
|
+
"columnEmail": "E-mail",
|
|
310
|
+
"columnStatus": "Status"
|
|
246
311
|
},
|
|
247
312
|
"RolePage": {
|
|
248
313
|
"title": "Gerenciamento de Cargos",
|
|
@@ -1807,15 +1872,144 @@
|
|
|
1807
1872
|
"grantedByRole": "Liberado por",
|
|
1808
1873
|
"moreUsers": "+{count} usuários"
|
|
1809
1874
|
},
|
|
1875
|
+
"IntegrationsWebhooksPage": {
|
|
1876
|
+
"title": "Integrações e Webhooks",
|
|
1877
|
+
"description": "Gerencie eventos, webhooks de entrada e webhooks de saída por evento.",
|
|
1878
|
+
"breadcrumbHome": "Dashboard",
|
|
1879
|
+
"breadcrumbManagement": "Gerenciamento",
|
|
1880
|
+
"statsEvents": "Eventos",
|
|
1881
|
+
"statsIncoming": "Webhooks de entrada",
|
|
1882
|
+
"statsEventWebhooks": "Webhooks de evento",
|
|
1883
|
+
"tabCatalog": "Catálogo",
|
|
1884
|
+
"tabIncoming": "Entrada",
|
|
1885
|
+
"tabEventWebhooks": "Saída",
|
|
1886
|
+
"newEvent": "Novo evento",
|
|
1887
|
+
"newIncoming": "Novo webhook de entrada",
|
|
1888
|
+
"newEventWebhook": "Novo webhook de evento",
|
|
1889
|
+
"searchEvents": "Buscar eventos...",
|
|
1890
|
+
"searchIncoming": "Buscar webhooks de entrada...",
|
|
1891
|
+
"searchEventWebhooks": "Buscar webhooks de evento...",
|
|
1892
|
+
"emptyEvents": "Nenhum evento cadastrado",
|
|
1893
|
+
"emptyEventsDescription": "Cadastre o primeiro evento para iniciar o catálogo.",
|
|
1894
|
+
"emptyIncoming": "Nenhum webhook de entrada cadastrado",
|
|
1895
|
+
"emptyIncomingDescription": "Cadastre um webhook de entrada para receber chamadas externas.",
|
|
1896
|
+
"emptyEventWebhooks": "Nenhum webhook de evento cadastrado",
|
|
1897
|
+
"emptyEventWebhooksDescription": "Cadastre um webhook para disparo automático por evento.",
|
|
1898
|
+
"eventName": "Evento",
|
|
1899
|
+
"name": "Nome",
|
|
1900
|
+
"technicalName": "Nome técnico",
|
|
1901
|
+
"module": "Módulo",
|
|
1902
|
+
"provider": "Provedor",
|
|
1903
|
+
"descriptionColumn": "Descrição",
|
|
1904
|
+
"status": "Status",
|
|
1905
|
+
"updatedAt": "Atualizado em",
|
|
1906
|
+
"actions": "Ações",
|
|
1907
|
+
"publicUrl": "URL pública",
|
|
1908
|
+
"security": "Segurança",
|
|
1909
|
+
"actionsCount": "Qtd. ações",
|
|
1910
|
+
"events": "Eventos",
|
|
1911
|
+
"httpTarget": "Destino HTTP",
|
|
1912
|
+
"retry": "Tentativas",
|
|
1913
|
+
"eventFormDescription": "Defina os dados do evento que poderá disparar integrações.",
|
|
1914
|
+
"incomingFormDescription": "Configure o endpoint público e ações para o webhook de entrada.",
|
|
1915
|
+
"eventWebhookFormDescription": "Configure o envio HTTP quando os eventos selecionados ocorrerem.",
|
|
1916
|
+
"requireToken": "Exigir token",
|
|
1917
|
+
"requireTokenHelp": "Quando ativo, cada chamada deve informar o token secreto.",
|
|
1918
|
+
"token": "Token",
|
|
1919
|
+
"uuid": "UUID",
|
|
1920
|
+
"oneTimeTokenTitle": "Token gerado",
|
|
1921
|
+
"oneTimeTokenDescription": "Copie agora. Este token é exibido apenas uma vez.",
|
|
1922
|
+
"tokenConfiguredTitle": "Token configurado",
|
|
1923
|
+
"tokenConfiguredDescription": "O token atual está ativo. Gere um novo se precisar rotacionar.",
|
|
1924
|
+
"tokenWillBeCreatedDescription": "O token será criado ao salvar este webhook.",
|
|
1925
|
+
"regenerateToken": "Gerar novo token",
|
|
1926
|
+
"allowedIps": "IPs permitidos",
|
|
1927
|
+
"ipAddress": "Endereço IP",
|
|
1928
|
+
"emptyAllowedIps": "Nenhum IP configurado. Qualquer origem poderá chamar o endpoint.",
|
|
1929
|
+
"addIp": "Adicionar IP",
|
|
1930
|
+
"bodySchema": "Schema do corpo",
|
|
1931
|
+
"regenerateUuid": "Gerar novo UUID",
|
|
1932
|
+
"actionSection": "Ações do webhook",
|
|
1933
|
+
"actionType": "Tipo de ação",
|
|
1934
|
+
"email": "E-mail",
|
|
1935
|
+
"whatsapp": "WhatsApp",
|
|
1936
|
+
"order": "Ordem",
|
|
1937
|
+
"mailProfile": "Perfil de e-mail",
|
|
1938
|
+
"mailTemplate": "Template de e-mail",
|
|
1939
|
+
"select": "Selecione",
|
|
1940
|
+
"emailTo": "E-mail para",
|
|
1941
|
+
"emailCc": "E-mail CC",
|
|
1942
|
+
"whatsappTargetType": "Tipo de destino WhatsApp",
|
|
1943
|
+
"phone": "Telefone",
|
|
1944
|
+
"group": "Grupo",
|
|
1945
|
+
"whatsappTarget": "Destino WhatsApp",
|
|
1946
|
+
"whatsappInstance": "Instância WhatsApp",
|
|
1947
|
+
"whatsappBaseUrl": "URL base WhatsApp",
|
|
1948
|
+
"whatsappToken": "Token WhatsApp",
|
|
1949
|
+
"whatsappTemplate": "Template WhatsApp",
|
|
1950
|
+
"addAction": "Adicionar ação",
|
|
1951
|
+
"incomingSheetTabSettings": "Configurações",
|
|
1952
|
+
"incomingSheetTabLogs": "Logs",
|
|
1953
|
+
"emptyIncomingLogs": "Nenhum log de execução",
|
|
1954
|
+
"emptyIncomingLogsDescription": "As tentativas de chamada aparecerão aqui com resultado por ação.",
|
|
1955
|
+
"incomingLogsLoading": "Carregando logs...",
|
|
1956
|
+
"logStatusSuccess": "Sucesso",
|
|
1957
|
+
"logStatusFailed": "Falha",
|
|
1958
|
+
"logDuration": "Duração",
|
|
1959
|
+
"logRemoteIp": "IP remoto",
|
|
1960
|
+
"logResponse": "Resposta",
|
|
1961
|
+
"method": "Método",
|
|
1962
|
+
"url": "URL",
|
|
1963
|
+
"timeout": "Timeout (ms)",
|
|
1964
|
+
"headers": "Headers",
|
|
1965
|
+
"query": "Query",
|
|
1966
|
+
"payload": "Payload",
|
|
1967
|
+
"active": "Ativo",
|
|
1968
|
+
"inactive": "Inativo",
|
|
1969
|
+
"save": "Salvar",
|
|
1970
|
+
"cancel": "Cancelar",
|
|
1971
|
+
"delete": "Excluir",
|
|
1972
|
+
"deleteTitle": "Confirmar exclusão",
|
|
1973
|
+
"deleteDescription": "Tem certeza que deseja excluir \"{name}\"? Esta ação não pode ser desfeita.",
|
|
1974
|
+
"created": "Criado com sucesso",
|
|
1975
|
+
"updated": "Atualizado com sucesso",
|
|
1976
|
+
"deleted": "Excluído com sucesso",
|
|
1977
|
+
"loadError": "Não foi possível carregar os dados.",
|
|
1978
|
+
"saveError": "Não foi possível salvar. Verifique os dados e tente novamente.",
|
|
1979
|
+
"deleteError": "Não foi possível excluir o item.",
|
|
1980
|
+
"tokenGenerated": "Token gerado com sucesso",
|
|
1981
|
+
"uuidRegenerated": "UUID regenerado com sucesso",
|
|
1982
|
+
"editEvent": "Editar evento",
|
|
1983
|
+
"editIncoming": "Editar webhook de entrada",
|
|
1984
|
+
"editEventWebhook": "Editar webhook de evento",
|
|
1985
|
+
"logDate": "Data",
|
|
1986
|
+
"logDetailTitle": "Detalhes do log",
|
|
1987
|
+
"logError": "Erro",
|
|
1988
|
+
"logPayload": "Payload recebido",
|
|
1989
|
+
"logRequest": "Requisição",
|
|
1990
|
+
"logOrderDesc": "Mais recentes primeiro",
|
|
1991
|
+
"logOrderAsc": "Mais antigos primeiro"
|
|
1992
|
+
},
|
|
1810
1993
|
"McpChatPage": {
|
|
1811
1994
|
"title": "Chat MCP",
|
|
1812
1995
|
"description": "Converse com IA usando ferramentas MCP",
|
|
1813
1996
|
"newConversation": "Nova Conversa",
|
|
1814
1997
|
"conversations": "Conversas",
|
|
1998
|
+
"openConversations": "Abrir conversas",
|
|
1815
1999
|
"placeholder": "Digite sua mensagem... (Enter para enviar, Shift+Enter para nova linha)",
|
|
1816
2000
|
"send": "Enviar",
|
|
1817
2001
|
"sending": "Enviando...",
|
|
1818
2002
|
"noConversation": "Selecione ou crie uma conversa",
|
|
2003
|
+
"loadMessagesError": "Falha ao carregar as mensagens",
|
|
2004
|
+
"createConversationError": "Falha ao criar conversa",
|
|
2005
|
+
"sendMessageError": "Falha ao enviar mensagem",
|
|
2006
|
+
"uploadFileError": "Falha ao enviar arquivo",
|
|
2007
|
+
"deleteConversationSuccess": "Conversa excluida",
|
|
2008
|
+
"deleteConversationError": "Falha ao excluir conversa",
|
|
2009
|
+
"attachFile": "Anexar arquivo",
|
|
2010
|
+
"uploadingFile": "Enviando arquivo...",
|
|
2011
|
+
"removeAttachment": "Remover anexo",
|
|
2012
|
+
"attachedFilesPrefix": "Arquivos anexados:",
|
|
1819
2013
|
"toolCalled": "Ferramenta chamada",
|
|
1820
2014
|
"toolResult": "Resultado da ferramenta",
|
|
1821
2015
|
"cancel": "Cancelar",
|
|
@@ -1823,6 +2017,152 @@
|
|
|
1823
2017
|
"emptyConversations": "Nenhuma conversa ainda",
|
|
1824
2018
|
"breadcrumbDashboard": "Painel",
|
|
1825
2019
|
"breadcrumbManagement": "Gerenciamento",
|
|
1826
|
-
"breadcrumbCurrent": "Chat MCP"
|
|
2020
|
+
"breadcrumbCurrent": "Chat MCP",
|
|
2021
|
+
"mcpDisabled": "O Servidor MCP está desabilitado. Habilite-o em Configurações → MCP."
|
|
2022
|
+
},
|
|
2023
|
+
"McpTokens": {
|
|
2024
|
+
"title": "Chaves de API MCP",
|
|
2025
|
+
"description": "Crie e gerencie tokens de acesso pessoal para autenticação no servidor MCP",
|
|
2026
|
+
"createToken": "Criar Token",
|
|
2027
|
+
"createTokenTitle": "Criar Chave de API MCP",
|
|
2028
|
+
"createTokenDescription": "Dê um nome ao seu token para identificá-lo depois",
|
|
2029
|
+
"tokenNameLabel": "Nome do Token",
|
|
2030
|
+
"tokenNamePlaceholder": "ex.: Claude Desktop",
|
|
2031
|
+
"tokenCreatedTitle": "Token Criado",
|
|
2032
|
+
"tokenCreatedWarning": "Este token é exibido apenas uma vez. Copie-o agora e guarde em local seguro.",
|
|
2033
|
+
"tokenCreatedLabel": "Sua nova chave de API MCP",
|
|
2034
|
+
"copyToken": "Copiar",
|
|
2035
|
+
"tokenCopied": "Copiado!",
|
|
2036
|
+
"closeDialog": "Fechar",
|
|
2037
|
+
"mcpUrlLabel": "URL do Servidor MCP",
|
|
2038
|
+
"copyUrl": "Copiar URL",
|
|
2039
|
+
"name": "Nome",
|
|
2040
|
+
"tokenPrefix": "Prefixo do Token",
|
|
2041
|
+
"lastUsed": "Último Uso",
|
|
2042
|
+
"createdAt": "Criado Em",
|
|
2043
|
+
"never": "Nunca",
|
|
2044
|
+
"noTokens": "Nenhuma chave de API MCP. Crie uma para conectar clientes externos.",
|
|
2045
|
+
"revoke": "Revogar",
|
|
2046
|
+
"revokeTokenTitle": "Revogar Chave de API",
|
|
2047
|
+
"revokeTokenDescription": "Esta chave deixará de funcionar imediatamente. Esta ação não pode ser desfeita.",
|
|
2048
|
+
"cancel": "Cancelar",
|
|
2049
|
+
"revokeConfirm": "Revogar Chave",
|
|
2050
|
+
"createSuccess": "Chave de API criada",
|
|
2051
|
+
"createFailure": "Falha ao criar a chave de API",
|
|
2052
|
+
"revokeSuccess": "Chave de API revogada",
|
|
2053
|
+
"revokeFailure": "Falha ao revogar a chave de API"
|
|
2054
|
+
},
|
|
2055
|
+
"McpFloatingChat": {
|
|
2056
|
+
"title": "Chat MCP",
|
|
2057
|
+
"openFullPage": "Abrir visão completa",
|
|
2058
|
+
"minimize": "Minimizar",
|
|
2059
|
+
"openChat": "Abrir Chat IA (Ctrl+/)",
|
|
2060
|
+
"inputPlaceholder": "Pergunte qualquer coisa...",
|
|
2061
|
+
"newConversation": "Nova conversa",
|
|
2062
|
+
"emptyState": "Inicie uma conversa com o assistente de IA.",
|
|
2063
|
+
"send": "Enviar",
|
|
2064
|
+
"sending": "Enviando...",
|
|
2065
|
+
"attachFile": "Anexar arquivo",
|
|
2066
|
+
"uploadingFile": "Enviando arquivo...",
|
|
2067
|
+
"removeAttachment": "Remover anexo",
|
|
2068
|
+
"createConversationError": "Falha ao iniciar conversa",
|
|
2069
|
+
"sendMessageError": "Falha ao enviar mensagem",
|
|
2070
|
+
"uploadFileError": "Falha ao enviar arquivo"
|
|
2071
|
+
},
|
|
2072
|
+
"Notification": {
|
|
2073
|
+
"title": "Notificações",
|
|
2074
|
+
"markAllRead": "Marcar todas como lidas",
|
|
2075
|
+
"empty": "Nenhuma notificação",
|
|
2076
|
+
"justNow": "Agora mesmo",
|
|
2077
|
+
"minutesAgo": "há {count}min",
|
|
2078
|
+
"hoursAgo": "há {count}h",
|
|
2079
|
+
"daysAgo": "há {count}d",
|
|
2080
|
+
"elapsed": "{time} decorrido",
|
|
2081
|
+
"inProgress": "Em andamento...",
|
|
2082
|
+
"completed": "Concluído",
|
|
2083
|
+
"clearAll": "Limpar todas as notificações",
|
|
2084
|
+
"failed": "Falhou"
|
|
2085
|
+
},
|
|
2086
|
+
"FfmpegParamsEditor": {
|
|
2087
|
+
"resolution": "Resolução",
|
|
2088
|
+
"customResolution": "Personalizada",
|
|
2089
|
+
"width": "Largura",
|
|
2090
|
+
"height": "Altura",
|
|
2091
|
+
"videoCodec": "Codec de Vídeo",
|
|
2092
|
+
"encodingSpeed": "Velocidade de Codificação",
|
|
2093
|
+
"quality": "Qualidade",
|
|
2094
|
+
"qualityBest": "Melhor (arquivo maior)",
|
|
2095
|
+
"qualityWorst": "Pior (arquivo menor)",
|
|
2096
|
+
"qualityPerfect": "Sem perdas",
|
|
2097
|
+
"qualityVeryHigh": "Muito Alta",
|
|
2098
|
+
"qualityHigh": "Alta",
|
|
2099
|
+
"qualityMedium": "Média",
|
|
2100
|
+
"qualityLow": "Baixa",
|
|
2101
|
+
"qualityVeryLow": "Muito Baixa",
|
|
2102
|
+
"audioCodec": "Codec de Áudio",
|
|
2103
|
+
"audioChannels": "Canais de Áudio",
|
|
2104
|
+
"mono": "Mono (1 canal)",
|
|
2105
|
+
"stereo": "Estéreo (2 canais)",
|
|
2106
|
+
"webOptimized": "Otimizar para streaming web",
|
|
2107
|
+
"webOptimizedDescription": "Habilita início rápido para download progressivo (recomendado para vídeos online)",
|
|
2108
|
+
"keepAspectRatio": "Manter proporção original",
|
|
2109
|
+
"keepAspectRatioDescription": "Adiciona barras para preservar as proporções originais do vídeo",
|
|
2110
|
+
"deinterlace": "Desinterlace",
|
|
2111
|
+
"deinterlaceDescription": "Remove artefatos de entrelaçamento de gravações de broadcast ou câmera",
|
|
2112
|
+
"presets": {
|
|
2113
|
+
"ultrafast": "Ultra Rápida (menor qualidade)",
|
|
2114
|
+
"superfast": "Super Rápida",
|
|
2115
|
+
"veryfast": "Muito Rápida",
|
|
2116
|
+
"faster": "Mais Rápida",
|
|
2117
|
+
"fast": "Rápida",
|
|
2118
|
+
"medium": "Média",
|
|
2119
|
+
"slow": "Lenta",
|
|
2120
|
+
"slower": "Mais Lenta (recomendada)",
|
|
2121
|
+
"veryslow": "Muito Lenta (melhor qualidade)"
|
|
2122
|
+
}
|
|
2123
|
+
},
|
|
2124
|
+
"AccessLog": {
|
|
2125
|
+
"breadcrumbHome": "Início",
|
|
2126
|
+
"breadcrumbTitle": "Logs de Acesso",
|
|
2127
|
+
"title": "Logs de Acesso",
|
|
2128
|
+
"description": "Registro em tempo real de todos os acessos HTTP e MCP ao sistema",
|
|
2129
|
+
"totalLogs": "Total de Logs",
|
|
2130
|
+
"httpRequests": "Requisições HTTP",
|
|
2131
|
+
"mcpCalls": "Chamadas MCP",
|
|
2132
|
+
"uniqueUsers": "Usuários Únicos",
|
|
2133
|
+
"searchPlaceholder": "Buscar por path ou ferramenta...",
|
|
2134
|
+
"userPickerPlaceholder": "Todos os usuários",
|
|
2135
|
+
"userPickerSearch": "Buscar usuários...",
|
|
2136
|
+
"filterByType": "Tipo",
|
|
2137
|
+
"typeAll": "Todos",
|
|
2138
|
+
"typeHttp": "HTTP",
|
|
2139
|
+
"typeMcp": "MCP",
|
|
2140
|
+
"noLogsFound": "Nenhum log encontrado",
|
|
2141
|
+
"adjustSearch": "Tente ajustar os filtros ou o intervalo de datas",
|
|
2142
|
+
"noLogsYet": "Nenhum log de acesso registrado ainda",
|
|
2143
|
+
"viewDetails": "Detalhes",
|
|
2144
|
+
"logDetails": "Detalhes do Log",
|
|
2145
|
+
"clearFilters": "Limpar Filtros",
|
|
2146
|
+
"user": "Usuário",
|
|
2147
|
+
"ip": "IP",
|
|
2148
|
+
"browser": "Navegador",
|
|
2149
|
+
"method": "Método",
|
|
2150
|
+
"path": "Rota",
|
|
2151
|
+
"tool": "Ferramenta MCP",
|
|
2152
|
+
"prompt": "Prompt / Input",
|
|
2153
|
+
"createdAt": "Data / Hora",
|
|
2154
|
+
"anonymous": "Anônimo",
|
|
2155
|
+
"loadingLogs": "Carregando logs...",
|
|
2156
|
+
"viewMode": "Visualização",
|
|
2157
|
+
"viewModeTable": "Tabela",
|
|
2158
|
+
"viewModeCards": "Cards",
|
|
2159
|
+
"refreshList": "Atualizar",
|
|
2160
|
+
"liveMode": "Ao Vivo",
|
|
2161
|
+
"pauseUpdates": "Pausar",
|
|
2162
|
+
"resumeUpdates": "Retomar",
|
|
2163
|
+
"id": "ID",
|
|
2164
|
+
"actions": "Ações",
|
|
2165
|
+
"noUserAgent": "—",
|
|
2166
|
+
"detailsDescription": "Detalhes completos desta entrada de log de acesso"
|
|
1827
2167
|
}
|
|
1828
2168
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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: ip
|
|
11
|
+
length: 45
|
|
12
|
+
isNullable: true
|
|
13
|
+
- name: user_agent
|
|
14
|
+
type: text
|
|
15
|
+
isNullable: true
|
|
16
|
+
- name: method
|
|
17
|
+
length: 10
|
|
18
|
+
isNullable: true
|
|
19
|
+
- name: path
|
|
20
|
+
length: 2048
|
|
21
|
+
isNullable: true
|
|
22
|
+
- name: mcp_tool
|
|
23
|
+
length: 255
|
|
24
|
+
isNullable: true
|
|
25
|
+
- name: mcp_prompt
|
|
26
|
+
type: text
|
|
27
|
+
isNullable: true
|
|
28
|
+
- type: created_at
|
|
29
|
+
indexes:
|
|
30
|
+
- fields: [user_id]
|
|
31
|
+
- fields: [created_at]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: user_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: user
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: name
|
|
10
|
+
type: varchar
|
|
11
|
+
- name: token_hash
|
|
12
|
+
type: varchar
|
|
13
|
+
- name: token_prefix
|
|
14
|
+
type: varchar
|
|
15
|
+
- name: last_used_at
|
|
16
|
+
type: datetime
|
|
17
|
+
isNullable: true
|
|
18
|
+
- name: expires_at
|
|
19
|
+
type: datetime
|
|
20
|
+
isNullable: true
|
|
21
|
+
- name: revoked_at
|
|
22
|
+
type: datetime
|
|
23
|
+
isNullable: true
|
|
24
|
+
- type: created_at
|
|
25
|
+
- type: updated_at
|
|
26
|
+
indices:
|
|
27
|
+
- columns:
|
|
28
|
+
- user_id
|
|
29
|
+
- columns:
|
|
30
|
+
- token_hash
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: user_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: user
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: title
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 255
|
|
13
|
+
- name: body
|
|
14
|
+
type: text
|
|
15
|
+
isNullable: true
|
|
16
|
+
- name: type
|
|
17
|
+
type: enum
|
|
18
|
+
values:
|
|
19
|
+
- info
|
|
20
|
+
- success
|
|
21
|
+
- warning
|
|
22
|
+
- error
|
|
23
|
+
- progress
|
|
24
|
+
default: info
|
|
25
|
+
- name: status
|
|
26
|
+
type: enum
|
|
27
|
+
values:
|
|
28
|
+
- unread
|
|
29
|
+
- read
|
|
30
|
+
default: unread
|
|
31
|
+
- name: icon
|
|
32
|
+
type: varchar
|
|
33
|
+
length: 64
|
|
34
|
+
isNullable: true
|
|
35
|
+
- name: action_type
|
|
36
|
+
type: enum
|
|
37
|
+
values:
|
|
38
|
+
- url
|
|
39
|
+
- sheet
|
|
40
|
+
- modal
|
|
41
|
+
default: url
|
|
42
|
+
isNullable: true
|
|
43
|
+
- name: action_data
|
|
44
|
+
type: json
|
|
45
|
+
isNullable: true
|
|
46
|
+
- name: action_url
|
|
47
|
+
type: varchar
|
|
48
|
+
length: 512
|
|
49
|
+
isNullable: true
|
|
50
|
+
- name: auto_remove
|
|
51
|
+
type: boolean
|
|
52
|
+
default: false
|
|
53
|
+
- name: progress
|
|
54
|
+
type: int
|
|
55
|
+
isNullable: true
|
|
56
|
+
- name: started_at
|
|
57
|
+
type: timestamptz
|
|
58
|
+
isNullable: true
|
|
59
|
+
- name: finished_at
|
|
60
|
+
type: timestamptz
|
|
61
|
+
isNullable: true
|
|
62
|
+
- type: created_at
|
|
63
|
+
- type: updated_at
|
|
64
|
+
indices:
|
|
65
|
+
- columns:
|
|
66
|
+
- user_id
|
|
67
|
+
- columns:
|
|
68
|
+
- user_id
|
|
69
|
+
- status
|
|
70
|
+
- columns:
|
|
71
|
+
- user_id
|
|
72
|
+
- created_at
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- type: fk
|
|
4
|
+
name: webhook_call_log_id
|
|
5
|
+
references:
|
|
6
|
+
table: webhook_call_log
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: cascade
|
|
9
|
+
onUpdate: cascade
|
|
10
|
+
- type: fk
|
|
11
|
+
name: webhook_action_id
|
|
12
|
+
isNullable: true
|
|
13
|
+
references:
|
|
14
|
+
table: webhook_action
|
|
15
|
+
column: id
|
|
16
|
+
onDelete: set null
|
|
17
|
+
onUpdate: cascade
|
|
18
|
+
- name: action_name
|
|
19
|
+
type: varchar
|
|
20
|
+
length: 127
|
|
21
|
+
- name: action_type
|
|
22
|
+
type: varchar
|
|
23
|
+
length: 64
|
|
24
|
+
- name: status
|
|
25
|
+
type: varchar
|
|
26
|
+
length: 16
|
|
27
|
+
- name: duration_ms
|
|
28
|
+
type: int
|
|
29
|
+
default: 0
|
|
30
|
+
- name: request_payload
|
|
31
|
+
type: json
|
|
32
|
+
isNullable: true
|
|
33
|
+
- name: response_payload
|
|
34
|
+
type: json
|
|
35
|
+
isNullable: true
|
|
36
|
+
- name: error_message
|
|
37
|
+
type: text
|
|
38
|
+
isNullable: true
|
|
39
|
+
- type: created_at
|
|
40
|
+
- type: updated_at
|
|
41
|
+
indices:
|
|
42
|
+
- columns:
|
|
43
|
+
- webhook_call_log_id
|
|
44
|
+
- columns:
|
|
45
|
+
- webhook_action_id
|
|
46
|
+
- columns:
|
|
47
|
+
- status
|
|
48
|
+
- columns:
|
|
49
|
+
- created_at
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hed-hog/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.351",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"multer": "^2.0.1",
|
|
25
25
|
"pako": "^2.1.0",
|
|
26
26
|
"pdf-parse": "^1.1.1",
|
|
27
|
+
"playwright": "^1.49.0",
|
|
27
28
|
"png-to-ico": "^2.1.8",
|
|
28
29
|
"qrcode": "^1.5.4",
|
|
29
30
|
"rxjs": "^7.8.2",
|
|
@@ -31,12 +32,12 @@
|
|
|
31
32
|
"speakeasy": "^2.0.0",
|
|
32
33
|
"uuid": "^11.1.0",
|
|
33
34
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
35
|
+
"@hed-hog/api-types": "0.0.1",
|
|
34
36
|
"@hed-hog/api-locale": "0.0.14",
|
|
35
|
-
"@hed-hog/api-
|
|
37
|
+
"@hed-hog/api-mail": "0.0.9",
|
|
36
38
|
"@hed-hog/api-prisma": "0.0.6",
|
|
37
39
|
"@hed-hog/api": "0.0.8",
|
|
38
|
-
"@hed-hog/api-
|
|
39
|
-
"@hed-hog/api-types": "0.0.1"
|
|
40
|
+
"@hed-hog/api-pagination": "0.0.7"
|
|
40
41
|
},
|
|
41
42
|
"exports": {
|
|
42
43
|
".": {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Role } from '@hed-hog/api';
|
|
2
|
+
import { Pagination } from '@hed-hog/api-pagination';
|
|
3
|
+
import { Controller, Get, Inject, Query, forwardRef } from '@nestjs/common';
|
|
4
|
+
import { AccessLogService } from './access-log.service';
|
|
5
|
+
import { QueryAccessLogDto } from './dto/query-access-log.dto';
|
|
6
|
+
|
|
7
|
+
@Role()
|
|
8
|
+
@Controller('access-log')
|
|
9
|
+
export class AccessLogController {
|
|
10
|
+
constructor(
|
|
11
|
+
@Inject(forwardRef(() => AccessLogService))
|
|
12
|
+
private readonly accessLogService: AccessLogService,
|
|
13
|
+
) {}
|
|
14
|
+
|
|
15
|
+
@Get()
|
|
16
|
+
async list(
|
|
17
|
+
@Pagination() paginationParams,
|
|
18
|
+
@Query() query: QueryAccessLogDto,
|
|
19
|
+
) {
|
|
20
|
+
return this.accessLogService.list({
|
|
21
|
+
...paginationParams,
|
|
22
|
+
userId: query.userId ? Number(query.userId) : undefined,
|
|
23
|
+
userSearch: query.userSearch,
|
|
24
|
+
createdAtFrom: query.createdAtFrom,
|
|
25
|
+
createdAtTo: query.createdAtTo,
|
|
26
|
+
type: query.type,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CallHandler,
|
|
3
|
+
ExecutionContext,
|
|
4
|
+
Injectable,
|
|
5
|
+
NestInterceptor,
|
|
6
|
+
} from '@nestjs/common';
|
|
7
|
+
import { Observable, tap } from 'rxjs';
|
|
8
|
+
import { AccessLogService } from './access-log.service';
|
|
9
|
+
|
|
10
|
+
@Injectable()
|
|
11
|
+
export class AccessLogInterceptor implements NestInterceptor {
|
|
12
|
+
constructor(private readonly accessLogService: AccessLogService) {}
|
|
13
|
+
|
|
14
|
+
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
|
|
15
|
+
if (context.getType() !== 'http') {
|
|
16
|
+
return next.handle();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const request = context.switchToHttp().getRequest();
|
|
20
|
+
const path: string = request.url ?? '';
|
|
21
|
+
|
|
22
|
+
if (path.startsWith('/mcp')) {
|
|
23
|
+
return next.handle();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return next.handle().pipe(
|
|
27
|
+
tap(() => {
|
|
28
|
+
const userId: number | undefined = request.auth?.sub;
|
|
29
|
+
const forwarded = request.headers['x-forwarded-for'] as string | undefined;
|
|
30
|
+
const ip: string = forwarded ? forwarded.split(',')[0].trim() : (request.ip ?? '');
|
|
31
|
+
const userAgent: string = (request.headers['user-agent'] as string) ?? '';
|
|
32
|
+
const method: string = request.method ?? '';
|
|
33
|
+
|
|
34
|
+
this.accessLogService.recordHttp({ userId, ip, userAgent, method, path });
|
|
35
|
+
}),
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
}
|