Skip to content

Commit efd776e

Browse files
authored
Merging to release-5.12: DX-2362: Fix 163 broken internal anchor fragment links 2 (#1867)
DX-2362: Fix 163 broken internal anchor fragment links 2 (#1867)
1 parent 62098f2 commit efd776e

File tree

89 files changed

+474
-350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+474
-350
lines changed

.github/workflows/check-external-links.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: Check External Links
22

33
on:
4-
pull_request:
4+
schedule:
5+
- cron: '0 9 * * 1' # Every Monday at 09:00 UTC
56
workflow_dispatch:
67

78
permissions:
@@ -20,4 +21,4 @@ jobs:
2021
uses: lycheeverse/lychee-action@v2
2122
with:
2223
args: --config lychee.toml '**/*.md' '**/*.mdx'
23-
fail: true
24+
fail: false

ai-management/ai-studio/analytics.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The primary point of data collection is the **[Proxy & API Gateway](/ai-manageme
2929

3030
1. **Request Details:** Information about the incoming request is captured (e.g., user ID, application ID, requested LLM/route, timestamp).
3131
2. **LLM Interaction:** Details about the interaction with the backend LLM are recorded (e.g., model used, prompt tokens, completion tokens, latency).
32-
3. **Cost Calculation:** Using data from the [Model Pricing System](/ai-management/ai-studio/llm-management#model-pricing), the cost of the interaction is calculated based on token counts.
32+
3. **Cost Calculation:** Using data from the [Model Pricing System](/ai-management/ai-studio/ai-studio#model-pricing), the cost of the interaction is calculated based on token counts.
3333
4. **Tool Usage:** If the interaction involved [Tools](/ai-management/ai-studio/tools), relevant details might be logged (e.g., which tool was called, success/failure).
3434
5. **Chat Context:** For interactions originating from the [Chat Interface](/ai-management/ai-studio/chat-interface), metadata about the chat session might be included.
3535

@@ -89,6 +89,6 @@ Administrators typically access analytics data via dashboards within the Tyk AI
8989
## Integration with Other Systems
9090

9191
* **[Budget Control](/ai-management/ai-studio/budgeting):** Analytics data (specifically cost) is likely used by the Budget Control system to track spending against defined limits.
92-
* **[Model Pricing](/ai-management/ai-studio/llm-management#model-pricing):** The pricing definitions are crucial for calculating the cost metric within the analytics system.
92+
* **[Model Pricing](/ai-management/ai-studio/ai-studio#model-pricing):** The pricing definitions are crucial for calculating the cost metric within the analytics system.
9393

9494
By providing detailed analytics, Tyk AI Studio enables organizations to effectively manage costs, understand usage patterns, and ensure the optimal performance of their AI interactions.

ai-management/ai-studio/budgeting.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ This provides **eventually-accurate** budget control. There may be a slight over
7070
## Integration with Other Systems
7171

7272
* **[Analytics & Monitoring](/ai-management/ai-studio/analytics):** The Analytics system provides the cost data used to track spending against budgets. The current spent amount for a budget period is derived from aggregated analytics data.
73-
* **[Model Pricing](/ai-management/ai-studio/llm-management#model-pricing):** The pricing definitions are essential for the Analytics system to calculate costs accurately, which in turn feeds the Budget Control system.
73+
* **[Model Pricing](/ai-management/ai-studio/ai-studio#model-pricing):** The pricing definitions are essential for the Analytics system to calculate costs accurately, which in turn feeds the Budget Control system.
7474
* **[Notification System](/ai-management/ai-studio/notifications):** Budgets trigger notifications when spending reaches defined thresholds. The system supports alerts at **50%**, **80%**, **90%**, and **100%** of the budget limit. Administrators receive notifications when these thresholds are crossed.
7575

7676
## Benefits

ai-management/ai-studio/plugins/edge-gateway.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,10 @@ Intercepts data before database storage. Use for:
101101
- Real-time monitoring and alerting
102102

103103
**Working Examples**:
104-
- [`examples/plugins/unified/data-collectors/file-analytics-collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/unified/data-collectors/file-analytics-collector) (unified SDK)
105-
- [`examples/plugins/unified/data-collectors/file-budget-collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/unified/data-collectors/file-budget-collector) (unified SDK)
106-
- [`examples/plugins/unified/data-collectors/file-proxy-collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/unified/data-collectors/file-proxy-collector) (unified SDK)
107-
- [`examples/plugins/gateway/elasticsearch_collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/gateway/elasticsearch_collector)
104+
- [`examples/plugins/data-collectors/file-analytics-collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/data-collectors/file-analytics-collector) (unified SDK)
105+
- [`examples/plugins/data-collectors/file-budget-collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/data-collectors/file-budget-collector) (unified SDK)
106+
- [`examples/plugins/data-collectors/file-proxy-collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/data-collectors/file-proxy-collector) (unified SDK)
107+
- [`examples/plugins/gateway/legacy-collectors/elasticsearch_collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/gateway/legacy-collectors/elasticsearch_collector)
108108

109109
### 6. CustomEndpointHandler
110110

@@ -500,7 +500,7 @@ func main() {
500500
}
501501
```
502502

503-
**Working Example**: See [`community/plugins/llm-firewall/`](https://github.com/TykTechnologies/ai-studio/tree/main/community/plugins/llm-firewall) for a production-ready content filtering plugin using this pattern.
503+
**Working Example**: See [`plugins/llm-firewall/`](https://github.com/TykTechnologies/ai-studio-community-plugins/tree/main/plugins/llm-firewall) for a production-ready content filtering plugin using this pattern.
504504

505505
### Example 2: Elasticsearch Data Collector
506506

ai-management/ai-studio/plugins/examples.mdx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The following plugins in `community/plugins/` and `enterprise/plugins/` are **pr
2626

2727
#### LLM Cache
2828

29-
**Path**: [`community/plugins/llm-cache/`](https://github.com/TykTechnologies/ai-studio/tree/main/community/plugins/llm-cache)
29+
**Path**: [`plugins/llm-cache/`](https://github.com/TykTechnologies/ai-studio-community-plugins/tree/main/plugins/llm-cache)
3030

3131
**Capabilities**: PostAuth, Response, StreamComplete, UI, RPC, EdgePayloadReceiver, SessionAware, Config
3232

@@ -51,7 +51,7 @@ The following plugins in `community/plugins/` and `enterprise/plugins/` are **pr
5151

5252
#### LLM Firewall
5353

54-
**Path**: [`community/plugins/llm-firewall/`](https://github.com/TykTechnologies/ai-studio/tree/main/community/plugins/llm-firewall)
54+
**Path**: [`plugins/llm-firewall/`](https://github.com/TykTechnologies/ai-studio-community-plugins/tree/main/plugins/llm-firewall)
5555

5656
**Capabilities**: PreAuth, PostAuth, Config
5757

@@ -75,7 +75,7 @@ The following plugins in `community/plugins/` and `enterprise/plugins/` are **pr
7575

7676
#### GitHub RAG Ingest
7777

78-
**Path**: [`community/plugins/github-rag-ingest/`](https://github.com/TykTechnologies/ai-studio/tree/main/community/plugins/github-rag-ingest)
78+
**Path**: [`plugins/github-rag-ingest/`](https://github.com/TykTechnologies/ai-studio-community-plugins/tree/main/plugins/github-rag-ingest)
7979

8080
**Capabilities**: UI, RPC, Scheduler, SessionAware
8181

@@ -103,8 +103,6 @@ The following plugins in `community/plugins/` and `enterprise/plugins/` are **pr
103103
104104
#### LLM Load Balancer
105105

106-
**Path**: [`enterprise/plugins/llm-load-balancer/`](https://github.com/TykTechnologies/ai-studio/tree/main/enterprise/plugins/llm-load-balancer)
107-
108106
**Capabilities**: PostAuth, Response, UI
109107

110108
**Description**: Intelligent request distribution across multiple LLM backends with health checking and failover.
@@ -115,8 +113,6 @@ The following plugins in `community/plugins/` and `enterprise/plugins/` are **pr
115113

116114
#### Advanced LLM Cache
117115

118-
**Path**: [`enterprise/plugins/advanced-llm-cache/`](https://github.com/TykTechnologies/ai-studio/tree/main/enterprise/plugins/advanced-llm-cache)
119-
120116
**Capabilities**: PostAuth, Response, UI
121117

122118
**Description**: Extended caching with semantic similarity matching, cache invalidation policies, and advanced analytics. Extends the community LLM Cache.
@@ -422,7 +418,7 @@ The following examples in `examples/plugins/` demonstrate specific patterns and
422418

423419
### Elasticsearch Collector
424420

425-
**Path**: [`examples/plugins/gateway/elasticsearch_collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/gateway/elasticsearch_collector)
421+
**Path**: [`examples/plugins/gateway/legacy-collectors/elasticsearch_collector/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/gateway/legacy-collectors/elasticsearch_collector)
426422

427423
**Capabilities**: DataCollector
428424

@@ -500,7 +496,7 @@ The following examples in `examples/plugins/` demonstrate specific patterns and
500496

501497
### File Data Collectors (Unified SDK)
502498

503-
**Path**: [`examples/plugins/unified/data-collectors/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/unified/data-collectors)
499+
**Path**: [`examples/plugins/data-collectors/`](https://github.com/TykTechnologies/ai-studio/tree/main/examples/plugins/data-collectors)
504500

505501
**Capabilities**: DataCollector
506502

ai-management/ai-studio/plugins/studio-ui.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ my-ui-plugin/
9797

9898
### 2. Create Manifest
9999

100-
[server/plugin.manifest.json](https://github.com/TykTechnologies/ai-studio/blob/main/examples/plugins/studio/custom-auth-ui/server/plugin.manifest.json):
100+
[server/manifest.json](https://github.com/TykTechnologies/ai-studio/blob/main/examples/plugins/studio/custom-auth-ui/server/manifest.json):
101101

102102
```json Expandable
103103
{

ai-management/mcps/tyk-docs-mcp.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sidebarTitle: "Tyk Docs MCP"
77

88
## Overview
99

10-
*Tyk Docs MCP* is a tool [MCP server](https://github.com/modelcontext/spec) exposing the Tyk documentation to connected AI assistants. It enables the users of AI assistants "talk to" Tyk's documentation. Instead of searching manually, users can ask natural-language questions — and get answers backed by Tyk official docs. The tool makes AI-assisted support, troubleshooting, and documentation exploration fast and reliable.
10+
*Tyk Docs MCP* is a tool [MCP server](https://modelcontextprotocol.io/introduction) exposing the Tyk documentation to connected AI assistants. It enables the users of AI assistants "talk to" Tyk's documentation. Instead of searching manually, users can ask natural-language questions — and get answers backed by Tyk official docs. The tool makes AI-assisted support, troubleshooting, and documentation exploration fast and reliable.
1111

1212

1313
Here you can see the AI assistant chooses to use Tyk Docs MCP (*Cline* in VS Code) while answering the query *How do I set a rate limit for a Tyk API?*:

api-management/authentication/bearer-token.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ You can use your own identity provider to generate access tokens, then import th
117117
*Dynamic mTLS* became a standalone authentication method in Tyk 5.12.0 and is now more accurately called [Certificate Authentication](/api-management/authentication/certificate-auth)
118118
</Note>
119119

120-
Prior to Tyk 5.12.0, [Dynamic mTLS](/api-management/implement-tls#configuring-mtls-with-a-dynamic-allow-list) was configured via the Auth Token method by setting the `enableClientCertificate` flag (Tyk Classic: `auth_configs.authToken.use_certificate`).
120+
Prior to Tyk 5.12.0, [Dynamic mTLS](/api-management/implement-tls#using-a-dynamic-client-certificate-allow-list) was configured via the Auth Token method by setting the `enableClientCertificate` flag (Tyk Classic: `auth_configs.authToken.use_certificate`).
121121

122122
```json
123123
server:
@@ -129,7 +129,7 @@ server:
129129
enableClientCertificate: true
130130
```
131131

132-
This was later changed to Certificate Authentication, as explained [here](/api-management/implement-tls#dynamc-mtls-problem).
132+
This was later changed to Certificate Authentication, as explained [here](/api-management/implement-tls#legacy-dynamic-mtls-mode).
133133

134134
### Auth Token with Signature
135135

api-management/authentication/jwt-authorization.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ sidebarTitle: "Authorization"
1515

1616
[JSON Web Tokens (JWT)](https://www.jwt.io/introduction) are a popular method for client authentication and authorization that can be used to secure access to your APIs via Tyk's [JWT Auth](/basic-config-and-security/security/authentication-authorization/json-web-tokens) method.
1717

18-
After the JWT signature has been [validated](/basic-config-and-security/security/authentication-authorization/json-web-tokens#signature-validation), Tyk uses the **claims** within the token to determine which security policies (access rights, rate limits and quotas) should be applied to the request.
18+
After the JWT signature has been [validated](/basic-config-and-security/security/authentication-authorization/json-web-tokens), Tyk uses the **claims** within the token to determine which security policies (access rights, rate limits and quotas) should be applied to the request.
1919

2020
From Tyk 5.10, Tyk can perform optional [validation](/api-management/authentication/jwt-claim-validation) of these claims.
2121

api-management/authentication/jwt-claim-validation.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ JWT claims can be categorized into two types:
8585

8686
### How Tyk Processes JWT Claims
8787

88-
After [verifying](/basic-config-and-security/security/authentication-authorization/json-web-tokens#signature-validation) that the token hasn't been tampered with, Tyk processes claims in this order:
88+
After [verifying](/basic-config-and-security/security/authentication-authorization/json-web-tokens) that the token hasn't been tampered with, Tyk processes claims in this order:
8989

9090
1. **Claims Extraction**: All claims from the JWT payload are extracted and stored in [context variables](/api-management/traffic-transformation/request-context-variables) with the format `jwt_claims_CLAIMNAME`. For example, a claim named `role` becomes accessible as `jwt_claims_role`.
9191

0 commit comments

Comments
 (0)