diff --git a/CHANGELOG.md b/CHANGELOG.md index dc3c7cd..d037f68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Code lens: Support for JSONC files - Snippets: Added `devproxy-plugin-language-model-failure` - LanguageModelFailurePlugin instance - Snippets: Added `devproxy-plugin-language-model-failure-config` - LanguageModelFailurePlugin config section +- Snippets: Added `devproxy-plugin-language-model-rate-limiting` - LanguageModelRateLimitingPlugin instance +- Snippets: Added `devproxy-plugin-language-model-rate-limiting-config` - LanguageModelRateLimitingPlugin config section ### Changed: diff --git a/README.md b/README.md index 17c9a66..a1f3cf1 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,8 @@ See [Dev Proxy MCP Server](https://github.com/dev-proxy-tools/mcp) for more info | `devproxy-plugin-latency-config` | LatencyPlugin config section | | `devproxy-plugin-language-model-failure` | LanguageModelFailurePlugin instance | | `devproxy-plugin-language-model-failure-config` | LanguageModelFailurePlugin config section | +| `devproxy-plugin-language-model-rate-limiting` | LanguageModelRateLimitingPlugin instance | +| `devproxy-plugin-language-model-rate-limiting-config` | LanguageModelRateLimitingPlugin config section | | `devproxy-plugin-minimal-csom-permissions` | MinimalCsomPermissionsPlugin instance | | `devproxy-plugin-minimal-csom-permissions-config` | MinimalCsomPermissionsPlugin config section | | `devproxy-plugin-minimal-permissions` | MinimalPermissionsPlugin instance | diff --git a/src/constants.ts b/src/constants.ts index 227362c..8b35883 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -118,6 +118,13 @@ export const pluginSnippets: PluginSnippets = { required: true, } }, + LanguageModelRateLimitingPlugin: { + instance: 'devproxy-plugin-language-model-rate-limiting', + config: { + name: 'devproxy-plugin-language-model-rate-limiting-config', + required: true, + } + }, LatencyPlugin: { instance: 'devproxy-plugin-latency', config: { @@ -301,6 +308,10 @@ export const pluginDocs: PluginDocs = { name: 'Language Model Failure Plugin', url: 'https://learn.microsoft.com/microsoft-cloud/dev/dev-proxy/technical-reference/languagemodelfailureplugin', }, + LanguageModelRateLimitingPlugin: { + name: 'Language Model Rate Limiting Plugin', + url: 'https://learn.microsoft.com/microsoft-cloud/dev/dev-proxy/technical-reference/languagemodelratelimitingplugin', + }, LatencyPlugin: { name: 'Latency Plugin', url: 'https://learn.microsoft.com/microsoft-cloud/dev/dev-proxy/technical-reference/latencyplugin', @@ -381,4 +392,4 @@ export const pluginDocs: PluginDocs = { name: 'Plain Text Reporter', url: 'https://learn.microsoft.com/microsoft-cloud/dev/dev-proxy/technical-reference/plaintextreporter', } -}; \ No newline at end of file +}; diff --git a/src/snippets.json b/src/snippets.json index dea1e1c..6e48e78 100644 --- a/src/snippets.json +++ b/src/snippets.json @@ -733,6 +733,32 @@ ], "description": "LanguageModelFailurePlugin config section" }, + "LanguageModelRateLimitingPlugin": { + "prefix": "devproxy-plugin-language-model-rate-limiting", + "body": [ + "{", + "\t\"name\": \"LanguageModelRateLimitingPlugin\",", + "\t\"enabled\": true,", + "\t\"pluginPath\": \"~appFolder/plugins/DevProxy.Plugins.dll\",", + "\t\"configSection\": \"languageModelRateLimitingPlugin\"", + "}" + ], + "description": "LanguageModelRateLimitingPlugin instance" + }, + "LanguageModelRateLimitingPluginConfig": { + "prefix": "devproxy-plugin-language-model-rate-limiting-config", + "body": [ + "\"languageModelRateLimitingPlugin\": {", + "\t\"\\$schema\": \"https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/languagemodelratelimitingplugin.schema.json\",", + "\t\"promptTokenLimit\": 5000,", + "\t\"completionTokenLimit\": 5000,", + "\t\"resetTimeWindowSeconds\": 60,", + "\t\"whenLimitExceeded\": \"Throttle\",", + "\t\"headerRetryAfter\": \"retry-after\"", + "}" + ], + "description": "LanguageModelRateLimitingPlugin config section" + }, "MinimalCsomPermissionsPlugin": { "prefix": "devproxy-plugin-minimal-csom-permissions", "body": [