Compare commits

..

31 Commits

Author SHA1 Message Date
Milo Schwartz fd0a0818c1 Merge pull request #3617 from fosrl/dev
Dev
2026-08-19 16:41:48 -04:00
miloschwartz 887e13888d redirect differently for org auth domain 2026-08-19 16:26:55 -04:00
Owen 114592add8 Show a warning if the logs are disabled to reduce confusion 2026-08-19 16:16:05 -04:00
Milo Schwartz 929acc5b1c Merge pull request #3614 from fosrl/dev
Dev
2026-08-19 12:05:12 -04:00
Milo Schwartz 71348f45b2 Merge pull request #3611 from fosrl/dev
1.22.0
2026-08-19 11:26:08 -04:00
Milo Schwartz 21eb4d2876 Merge pull request #3598 from shleeable/patch-12
Fix: ensuring only internal users can request password resets.
2026-08-19 10:35:52 -04:00
Owen Schwartz 18270381c1 Merge pull request #3607 from fosrl/dependabot/npm_and_yarn/multi-ff8097116b
Bump sharp, next and @react-email/ui
2026-08-18 17:21:25 -04:00
dependabot[bot] 8e938a2723 Bump sharp, next and @react-email/ui
Bumps [sharp](https://github.com/lovell/sharp) to 0.35.3 and updates ancestor dependencies [sharp](https://github.com/lovell/sharp), [next](https://github.com/vercel/next.js) and [@react-email/ui](https://github.com/resend/react-email/tree/HEAD/packages/ui). These dependencies need to be updated together.


Updates `sharp` from 0.34.5 to 0.35.3
- [Release notes](https://github.com/lovell/sharp/releases)
- [Commits](https://github.com/lovell/sharp/compare/v0.34.5...v0.35.3)

Updates `next` from 16.2.11 to 16.3.1
- [Release notes](https://github.com/vercel/next.js/releases)
- [Commits](https://github.com/vercel/next.js/compare/v16.2.11...v16.3.1)

Updates `@react-email/ui` from 6.5.0 to 6.9.2
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/ui/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/ui@6.9.2/packages/ui)

---
updated-dependencies:
- dependency-name: sharp
  dependency-version: 0.35.3
  dependency-type: indirect
- dependency-name: next
  dependency-version: 16.3.1
  dependency-type: direct:production
- dependency-name: "@react-email/ui"
  dependency-version: 6.9.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-18 16:26:28 +00:00
Owen Schwartz 197f8f7ba5 Merge pull request #3503 from fosrl/dependabot/npm_and_yarn/engine.io-6.6.9
Bump engine.io from 6.6.7 to 6.6.9
2026-08-18 12:25:27 -04:00
Owen Schwartz 10b528642d Merge pull request #3517 from fosrl/dependabot/github_actions/github-actions-dependencies-7eb9e48ea9
Bump the github-actions-dependencies group across 1 directory with 2 updates
2026-08-18 12:24:54 -04:00
Owen Schwartz 60d6fff085 Merge pull request #3525 from fosrl/dependabot/npm_and_yarn/ip-address-10.4.0
Bump ip-address from 10.2.0 to 10.4.0
2026-08-18 12:24:30 -04:00
Owen Schwartz c664b3da91 Merge pull request #3526 from fosrl/dependabot/npm_and_yarn/multi-5e81c1b34f
Bump brace-expansion
2026-08-18 12:24:17 -04:00
Owen Schwartz 492282e758 Merge pull request #3530 from fosrl/dependabot/npm_and_yarn/socket.io-parser-4.2.7
Bump socket.io-parser from 4.2.6 to 4.2.7
2026-08-18 12:24:03 -04:00
Owen Schwartz 47f4aefc25 Merge pull request #3531 from fosrl/dependabot/npm_and_yarn/fast-uri-3.1.5
Bump fast-uri from 3.1.4 to 3.1.5
2026-08-18 12:23:43 -04:00
Owen Schwartz 7c0ff9ede7 Merge pull request #3569 from fosrl/dependabot/npm_and_yarn/js-yaml-4.3.1
Bump js-yaml from 4.3.0 to 4.3.1
2026-08-18 12:23:32 -04:00
Owen Schwartz 44e81ea979 Merge pull request #3570 from fosrl/dependabot/npm_and_yarn/nanoid-3.3.18
Bump nanoid from 3.3.12 to 3.3.18
2026-08-18 12:23:17 -04:00
Owen Schwartz 56dc10330a Merge pull request #3572 from fosrl/dependabot/npm_and_yarn/postcss-8.5.23
Bump postcss from 8.5.15 to 8.5.23
2026-08-18 12:23:03 -04:00
dependabot[bot] eb8ad6a181 Bump the github-actions-dependencies group across 1 directory with 2 updates
Bumps the github-actions-dependencies group with 2 updates in the / directory: [docker/login-action](https://github.com/docker/login-action) and [actions/stale](https://github.com/actions/stale).


Updates `docker/login-action` from 4.5.1 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/abd2ef45e78c5afb21d64d4ca52ee8550d9572c7...dbcb813823bdd20940b903addbd779551569679f)

Updates `actions/stale` from 10.4.0 to 11.0.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/1e223db275d687790206a7acac4d1a11bd6fe629...4391f3da665fdf50b6810c1a66712fb9ba21aa93)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions-dependencies
- dependency-name: docker/login-action
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 01:34:14 +00:00
Shlee 4edd2e4d32 Update requestPasswordReset.ts 2026-08-16 22:21:37 +09:30
Shlee 813c3abe54 Update requestPasswordReset.ts 2026-08-16 22:03:00 +09:30
Owen Schwartz 048e4fc73c Merge pull request #3574 from fosrl/dev
1.21.1-s.5
2026-08-12 16:34:31 -04:00
dependabot[bot] 923371e5b4 Bump postcss from 8.5.15 to 8.5.23
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.15 to 8.5.23.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.15...8.5.23)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.23
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-12 02:57:16 +00:00
dependabot[bot] 81430ba3d3 Bump nanoid from 3.3.12 to 3.3.18
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.12 to 3.3.18.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/3.3.18/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.12...3.3.18)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-version: 3.3.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-11 23:54:36 +00:00
dependabot[bot] e4aaadc9f9 Bump js-yaml from 4.3.0 to 4.3.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-11 20:19:18 +00:00
Owen Schwartz d04740fede Merge pull request #3537 from fosrl/dev
1.21.1-s.4
2026-08-06 14:07:42 -04:00
dependabot[bot] 4677a0d501 Bump fast-uri from 3.1.4 to 3.1.5
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 18:18:41 +00:00
dependabot[bot] b4463f0e1a Bump socket.io-parser from 4.2.6 to 4.2.7
Bumps [socket.io-parser](https://github.com/socketio/socket.io) from 4.2.6 to 4.2.7.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/socket.io-parser@4.2.6...socket.io-parser@4.2.7)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-version: 4.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 06:42:16 +00:00
Owen Schwartz b7c0669c38 Merge pull request #3528 from fosrl/dev
1.21.1-s.3
2026-08-04 17:46:49 -04:00
dependabot[bot] 152d2fb1d6 Bump brace-expansion
Bumps  and [brace-expansion](https://github.com/juliangruber/brace-expansion). These dependencies needed to be updated together.

Updates `brace-expansion` from 5.0.6 to 5.0.9
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.6...v5.0.9)

Updates `brace-expansion` from 1.1.14 to 1.1.18
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.6...v5.0.9)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.9
  dependency-type: indirect
- dependency-name: brace-expansion
  dependency-version: 1.1.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-04 05:33:39 +00:00
dependabot[bot] d374b4f66e Bump ip-address from 10.2.0 to 10.4.0
Bumps [ip-address](https://github.com/beaugunderson/ip-address) from 10.2.0 to 10.4.0.
- [Release notes](https://github.com/beaugunderson/ip-address/releases)
- [Commits](https://github.com/beaugunderson/ip-address/compare/v10.2.0...v10.4.0)

---
updated-dependencies:
- dependency-name: ip-address
  dependency-version: 10.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-04 01:45:48 +00:00
dependabot[bot] 192542629f Bump engine.io from 6.6.7 to 6.6.9
Bumps [engine.io](https://github.com/socketio/socket.io) from 6.6.7 to 6.6.9.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/engine.io@6.6.7...engine.io@6.6.9)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-version: 6.6.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 21:59:23 +00:00
34 changed files with 504 additions and 415 deletions
+4 -4
View File
@@ -77,7 +77,7 @@ jobs:
fi
- name: Log in to Docker Hub
uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
registry: docker.io
username: ${{ secrets.DOCKER_HUB_USERNAME }}
@@ -149,7 +149,7 @@ jobs:
fi
- name: Log in to Docker Hub
uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
registry: docker.io
username: ${{ secrets.DOCKER_HUB_USERNAME }}
@@ -204,7 +204,7 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Log in to Docker Hub
uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
registry: docker.io
username: ${{ secrets.DOCKER_HUB_USERNAME }}
@@ -407,7 +407,7 @@ jobs:
shell: bash
- name: Login to GitHub Container Registry (for cosign)
uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
registry: ghcr.io
username: ${{ github.actor }}
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
with:
days-before-stale: 14
days-before-close: 14
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Инструментът за кодиране на Anthropic за терминала.",
"aiClientConfigDescriptionCodex": "Инструментът за кодиране на OpenAI за терминала.",
"aiClientConfigDescriptionOpencode": "Отворен кодиращ агент за терминал.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "AI редактор на код, базиран на VS Code.",
"aiClientConfigSetup": "Настройка",
"aiClientConfigTabCli": "Автоматичен (CLI)",
"aiClientConfigTabManual": "Ръчна конфигурация",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Маршрутиране чрез цели на вашите сайтове",
"aiProviderRoutingModeTargetNote": "След създаването на този доставчик, конфигурирайте целите на сайта в раздела Настройки на мрежата.",
"aiProviderTargetNoOne": "Този доставчик няма цели. Добавете цел за маршрутиране на заявки чрез вашите сайтове.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Пропуснете проверката на TLS",
"aiProviderSkipTlsVerificationDescription": "Деактивирайте проверката на TLS сертификат за възходящото свързване",
"aiProviderBudget": "Бюджет",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Поддържа /v1/responses",
"aiCapabilityAnthropicMessages": "Anthropic Съобщения",
"aiCapabilityAnthropicMessagesDescription": "Поддържа /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini Генериране на Съдържание",
"aiCapabilityGeminiGenerateContentDescription": "Поддържа директния Gemini API",
"aiCapabilityBedrockModelInvoke": "Бедрок Модел Активирай",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Дневници на действията",
"logRetention": "Задържане на логове",
"logRetentionDescription": "Управлявайте времето за задържане на различни видове логове за тази организация или ги деактивирайте",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Прегледайте подробни логове на заявки за ресурси в тази организация",
"aiSessionLogs": "Журнали на AI Портал Сесиите",
"aiSessionLogsDescription": "Прегледайте подканянета и транскрипции на отговори за запитванията към AI портал в тази организация",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Antropický agentický kódovací nástroj pro terminál.",
"aiClientConfigDescriptionCodex": "Agentický kódovací nástroj OpenAI pro terminál.",
"aiClientConfigDescriptionOpencode": "Open source terminální kódovací agent.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "AI editor kódu postavený na VS Code.",
"aiClientConfigSetup": "Nastavení",
"aiClientConfigTabCli": "Automatické (CLI)",
"aiClientConfigTabManual": "Ruční konfigurace",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Směrujte přes cíle na svých stránkách",
"aiProviderRoutingModeTargetNote": "Po vytvoření tohoto poskytovatele, nakonfigurujte cíle stránek na záložce Nastavení sítě.",
"aiProviderTargetNoOne": "Tento poskytovatel nemá žádné cíle. Přidejte cíl pro směrování požadavků přes vaše stránky.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Přeskočit ověření TLS",
"aiProviderSkipTlsVerificationDescription": "Zakázat ověření certifikátu TLS pro upstream připojení",
"aiProviderBudget": "Rozpočet",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Podporuje /v1/responses",
"aiCapabilityAnthropicMessages": "Zprávy Anthropic",
"aiCapabilityAnthropicMessagesDescription": "Podporuje /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Generování obsahu Gemini",
"aiCapabilityGeminiGenerateContentDescription": "Podporuje přímé API Gemini",
"aiCapabilityBedrockModelInvoke": "Vyvolání modelu Bedrock",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Záznamy akcí",
"logRetention": "Zaznamenávání záznamu",
"logRetentionDescription": "Spravovat, jak dlouho jsou různé typy logů uloženy pro tuto organizaci nebo je zakázat",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Zobrazit podrobné protokoly požadavků pro zdroje v této organizaci",
"aiSessionLogs": "Protokoly AI Gateway Session",
"aiSessionLogsDescription": "Zobrazit uložené výzvy a odpovědi na žádosti AI brány v této organizaci",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Anthropics agentikodningsværktøj til terminalen.",
"aiClientConfigDescriptionCodex": "OpenAIs agentikodningsværktøj til terminalen.",
"aiClientConfigDescriptionOpencode": "Open source terminal kodningsagent.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "AI-kodeeditor bygget på VS Code.",
"aiClientConfigSetup": "Opsætning",
"aiClientConfigTabCli": "Automatisk (CLI)",
"aiClientConfigTabManual": "Manuel Konfiguration",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Rute gennem mål på dine steder",
"aiProviderRoutingModeTargetNote": "Efter oprettelse af denne udbyder, konfigurer mål på Netværksindstillinger fanen.",
"aiProviderTargetNoOne": "Denne udbyder har ingen mål. Tilføj et mål for at rute forespørgsler gennem dine steder.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Spring TLS-verifikation over",
"aiProviderSkipTlsVerificationDescription": "Deaktiver TLS-certifikat verifikation for opstrømsforbindelsen",
"aiProviderBudget": "Budget",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Understøtter /v1/responses",
"aiCapabilityAnthropicMessages": "Anthropic Beskeder",
"aiCapabilityAnthropicMessagesDescription": "Understøtter /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini Generer Indhold",
"aiCapabilityGeminiGenerateContentDescription": "Understøtter den direkte Gemini API",
"aiCapabilityBedrockModelInvoke": "Bedrock Modeller Invoker",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Handlingsloger",
"logRetention": "Logopbevaring",
"logRetentionDescription": "Håndter hvor længe ulike typer logs beholdes for denne organisation, eller deaktivér dem",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Se detaljerede forespørgselslogs for ressourcer i denne organisation",
"aiSessionLogs": "AI Gateway Øktsprotokoller",
"aiSessionLogsDescription": "Se prompt og svarudskrifter for AI gateway forespørgsler i denne organisation",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Agentisches Codierwerkzeug von Anthropic für das Terminal.",
"aiClientConfigDescriptionCodex": "Agentisches Codierwerkzeug von OpenAI für das Terminal.",
"aiClientConfigDescriptionOpencode": "Open-Source-Coding-Agent für das Terminal.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "KI-Code-Editor basierend auf VS Code.",
"aiClientConfigSetup": "Einrichtung",
"aiClientConfigTabCli": "Automatisch (CLI)",
"aiClientConfigTabManual": "Manuelle Konfiguration",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Über Ziele auf Ihren Sites routen",
"aiProviderRoutingModeTargetNote": "Konfigurieren Sie nach der Erstellung dieses Anbieters Site-Ziele auf der Registerkarte 'Netzwerkeinstellungen'.",
"aiProviderTargetNoOne": "Dieser Anbieter hat keine Ziele. Fügen Sie ein Ziel hinzu, um Anfragen über Ihre Sites zu leiten.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "TLS-Überprüfung überspringen",
"aiProviderSkipTlsVerificationDescription": "TLS-Zertifikatsüberprüfung für die Upstream-Verbindung deaktivieren",
"aiProviderBudget": "Budget",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Unterstützt /v1/antworten",
"aiCapabilityAnthropicMessages": "Anthropic Nachrichten",
"aiCapabilityAnthropicMessagesDescription": "Unterstützt /v1/nachrichten",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini Inhalt erzeugen",
"aiCapabilityGeminiGenerateContentDescription": "Unterstützt die direkte Gemini-API",
"aiCapabilityBedrockModelInvoke": "Bedrock Modell Aufruf",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Aktionsprotokolle",
"logRetention": "Log-Speicherung",
"logRetentionDescription": "Verwalten, wie lange verschiedene Logs für diese Organisation gespeichert werden oder deaktivieren",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Detaillierte Request-Logs für Ressourcen in dieser Organisation anzeigen",
"aiSessionLogs": "AI-Gateway Sitzungsprotokolle",
"aiSessionLogsDescription": "Zeigen Sie Aufforderungs- und Antwortprotokolle für Anfragen des KI-Gateways in dieser Organisation an",
+3
View File
@@ -3547,6 +3547,9 @@
"sidebarLogsAction": "Admin Action Logs",
"logRetention": "Log Retention",
"logRetentionDescription": "Manage how long different types of logs are retained for this organization or disable them",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "View detailed request logs for HTTPS resources in this organization",
"aiSessionLogs": "AI Gateway Session Logs",
"aiSessionLogsDescription": "View prompt and response transcripts for AI gateway requests in this organization",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Herramienta de codificación agentic de Anthropic para el terminal.",
"aiClientConfigDescriptionCodex": "Herramienta de codificación agentic de OpenAI para el terminal.",
"aiClientConfigDescriptionOpencode": "Agente de codificación de terminal de código abierto.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "Editor de código AI construido sobre VS Code.",
"aiClientConfigSetup": "Configuración",
"aiClientConfigTabCli": "Automático (CLI)",
"aiClientConfigTabManual": "Configuración manual",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Ruta a través de objetivos en sus sitios",
"aiProviderRoutingModeTargetNote": "Después de crear este proveedor, configure objetivos de sitio en la pestaña de Configuración de Red.",
"aiProviderTargetNoOne": "Este proveedor no tiene objetivos. Agregue un objetivo para enrutar solicitudes a través de sus sitios.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Omitir verificación de TLS",
"aiProviderSkipTlsVerificationDescription": "Deshabilitar la verificación del certificado TLS para la conexión de upstream",
"aiProviderBudget": "Presupuesto",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Admite /v1/responses",
"aiCapabilityAnthropicMessages": "Mensajes Antropicos",
"aiCapabilityAnthropicMessagesDescription": "Admite /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Generar contenido Gemini",
"aiCapabilityGeminiGenerateContentDescription": "Admite la API directa de Gemini",
"aiCapabilityBedrockModelInvoke": "Invocar modelo de Bedrock",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Registros de acción",
"logRetention": "Retención de Log",
"logRetentionDescription": "Administrar cuánto tiempo se conservan los diferentes tipos de registros para esta organización o desactivarlos",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Ver registros de solicitudes detallados para los recursos de esta organización",
"aiSessionLogs": "Registros de Sesiones del Portal de IA",
"aiSessionLogsDescription": "Ver transcripciones de solicitud y respuesta para solicitudes del portal de IA en esta organización",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Outil de codage agentique d'Anthropic pour le terminal.",
"aiClientConfigDescriptionCodex": "Outil de codage agentique d'OpenAI pour le terminal.",
"aiClientConfigDescriptionOpencode": "Agent de codage terminal open source.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "Éditeur de code IA basé sur VS Code.",
"aiClientConfigSetup": "Configuration",
"aiClientConfigTabCli": "Automatique (CLI)",
"aiClientConfigTabManual": "Configuration manuelle",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Route à travers les cibles sur vos sites",
"aiProviderRoutingModeTargetNote": "Après avoir créé ce fournisseur, configurez les cibles du site dans l'onglet Paramètres du réseau.",
"aiProviderTargetNoOne": "Ce fournisseur n'a aucune cible. Ajoutez une cible pour acheminer les requêtes via vos sites.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Ignorer la vérification TLS",
"aiProviderSkipTlsVerificationDescription": "Désactiver la vérification du certificat TLS pour la connexion amont",
"aiProviderBudget": "Budget",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Prend en charge /v1/responses",
"aiCapabilityAnthropicMessages": "Messages Anthropiques",
"aiCapabilityAnthropicMessagesDescription": "Prend en charge /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Générer du Contenu Gemini",
"aiCapabilityGeminiGenerateContentDescription": "Prend en charge l'API directe de Gemini",
"aiCapabilityBedrockModelInvoke": "Invocation du Modèle Bedrock",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Journaux des actions",
"logRetention": "Journaliser la rétention",
"logRetentionDescription": "Gérer la durée de conservation des différents types de logs pour cette organisation ou les désactiver",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Voir les journaux détaillés des requêtes pour les ressources de cette organisation",
"aiSessionLogs": "Journaux de Session du Portail AI",
"aiSessionLogsDescription": "Voir les transcriptions de l'invite et de la réponse pour les requêtes de portail AI dans cette organisation",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Strumento di coding agente di Anthropic per il terminale.",
"aiClientConfigDescriptionCodex": "Strumento di coding agente di OpenAI per il terminale.",
"aiClientConfigDescriptionOpencode": "Agente di coding open source per il terminale.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "Editor di codice AI basato su VS Code.",
"aiClientConfigSetup": "Impostazione",
"aiClientConfigTabCli": "Automatico (CLI)",
"aiClientConfigTabManual": "Configurazione Manuale",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Instrada tramite target sui tuoi siti",
"aiProviderRoutingModeTargetNote": "Dopo aver creato questo provider, configura i target del sito nella scheda Impostazioni di Rete.",
"aiProviderTargetNoOne": "Questo provider non ha alcun target. Aggiungi un target per instradare le richieste attraverso i tuoi siti.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Salta la verifica TLS",
"aiProviderSkipTlsVerificationDescription": "Disabilita la verifica del certificato TLS per la connessione a monte",
"aiProviderBudget": "Budget",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Supporta /v1/responses",
"aiCapabilityAnthropicMessages": "Messaggi Anthropic",
"aiCapabilityAnthropicMessagesDescription": "Supporta /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Generazione di Contenuti Gemini",
"aiCapabilityGeminiGenerateContentDescription": "Supporta l'API diretta di Gemini",
"aiCapabilityBedrockModelInvoke": "Invoca Modello Bedrock",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Log Azioni",
"logRetention": "Ritenzione Registro",
"logRetentionDescription": "Gestisci per quanto tempo i diversi tipi di log sono mantenuti per questa organizzazione o disabilitali",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Visualizza i registri di richiesta dettagliati per le risorse in questa organizzazione",
"aiSessionLogs": "Log delle Sessioni AI Gateway",
"aiSessionLogsDescription": "Visualizza trascrizioni di prompt e risposte per le richieste del gateway AI in questa organizzazione",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Anthropic의 터미널 에이전트 코딩 도구입니다.",
"aiClientConfigDescriptionCodex": "OpenAI의 터미널 에이전트 코딩 도구입니다.",
"aiClientConfigDescriptionOpencode": "오픈 소스 터미널 코딩 에이전트.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "VS Code를 기반으로 한 AI 코드 편집기.",
"aiClientConfigSetup": "설정",
"aiClientConfigTabCli": "자동 (CLI)",
"aiClientConfigTabManual": "수동 구성",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "사이트의 타겟을 통해 라우트",
"aiProviderRoutingModeTargetNote": "이 공급자를 생성한 후 네트워크 설정 탭에 사이트 타겟을 구성합니다.",
"aiProviderTargetNoOne": "이 공급자에게 타겟이 없습니다. 사이트를 통해 요청을 라우트하기 위한 타겟을 추가하십시오.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "TLS 검증 건너뛰기",
"aiProviderSkipTlsVerificationDescription": "상류 연결에 대한 TLS 인증서 검증 비활성화",
"aiProviderBudget": "예산",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "/v1/responses 지원",
"aiCapabilityAnthropicMessages": "Anthropic 메시지",
"aiCapabilityAnthropicMessagesDescription": "/v1/messages 지원",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini 콘텐츠 생성",
"aiCapabilityGeminiGenerateContentDescription": "직접 Gemini API 지원",
"aiCapabilityBedrockModelInvoke": "Bedrock 모델 실행",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "작업 로그",
"logRetention": "로그 보관",
"logRetentionDescription": "다양한 유형의 로그를 이 조직에 대해 얼마나 오래 보관할지 관리하거나 비활성화합니다",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "이 조직의 자원에 대한 상세한 요청 로그를 봅니다",
"aiSessionLogs": "AI 게이트웨이 세션 로그",
"aiSessionLogsDescription": "이 조직의 AI 게이트웨이 요청에 대한 프롬프트 및 응답 대본을 봅니다",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Anthropics agentiske kodingsverktøy for terminalen.",
"aiClientConfigDescriptionCodex": "OpenAIs agentiske kodingsverktøy for terminalen.",
"aiClientConfigDescriptionOpencode": "Åpen kildekode terminal kodeagent.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "AI-kodeeditor bygget på VS Code.",
"aiClientConfigSetup": "Oppsett",
"aiClientConfigTabCli": "Automatisk (CLI)",
"aiClientConfigTabManual": "Manuell konfigurasjon",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Rute gjennom mål på dine nettsteder",
"aiProviderRoutingModeTargetNote": "Etter å ha opprettet denne leverandøren, konfigurer områdemål på fanen Nettverksinnstillinger.",
"aiProviderTargetNoOne": "Denne leverandøren har ingen mål. Legg til et mål for å rute forespørsler gjennom dine nettsteder.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Hopp over TLS-verifisering",
"aiProviderSkipTlsVerificationDescription": "Deaktiver TLS-sertifikatverifisering for oppstrøms tilkobling",
"aiProviderBudget": "Budsjett",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Støtter /v1/responser",
"aiCapabilityAnthropicMessages": "Anthropic Meldinger",
"aiCapabilityAnthropicMessagesDescription": "Støtter /v1/meldinger",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini Generer Innhold",
"aiCapabilityGeminiGenerateContentDescription": "Støtter direkte Gemini API",
"aiCapabilityBedrockModelInvoke": "Bedrock Modell Påkalling",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Handlingslogger",
"logRetention": "Logg tilbaketrekning",
"logRetentionDescription": "Håndter hvor lenge ulike typer logger beholdes for denne organisasjonen, eller deaktiver dem",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Se detaljerte forespørselslogger for ressurser i denne organisasjonen",
"aiSessionLogs": "AI Portal Sesjonslogger",
"aiSessionLogsDescription": "Vis stikkord- og responsutskrifter for AI-portal forespørsler i denne organisasjonen",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Anthropic's agentische coderingstool voor de terminal.",
"aiClientConfigDescriptionCodex": "OpenAI's agentische coderingstool voor de terminal.",
"aiClientConfigDescriptionOpencode": "Open source terminal coderingsagent.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "AI-code-editor gebouwd op VS Code.",
"aiClientConfigSetup": "Instellen",
"aiClientConfigTabCli": "Automatisch (CLI)",
"aiClientConfigTabManual": "Handmatige configuratie",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Routeer door doelen op uw sites",
"aiProviderRoutingModeTargetNote": "Nadat u deze provider hebt aangemaakt, configureert u site-doelen op het tabblad Netwerkinstellingen.",
"aiProviderTargetNoOne": "Deze provider heeft geen doelen. Voeg een doel toe om verzoeken via uw sites te routeren.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Sla TLS-verificatie over",
"aiProviderSkipTlsVerificationDescription": "Schakel TLS-certificaatverificatie voor de upstream-verbinding uit",
"aiProviderBudget": "Budget",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Ondersteunt /v1/responses",
"aiCapabilityAnthropicMessages": "Anthropic Berichten",
"aiCapabilityAnthropicMessagesDescription": "Ondersteunt /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini Inhoud Genereren",
"aiCapabilityGeminiGenerateContentDescription": "Ondersteunt de directe Gemini API",
"aiCapabilityBedrockModelInvoke": "Bedrock Model Aanroep",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Actie logs",
"logRetention": "Log bewaring",
"logRetentionDescription": "Beheren hoe lang verschillende soorten logs bewaard worden voor deze organisatie of schakel ze uit",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Bekijk gedetailleerde verzoeklogboeken voor resources in deze organisatie",
"aiSessionLogs": "AI Gateway Sessie Logs",
"aiSessionLogsDescription": "Bekijk prompt- en reactie-transcripten voor AI-gateway-aanvragen in deze organisatie",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Agent narzędzia kodującego Anthropic dla terminala.",
"aiClientConfigDescriptionCodex": "Agent narzędzia kodującego OpenAI dla terminala.",
"aiClientConfigDescriptionOpencode": "Agent open source do kodowania w terminalu.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "Edytor kodu AI oparty na VS Code.",
"aiClientConfigSetup": "Ustawienie",
"aiClientConfigTabCli": "Automatyczne (CLI)",
"aiClientConfigTabManual": "Konfiguracja ręczna",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Trasa przez cele na Twoich witrynach",
"aiProviderRoutingModeTargetNote": "Po utworzeniu tego dostawcy, skonfiguruj cele witryny na karcie Ustawienia sieci.",
"aiProviderTargetNoOne": "Ten dostawca nie ma żadnych celów. Dodaj cel, aby trasować zapytania przez swoje witryny.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Pomiń weryfikację TLS",
"aiProviderSkipTlsVerificationDescription": "Wyłącz weryfikację certyfikatu TLS dla połączenia w górę",
"aiProviderBudget": "Budżet",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Obsługuje /v1/responses",
"aiCapabilityAnthropicMessages": "Anthropic Wiadomości",
"aiCapabilityAnthropicMessagesDescription": "Obsługuje /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini Generowanie Treści",
"aiCapabilityGeminiGenerateContentDescription": "Obsługuje bezpośredni Gemini API",
"aiCapabilityBedrockModelInvoke": "Model Bedrock Wywołanie",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Dzienniki działań",
"logRetention": "Zachowanie dziennika",
"logRetentionDescription": "Zarządzaj jak długo różne typy logów są zachowane dla tej organizacji lub wyłącz je",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Zobacz szczegółowe dzienniki żądań zasobów w tej organizacji",
"aiSessionLogs": "Dzienniki Sesji Bramy AI",
"aiSessionLogsDescription": "Zobacz transkrypcje podpowiedzi i odpowiedzi dla żądań bramy AI w tej organizacji",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Ferramenta de codificação agentic de Anthropic para o terminal.",
"aiClientConfigDescriptionCodex": "Ferramenta de codificação agentic da OpenAI para o terminal.",
"aiClientConfigDescriptionOpencode": "Agente de codificação de terminal de código aberto.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "Editor de código de IA baseado no VS Code.",
"aiClientConfigSetup": "Configuração",
"aiClientConfigTabCli": "Automático (CLI)",
"aiClientConfigTabManual": "Configuração Manual",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Roteie através de alvos em seus sites",
"aiProviderRoutingModeTargetNote": "Após criar este provedor, configure alvos do site na aba Configurações de Rede.",
"aiProviderTargetNoOne": "Este provedor não tem alvos. Adicione um alvo para rotear pedidos pelos seus sites.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Pular Verificação TLS",
"aiProviderSkipTlsVerificationDescription": "Desativar a verificação de certificado TLS para a conexão upstream",
"aiProviderBudget": "Orçamento",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Suporta /v1/responses",
"aiCapabilityAnthropicMessages": "Mensagens Antropicas",
"aiCapabilityAnthropicMessagesDescription": "Suporta /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gêmeos Gerar Conteúdo",
"aiCapabilityGeminiGenerateContentDescription": "Suporta a API diretta do Gêmeos",
"aiCapabilityBedrockModelInvoke": "Modelo Bedrock Invocar",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Logs de Ações",
"logRetention": "Retenção de Log",
"logRetentionDescription": "Gerenciar quanto tempo os diferentes tipos de logs são mantidos para esta organização ou desativá-los",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Ver registros de pedidos detalhados de recursos nesta organização",
"aiSessionLogs": "Registros de Sessão do Gateway de IA",
"aiSessionLogsDescription": "Veja as transcrições de prompt e resposta para solicitações de gateway de IA nesta organização",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Агентивное кодирующее средство Anthropic для терминала.",
"aiClientConfigDescriptionCodex": "Агентивное кодирующее средство OpenAI для терминала.",
"aiClientConfigDescriptionOpencode": "Открытый исходный агент для кодирования в терминале.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "AI редактор кода на основе VS Code.",
"aiClientConfigSetup": "Настройка",
"aiClientConfigTabCli": "Автоматическое (CLI)",
"aiClientConfigTabManual": "Ручная конфигурация",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Маршрутизация через цели на ваших сайтах",
"aiProviderRoutingModeTargetNote": "После создания этого провайдера настройте целевые сайты на вкладке Сетевые настройки.",
"aiProviderTargetNoOne": "У этого провайдера нет целей. Добавьте цель для маршрутизации запросов через ваши сайты.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "Пропустить проверку TLS",
"aiProviderSkipTlsVerificationDescription": "Отключить проверку сертификата TLS для исходного соединения",
"aiProviderBudget": "Бюджет",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "Поддерживает /v1/responses",
"aiCapabilityAnthropicMessages": "Сообщения Anthropic",
"aiCapabilityAnthropicMessagesDescription": "Поддерживает /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini Создание контента",
"aiCapabilityGeminiGenerateContentDescription": "Поддерживает прямой API Gemini",
"aiCapabilityBedrockModelInvoke": "Вызов модели Bedrock",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Журнал действий",
"logRetention": "Сохранение журнала",
"logRetentionDescription": "Управление сохранением различных типов журналов для этой организации или отключение их",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Просмотреть подробные журналы запроса ресурсов в этой организации",
"aiSessionLogs": "AI Логи сессии шлюза",
"aiSessionLogsDescription": "Просмотр транскриптов запросов и ответов для шлюзов AI в этой организации",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Anthropic'in terminal için aracılık kodlama aracı.",
"aiClientConfigDescriptionCodex": "OpenAI'nin terminal için aracılık kodlama aracı.",
"aiClientConfigDescriptionOpencode": "Açık kaynak terminal kodlama aracı.",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "VS Code üzerine kurulu yapay zeka kod editörü.",
"aiClientConfigSetup": "Kurulum",
"aiClientConfigTabCli": "Otomatik (CLI)",
"aiClientConfigTabManual": "Manuel Yapılandırma",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "Siteniz üzerindeki hedefler üzerinden yönlendirin",
"aiProviderRoutingModeTargetNote": "Bu sağlayıcıyı oluşturduktan sonra, site hedeflerini Ağ Ayarları sekmesinde yapılandırın.",
"aiProviderTargetNoOne": "Bu sağlayıcının herhangi bir hedefi yok. Sitemiz üzerinden istekleri yönlendirmek için bir hedef ekleyin.",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "TLS Doğrulamayı Atla",
"aiProviderSkipTlsVerificationDescription": "Yukarı akış bağlantısı için TLS sertifika doğrulamasını devre dışı bırakın",
"aiProviderBudget": "Bütçe",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "/v1/yanıtlar desteği sağlar",
"aiCapabilityAnthropicMessages": "Anthropic Mesajlar",
"aiCapabilityAnthropicMessagesDescription": "/v1/mesajlar desteği sağlar",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini İçerik Üret",
"aiCapabilityGeminiGenerateContentDescription": "Doğrudan Gemini API desteği sağlar",
"aiCapabilityBedrockModelInvoke": "Bedrock Modeli Çağır",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "Eylem Günlükleri",
"logRetention": "Kayıt Saklama",
"logRetentionDescription": "Bu organizasyon için farklı türdeki günlüklerin ne kadar süre saklanacağını yönetin veya devre dışı bırakın",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "Bu organizasyondaki kaynaklar için ayrıntılı istek günlüklerini görüntüleyin",
"aiSessionLogs": "AI Ağ Geçidi Oturum Günlükleri",
"aiSessionLogsDescription": "Bu organizasyondaki AI ağ geçidi isteklerinin istem ve yanıt transkriptlerini görüntüleyin",
+1 -7
View File
@@ -1785,7 +1785,7 @@
"aiClientConfigDescriptionClaude": "Anthropic 的终端代理编码工具。",
"aiClientConfigDescriptionCodex": "OpenAI 的终端代理编码工具。",
"aiClientConfigDescriptionOpencode": "开源终端编码代理。",
"aiClientConfigDescriptionGemini": "Google's agentic coding tool for the terminal.",
"aiClientConfigDescriptionCursor": "基于 VS Code 的 AI 代码编辑器。",
"aiClientConfigSetup": "设置",
"aiClientConfigTabCli": "自动 (CLI)",
"aiClientConfigTabManual": "手动配置",
@@ -1891,7 +1891,6 @@
"aiProviderRoutingModeTargetDescription": "通过您站点上的目标进行路由",
"aiProviderRoutingModeTargetNote": "创建此提供商后,在“网络设置”选项卡中配置站点目标。",
"aiProviderTargetNoOne": "该提供商没有任何目标。 添加目标以通过您的站点路由请求。",
"aiProviderRemoteNodeTargetsWarning": "Sites connected to remote nodes are inaccessable to be routed to on AI Gateway providers.",
"aiProviderSkipTlsVerification": "跳过TLS验证",
"aiProviderSkipTlsVerificationDescription": "禁用上游连接的TLS证书验证",
"aiProviderBudget": "预算",
@@ -1924,8 +1923,6 @@
"aiCapabilityOpenaiResponsesDescription": "支持 /v1/responses",
"aiCapabilityAnthropicMessages": "Anthropic 消息",
"aiCapabilityAnthropicMessagesDescription": "支持 /v1/messages",
"aiCapabilityV1Models": "Models List",
"aiCapabilityV1ModelsDescription": "Supports /v1/models model discovery",
"aiCapabilityGeminiGenerateContent": "Gemini 生成内容",
"aiCapabilityGeminiGenerateContentDescription": "支持直接Gemini API",
"aiCapabilityBedrockModelInvoke": "Bedrock 模型调用",
@@ -3551,9 +3548,6 @@
"sidebarLogsAction": "操作日志",
"logRetention": "日志保留",
"logRetentionDescription": "管理不同类型的日志为这个机构保留多长时间或禁用这些日志",
"logRetentionDisabledWarningTitle": "Log Retention Disabled",
"logRetentionDisabledWarningDescription": "{logType} are not being retained for this organization, so new activity will not appear here. Enable retention in security settings to start collecting these logs.",
"logRetentionDisabledWarningButton": "Go to Security Settings",
"requestLogsDescription": "查看此机构资源的详细请求日志",
"aiSessionLogs": "AI 网关会话日志",
"aiSessionLogsDescription": "查看此组织中AI网关请求的提示和响应记录",
+324 -281
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -94,12 +94,12 @@
"input-otp": "1.4.2",
"ioredis": "5.11.0",
"jmespath": "0.16.0",
"js-yaml": "4.3.0",
"js-yaml": "4.3.1",
"jsonwebtoken": "9.0.3",
"lucide-react": "1.17.0",
"maxmind": "5.0.6",
"moment": "2.30.1",
"next": "16.2.11",
"next": "16.3.1",
"next-intl": "4.13.0",
"next-themes": "0.4.6",
"nextjs-toploader": "3.9.17",
@@ -139,7 +139,7 @@
"devDependencies": {
"@dotenvx/dotenvx": "1.69.1",
"@esbuild-plugins/tsconfig-paths": "0.1.2",
"@react-email/ui": "^6.5.0",
"@react-email/ui": "^6.9.2",
"@tailwindcss/postcss": "4.3.0",
"@tanstack/react-query-devtools": "5.100.14",
"@types/better-sqlite3": "7.6.13",
@@ -170,7 +170,7 @@
"esbuild-node-externals": "1.22.0",
"eslint": "10.4.0",
"eslint-config-next": "16.2.6",
"postcss": "8.5.15",
"postcss": "8.5.23",
"prettier": "3.8.3",
"react-email": "6.5.0",
"tailwindcss": "4.3.0",
@@ -182,6 +182,6 @@
"overrides": {
"esbuild": "0.28.0",
"dompurify": "3.4.0",
"postcss": "8.5.15"
"postcss": "8.5.23"
}
}
+1 -1
View File
@@ -69,7 +69,7 @@ export const orgs = pgTable("orgs", {
"settingsLogRetentionDaysAISessions"
) // where 0 = dont keep logs and -1 = keep forever and 9001 = end of the following year
.notNull()
.default(7),
.default(0),
sshCaPrivateKey: text("sshCaPrivateKey"), // Encrypted SSH CA private key (PEM format)
sshCaPublicKey: text("sshCaPublicKey"), // SSH CA public key (OpenSSH format)
isBillingOrg: boolean("isBillingOrg"),
+5 -1
View File
@@ -443,7 +443,11 @@ export const configSchema = z
disable_config_managed_domains: z.boolean().optional(),
disable_product_help_banners: z.boolean().optional(),
disable_enterprise_features: z.boolean().optional(),
enable_acme_cert_sync: z.boolean().optional().default(true)
enable_acme_cert_sync: z.boolean().optional().default(true),
disable_private_http_placeholder: z
.boolean()
.optional()
.default(false)
})
.optional(),
acme: z
+21 -7
View File
@@ -48,7 +48,7 @@ export class PrivateConfig {
this.rawPrivateConfig = parsedPrivateConfig;
this.migrateDeprecatedAcmeConfig(privateEnvironment);
this.migrateDeprecatedConfig(privateEnvironment);
process.env.BRANDING_HIDE_AUTH_LAYOUT_FOOTER =
this.rawPrivateConfig.branding?.hide_auth_layout_footer === true
@@ -152,12 +152,12 @@ export class PrivateConfig {
return this.rawPrivateConfig;
}
// `flags.enable_acme_cert_sync` and `acme` used to live in the private
// config file. They now live in the public config file. If an operator
// still has them set in the private config and hasn't moved them over to
// the public config, pull them forward so behavior doesn't silently
// change out from under them.
private migrateDeprecatedAcmeConfig(privateEnvironment: any) {
// `flags.enable_acme_cert_sync`, `flags.disable_private_http_placeholder`,
// and `acme` used to live in the private config file. They now live in
// the public config file. If an operator still has them set in the
// private config and hasn't moved them over to the public config, pull
// them forward so behavior doesn't silently change out from under them.
private migrateDeprecatedConfig(privateEnvironment: any) {
const publicEnvironment: any = readPublicConfigFile();
const rawConfig: any = config.getRawConfig();
@@ -182,6 +182,20 @@ export class PrivateConfig {
);
rawConfig.acme = this.rawPrivateConfig.acme;
}
if (
privateEnvironment?.flags?.disable_private_http_placeholder !==
undefined &&
publicEnvironment?.flags?.disable_private_http_placeholder ===
undefined
) {
logger.warn(
"`flags.disable_private_http_placeholder` is deprecated in the private config file and has moved to the public config file. Using the value from the private config file for now, but please move it to the public config."
);
rawConfig.flags = rawConfig.flags ?? {};
rawConfig.flags.disable_private_http_placeholder =
this.rawPrivateConfig.flags.disable_private_http_placeholder;
}
}
}
+7 -4
View File
@@ -115,10 +115,13 @@ export const privateConfigSchema = z
// any value set here is migrated into the public config at
// startup by PrivateConfig (server/private/lib/config.ts).
enable_acme_cert_sync: z.boolean().optional(),
disable_private_http_placeholder: z
.boolean()
.optional()
.default(false)
// @deprecated Moved to the public config file as
// `flags.disable_private_http_placeholder`
// (server/lib/readConfigFile.ts). Kept here only so existing
// private config files keep parsing; any value set here is
// migrated into the public config at startup by PrivateConfig
// (server/private/lib/config.ts).
disable_private_http_placeholder: z.boolean().optional()
})
.optional()
.prefault({}),
@@ -329,8 +329,7 @@ export async function getTraefikConfig(
}[] = [];
if (
build == "enterprise" &&
!privateConfig.getRawPrivateConfig().flags
.disable_private_http_placeholder
!config.getRawConfig().flags?.disable_private_http_placeholder
) {
// we dont want to do this on the cloud
// Query siteResources in HTTP mode with SSL enabled and aliases - cert generation / HTTPS edge
+7 -2
View File
@@ -6,7 +6,7 @@ import HttpCode from "@server/types/HttpCode";
import { response } from "@server/lib/response";
import { db } from "@server/db";
import { passwordResetTokens, users } from "@server/db";
import { eq } from "drizzle-orm";
import { eq, and } from "drizzle-orm";
import { alphabet, generateRandomString, sha256 } from "oslo/crypto";
import { createDate } from "oslo";
import logger from "@server/logger";
@@ -49,7 +49,12 @@ export async function requestPasswordReset(
const existingUser = await db
.select()
.from(users)
.where(eq(users.email, email));
.where(
and(
eq(users.email, email),
eq(users.type, UserType.Internal)
)
);
if (!existingUser || !existingUser.length) {
await randomDelay(2000);
@@ -19,6 +19,8 @@ import { getPrivateResourceSettingsHref } from "@app/lib/launcherResourceAdminHr
import axios from "axios";
import { useStoredPageSize } from "@app/hooks/useStoredPageSize";
import { PaidFeaturesAlert } from "@app/components/PaidFeaturesAlert";
import LogRetentionWarning from "@app/components/LogRetentionWarning";
import { useOrgContext } from "@app/hooks/useOrgContext";
import { usePaidStatus } from "@app/hooks/usePaidStatus";
import { tierMatrix } from "@server/lib/billing/tierMatrix";
import { logQueries } from "@app/lib/queries";
@@ -32,6 +34,7 @@ export default function GeneralPage() {
const t = useTranslations();
const { orgId } = useParams();
const { org } = useOrgContext();
const { isPaidUser } = usePaidStatus();
const [isExporting, startTransition] = useTransition();
@@ -529,6 +532,13 @@ export default function GeneralPage() {
<PaidFeaturesAlert tiers={tierMatrix.accessLogs} />
{org.org.settingsLogRetentionDaysAccess === 0 && (
<LogRetentionWarning
orgId={orgId as string}
logTypeLabel={t("accessLogs")}
/>
)}
<LogDataTable
columns={columns}
data={rows}
@@ -3,8 +3,10 @@ import { ColumnFilterButton } from "@app/components/ColumnFilterButton";
import { DateTimeValue } from "@app/components/DateTimePicker";
import { LogDataTable } from "@app/components/LogDataTable";
import { PaidFeaturesAlert } from "@app/components/PaidFeaturesAlert";
import LogRetentionWarning from "@app/components/LogRetentionWarning";
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
import { useEnvContext } from "@app/hooks/useEnvContext";
import { useOrgContext } from "@app/hooks/useOrgContext";
import { usePaidStatus } from "@app/hooks/usePaidStatus";
import { useStoredPageSize } from "@app/hooks/useStoredPageSize";
import { toast } from "@app/hooks/useToast";
@@ -29,6 +31,7 @@ export default function GeneralPage() {
const { orgId } = useParams();
const searchParams = useSearchParams();
const { org } = useOrgContext();
const { isPaidUser } = usePaidStatus();
const [isExporting, startTransition] = useTransition();
@@ -359,6 +362,13 @@ export default function GeneralPage() {
<PaidFeaturesAlert tiers={tierMatrix.actionLogs} />
{org.org.settingsLogRetentionDaysAction === 0 && (
<LogRetentionWarning
orgId={orgId as string}
logTypeLabel={t("actionLogs")}
/>
)}
<LogDataTable
columns={columns}
data={rows}
+11
View File
@@ -3,9 +3,11 @@ import { ColumnFilterButton } from "@app/components/ColumnFilterButton";
import { DateTimeValue } from "@app/components/DateTimePicker";
import { LogDataTable } from "@app/components/LogDataTable";
import { AiSessionChatView } from "@app/components/AiSessionChatView";
import LogRetentionWarning from "@app/components/LogRetentionWarning";
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
import { Button } from "@app/components/ui/button";
import { useEnvContext } from "@app/hooks/useEnvContext";
import { useOrgContext } from "@app/hooks/useOrgContext";
import { toast } from "@app/hooks/useToast";
import { createApiClient } from "@app/lib/api";
import { useTranslations } from "next-intl";
@@ -41,6 +43,8 @@ export default function AiSessionLogsPage() {
const { orgId } = useParams();
const searchParams = useSearchParams();
const { org } = useOrgContext();
const [isExporting, startTransition] = useTransition();
const [currentPage, setCurrentPage] = useState<number>(0);
@@ -641,6 +645,13 @@ export default function AiSessionLogsPage() {
description={t("aiSessionLogsDescription")}
/>
{org.org.settingsLogRetentionDaysAISessions === 0 && (
<LogRetentionWarning
orgId={orgId as string}
logTypeLabel={t("aiSessionLogs")}
/>
)}
<LogDataTable
columns={columns}
data={rows}
@@ -4,8 +4,10 @@ import { ColumnFilterButton } from "@app/components/ColumnFilterButton";
import { DateTimeValue } from "@app/components/DateTimePicker";
import { LogDataTable } from "@app/components/LogDataTable";
import { PaidFeaturesAlert } from "@app/components/PaidFeaturesAlert";
import LogRetentionWarning from "@app/components/LogRetentionWarning";
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
import { useEnvContext } from "@app/hooks/useEnvContext";
import { useOrgContext } from "@app/hooks/useOrgContext";
import { usePaidStatus } from "@app/hooks/usePaidStatus";
import { useStoredPageSize } from "@app/hooks/useStoredPageSize";
import { toast } from "@app/hooks/useToast";
@@ -47,6 +49,7 @@ export default function ConnectionLogsPage() {
const { orgId } = useParams();
const searchParams = useSearchParams();
const { org } = useOrgContext();
const { isPaidUser } = usePaidStatus();
const [isExporting, startTransition] = useTransition();
@@ -582,6 +585,13 @@ export default function ConnectionLogsPage() {
<PaidFeaturesAlert tiers={tierMatrix.connectionLogs} />
{org.org.settingsLogRetentionDaysConnection === 0 && (
<LogRetentionWarning
orgId={orgId as string}
logTypeLabel={t("connectionLogs")}
/>
)}
<LogDataTable
columns={columns}
data={rows}
+13 -1
View File
@@ -1,6 +1,8 @@
import { verifySession } from "@app/lib/auth/verifySession";
import { redirect } from "next/navigation";
import { cache } from "react";
import OrgProvider from "@app/providers/OrgProvider";
import { getCachedOrg } from "@app/lib/api/getCachedOrg";
type GeneralSettingsProps = {
children: React.ReactNode;
@@ -11,6 +13,8 @@ export default async function GeneralSettingsPage({
children,
params
}: GeneralSettingsProps) {
const { orgId } = await params;
const getUser = cache(verifySession);
const user = await getUser();
@@ -18,5 +22,13 @@ export default async function GeneralSettingsPage({
redirect(`/`);
}
return children;
let org = null;
try {
const res = await getCachedOrg(orgId);
org = res.data.data;
} catch {
redirect(`/${orgId}`);
}
return <OrgProvider org={org}>{children}</OrgProvider>;
}
@@ -2,9 +2,11 @@
import { ColumnFilter } from "@app/components/ColumnFilter";
import { DateTimeValue } from "@app/components/DateTimePicker";
import { LogDataTable } from "@app/components/LogDataTable";
import LogRetentionWarning from "@app/components/LogRetentionWarning";
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
import { Button } from "@app/components/ui/button";
import { useEnvContext } from "@app/hooks/useEnvContext";
import { useOrgContext } from "@app/hooks/useOrgContext";
import { toast } from "@app/hooks/useToast";
import { createApiClient } from "@app/lib/api";
import { useTranslations } from "next-intl";
@@ -29,6 +31,8 @@ export default function GeneralPage() {
const { orgId } = useParams();
const searchParams = useSearchParams();
const { org } = useOrgContext();
const [isExporting, startTransition] = useTransition();
const [currentPage, setCurrentPage] = useState<number>(0);
@@ -714,6 +718,13 @@ export default function GeneralPage() {
description={t("requestLogsDescription")}
/>
{org.org.settingsLogRetentionDaysRequest === 0 && (
<LogRetentionWarning
orgId={orgId as string}
logTypeLabel={t("requestLogs")}
/>
)}
<LogDataTable
columns={columns}
data={rows}
@@ -201,7 +201,11 @@ export default async function ResourceAuthPage(props: {
// Inference resources never establish a resource session on the inference
// host. Authenticated users retrieve their virtual API key on the dashboard.
if (isInference && user) {
redirect(keysPath);
if (host !== expectedHost) {
redirect(`/auth/org?redirect=${encodeURIComponent(keysPath)}`);
} else {
redirect(keysPath);
}
}
// After password/pincode/SSO, do not send the browser back to the
+40
View File
@@ -0,0 +1,40 @@
"use client";
import ActionBanner from "@app/components/ActionBanner";
import { Button } from "@app/components/ui/button";
import { ArrowRight, ShieldAlert } from "lucide-react";
import { useTranslations } from "next-intl";
import Link from "next/link";
type LogRetentionWarningProps = {
orgId: string;
logTypeLabel: string;
};
export function LogRetentionWarning({
orgId,
logTypeLabel
}: LogRetentionWarningProps) {
const t = useTranslations();
return (
<ActionBanner
variant="warning"
title={t("logRetentionDisabledWarningTitle")}
titleIcon={<ShieldAlert className="w-5 h-5" />}
description={t("logRetentionDisabledWarningDescription", {
logType: logTypeLabel
})}
actions={
<Link href={`/${orgId}/settings/general/security`}>
<Button variant="outline" className="gap-2">
{t("logRetentionDisabledWarningButton")}
<ArrowRight className="size-4" />
</Button>
</Link>
}
/>
);
}
export default LogRetentionWarning;