Add OIDC logout, fix OpenAPI schema types, expose end_session_endpoint
All checks were successful
CI / build (push) Successful in 1m8s
CI / docker (push) Successful in 51s
CI / deploy (push) Successful in 29s

Backend:
- Expose end_session_endpoint from OIDC provider metadata in /auth/oidc/config
- Add getEndSessionEndpoint() to OidcTokenExchanger

Frontend:
- On OIDC logout, redirect to provider's end_session_endpoint to clear SSO session
- Strip /api/v1 prefix from OpenAPI paths to match client baseUrl convention
- Add schema-types.ts with convenience type re-exports from generated schema
- Fix all type imports to use schema-types instead of raw generated schema
- Fix optional field access (processors, children, duration) with proper typing
- Fix AgentInstance.state → status field name

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-14 14:43:18 +01:00
parent 0d82304cf0
commit 50bb22d6f6
15 changed files with 1755 additions and 53 deletions

View File

@@ -4,7 +4,7 @@
*/
export interface paths {
"/api/v1/admin/users/{userId}/roles": {
"/admin/users/{userId}/roles": {
parameters: {
query?: never;
header?: never;
@@ -21,7 +21,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/admin/oidc": {
"/admin/oidc": {
parameters: {
query?: never;
header?: never;
@@ -40,7 +40,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/search/executions": {
"/search/executions": {
parameters: {
query?: never;
header?: never;
@@ -58,7 +58,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/data/metrics": {
"/data/metrics": {
parameters: {
query?: never;
header?: never;
@@ -78,7 +78,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/data/executions": {
"/data/executions": {
parameters: {
query?: never;
header?: never;
@@ -98,7 +98,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/data/diagrams": {
"/data/diagrams": {
parameters: {
query?: never;
header?: never;
@@ -118,7 +118,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/auth/refresh": {
"/auth/refresh": {
parameters: {
query?: never;
header?: never;
@@ -134,7 +134,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/auth/oidc/callback": {
"/auth/oidc/callback": {
parameters: {
query?: never;
header?: never;
@@ -150,7 +150,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/auth/login": {
"/auth/login": {
parameters: {
query?: never;
header?: never;
@@ -166,7 +166,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/{id}/refresh": {
"/agents/{id}/refresh": {
parameters: {
query?: never;
header?: never;
@@ -186,7 +186,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/{id}/heartbeat": {
"/agents/{id}/heartbeat": {
parameters: {
query?: never;
header?: never;
@@ -206,7 +206,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/{id}/commands": {
"/agents/{id}/commands": {
parameters: {
query?: never;
header?: never;
@@ -226,7 +226,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/{id}/commands/{commandId}/ack": {
"/agents/{id}/commands/{commandId}/ack": {
parameters: {
query?: never;
header?: never;
@@ -246,7 +246,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/register": {
"/agents/register": {
parameters: {
query?: never;
header?: never;
@@ -266,7 +266,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/groups/{group}/commands": {
"/agents/groups/{group}/commands": {
parameters: {
query?: never;
header?: never;
@@ -286,7 +286,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/commands": {
"/agents/commands": {
parameters: {
query?: never;
header?: never;
@@ -306,7 +306,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/admin/oidc/test": {
"/admin/oidc/test": {
parameters: {
query?: never;
header?: never;
@@ -323,7 +323,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/search/stats": {
"/search/stats": {
parameters: {
query?: never;
header?: never;
@@ -340,7 +340,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/search/stats/timeseries": {
"/search/stats/timeseries": {
parameters: {
query?: never;
header?: never;
@@ -357,7 +357,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/executions/{executionId}": {
"/executions/{executionId}": {
parameters: {
query?: never;
header?: never;
@@ -374,7 +374,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/executions/{executionId}/processors/{index}/snapshot": {
"/executions/{executionId}/processors/{index}/snapshot": {
parameters: {
query?: never;
header?: never;
@@ -391,7 +391,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/diagrams/{contentHash}/render": {
"/diagrams/{contentHash}/render": {
parameters: {
query?: never;
header?: never;
@@ -411,7 +411,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/auth/oidc/config": {
"/auth/oidc/config": {
parameters: {
query?: never;
header?: never;
@@ -427,7 +427,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents": {
"/agents": {
parameters: {
query?: never;
header?: never;
@@ -447,7 +447,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/agents/{id}/events": {
"/agents/{id}/events": {
parameters: {
query?: never;
header?: never;
@@ -467,7 +467,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/admin/users": {
"/admin/users": {
parameters: {
query?: never;
header?: never;
@@ -484,7 +484,7 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/admin/users/{userId}": {
"/admin/users/{userId}": {
parameters: {
query?: never;
header?: never;