{ "openapi": "3.1.1", "info": { "title": "Typhon.Workbench | v1", "version": "1.0.0" }, "servers": [ { "url": "http://localhost:5200/" } ], "paths": { "/api/sessions/{sessionId}/heartbeat": { "get": { "tags": [ "Sessions" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } } }, "/api/fs/home": { "get": { "tags": [ "Files" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileEntryDto" } } } } } } }, "/api/fs/list": { "get": { "tags": [ "Files" ], "parameters": [ { "name": "path", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DirectoryListingDto" } } } } } } }, "/api/fs/stat": { "get": { "tags": [ "Files" ], "parameters": [ { "name": "path", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileEntryDto" } } } } } } }, "/health": { "get": { "tags": [ "Health" ], "responses": { "200": { "description": "OK" } } } }, "/api/sessions/{sessionId}/resources/root": { "get": { "tags": [ "Resources" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "depth", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResourceGraphDto" } } } } } } }, "/api/sessions/{sessionId}/resources/{resourceId}/children": { "get": { "tags": [ "Resources" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "resourceId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceNodeDto" } } } } } } } }, "/api/sessions/file": { "post": { "tags": [ "Sessions" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFileSessionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateFileSessionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateFileSessionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionDto" } } } } } } }, "/api/sessions/attach": { "post": { "tags": [ "Sessions" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAttachSessionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateAttachSessionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateAttachSessionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionDto" } } } } } } }, "/api/sessions/trace": { "post": { "tags": [ "Sessions" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTraceSessionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateTraceSessionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateTraceSessionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionDto" } } } } } } }, "/api/sessions/{id}": { "get": { "tags": [ "Sessions" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionDto" } } } } } }, "delete": { "tags": [ "Sessions" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "CreateAttachSessionRequest": { "required": [ "endpointAddress" ], "type": "object", "properties": { "endpointAddress": { "type": [ "null", "string" ] } } }, "CreateFileSessionRequest": { "required": [ "filePath" ], "type": "object", "properties": { "filePath": { "type": [ "null", "string" ] }, "schemaDllPaths": { "type": [ "null", "array" ], "items": { "type": "string" } } } }, "CreateTraceSessionRequest": { "required": [ "filePath" ], "type": "object", "properties": { "filePath": { "type": [ "null", "string" ] } } }, "DirectoryListingDto": { "required": [ "path", "parent", "entries" ], "type": "object", "properties": { "path": { "type": [ "null", "string" ] }, "parent": { "type": [ "null", "string" ] }, "entries": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/FileEntryDto" } } } }, "FileEntryDto": { "required": [ "name", "fullPath", "kind", "size", "lastWriteUtc", "isSchemaDll" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "fullPath": { "type": [ "null", "string" ] }, "kind": { "type": [ "null", "string" ] }, "size": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int64" }, "lastWriteUtc": { "type": [ "null", "string" ], "format": "date-time" }, "isSchemaDll": { "type": "boolean" } } }, "ResourceGraphDto": { "required": [ "root" ], "type": "object", "properties": { "root": { "$ref": "#/components/schemas/ResourceNodeDto" } } }, "ResourceNodeDto": { "required": [ "id", "name", "type", "entityCount", "children" ], "type": "object", "properties": { "id": { "type": [ "null", "string" ] }, "name": { "type": [ "null", "string" ] }, "type": { "type": [ "null", "string" ] }, "entityCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int32" }, "children": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/ResourceNodeDto" } } } }, "SessionDiagnosticDto": { "required": [ "componentName", "kind", "detail" ], "type": "object", "properties": { "componentName": { "type": [ "null", "string" ] }, "kind": { "type": [ "null", "string" ] }, "detail": { "type": [ "null", "string" ] } } }, "SessionDto": { "required": [ "sessionId", "kind", "state", "filePath" ], "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid" }, "kind": { "type": [ "null", "string" ] }, "state": { "type": [ "null", "string" ] }, "filePath": { "type": [ "null", "string" ] }, "schemaDllPaths": { "type": [ "null", "array" ], "items": { "type": "string" } }, "schemaStatus": { "type": [ "null", "string" ] }, "loadedComponentTypes": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 0 }, "schemaDiagnostics": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/SessionDiagnosticDto" } } } } } }, "tags": [ { "name": "Sessions" }, { "name": "Files" }, { "name": "Health" }, { "name": "Resources" } ] }