Skip to content

Commit 9a9f90a

Browse files
chore(openapi): add AI analysis endpoints and scopes (#2054)
Adds the AI analysis endpoints of #2044 to the OpenAPI document and the clients, so a provisioner can start and read an analysis Task with generated code. - `AccessScope` in `Devolutions.Gateway.Utils` and in both clients gains `gateway.tasks.recording-ai-analysis.start` and `gateway.tasks.recording-ai-analysis.read`. - `gateway-api.yaml`, `doc/index.adoc`, the .NET client and the TS Angular client gain `PUT` and `GET /jet/tasks/recording-ai-analysis/{task_id}` (in `TasksApi` / `TasksService`) and their models: the request (`AiAnalysisRequest`, `AiProvider`), the Task (`AiAnalysisTask`, `TaskState`, `AiAnalysisParams`), its running, succeeded and failed payloads (`AiAnalysisPayload`), why a Task failed (`AiAnalysisError`, `AiAnalysisErrorKind`, `AiAnalysisBadAnswer`, `AiAnalysisRecoverableError`, `AiAnalysisRecoverableErrorKind`), the tokens it used (`AiAnalysisUsage`) and the 409 body (`AiAnalysisConflict`, `AiAnalysisConflictCode`). - The .NET models print `[redacted]` for a `password` field in `ToString()`, so logging an `AiAnalysisRequest` doesn't show the API key. The template is a copy of the openapi-generator 7.9.0 `modelGeneric.mustache` with that one line changed. The generated files come from `tools/generate-openapi` and openapi-generator 7.9.0, trimmed to the AI analysis parts: the generator also bumps the spec version and lists more `pullRecordingFile` content types in the clients and docs, which master never regenerated. Issue: DGW-462 --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 42960da commit 9a9f90a

66 files changed

Lines changed: 5950 additions & 109 deletions

File tree

Some content is hidden

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

‎devolutions-gateway/openapi/doc/index.adoc‎

Lines changed: 995 additions & 105 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎devolutions-gateway/openapi/dotnet-client/.openapi-generator/FILES‎

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,22 @@ docs/AgentApi.md
99
docs/AgentDomainAdvertisement.md
1010
docs/AgentInfo.md
1111
docs/AgentStatus.md
12+
docs/AiAnalysisBadAnswer.md
13+
docs/AiAnalysisConflict.md
14+
docs/AiAnalysisConflictCode.md
15+
docs/AiAnalysisError.md
16+
docs/AiAnalysisErrorKind.md
17+
docs/AiAnalysisFailedPayload.md
18+
docs/AiAnalysisParams.md
19+
docs/AiAnalysisPayload.md
20+
docs/AiAnalysisRecoverableError.md
21+
docs/AiAnalysisRecoverableErrorKind.md
22+
docs/AiAnalysisRequest.md
23+
docs/AiAnalysisRunningPayload.md
24+
docs/AiAnalysisSucceededPayload.md
25+
docs/AiAnalysisTask.md
26+
docs/AiAnalysisUsage.md
27+
docs/AiProvider.md
1228
docs/AppCredential.md
1329
docs/AppCredentialKind.md
1430
docs/AppTokenContentType.md
@@ -75,6 +91,8 @@ docs/StartTimeRange.md
7591
docs/SubProvisionerKey.md
7692
docs/Subscriber.md
7793
docs/TargetConnectionOptions.md
94+
docs/TaskState.md
95+
docs/TasksApi.md
7896
docs/TrafficApi.md
7997
docs/TrafficEventResponse.md
8098
docs/TransportProtocolResponse.md
@@ -93,6 +111,7 @@ src/Devolutions.Gateway.Client/Api/NetApi.cs
93111
src/Devolutions.Gateway.Client/Api/NetworkMonitoringApi.cs
94112
src/Devolutions.Gateway.Client/Api/PreflightApi.cs
95113
src/Devolutions.Gateway.Client/Api/SessionsApi.cs
114+
src/Devolutions.Gateway.Client/Api/TasksApi.cs
96115
src/Devolutions.Gateway.Client/Api/TrafficApi.cs
97116
src/Devolutions.Gateway.Client/Api/UpdateApi.cs
98117
src/Devolutions.Gateway.Client/Api/WebAppApi.cs
@@ -122,6 +141,22 @@ src/Devolutions.Gateway.Client/Model/AddressFamily.cs
122141
src/Devolutions.Gateway.Client/Model/AgentDomainAdvertisement.cs
123142
src/Devolutions.Gateway.Client/Model/AgentInfo.cs
124143
src/Devolutions.Gateway.Client/Model/AgentStatus.cs
144+
src/Devolutions.Gateway.Client/Model/AiAnalysisBadAnswer.cs
145+
src/Devolutions.Gateway.Client/Model/AiAnalysisConflict.cs
146+
src/Devolutions.Gateway.Client/Model/AiAnalysisConflictCode.cs
147+
src/Devolutions.Gateway.Client/Model/AiAnalysisError.cs
148+
src/Devolutions.Gateway.Client/Model/AiAnalysisErrorKind.cs
149+
src/Devolutions.Gateway.Client/Model/AiAnalysisFailedPayload.cs
150+
src/Devolutions.Gateway.Client/Model/AiAnalysisParams.cs
151+
src/Devolutions.Gateway.Client/Model/AiAnalysisPayload.cs
152+
src/Devolutions.Gateway.Client/Model/AiAnalysisRecoverableError.cs
153+
src/Devolutions.Gateway.Client/Model/AiAnalysisRecoverableErrorKind.cs
154+
src/Devolutions.Gateway.Client/Model/AiAnalysisRequest.cs
155+
src/Devolutions.Gateway.Client/Model/AiAnalysisRunningPayload.cs
156+
src/Devolutions.Gateway.Client/Model/AiAnalysisSucceededPayload.cs
157+
src/Devolutions.Gateway.Client/Model/AiAnalysisTask.cs
158+
src/Devolutions.Gateway.Client/Model/AiAnalysisUsage.cs
159+
src/Devolutions.Gateway.Client/Model/AiProvider.cs
125160
src/Devolutions.Gateway.Client/Model/AppCredential.cs
126161
src/Devolutions.Gateway.Client/Model/AppCredentialKind.cs
127162
src/Devolutions.Gateway.Client/Model/AppTokenContentType.cs
@@ -178,6 +213,7 @@ src/Devolutions.Gateway.Client/Model/StartTimeRange.cs
178213
src/Devolutions.Gateway.Client/Model/SubProvisionerKey.cs
179214
src/Devolutions.Gateway.Client/Model/Subscriber.cs
180215
src/Devolutions.Gateway.Client/Model/TargetConnectionOptions.cs
216+
src/Devolutions.Gateway.Client/Model/TaskState.cs
181217
src/Devolutions.Gateway.Client/Model/TrafficEventResponse.cs
182218
src/Devolutions.Gateway.Client/Model/TransportProtocolResponse.cs
183219
src/Devolutions.Gateway.Client/Model/UpdateProductInfo.cs

‎devolutions-gateway/openapi/dotnet-client/README.md‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ Class | Method | HTTP request | Description
167167
*PreflightApi* | [**PostPreflight**](docs/PreflightApi.md#postpreflight) | **POST** /jet/preflight | Performs a batch of preflight operations
168168
*SessionsApi* | [**GetSessions**](docs/SessionsApi.md#getsessions) | **GET** /jet/sessions | Lists running sessions
169169
*SessionsApi* | [**TerminateSession**](docs/SessionsApi.md#terminatesession) | **POST** /jet/session/{id}/terminate | Terminate forcefully a running session
170+
*TasksApi* | [**GetAiAnalysis**](docs/TasksApi.md#getaianalysis) | **GET** /jet/tasks/recording-ai-analysis/{task_id} | Gets an AI analysis of a recorded session
171+
*TasksApi* | [**StartAiAnalysis**](docs/TasksApi.md#startaianalysis) | **PUT** /jet/tasks/recording-ai-analysis/{task_id} | Starts an AI analysis of a recorded session
170172
*TrafficApi* | [**AckTrafficEvents**](docs/TrafficApi.md#acktrafficevents) | **POST** /jet/traffic/ack | Acknowledge traffic audit events and remove them from the queue
171173
*TrafficApi* | [**ClaimTrafficEvents**](docs/TrafficApi.md#claimtrafficevents) | **POST** /jet/traffic/claim | Claim traffic audit events for processing
172174
*UpdateApi* | [**GetUpdateProducts**](docs/UpdateApi.md#getupdateproducts) | **GET** /jet/update | Retrieve the currently installed version of each Devolutions product.
@@ -187,6 +189,22 @@ Class | Method | HTTP request | Description
187189
- [Model.AgentDomainAdvertisement](docs/AgentDomainAdvertisement.md)
188190
- [Model.AgentInfo](docs/AgentInfo.md)
189191
- [Model.AgentStatus](docs/AgentStatus.md)
192+
- [Model.AiAnalysisBadAnswer](docs/AiAnalysisBadAnswer.md)
193+
- [Model.AiAnalysisConflict](docs/AiAnalysisConflict.md)
194+
- [Model.AiAnalysisConflictCode](docs/AiAnalysisConflictCode.md)
195+
- [Model.AiAnalysisError](docs/AiAnalysisError.md)
196+
- [Model.AiAnalysisErrorKind](docs/AiAnalysisErrorKind.md)
197+
- [Model.AiAnalysisFailedPayload](docs/AiAnalysisFailedPayload.md)
198+
- [Model.AiAnalysisParams](docs/AiAnalysisParams.md)
199+
- [Model.AiAnalysisPayload](docs/AiAnalysisPayload.md)
200+
- [Model.AiAnalysisRecoverableError](docs/AiAnalysisRecoverableError.md)
201+
- [Model.AiAnalysisRecoverableErrorKind](docs/AiAnalysisRecoverableErrorKind.md)
202+
- [Model.AiAnalysisRequest](docs/AiAnalysisRequest.md)
203+
- [Model.AiAnalysisRunningPayload](docs/AiAnalysisRunningPayload.md)
204+
- [Model.AiAnalysisSucceededPayload](docs/AiAnalysisSucceededPayload.md)
205+
- [Model.AiAnalysisTask](docs/AiAnalysisTask.md)
206+
- [Model.AiAnalysisUsage](docs/AiAnalysisUsage.md)
207+
- [Model.AiProvider](docs/AiProvider.md)
190208
- [Model.AppCredential](docs/AppCredential.md)
191209
- [Model.AppCredentialKind](docs/AppCredentialKind.md)
192210
- [Model.AppTokenContentType](docs/AppTokenContentType.md)
@@ -243,6 +261,7 @@ Class | Method | HTTP request | Description
243261
- [Model.SubProvisionerKey](docs/SubProvisionerKey.md)
244262
- [Model.Subscriber](docs/Subscriber.md)
245263
- [Model.TargetConnectionOptions](docs/TargetConnectionOptions.md)
264+
- [Model.TaskState](docs/TaskState.md)
246265
- [Model.TrafficEventResponse](docs/TrafficEventResponse.md)
247266
- [Model.TransportProtocolResponse](docs/TransportProtocolResponse.md)
248267
- [Model.UpdateProductInfo](docs/UpdateProductInfo.md)

‎devolutions-gateway/openapi/dotnet-client/docs/AiAnalysisBadAnswer.md‎

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎devolutions-gateway/openapi/dotnet-client/docs/AiAnalysisConflict.md‎

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎devolutions-gateway/openapi/dotnet-client/docs/AiAnalysisConflictCode.md‎

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎devolutions-gateway/openapi/dotnet-client/docs/AiAnalysisError.md‎

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎devolutions-gateway/openapi/dotnet-client/docs/AiAnalysisErrorKind.md‎

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎devolutions-gateway/openapi/dotnet-client/docs/AiAnalysisFailedPayload.md‎

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎devolutions-gateway/openapi/dotnet-client/docs/AiAnalysisParams.md‎

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)