{ "openapi": "3.1.1", "info": { "title": "Typhon.Workbench | v1", "version": "1.0.0" }, "servers": [ { "url": "http://127.0.0.1:5212/" } ], "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/sessions/{sessionId}/resources/stream": { "get": { "tags": [ "Resources" ], "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/{sessionId}/schema/components": { "get": { "tags": [ "Schema" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ComponentSummaryDto" } } } } } } } }, "/api/sessions/{sessionId}/schema/components/{typeName}": { "get": { "tags": [ "Schema" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "typeName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComponentSchemaDto" } } } } } } }, "/api/sessions/{sessionId}/schema/components/{typeName}/archetypes": { "get": { "tags": [ "Schema" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "typeName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ArchetypeInfoDto" } } } } } } } }, "/api/sessions/{sessionId}/schema/components/{typeName}/indexes": { "get": { "tags": [ "Schema" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "typeName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IndexInfoDto" } } } } } } } }, "/api/sessions/{sessionId}/schema/components/{typeName}/systems": { "get": { "tags": [ "Schema" ], "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "typeName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemRelationshipsResponseDto" } } } } } } }, "/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": { "ArchetypeInfoDto": { "required": [ "archetypeId", "componentTypes", "entityCount", "componentSize", "storageMode", "chunkCount", "chunkCapacity", "occupancyPct" ], "type": "object", "properties": { "archetypeId": { "type": [ "null", "string" ] }, "componentTypes": { "type": [ "null", "array" ], "items": { "type": "string" } }, "entityCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int64" }, "componentSize": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "storageMode": { "type": [ "null", "string" ] }, "chunkCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "chunkCapacity": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "occupancyPct": { "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$", "type": [ "number", "string" ], "format": "double" } } }, "ComponentSchemaDto": { "required": [ "typeName", "fullName", "storageSize", "totalSize", "allowMultiple", "revision", "fields" ], "type": "object", "properties": { "typeName": { "type": [ "null", "string" ] }, "fullName": { "type": [ "null", "string" ] }, "storageSize": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "totalSize": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "allowMultiple": { "type": "boolean" }, "revision": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "fields": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/FieldDto" } } } }, "ComponentSummaryDto": { "required": [ "typeName", "fullName", "storageSize", "fieldCount", "archetypeCount", "entityCount", "indexCount" ], "type": "object", "properties": { "typeName": { "type": [ "null", "string" ] }, "fullName": { "type": [ "null", "string" ] }, "storageSize": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "fieldCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "archetypeCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "null", "integer", "string" ], "format": "int32" }, "entityCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "indexCount": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } } }, "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" } }, "truncated": { "type": "boolean", "default": false } } }, "FieldDto": { "required": [ "name", "typeName", "typeFullName", "offset", "size", "fieldId", "isIndexed", "indexAllowsMultiple" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "typeName": { "type": [ "null", "string" ] }, "typeFullName": { "type": [ "null", "string" ] }, "offset": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "size": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "fieldId": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "isIndexed": { "type": "boolean" }, "indexAllowsMultiple": { "type": "boolean" } } }, "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" } } }, "IndexInfoDto": { "required": [ "fieldName", "fieldOffset", "fieldSize", "allowsMultiple", "indexType" ], "type": "object", "properties": { "fieldName": { "type": [ "null", "string" ] }, "fieldOffset": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "fieldSize": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "allowsMultiple": { "type": "boolean" }, "indexType": { "type": [ "null", "string" ] } } }, "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" } } } }, "SystemRelationshipDto": { "required": [ "systemName", "systemType", "access", "queryViewSchema", "changeFilterTypes" ], "type": "object", "properties": { "systemName": { "type": [ "null", "string" ] }, "systemType": { "type": [ "null", "string" ] }, "access": { "type": [ "null", "string" ] }, "queryViewSchema": { "type": [ "null", "array" ], "items": { "type": "string" } }, "changeFilterTypes": { "type": [ "null", "array" ], "items": { "type": "string" } } } }, "SystemRelationshipsResponseDto": { "required": [ "runtimeHosted", "systems" ], "type": "object", "properties": { "runtimeHosted": { "type": "boolean" }, "systems": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/SystemRelationshipDto" } } } } } }, "tags": [ { "name": "Sessions" }, { "name": "Resources" }, { "name": "Files" }, { "name": "Health" }, { "name": "Schema" } ] }