diff --git a/Directory.Packages.props b/Directory.Packages.props
index bd67a4c1..b1cec0ad 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -24,7 +24,9 @@
+
+
diff --git a/Integrations/MCP/README.md b/Integrations/MCP/README.md
new file mode 100644
index 00000000..c5b0b8da
--- /dev/null
+++ b/Integrations/MCP/README.md
@@ -0,0 +1,121 @@
+# ScriptBee MCP Server
+
+This is the official Model Context Protocol (MCP) server for ScriptBee, built using the standard `.NET` MCP SDK.
+It exposes ScriptBee capabilities (project management, context loading, script execution, and analysis) to AI clients like Claude Desktop, Claude Code, GitHub Copilot, or VS Code.
+
+## Running the Server
+
+You can run the server in two modes:
+
+### HTTP Transport
+```bash
+cd src/ScriptBee.MCP
+dotnet run
+```
+The server will start on `http://localhost:5094` (or the configured port) and expose the `/mcp` endpoint for SSE connections.
+
+For clients that support connecting to a remote MCP server natively via a URL (such as GitHub Copilot / VS Code via its MCP extension), you can configure the connection directly in your `mcp.json` like this:
+
+```json
+{
+ "mcpServers": {
+ "scriptbee-mcp-server": {
+ "url": "http://localhost:5094/mcp",
+ "type": "http"
+ }
+ }
+}
+```
+*(Replace `5094` with the actual port the MCP server is running on)*
+
+### Stdio Transport (for IDEs and Claude Desktop)
+```bash
+cd src/ScriptBee.MCP
+dotnet run -- --stdio
+```
+
+## Configuring Client Applications
+
+### VS Code, Claude Code, or GitHub Copilot
+
+You can add this server to your local tools using an `mcp.json` configuration file (or the IDE's corresponding settings file).
+
+Create or update your `mcp.json` with the following. You can either point to the compiled executable (recommended) or run it from source using `dotnet run`.
+
+**Option 1: Using the compiled executable (Recommended)**
+After building or publishing the project, point directly to the output executable.
+
+```json
+{
+ "mcpServers": {
+ "scriptbee": {
+ "command": "C:/Absolute/Path/To/ScriptBee.MCP.exe",
+ "args": [
+ "--stdio"
+ ]
+ }
+ }
+}
+```
+
+**Option 2: Running from source (Development)**
+```json
+{
+ "mcpServers": {
+ "scriptbee": {
+ "command": "dotnet",
+ "args": [
+ "run",
+ "--project",
+ "C:/Absolute/Path/To/ScriptBee.MCP.csproj",
+ "--",
+ "--stdio"
+ ]
+ }
+ }
+}
+```
+
+### Claude Desktop
+
+Add the following to your Claude Desktop `claude_desktop_config.json` file (usually located at `%APPDATA%\Claude\claude_desktop_config.json` on Windows):
+
+```json
+{
+ "mcpServers": {
+ "scriptbee": {
+ "command": "C:/Absolute/Path/To/ScriptBee.MCP.exe",
+ "args": [
+ "--stdio"
+ ]
+ }
+ }
+}
+```
+
+## Exposed Capabilities
+
+### Tools
+- **ProjectTools**: Manage projects (`GetProjects`, `CreateProject`, etc.)
+- **ScriptTools**: Manage scripts and project files
+- **InstanceTools**: Manage execution instances
+- **ContextTools**: Load and link data contexts, search the context graph
+- **AnalysisTools**: Trigger script analyses and fetch results/logs
+
+### Resources
+- **Script Source Code**: Read script contents (`scriptbee://projects/{projectId}/scripts/{scriptId}/content`)
+- **Analysis Console Output**: Read analysis logs (`scriptbee://projects/{projectId}/analyses/{analysisId}/console`)
+- **Instance Context**: View the loaded context graph summary (`scriptbee://projects/{projectId}/instances/{instanceId}/context`)
+
+### Prompts
+- **explore-project**: Guides the AI to give an overview of a project.
+- **load-and-link-context**: Guides the AI through the context ingestion workflow.
+- **run-analysis**: A workflow for the AI to run an analysis and monitor it until completion.
+
+## Configuration
+
+The ScriptBee MCP server can be configured via command-line arguments or environment variables. Below are the available options:
+
+| Option | Description | Default |
+| ------------- | ------------------------------------- | ----------------------- |
+| GatewayApiUrl | The URL of the ScriptBee Gateway API. | `http://localhost:5117` |
diff --git a/Integrations/MCP/ScriptBee.MCP/Generated/GatewayApi.g.cs b/Integrations/MCP/ScriptBee.MCP/Generated/GatewayApi.g.cs
new file mode 100644
index 00000000..679374d6
--- /dev/null
+++ b/Integrations/MCP/ScriptBee.MCP/Generated/GatewayApi.g.cs
@@ -0,0 +1,2801 @@
+//
+// This code was generated by Refitter.
+//
+
+
+using Refit;
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+using System.Threading;
+using System.Threading.Tasks;
+using ScriptBee.MCP.Gateway.Generated.Contracts;
+
+#nullable enable annotations
+
+namespace ScriptBee.MCP.Gateway.Generated
+{
+ /// ScriptBee Gateway API
+ [System.CodeDom.Compiler.GeneratedCode("Refitter", "2.0.0.0")]
+ public partial interface IGatewayApi
+ {
+ /// Create a new project
+ /// Creates a new project with the specified name and description.
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// Created
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 409
+ /// Conflict
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, application/problem+json", "Content-Type: application/json")]
+ [Post("/api/projects")]
+ Task ProjectsPost([Body] CreateProjectCommand body, CancellationToken cancellationToken = default);
+
+ /// Get all projects
+ /// Retrieves a list of all existing projects with their basic details.
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/projects")]
+ Task ProjectsGet(CancellationToken cancellationToken = default);
+
+ /// Delete a project
+ /// Deletes a project and all its associated data, including scripts and artifacts.
+ /// projectId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ /// Thrown when the request returns a non-success status code.
+ [Delete("/api/projects/{projectId}")]
+ Task ProjectsDelete(string projectId, CancellationToken cancellationToken = default);
+
+ /// Get project by ID
+ /// Retrieves detailed information about a specific project by its unique identifier.
+ /// projectId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}")]
+ Task ProjectsGet2(string projectId, CancellationToken cancellationToken = default);
+
+ /// Create a new script
+ /// Creates a new script within the specified project.
+ /// projectId parameter
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// Created
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ /// -
+ /// 409
+ /// Conflict
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, application/problem+json", "Content-Type: application/json")]
+ [Post("/api/projects/{projectId}/scripts")]
+ Task ScriptsPost(string projectId, [Body] CreateScriptCommand body, CancellationToken cancellationToken = default);
+
+ /// Get all project scripts
+ /// Retrieves a list of all scripts available in the specified project.
+ /// projectId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/scripts")]
+ Task ScriptsGet(string projectId, CancellationToken cancellationToken = default);
+
+ /// Delete a project structure node
+ /// Deletes a file or directory (node) from the project structure.
+ /// projectId parameter
+ /// fileId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Delete("/api/projects/{projectId}/files/{fileId}")]
+ Task FilesDelete(string projectId, string fileId, CancellationToken cancellationToken = default);
+
+ /// Get project script by ID
+ /// Retrieves metadata about a specific project script.
+ /// projectId parameter
+ /// scriptId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/scripts/{scriptId}")]
+ Task ScriptsGet2(string projectId, string scriptId, CancellationToken cancellationToken = default);
+
+ /// Update project script metadata
+ /// Updates the metadata (name, parameters) of a specific project script.
+ /// projectId parameter
+ /// scriptId parameter
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, application/problem+json", "Content-Type: application/json")]
+ [Patch("/api/projects/{projectId}/scripts/{scriptId}")]
+ Task ScriptsPatch(string projectId, string scriptId, [Body] UpdateScriptCommand body, CancellationToken cancellationToken = default);
+
+ /// Get project script content
+ /// Retrieves the actual code content of a project script.
+ /// projectId parameter
+ /// scriptId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, text/plain")]
+ [Get("/api/projects/{projectId}/scripts/{scriptId}/content")]
+ Task ContentGet(string projectId, string scriptId, CancellationToken cancellationToken = default);
+
+ /// Update project script content
+ /// Updates the actual code content of a specific project script.
+ /// projectId parameter
+ /// scriptId parameter
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json", "Content-Type: text/plain")]
+ [Put("/api/projects/{projectId}/scripts/{scriptId}/content")]
+ Task ContentPut(string projectId, string scriptId, [Body] StreamPart body, CancellationToken cancellationToken = default);
+
+ /// Get project files
+ /// Retrieves a paginated list of files and directories within the specified project.
+ /// projectId parameter
+ /// parentId parameter
+ /// offset parameter
+ /// limit parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/files")]
+ Task FilesGet(string projectId, [Query] string parentId, [Query] int? offset, [Query] int? limit, CancellationToken cancellationToken = default);
+
+ /// Get available script types
+ /// Retrieves a list of all script languages and types supported by the project.
+ /// projectId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/structure/available-script-types")]
+ Task AvailableScriptTypes(string projectId, CancellationToken cancellationToken = default);
+
+ /// Get all available plugins
+ /// Retrieves a list of all available plugins from the marketplace.
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/plugins")]
+ Task PluginsGet(CancellationToken cancellationToken = default);
+
+ /// Get plugin by ID
+ /// Retrieves detailed information about a specific plugin from the marketplace by its unique identifier.
+ /// id parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/plugins/{id}")]
+ Task PluginsGet2(string id, CancellationToken cancellationToken = default);
+
+ /// Get installed plugins for a project
+ /// Retrieves a list of all plugins currently installed in the specified project.
+ /// projectId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/plugins")]
+ Task PluginsGet3(string projectId, CancellationToken cancellationToken = default);
+
+ /// Upload and install a plugin
+ /// Uploads a plugin ZIP file and installs it into the project.
+ /// projectId parameter
+ /// file parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ /// -
+ /// 500
+ /// Internal Server Error
+ ///
+ ///
+ ///
+ [Multipart]
+ [Headers("Accept: application/json")]
+ [Post("/api/projects/{projectId}/plugins")]
+ Task PluginsPost(string projectId, StreamPart file, CancellationToken cancellationToken = default);
+
+ /// Get installed plugin details
+ /// Retrieves detailed information about a specific plugin installed in a project.
+ /// projectId parameter
+ /// pluginId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/plugins/{pluginId}")]
+ Task PluginsGet4(string projectId, string pluginId, CancellationToken cancellationToken = default);
+
+ /// Install a plugin from marketplace
+ /// Installs a specific version of a plugin from the marketplace into the project.
+ /// projectId parameter
+ /// pluginId parameter
+ /// version parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ /// -
+ /// 500
+ /// Internal Server Error
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Put("/api/projects/{projectId}/plugins/{pluginId}")]
+ Task PluginsPut(string projectId, string pluginId, [Query] string version, CancellationToken cancellationToken = default);
+
+ /// Uninstall a plugin from a project
+ /// Uninstalls a specific plugin version from the specified project.
+ /// projectId parameter
+ /// pluginId parameter
+ /// version parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Delete("/api/projects/{projectId}/plugins/{pluginId}")]
+ Task PluginsDelete(string projectId, string pluginId, [Query] string version, CancellationToken cancellationToken = default);
+
+ /// Get gateway plugins
+ /// Retrieves a list of all plugins installed at the gateway level.
+ /// kind parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/plugins/gateway")]
+ Task GatewayGet([Query] string kind, CancellationToken cancellationToken = default);
+
+ /// Install gateway plugin
+ /// Installs a new plugin at the gateway level.
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Content-Type: application/json")]
+ [Post("/api/plugins/gateway")]
+ Task GatewayPost([Body] InstallGatewayPluginRequest body, CancellationToken cancellationToken = default);
+
+ /// Uninstall gateway plugin
+ /// Uninstalls a plugin from the gateway level.
+ /// pluginId parameter
+ /// version parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ /// Thrown when the request returns a non-success status code.
+ [Delete("/api/plugins/gateway/{pluginId}")]
+ Task GatewayDelete(string pluginId, [Query] string version, CancellationToken cancellationToken = default);
+
+ /// Get the manifest for UI plugins
+ /// Retrieves a map with the installed UI plugin remotes and the associated remoteEntry.js file.
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/plugins/gateway/ui/manifest")]
+ Task> Manifest(CancellationToken cancellationToken = default);
+
+ /// Upload files for a loader
+ /// Uploads one or more files to be used by a specific loader in the project.
+ /// projectId parameter
+ /// loaderId parameter
+ /// files parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Multipart]
+ [Headers("Accept: application/json")]
+ [Put("/api/projects/{projectId}/loaders/{loaderId}/files")]
+ Task Files(string projectId, string loaderId, IEnumerable files, CancellationToken cancellationToken = default);
+
+ /// Add a new project instance
+ /// Allocates and adds a new execution instance for the specified project.
+ /// projectId parameter
+ /// The cancellation token to cancel the request.
+ /// Created
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Post("/api/projects/{projectId}/instances")]
+ Task InstancesPost(string projectId, CancellationToken cancellationToken = default);
+
+ /// Get all project instances
+ /// Retrieves a list of all instances associated with the specified project.
+ /// projectId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/instances")]
+ Task InstancesGet(string projectId, CancellationToken cancellationToken = default);
+
+ /// Get project instance by ID
+ /// Retrieves detailed information about a specific project instance.
+ /// projectId parameter
+ /// instanceId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/instances/{instanceId}")]
+ Task InstancesGet2(string projectId, string instanceId, CancellationToken cancellationToken = default);
+
+ /// Remove a project instance
+ /// Deallocates and removes a specific project instance.
+ /// projectId parameter
+ /// instanceId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Delete("/api/projects/{projectId}/instances/{instanceId}")]
+ Task InstancesDelete(string projectId, string instanceId, CancellationToken cancellationToken = default);
+
+ /// Get available linkers for an instance
+ /// Retrieves a list of all linkers available for the specified project instance.
+ /// projectId parameter
+ /// instanceId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/instances/{instanceId}/linkers")]
+ Task Linkers(string projectId, string instanceId, CancellationToken cancellationToken = default);
+
+ /// Get available loaders for an instance
+ /// Retrieves a list of all loaders available for the specified project instance.
+ /// projectId parameter
+ /// instanceId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ /// Thrown when the request returns a non-success status code.
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/instances/{instanceId}/loaders")]
+ Task Loaders(string projectId, string instanceId, CancellationToken cancellationToken = default);
+
+ /// Get current instance context
+ /// Retrieves the current data context for the specified project instance.
+ /// projectId parameter
+ /// instanceId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/instances/{instanceId}/context")]
+ Task Context(string projectId, string instanceId, CancellationToken cancellationToken = default);
+
+ /// Search context nodes
+ /// Searches for context nodes based on a query string.
+ /// projectId parameter
+ /// instanceId parameter
+ /// query parameter
+ /// offset parameter
+ /// limit parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/instances/{instanceId}/context/graph")]
+ Task Graph(string projectId, string instanceId, [Query] string query, [Query] int? offset, [Query] int? limit, CancellationToken cancellationToken = default);
+
+ /// Get node neighbors
+ /// Retrieves the immediate neighbors and edges for a specific context node.
+ /// projectId parameter
+ /// instanceId parameter
+ /// nodeId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/instances/{instanceId}/context/graph/neighbors")]
+ Task Neighbors(string projectId, string instanceId, [Query] string nodeId, CancellationToken cancellationToken = default);
+
+ /// Clear instance context
+ /// Clears all loaded data from the current context of the specified project instance.
+ /// projectId parameter
+ /// instanceId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Post("/api/projects/{projectId}/instances/{instanceId}/context/clear")]
+ Task Clear(string projectId, string instanceId, CancellationToken cancellationToken = default);
+
+ /// Generate classes for instance context
+ /// Generates script classes based on the current data context for the specified project instance and returns them as a stream.
+ /// projectId parameter
+ /// instanceId parameter
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json", "Content-Type: application/json")]
+ [Post("/api/projects/{projectId}/instances/{instanceId}/context/generate-classes")]
+ Task GenerateClasses(string projectId, string instanceId, [Body] ProjectContextGenerateClassesRequest body, CancellationToken cancellationToken = default);
+
+ /// Link instance context
+ /// Links the data context of the specified project instance using the provided linkers.
+ /// projectId parameter
+ /// instanceId parameter
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, application/problem+json", "Content-Type: application/json")]
+ [Post("/api/projects/{projectId}/instances/{instanceId}/context/link")]
+ Task Link(string projectId, string instanceId, [Body] LinkContextCommand body, CancellationToken cancellationToken = default);
+
+ /// Load instance context
+ /// Loads data into the context of the specified project instance using the provided loaders.
+ /// projectId parameter
+ /// instanceId parameter
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, application/problem+json", "Content-Type: application/json")]
+ [Post("/api/projects/{projectId}/instances/{instanceId}/context/load")]
+ Task Load(string projectId, string instanceId, [Body] LoadContextCommand body, CancellationToken cancellationToken = default);
+
+ /// Reload instance context
+ /// Reloads the data context for the specified project instance, refreshing all linked and loaded data.
+ /// projectId parameter
+ /// instanceId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Post("/api/projects/{projectId}/instances/{instanceId}/context/reload")]
+ Task Reload(string projectId, string instanceId, CancellationToken cancellationToken = default);
+
+ /// Delete analysis
+ /// Deletes a specific analysis and all its associated artifacts.
+ /// projectId parameter
+ /// analysisId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ /// Thrown when the request returns a non-success status code.
+ [Delete("/api/projects/{projectId}/analyses/{analysisId}")]
+ Task AnalysesDelete(string projectId, string analysisId, CancellationToken cancellationToken = default);
+
+ /// Get analysis status by ID
+ /// Retrieves the current status and details of a specific analysis.
+ /// projectId parameter
+ /// analysisId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}")]
+ Task AnalysesGet(string projectId, string analysisId, CancellationToken cancellationToken = default);
+
+ /// Download individual analysis result file
+ /// Downloads a specific file generated as a result of an analysis.
+ /// projectId parameter
+ /// analysisId parameter
+ /// fileId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}/results/files/{fileId}")]
+ Task FilesGet2(string projectId, string analysisId, string fileId, CancellationToken cancellationToken = default);
+
+ /// Download all analysis result files
+ /// Downloads a ZIP archive containing all files generated as a result of an analysis.
+ /// projectId parameter
+ /// analysisId parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}/results/files/download")]
+ Task Download(string projectId, string analysisId, CancellationToken cancellationToken = default);
+
+ /// Get console analysis results
+ /// Retrieves the console output generated during the analysis.
+ /// projectId parameter
+ /// analysisId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}/results/console")]
+ Task Console(string projectId, string analysisId, CancellationToken cancellationToken = default);
+
+ /// Get analysis error results
+ /// Retrieves a list of errors that occurred during the analysis execution.
+ /// projectId parameter
+ /// analysisId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}/results/errors")]
+ Task Errors(string projectId, string analysisId, CancellationToken cancellationToken = default);
+
+ /// Get analysis file results
+ /// Retrieves a list of files generated as a result of the analysis.
+ /// projectId parameter
+ /// analysisId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}/results/files")]
+ Task FilesGet3(string projectId, string analysisId, CancellationToken cancellationToken = default);
+
+ /// Get analysis script content
+ /// Retrieves the actual code content of a script used in a specific analysis.
+ /// projectId parameter
+ /// analysisId parameter
+ /// scriptId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, text/plain")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}/scripts/{scriptId}/content")]
+ Task Content(string projectId, string analysisId, string scriptId, CancellationToken cancellationToken = default);
+
+ /// Get analysis script metadata
+ /// Retrieves metadata about a script used in a specific analysis, such as its name and type.
+ /// projectId parameter
+ /// analysisId parameter
+ /// scriptId parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses/{analysisId}/scripts/{scriptId}")]
+ Task Scripts(string projectId, string analysisId, string scriptId, CancellationToken cancellationToken = default);
+
+ /// Get all analyses for a project
+ /// Retrieves a list of all analyses performed within the specified project.
+ /// projectId parameter
+ /// sort parameter
+ /// The cancellation token to cancel the request.
+ /// OK
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json")]
+ [Get("/api/projects/{projectId}/analyses")]
+ Task AnalysesGet2(string projectId, [Query] string sort, CancellationToken cancellationToken = default);
+
+ /// Trigger a new analysis
+ /// Triggers a new analysis for a specific project instance using a given script.
+ /// projectId parameter
+ /// instanceId parameter
+ /// body parameter
+ /// The cancellation token to cancel the request.
+ /// A that completes when the request is finished.
+ ///
+ /// Thrown when the request returns a non-success status code:
+ ///
+ ///
+ /// Status
+ /// Description
+ ///
+ /// -
+ /// 400
+ /// Bad Request
+ ///
+ /// -
+ /// 404
+ /// Not Found
+ ///
+ ///
+ ///
+ [Headers("Accept: application/json, application/problem+json", "Content-Type: application/json")]
+ [Post("/api/projects/{projectId}/instances/{instanceId}/analyses")]
+ Task Analyses(string projectId, string instanceId, [Body] TriggerAnalysisCommand body, CancellationToken cancellationToken = default);
+
+
+ }
+
+}
+
+//----------------------
+//
+// Generated using the NSwag toolchain v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)
+//
+//----------------------
+
+#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended."
+#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword."
+#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?'
+#pragma warning disable 612 // Disable "CS0612 '...' is obsolete"
+#pragma warning disable 649 // Disable "CS0649 Field is never assigned to, and will always have its default value null"
+#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ...
+#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..."
+#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'"
+#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant"
+#pragma warning disable 8600 // Disable "CS8600 Converting null literal or possible null value to non-nullable type"
+#pragma warning disable 8602 // Disable "CS8602 Dereference of a possibly null reference"
+#pragma warning disable 8603 // Disable "CS8603 Possible null reference return"
+#pragma warning disable 8604 // Disable "CS8604 Possible null reference argument for parameter"
+#pragma warning disable 8625 // Disable "CS8625 Cannot convert null literal to non-nullable reference type"
+#pragma warning disable 8765 // Disable "CS8765 Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes)."
+
+namespace ScriptBee.MCP.Gateway.Generated.Contracts
+{
+ using System = global::System;
+
+
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class AllAvailablePluginsResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class AnalysisError
+ {
+
+ [JsonPropertyName("message")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Message { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class AnalysisInfo
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("instanceId")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string InstanceId { get; set; }
+
+ [JsonPropertyName("status")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Status { get; set; }
+
+ [JsonPropertyName("scriptId")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string ScriptId { get; set; }
+
+ [JsonPropertyName("scriptFileId")]
+ public string ScriptFileId { get; set; }
+
+ [JsonPropertyName("creationDate")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public System.DateTimeOffset CreationDate { get; set; }
+
+ [JsonPropertyName("finishedDate")]
+ public System.DateTimeOffset? FinishedDate { get; set; }
+
+ [JsonPropertyName("errors")]
+ public ICollection Errors { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class AnalysisListResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class AnalysisResultRunError
+ {
+
+ [JsonPropertyName("title")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Title { get; set; }
+
+ [JsonPropertyName("message")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Message { get; set; }
+
+ [JsonPropertyName("severity")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Severity { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class BundleItem
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ContextGraphEdge
+ {
+
+ [JsonPropertyName("source")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Source { get; set; }
+
+ [JsonPropertyName("target")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Target { get; set; }
+
+ [JsonPropertyName("label")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Label { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ContextGraphNode
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("label")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Label { get; set; }
+
+ [JsonPropertyName("type")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Type { get; set; }
+
+ [JsonPropertyName("loader")]
+ public string Loader { get; set; }
+
+ [JsonPropertyName("properties")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public object Properties { get; set; } = new object();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ContextGraphResponse
+ {
+
+ [JsonPropertyName("nodes")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Nodes { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ [JsonPropertyName("edges")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Edges { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Command used to create a new project.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class CreateProjectCommand
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class CreateProjectResponse
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("creationDate")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public System.DateTimeOffset CreationDate { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class CreateScriptCommand
+ {
+
+ [JsonPropertyName("path")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Path { get; set; }
+
+ [JsonPropertyName("language")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Language { get; set; }
+
+ [JsonPropertyName("parameters")]
+ public ICollection Parameters { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ExtensionPoint
+ {
+
+ [JsonPropertyName("kind")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Kind { get; set; }
+
+ [JsonPropertyName("language")]
+ public string Language { get; set; }
+
+ [JsonPropertyName("extension")]
+ public string Extension { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class FileData
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GatewayPluginsResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetAnalysisResultConsole
+ {
+
+ [JsonPropertyName("content")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Content { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetAnalysisResultFile
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("type")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Type { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetAnalysisResultFileList
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetAnalysisResultRunErrors
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetAvailableScriptTypesResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetLinkersResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetLoadersResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetProjectContextResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetProjectFilesResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ [JsonPropertyName("totalCount")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ [System.ComponentModel.DataAnnotations.RegularExpression(@"^-?(?:0|[1-9]\d*)$")]
+ public long TotalCount { get; set; }
+
+ [JsonPropertyName("offset")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ [System.ComponentModel.DataAnnotations.RegularExpression(@"^-?(?:0|[1-9]\d*)$")]
+ public int Offset { get; set; }
+
+ [JsonPropertyName("limit")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ [System.ComponentModel.DataAnnotations.RegularExpression(@"^-?(?:0|[1-9]\d*)$")]
+ public int Limit { get; set; }
+
+ [JsonPropertyName("hasNextPage")]
+ public bool HasNextPage { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetProjectInstancesListResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetProjectListResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class GetScriptDataResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class HttpValidationProblemDetails
+ {
+
+ [JsonPropertyName("type")]
+ public string Type { get; set; }
+
+ [JsonPropertyName("title")]
+ public string Title { get; set; }
+
+ [JsonPropertyName("status")]
+ [System.ComponentModel.DataAnnotations.RegularExpression(@"^-?(?:0|[1-9]\d*)$")]
+ public int? Status { get; set; }
+
+ [JsonPropertyName("detail")]
+ public string Detail { get; set; }
+
+ [JsonPropertyName("instance")]
+ public string Instance { get; set; }
+
+ [JsonPropertyName("errors")]
+ public IDictionary> Errors { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class IFormFileCollection : System.Collections.ObjectModel.Collection
+ {
+
+ }
+
+ ///
+ /// Represents an installed gateway plugin with its ID and version.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledGatewayPlugin
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("version")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Version { get; set; }
+
+ [JsonPropertyName("extensionPoints")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection ExtensionPoints { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Represents the extension points of an installed gateway plugin.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledGatewayPluginExtensionPoint
+ {
+
+ [JsonPropertyName("kind")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Kind { get; set; }
+
+ [JsonPropertyName("remoteName")]
+ public string RemoteName { get; set; }
+
+ [JsonPropertyName("remoteEntry")]
+ public string RemoteEntry { get; set; }
+
+ [JsonPropertyName("outlets")]
+ public ICollection Outlets { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Base class for outlets of an installed gateway plugin extension point.
+ ///
+ [JsonInheritanceConverter(typeof(InstalledGatewayPluginExtensionPointOutletBase), "type")]
+ [JsonInheritanceAttribute("top-navigation-bar", typeof(InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginTopNavigationBarOutlet))]
+ [JsonInheritanceAttribute("side-panel", typeof(InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginSidePanelOutlet))]
+ [JsonInheritanceAttribute("file-previewer", typeof(InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginFilePreviewerOutlet))]
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledGatewayPluginExtensionPointOutletBase
+ {
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Represents a component for file previewer of output results.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginFilePreviewerOutlet : InstalledGatewayPluginExtensionPointOutletBase
+ {
+
+ [JsonPropertyName("type")]
+public InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginFilePreviewerOutletType Type { get; set; }
+
+ [JsonPropertyName("exposedModule")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string ExposedModule { get; set; }
+
+ [JsonPropertyName("label")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Label { get; set; }
+
+ [JsonPropertyName("componentName")]
+ public string ComponentName { get; set; }
+
+ [JsonPropertyName("icon")]
+ public string Icon { get; set; }
+
+ [JsonPropertyName("supportedFileExtensions")]
+ public ICollection SupportedFileExtensions { get; set; }
+
+ }
+
+ ///
+ /// Represents an element from the Side Hamburger Panel with route.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginSidePanelOutlet : InstalledGatewayPluginExtensionPointOutletBase
+ {
+
+ [JsonPropertyName("type")]
+public InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginSidePanelOutletType Type { get; set; }
+
+ [JsonPropertyName("exposedModule")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string ExposedModule { get; set; }
+
+ [JsonPropertyName("label")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Label { get; set; }
+
+ [JsonPropertyName("path")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Path { get; set; }
+
+ [JsonPropertyName("nested")]
+ public bool? Nested { get; set; }
+
+ [JsonPropertyName("componentName")]
+ public string ComponentName { get; set; }
+
+ [JsonPropertyName("icon")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Icon { get; set; }
+
+ }
+
+ ///
+ /// Represents an element from the Top Navigation Bar with route.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginTopNavigationBarOutlet : InstalledGatewayPluginExtensionPointOutletBase
+ {
+
+ [JsonPropertyName("type")]
+public InstalledGatewayPluginExtensionPointOutletBaseInstalledGatewayPluginTopNavigationBarOutletType Type { get; set; }
+
+ [JsonPropertyName("exposedModule")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string ExposedModule { get; set; }
+
+ [JsonPropertyName("label")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Label { get; set; }
+
+ [JsonPropertyName("path")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Path { get; set; }
+
+ [JsonPropertyName("nested")]
+ public bool? Nested { get; set; }
+
+ [JsonPropertyName("componentName")]
+ public string ComponentName { get; set; }
+
+ }
+
+ ///
+ /// Represents an installed plugin with its ID and version.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledPlugin
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("version")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Version { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstalledPluginsResponse
+ {
+
+ [JsonPropertyName("data")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Data { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class InstallGatewayPluginRequest
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("version")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Version { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class LinkContextCommand
+ {
+
+ [JsonPropertyName("linkerIds")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection LinkerIds { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Linker
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class LoadContextCommand
+ {
+
+ [JsonPropertyName("loaderIds")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection LoaderIds { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Loader
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class MarketplacePlugin
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("type")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Type { get; set; }
+
+ [JsonPropertyName("description")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Description { get; set; }
+
+ [JsonPropertyName("authors")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Authors { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ [JsonPropertyName("versions")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Versions { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class MarketplacePluginWithDetails
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("type")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Type { get; set; }
+
+ [JsonPropertyName("description")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Description { get; set; }
+
+ [JsonPropertyName("authors")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Authors { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ [JsonPropertyName("versions")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Versions { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ [JsonPropertyName("bundleItems")]
+ public ICollection BundleItems { get; set; }
+
+ [JsonPropertyName("sourceCode")]
+ public string SourceCode { get; set; }
+
+ [JsonPropertyName("manifest")]
+ public string Manifest { get; set; }
+
+ [JsonPropertyName("site")]
+ public string Site { get; set; }
+
+ [JsonPropertyName("license")]
+ public string License { get; set; }
+
+ [JsonPropertyName("tags")]
+ public ICollection Tags { get; set; }
+
+ [JsonPropertyName("technologies")]
+ public ICollection Technologies { get; set; }
+
+ [JsonPropertyName("extensionPoints")]
+ public ICollection ExtensionPoints { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class PluginVersion
+ {
+
+ [JsonPropertyName("url")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Url { get; set; }
+
+ [JsonPropertyName("version")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Version { get; set; }
+
+ [JsonPropertyName("manifestUrl")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string ManifestUrl { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ProblemDetails
+ {
+
+ [JsonPropertyName("type")]
+ public string Type { get; set; }
+
+ [JsonPropertyName("title")]
+ public string Title { get; set; }
+
+ [JsonPropertyName("status")]
+ [System.ComponentModel.DataAnnotations.RegularExpression(@"^-?(?:0|[1-9]\d*)$")]
+ public int? Status { get; set; }
+
+ [JsonPropertyName("detail")]
+ public string Detail { get; set; }
+
+ [JsonPropertyName("instance")]
+ public string Instance { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Represents basic project information.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class Project
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("creationDate")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public System.DateTimeOffset CreationDate { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ProjectContextGenerateClassesRequest
+ {
+
+ [JsonPropertyName("languages")]
+ public ICollection Languages { get; set; }
+
+ [JsonPropertyName("transferFormat")]
+ public string TransferFormat { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ProjectContextSlice
+ {
+
+ [JsonPropertyName("model")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Model { get; set; }
+
+ [JsonPropertyName("pluginIds")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection PluginIds { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Represents detailed project information, including saved and loaded files.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ProjectDetails
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("creationDate")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public System.DateTimeOffset CreationDate { get; set; }
+
+ [JsonPropertyName("savedFiles")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public IDictionary> SavedFiles { get; set; } = new Dictionary>();
+
+ [JsonPropertyName("loadedFiles")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public IDictionary> LoadedFiles { get; set; } = new Dictionary>();
+
+ [JsonPropertyName("linkers")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Linkers { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ProjectFileNode
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("path")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Path { get; set; }
+
+ [JsonPropertyName("type")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Type { get; set; }
+
+ [JsonPropertyName("hasChildren")]
+ public bool HasChildren { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///
+ /// Represents an instance of a project execution.
+ ///
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ProjectInstance
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("creationDate")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public System.DateTimeOffset CreationDate { get; set; }
+
+ [JsonPropertyName("status")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Status { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ScriptData
+ {
+
+ [JsonPropertyName("id")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Id { get; set; }
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("path")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Path { get; set; }
+
+ [JsonPropertyName("scriptLanguage")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ScriptLanguage ScriptLanguage { get; set; } = new ScriptLanguage();
+
+ [JsonPropertyName("parameters")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public ICollection Parameters { get; set; } = new System.Collections.ObjectModel.Collection();
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ScriptLanguage
+ {
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("extension")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Extension { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))")]
+ public partial class ScriptParameter
+ {
+
+ [JsonPropertyName("name")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Name { get; set; }
+
+ [JsonPropertyName("type")]
+ [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
+ public string Type { get; set; }
+
+ [JsonPropertyName("value")]
+ [System.ComponentModel.DataAnnotations.Required]
+ public object Value { get; set; }
+
+ private IDictionary _additionalProperties;
+
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties
+ {
+ get { return _additionalProperties ?? (_additionalProperties = new Dictionary()); }
+ set { _additionalProperties = value; }
+ }
+
+ }
+
+ ///