diff --git a/dev-proxy-abstractions/dev-proxy-abstractions.csproj b/dev-proxy-abstractions/dev-proxy-abstractions.csproj
index ed62d1f7..7c73f108 100644
--- a/dev-proxy-abstractions/dev-proxy-abstractions.csproj
+++ b/dev-proxy-abstractions/dev-proxy-abstractions.csproj
@@ -5,7 +5,7 @@
DevProxy.Abstractions
enable
enable
- 0.26.0
+ 0.27.0
false
true
diff --git a/dev-proxy-plugins/Mocks/MockResponsePlugin.cs b/dev-proxy-plugins/Mocks/MockResponsePlugin.cs
index d7e75e19..3562f489 100644
--- a/dev-proxy-plugins/Mocks/MockResponsePlugin.cs
+++ b/dev-proxy-plugins/Mocks/MockResponsePlugin.cs
@@ -28,7 +28,7 @@ public class MockResponseConfiguration
public bool BlockUnmockedRequests { get; set; } = false;
[JsonPropertyName("$schema")]
- public string Schema { get; set; } = "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/mockresponseplugin.mocksfile.schema.json";
+ public string Schema { get; set; } = "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/mockresponseplugin.mocksfile.schema.json";
public IEnumerable Mocks { get; set; } = [];
}
diff --git a/dev-proxy-plugins/dev-proxy-plugins.csproj b/dev-proxy-plugins/dev-proxy-plugins.csproj
index a5e07015..13743241 100644
--- a/dev-proxy-plugins/dev-proxy-plugins.csproj
+++ b/dev-proxy-plugins/dev-proxy-plugins.csproj
@@ -6,7 +6,7 @@
enable
true
OnOutputUpdated
- 0.26.0
+ 0.27.0
false
true
diff --git a/dev-proxy/config/m365-mocks.json b/dev-proxy/config/m365-mocks.json
index b572a686..584496ad 100644
--- a/dev-proxy/config/m365-mocks.json
+++ b/dev-proxy/config/m365-mocks.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/mockresponseplugin.mocksfile.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/mockresponseplugin.mocksfile.schema.json",
"mocks": [
{
"request": {
diff --git a/dev-proxy/config/m365.json b/dev-proxy/config/m365.json
index 9ddc78d6..b37e7a59 100644
--- a/dev-proxy/config/m365.json
+++ b/dev-proxy/config/m365.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/rc.schema.json",
"plugins": [
{
"name": "DevToolsPlugin",
@@ -173,11 +173,11 @@
"https://*.sharepoint-df.*/*_vti_bin/*"
],
"mocksPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/mockresponseplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/mockresponseplugin.schema.json",
"mocksFile": "m365-mocks.json"
},
"graphRandomErrorsPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/graphrandomerrorplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/graphrandomerrorplugin.schema.json",
"allowedErrors": [
429,
500,
@@ -189,28 +189,28 @@
"rate": 50
},
"executionSummaryPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/executionsummaryplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/executionsummaryplugin.schema.json",
"groupBy": "url"
},
"graphMinimalPermissionsPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/graphminimalpermissionsplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/graphminimalpermissionsplugin.schema.json",
"type": "delegated"
},
"cachingGuidance": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/cachingguidanceplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/cachingguidanceplugin.schema.json",
"cacheThresholdSeconds": 5
},
"latencyPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/latencyplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/latencyplugin.schema.json",
"minMs": 200,
"maxMs": 10000
},
"devTools": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/devtoolsplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/devtoolsplugin.schema.json",
"preferredBrowser": "Edge"
},
"rateLimiting": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/ratelimitingplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/ratelimitingplugin.schema.json",
"costPerRequest": 2,
"rateLimit": 120,
"retryAfterSeconds": 5
diff --git a/dev-proxy/config/microsoft-graph-rate-limiting.json b/dev-proxy/config/microsoft-graph-rate-limiting.json
index f6f4cd1e..d8a2949e 100644
--- a/dev-proxy/config/microsoft-graph-rate-limiting.json
+++ b/dev-proxy/config/microsoft-graph-rate-limiting.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/rc.schema.json",
"plugins": [
{
"name": "RateLimitingPlugin",
diff --git a/dev-proxy/config/microsoft-graph.json b/dev-proxy/config/microsoft-graph.json
index a9ee6bf2..e1b1e531 100644
--- a/dev-proxy/config/microsoft-graph.json
+++ b/dev-proxy/config/microsoft-graph.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/rc.schema.json",
"plugins": [
{
"name": "GraphSelectGuidancePlugin",
@@ -67,7 +67,7 @@
"https://microsoftgraph.chinacloudapi.cn/beta/*"
],
"graphRandomErrorsPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/graphrandomerrorplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/graphrandomerrorplugin.schema.json",
"allowedErrors": [
429,
500,
@@ -79,7 +79,7 @@
"rate": 50
},
"executionSummaryPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/executionsummaryplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/executionsummaryplugin.schema.json",
"groupBy": "url"
},
"labelMode": "text",
diff --git a/dev-proxy/config/spo-csom-types.json b/dev-proxy/config/spo-csom-types.json
index ed6e40be..12163a9d 100644
--- a/dev-proxy/config/spo-csom-types.json
+++ b/dev-proxy/config/spo-csom-types.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/minimalcsompermissions.types.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/minimalcsompermissions.types.schema.json",
"types": {
"268004ae-ef6b-4e9b-8425-127220d84719": "Microsoft.Online.SharePoint.TenantAdministration.Tenant",
"3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a": "Microsoft.SharePoint.Client.RequestContext"
diff --git a/dev-proxy/dev-proxy.csproj b/dev-proxy/dev-proxy.csproj
index 83cb73c1..55ede3f5 100644
--- a/dev-proxy/dev-proxy.csproj
+++ b/dev-proxy/dev-proxy.csproj
@@ -8,7 +8,7 @@
enable
LICENSE
Dev Proxy
- 0.26.0
+ 0.27.0
.NET Foundation
Dev Proxy
devproxy
diff --git a/dev-proxy/devproxy-errors.json b/dev-proxy/devproxy-errors.json
index ae3e56a3..4aa54ee2 100644
--- a/dev-proxy/devproxy-errors.json
+++ b/dev-proxy/devproxy-errors.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/genericrandomerrorplugin.errorsfile.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/genericrandomerrorplugin.errorsfile.schema.json",
"errors": [
{
"request": {
diff --git a/dev-proxy/devproxyrc.json b/dev-proxy/devproxyrc.json
index e41af704..1aced215 100644
--- a/dev-proxy/devproxyrc.json
+++ b/dev-proxy/devproxyrc.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/rc.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
@@ -17,7 +17,7 @@
"https://jsonplaceholder.typicode.com/*"
],
"genericRandomErrorPlugin": {
- "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.26.0/genericrandomerrorplugin.schema.json",
+ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/genericrandomerrorplugin.schema.json",
"errorsFile": "devproxy-errors.json",
"rate": 50
},
diff --git a/install-beta.iss b/install-beta.iss
index a448cfac..d4044c26 100644
--- a/install-beta.iss
+++ b/install-beta.iss
@@ -3,8 +3,8 @@
#define MyAppName "Dev Proxy Beta"
; for local use only. In production replaced by a command line arg
-#define MyAppSetupExeName "dev-proxy-installer-win-x64-0.26.0-beta.1"
-#define MyAppVersion "0.26.0-beta.1"
+#define MyAppSetupExeName "dev-proxy-installer-win-x64-0.27.0-beta.1"
+#define MyAppVersion "0.27.0-beta.1"
#define MyAppPublisher ".NET Foundation"
#define MyAppURL "https://aka.ms/devproxy"
diff --git a/install.iss b/install.iss
index a75d6651..4fe1cfa4 100644
--- a/install.iss
+++ b/install.iss
@@ -3,8 +3,8 @@
#define MyAppName "Dev Proxy"
; for local use only. In production replaced by a command line arg
-#define MyAppSetupExeName "dev-proxy-installer-win-x64-0.26.0"
-#define MyAppVersion "0.26.0"
+#define MyAppSetupExeName "dev-proxy-installer-win-x64-0.27.0"
+#define MyAppVersion "0.27.0"
#define MyAppPublisher ".NET Foundation"
#define MyAppURL "https://aka.ms/devproxy"
diff --git a/schemas/v0.27.0/apicenterminimalpermissionsplugin.schema.json b/schemas/v0.27.0/apicenterminimalpermissionsplugin.schema.json
new file mode 100644
index 00000000..91c7e360
--- /dev/null
+++ b/schemas/v0.27.0/apicenterminimalpermissionsplugin.schema.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy ApiCenterMinimalPermissionsPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "type": "string"
+ },
+ "serviceName": {
+ "type": "string"
+ },
+ "subscriptionId": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceGroupName",
+ "serviceName",
+ "subscriptionId"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/apicenteronboardingplugin.schema.json b/schemas/v0.27.0/apicenteronboardingplugin.schema.json
new file mode 100644
index 00000000..d2919c92
--- /dev/null
+++ b/schemas/v0.27.0/apicenteronboardingplugin.schema.json
@@ -0,0 +1,31 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy ApiCenterOnboardingPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "createApicEntryForNewApis": {
+ "type": "boolean"
+ },
+ "resourceGroupName": {
+ "type": "string"
+ },
+ "serviceName": {
+ "type": "string"
+ },
+ "subscriptionId": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceGroupName",
+ "serviceName",
+ "subscriptionId"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/apicenterproductionversionplugin.schema.json b/schemas/v0.27.0/apicenterproductionversionplugin.schema.json
new file mode 100644
index 00000000..eb6674cd
--- /dev/null
+++ b/schemas/v0.27.0/apicenterproductionversionplugin.schema.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy ApiCenterProductionVersionPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "type": "string"
+ },
+ "serviceName": {
+ "type": "string"
+ },
+ "subscriptionId": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceGroupName",
+ "serviceName",
+ "subscriptionId"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/authplugin.schema.json b/schemas/v0.27.0/authplugin.schema.json
new file mode 100644
index 00000000..61935d96
--- /dev/null
+++ b/schemas/v0.27.0/authplugin.schema.json
@@ -0,0 +1,115 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy AuthPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "apiKey": {
+ "type": "object",
+ "properties": {
+ "allowedKeys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "in": {
+ "type": "string",
+ "enum": [
+ "header",
+ "query",
+ "cookie"
+ ]
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "in",
+ "name"
+ ]
+ }
+ }
+ },
+ "required": [
+ "allowedKeys",
+ "parameters"
+ ]
+ },
+ "oauth2": {
+ "type": "object",
+ "properties": {
+ "metadataUrl": {
+ "type": "string"
+ },
+ "allowedApplications": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedAudiences": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedPrincipals": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedTenants": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validateLifetime": {
+ "type": "boolean"
+ },
+ "validateSigningKey": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "metadataUrl"
+ ]
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "apiKey",
+ "oauth2"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/cachingguidanceplugin.schema.json b/schemas/v0.27.0/cachingguidanceplugin.schema.json
new file mode 100644
index 00000000..ad400218
--- /dev/null
+++ b/schemas/v0.27.0/cachingguidanceplugin.schema.json
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy CachingGuidancePlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "cacheThresholdSeconds": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/crudapiplugin.apifile.schema.json b/schemas/v0.27.0/crudapiplugin.apifile.schema.json
new file mode 100644
index 00000000..286a3c2c
--- /dev/null
+++ b/schemas/v0.27.0/crudapiplugin.apifile.schema.json
@@ -0,0 +1,135 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "CRUD API plugin API definition",
+ "description": "API definition for use with the CRUD API Dev Proxy plugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "baseUrl": {
+ "type": "string"
+ },
+ "dataFile": {
+ "type": "string"
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "action": {
+ "type": "string",
+ "enum": [
+ "create",
+ "getAll",
+ "getOne",
+ "getMany",
+ "merge",
+ "update",
+ "delete"
+ ]
+ },
+ "url": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE"
+ ]
+ },
+ "auth": {
+ "type": "string",
+ "enum": [
+ "none",
+ "entra"
+ ]
+ },
+ "entraAuthConfig": {
+ "type": "object",
+ "properties": {
+ "audience": {
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validateLifetime": {
+ "type": "boolean"
+ },
+ "validateSigningKey": {
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "auth": {
+ "type": "string",
+ "enum": [
+ "none",
+ "entra"
+ ]
+ },
+ "entraAuthConfig": {
+ "type": "object",
+ "properties": {
+ "audience": {
+ "type": "string"
+ },
+ "issuer": {
+ "type": "string"
+ },
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validateLifetime": {
+ "type": "boolean"
+ },
+ "validateSigningKey": {
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "required": [
+ "baseUrl",
+ "dataFile",
+ "actions"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/crudapiplugin.schema.json b/schemas/v0.27.0/crudapiplugin.schema.json
new file mode 100644
index 00000000..60801197
--- /dev/null
+++ b/schemas/v0.27.0/crudapiplugin.schema.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy CrudApiPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "apiFile": {
+ "type": "string"
+ },
+ "required": [
+ "apiFile"
+ ]
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/devtoolsplugin.schema.json b/schemas/v0.27.0/devtoolsplugin.schema.json
new file mode 100644
index 00000000..923bf478
--- /dev/null
+++ b/schemas/v0.27.0/devtoolsplugin.schema.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy DevToolsPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "preferredBrowser": {
+ "type": "string",
+ "enum": [
+ "Edge",
+ "EdgeDev",
+ "Chrome"
+ ]
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/executionsummaryplugin.schema.json b/schemas/v0.27.0/executionsummaryplugin.schema.json
new file mode 100644
index 00000000..5ca0c757
--- /dev/null
+++ b/schemas/v0.27.0/executionsummaryplugin.schema.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy ExecutionSummaryPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "groupBy": {
+ "type": "string",
+ "enum": [
+ "url",
+ "messageType"
+ ]
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/genericrandomerrorplugin.errorsfile.schema.json b/schemas/v0.27.0/genericrandomerrorplugin.errorsfile.schema.json
new file mode 100644
index 00000000..58b49c62
--- /dev/null
+++ b/schemas/v0.27.0/genericrandomerrorplugin.errorsfile.schema.json
@@ -0,0 +1,91 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy GenericRandomErrorPlugin responses",
+ "description": "Error responses for the Dev Proxy GenericRandomErrorPlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "request": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE",
+ "HEAD",
+ "OPTIONS",
+ "CONNECT",
+ "TRACE"
+ ]
+ },
+ "bodyFragment": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "responses": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "type": [
+ "object",
+ "array",
+ "string"
+ ]
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "request",
+ "responses"
+ ]
+ }
+ }
+ },
+ "required": [
+ "errors"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/genericrandomerrorplugin.schema.json b/schemas/v0.27.0/genericrandomerrorplugin.schema.json
new file mode 100644
index 00000000..a7a77c63
--- /dev/null
+++ b/schemas/v0.27.0/genericrandomerrorplugin.schema.json
@@ -0,0 +1,26 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy GenericRandomErrorPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "errorsFile": {
+ "type": "string"
+ },
+ "rate": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "retryAfterInSeconds": {
+ "type": "integer",
+ "minimum": 1
+ }
+ },
+ "required": [
+ "errorsFile"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/graphconnectornotificationplugin.schema.json b/schemas/v0.27.0/graphconnectornotificationplugin.schema.json
new file mode 100644
index 00000000..60726488
--- /dev/null
+++ b/schemas/v0.27.0/graphconnectornotificationplugin.schema.json
@@ -0,0 +1,25 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy GraphConnectorNotificationPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "audience": {
+ "type": "string"
+ },
+ "mockFile": {
+ "type": "string"
+ },
+ "tenant": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "audience",
+ "mockFile",
+ "tenant"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/graphminimalpermissionsguidanceplugin.schema.json b/schemas/v0.27.0/graphminimalpermissionsguidanceplugin.schema.json
new file mode 100644
index 00000000..9b92d429
--- /dev/null
+++ b/schemas/v0.27.0/graphminimalpermissionsguidanceplugin.schema.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy GraphMinimalPermissionsGuidancePlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "permissionsToIgnore": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/graphminimalpermissionsplugin.schema.json b/schemas/v0.27.0/graphminimalpermissionsplugin.schema.json
new file mode 100644
index 00000000..baa278cc
--- /dev/null
+++ b/schemas/v0.27.0/graphminimalpermissionsplugin.schema.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy GraphMinimalPermissionsPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Delegated",
+ "Application"
+ ]
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/graphrandomerrorplugin.schema.json b/schemas/v0.27.0/graphrandomerrorplugin.schema.json
new file mode 100644
index 00000000..0740d000
--- /dev/null
+++ b/schemas/v0.27.0/graphrandomerrorplugin.schema.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy GraphRandomErrorPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "allowedErrors": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "minimum": 400,
+ "maximum": 599
+ }
+ },
+ "rate": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "retryAfterInSeconds": {
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/httpfilegeneratorplugin.schema.json b/schemas/v0.27.0/httpfilegeneratorplugin.schema.json
new file mode 100644
index 00000000..cfaa16ec
--- /dev/null
+++ b/schemas/v0.27.0/httpfilegeneratorplugin.schema.json
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy HttpFileGeneratorPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "includeOptionsRequests": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/latencyplugin.schema.json b/schemas/v0.27.0/latencyplugin.schema.json
new file mode 100644
index 00000000..9aaf5506
--- /dev/null
+++ b/schemas/v0.27.0/latencyplugin.schema.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy LatencyPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "minMs": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "maxMs": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 10000
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/minimalcsompermissions.types.schema.json b/schemas/v0.27.0/minimalcsompermissions.types.schema.json
new file mode 100644
index 00000000..5bd078cb
--- /dev/null
+++ b/schemas/v0.27.0/minimalcsompermissions.types.schema.json
@@ -0,0 +1,58 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "SharePoint CSOM Types and Permissions Schema",
+ "description": "Schema for defining SharePoint CSOM types, return types, and their required permissions",
+ "type": "object",
+ "required": ["types", "returnTypes", "actions"],
+ "properties": {
+ "$schema": {
+ "type": "string",
+ "description": "Reference to the JSON schema definition"
+ },
+ "types": {
+ "type": "object",
+ "description": "Mapping of GUIDs to their corresponding SharePoint CSOM types",
+ "patternProperties": {
+ "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$": {
+ "type": "string",
+ "description": "Fully qualified name of a SharePoint CSOM type"
+ }
+ }
+ },
+ "returnTypes": {
+ "type": "object",
+ "description": "Mapping of method signatures to their return types",
+ "patternProperties": {
+ "^[A-Za-z0-9.]+\\.[A-Za-z0-9.]+$": {
+ "type": "string",
+ "description": "Fully qualified name of the return type"
+ }
+ }
+ },
+ "actions": {
+ "type": "object",
+ "description": "Mapping of method signatures to their required permissions",
+ "patternProperties": {
+ "^[A-Za-z0-9.]+\\.[A-Za-z0-9.]+$": {
+ "type": "object",
+ "properties": {
+ "delegated": {
+ "type": "array",
+ "description": "Required delegated permissions",
+ "items": {
+ "type": "string"
+ }
+ },
+ "application": {
+ "type": "array",
+ "description": "Required application permissions",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/schemas/v0.27.0/minimalcsompermissionsplugin.schema.json b/schemas/v0.27.0/minimalcsompermissionsplugin.schema.json
new file mode 100644
index 00000000..7ca0d848
--- /dev/null
+++ b/schemas/v0.27.0/minimalcsompermissionsplugin.schema.json
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MinimalCsomPermissionsPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "typesFilePath": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/minimalpermissionsguidanceplugin.schema.json b/schemas/v0.27.0/minimalpermissionsguidanceplugin.schema.json
new file mode 100644
index 00000000..33b1d3ae
--- /dev/null
+++ b/schemas/v0.27.0/minimalpermissionsguidanceplugin.schema.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MinimalPermissionsGuidancePlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "apiSpecsFolderPath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "apiSpecsFolderPath"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/minimalpermissionsplugin.schema.json b/schemas/v0.27.0/minimalpermissionsplugin.schema.json
new file mode 100644
index 00000000..1bea7e4d
--- /dev/null
+++ b/schemas/v0.27.0/minimalpermissionsplugin.schema.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MinimalPermissionsPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "apiSpecsFolderPath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "apiSpecsFolderPath"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/mockrequestplugin.mockfile.schema.json b/schemas/v0.27.0/mockrequestplugin.mockfile.schema.json
new file mode 100644
index 00000000..f690cb8f
--- /dev/null
+++ b/schemas/v0.27.0/mockrequestplugin.mockfile.schema.json
@@ -0,0 +1,62 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MockRequestPlugin mocks",
+ "description": "Mock request for the Dev Proxy MockRequestPlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "request": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE",
+ "HEAD",
+ "OPTIONS",
+ "CONNECT",
+ "TRACE"
+ ]
+ },
+ "body": {
+ "type": "object"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ },
+ "required": [
+ "request"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/mockrequestplugin.schema.json b/schemas/v0.27.0/mockrequestplugin.schema.json
new file mode 100644
index 00000000..dbb68208
--- /dev/null
+++ b/schemas/v0.27.0/mockrequestplugin.schema.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MockRequestPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "mockFile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "mockFile"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/mockresponseplugin.mocksfile.schema.json b/schemas/v0.27.0/mockresponseplugin.mocksfile.schema.json
new file mode 100644
index 00000000..ea1e9bff
--- /dev/null
+++ b/schemas/v0.27.0/mockresponseplugin.mocksfile.schema.json
@@ -0,0 +1,91 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MockResponsePlugin mocks",
+ "description": "Mocks for the Dev Proxy MockResponsePlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "mocks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "request": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE",
+ "HEAD",
+ "OPTIONS",
+ "CONNECT",
+ "TRACE"
+ ]
+ },
+ "nth": {
+ "type": "integer"
+ },
+ "bodyFragment": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "response": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "type": [
+ "object",
+ "array",
+ "string"
+ ]
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "request",
+ "response"
+ ]
+ }
+ }
+ },
+ "required": [
+ "mocks"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/mockresponseplugin.schema.json b/schemas/v0.27.0/mockresponseplugin.schema.json
new file mode 100644
index 00000000..a030f02f
--- /dev/null
+++ b/schemas/v0.27.0/mockresponseplugin.schema.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy MockResponsePlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "mocksFile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "mocksFile"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/openapispecgeneratorplugin.schema.json b/schemas/v0.27.0/openapispecgeneratorplugin.schema.json
new file mode 100644
index 00000000..7bb00ce6
--- /dev/null
+++ b/schemas/v0.27.0/openapispecgeneratorplugin.schema.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy OpenApiSpecGeneratorPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "includeOptionsRequests": {
+ "type": "boolean"
+ },
+ "specVersion": {
+ "type": "string",
+ "enum": [
+ "v2_0",
+ "v3_0"
+ ]
+ },
+ "specFormat": {
+ "type": "string",
+ "enum": [
+ "Json",
+ "Yaml"
+ ]
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/ratelimitingplugin.customresponsefile.schema.json b/schemas/v0.27.0/ratelimitingplugin.customresponsefile.schema.json
new file mode 100644
index 00000000..11e6ecbd
--- /dev/null
+++ b/schemas/v0.27.0/ratelimitingplugin.customresponsefile.schema.json
@@ -0,0 +1,40 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy RateLimitingPlugin response",
+ "description": "Mock for the Dev Proxy RateLimitingPlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type":"string"
+ },
+ "body": {
+ "type": [
+ "object",
+ "array",
+ "string"
+ ]
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/ratelimitingplugin.schema.json b/schemas/v0.27.0/ratelimitingplugin.schema.json
new file mode 100644
index 00000000..2f05ae09
--- /dev/null
+++ b/schemas/v0.27.0/ratelimitingplugin.schema.json
@@ -0,0 +1,57 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy RateLimitingPlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "headerLimit": {
+ "type": "string"
+ },
+ "headerRemaining": {
+ "type": "string"
+ },
+ "headerReset": {
+ "type": "string"
+ },
+ "headerRetryAfter": {
+ "type": "string"
+ },
+ "costPerRequest": {
+ "type": "integer",
+ "minimum": 1
+ },
+ "resetTimeWindowSeconds": {
+ "type": "integer",
+ "minimum": 1
+ },
+ "warningThresholdPercent": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "rateLimit": {
+ "type": "integer",
+ "minimum": 1
+ },
+ "whenLimitExceeded": {
+ "type": "string",
+ "enum": [
+ "Throttle",
+ "Custom"
+ ]
+ },
+ "resetFormat": {
+ "type": "string",
+ "enum": [
+ "SecondsLeft",
+ "UtcEpochSeconds"
+ ]
+ },
+ "customResponseFile": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/rc.schema.json b/schemas/v0.27.0/rc.schema.json
new file mode 100644
index 00000000..52d87b3d
--- /dev/null
+++ b/schemas/v0.27.0/rc.schema.json
@@ -0,0 +1,150 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy config",
+ "description": "Configuration for Dev Proxy",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "apiPort": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 65535
+ },
+ "asSystemProxy": {
+ "type": "boolean"
+ },
+ "filterByHeaders": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ },
+ "ipAddress": {
+ "type": "string",
+ "format": "ipv4"
+ },
+ "languageModel": {
+ "type": "object",
+ "properties": {
+ "cacheResponses": {
+ "type": "boolean"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "model": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ }
+ },
+ "logLevel": {
+ "type": "string",
+ "enum": [
+ "debug",
+ "information",
+ "warning",
+ "error",
+ "trace"
+ ]
+ },
+ "newVersionNotification": {
+ "type": "string",
+ "enum": [
+ "none",
+ "stable",
+ "beta"
+ ]
+ },
+ "plugins": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "pluginPath": {
+ "type": "string"
+ },
+ "configSection": {
+ "type": "string"
+ },
+ "urlsToWatch": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "enabled",
+ "pluginPath"
+ ]
+ }
+ },
+ "port": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 65535
+ },
+ "record": {
+ "type": "boolean"
+ },
+ "showSkipMessages": {
+ "type": "boolean"
+ },
+ "urlsToWatch": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validateSchemas": {
+ "type": "boolean"
+ },
+ "watchPids": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "watchProcessNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "showTimestamps": {
+ "type": "boolean"
+ },
+ "timeout": {
+ "type": "number",
+ "minimum": 1
+ }
+ },
+ "required": [
+ "plugins"
+ ],
+ "additionalProperties": true
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/rewriteplugin.rewritesfile.schema.json b/schemas/v0.27.0/rewriteplugin.rewritesfile.schema.json
new file mode 100644
index 00000000..17456776
--- /dev/null
+++ b/schemas/v0.27.0/rewriteplugin.rewritesfile.schema.json
@@ -0,0 +1,44 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy RewritePlugin rewrite rules",
+ "description": "Rewrite rules for the Dev Proxy RewritePlugin",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "rewrites": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "in": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "pattern": "^.+$"
+ }
+ },
+ "required": ["url"]
+ },
+ "out": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "pattern": "^.*$"
+ }
+ },
+ "required": ["url"]
+ }
+ },
+ "required": ["in", "out"]
+ }
+ }
+ },
+ "required": [
+ "rewrites"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/schemas/v0.27.0/rewriteplugin.schema.json b/schemas/v0.27.0/rewriteplugin.schema.json
new file mode 100644
index 00000000..5d1fe770
--- /dev/null
+++ b/schemas/v0.27.0/rewriteplugin.schema.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Dev Proxy RewritePlugin config schema",
+ "type": "object",
+ "properties": {
+ "$schema": {
+ "type": "string"
+ },
+ "rewritesFile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "rewritesFile"
+ ],
+ "additionalProperties": false
+}
\ No newline at end of file
diff --git a/scripts/Dockerfile_local b/scripts/Dockerfile_local
index 3a4b6f0f..9bcbcf2e 100644
--- a/scripts/Dockerfile_local
+++ b/scripts/Dockerfile_local
@@ -1,6 +1,6 @@
FROM ubuntu:24.04
-ARG DEVPROXY_VERSION=0.26.0-beta.4
+ARG DEVPROXY_VERSION=0.27.0-beta.1
ARG USERNAME=devproxy
ENV DEVPROXY_VERSION=${DEVPROXY_VERSION}
diff --git a/scripts/local-setup.ps1 b/scripts/local-setup.ps1
index 23d6cf36..908b4e29 100644
--- a/scripts/local-setup.ps1
+++ b/scripts/local-setup.ps1
@@ -2,7 +2,7 @@
# The .NET Foundation licenses this file to you under the MIT license.
# See the LICENSE file in the project root for more information.
-$versionString = "v0.26.0-beta.1"
+$versionString = "v0.27.0-beta.1"
$version = $versionString.Substring(1)
$isBeta = $version.Contains("-beta")
diff --git a/scripts/version.ps1 b/scripts/version.ps1
index cc1b827b..b24ea09f 100644
--- a/scripts/version.ps1
+++ b/scripts/version.ps1
@@ -2,4 +2,4 @@
# The .NET Foundation licenses this file to you under the MIT license.
# See the LICENSE file in the project root for more information.
-$script:versionString = "v0.26.0-beta.4"
+$script:versionString = "v0.27.0-beta.1"