diff --git a/backend/ControlCenter/.gitignore b/backend/ControlCenter/.gitignore
new file mode 100644
index 0000000..27e7e53
--- /dev/null
+++ b/backend/ControlCenter/.gitignore
@@ -0,0 +1,18 @@
+## .NET
+bin/
+obj/
+*.user
+*.suo
+*.cache
+*.dll
+*.pdb
+*.xml
+
+## IDE
+.vs/
+.vscode/
+.idea/
+
+## OS
+.DS_Store
+Thumbs.db
\ No newline at end of file
diff --git a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter b/backend/ControlCenter/bin/Debug/net9.0/ControlCenter
deleted file mode 100755
index ef5779a..0000000
Binary files a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter and /dev/null differ
diff --git a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.deps.json b/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.deps.json
deleted file mode 100644
index d8d7dee..0000000
--- a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.deps.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "runtimeTarget": {
- "name": ".NETCoreApp,Version=v9.0",
- "signature": ""
- },
- "compilationOptions": {},
- "targets": {
- ".NETCoreApp,Version=v9.0": {
- "ControlCenter/1.0.0": {
- "dependencies": {
- "Swashbuckle.AspNetCore": "10.1.7"
- },
- "runtime": {
- "ControlCenter.dll": {}
- }
- },
- "Microsoft.Extensions.ApiDescription.Server/9.0.0": {},
- "Microsoft.OpenApi/2.4.1": {
- "dependencies": {
- "System.Text.Json": "8.0.5"
- },
- "runtime": {
- "lib/net8.0/Microsoft.OpenApi.dll": {
- "assemblyVersion": "2.4.1.0",
- "fileVersion": "2.4.1.0"
- }
- }
- },
- "Swashbuckle.AspNetCore/10.1.7": {
- "dependencies": {
- "Microsoft.Extensions.ApiDescription.Server": "9.0.0",
- "Swashbuckle.AspNetCore.Swagger": "10.1.7",
- "Swashbuckle.AspNetCore.SwaggerGen": "10.1.7",
- "Swashbuckle.AspNetCore.SwaggerUI": "10.1.7"
- }
- },
- "Swashbuckle.AspNetCore.Swagger/10.1.7": {
- "dependencies": {
- "Microsoft.OpenApi": "2.4.1"
- },
- "runtime": {
- "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": {
- "assemblyVersion": "10.1.7.0",
- "fileVersion": "10.1.7.2427"
- }
- }
- },
- "Swashbuckle.AspNetCore.SwaggerGen/10.1.7": {
- "dependencies": {
- "Swashbuckle.AspNetCore.Swagger": "10.1.7"
- },
- "runtime": {
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
- "assemblyVersion": "10.1.7.0",
- "fileVersion": "10.1.7.2427"
- }
- }
- },
- "Swashbuckle.AspNetCore.SwaggerUI/10.1.7": {
- "runtime": {
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
- "assemblyVersion": "10.1.7.0",
- "fileVersion": "10.1.7.2427"
- }
- }
- },
- "System.Text.Json/8.0.5": {}
- }
- },
- "libraries": {
- "ControlCenter/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "Microsoft.Extensions.ApiDescription.Server/9.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-1Kzzf7pRey40VaUkHN9/uWxrKVkLu2AQjt+GVeeKLLpiEHAJ1xZRsLSh4ZZYEnyS7Kt2OBOPmsXNdU+wbcOl5w==",
- "path": "microsoft.extensions.apidescription.server/9.0.0",
- "hashPath": "microsoft.extensions.apidescription.server.9.0.0.nupkg.sha512"
- },
- "Microsoft.OpenApi/2.4.1": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-u7QhXCISMQuab3flasb1hoaiERmUqyWsW7tmQODyILoQ7mJV5IRGM+2KKZYo0QUfC13evEOcHAb6TPWgqEQtrw==",
- "path": "microsoft.openapi/2.4.1",
- "hashPath": "microsoft.openapi.2.4.1.nupkg.sha512"
- },
- "Swashbuckle.AspNetCore/10.1.7": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-vgef8DPT411JU5JjHiDbr0WOxsIVuAvegPGtqmm4Na4JRl/264dfBJcGkiPHsAr5P+Vda+qN1rZKRtBl1rF9aA==",
- "path": "swashbuckle.aspnetcore/10.1.7",
- "hashPath": "swashbuckle.aspnetcore.10.1.7.nupkg.sha512"
- },
- "Swashbuckle.AspNetCore.Swagger/10.1.7": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-EjLibt/d/QuRv170GoihTbcPUpgzSFm2WKHhnGJFZQ03JYzfuitsM79azaAR8NBwRunU7yScSX6HRE5JUlrEMQ==",
- "path": "swashbuckle.aspnetcore.swagger/10.1.7",
- "hashPath": "swashbuckle.aspnetcore.swagger.10.1.7.nupkg.sha512"
- },
- "Swashbuckle.AspNetCore.SwaggerGen/10.1.7": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-PuubO9BjvNn6U3D9kLpuWKY1JtziWw7SsGBq0age1E50uQjQ8Fzl8s0EwzrLfANqYJNgDnJi9l7N1QxcGVB2Zw==",
- "path": "swashbuckle.aspnetcore.swaggergen/10.1.7",
- "hashPath": "swashbuckle.aspnetcore.swaggergen.10.1.7.nupkg.sha512"
- },
- "Swashbuckle.AspNetCore.SwaggerUI/10.1.7": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-iJo3ODyUb/M8Vm8AH1r9y9iAba0w95xsCn3zFVl96ISRHbTDWxi+l7oFVCZqUEdjd97B8VMDPnMliWAdomR8uw==",
- "path": "swashbuckle.aspnetcore.swaggerui/10.1.7",
- "hashPath": "swashbuckle.aspnetcore.swaggerui.10.1.7.nupkg.sha512"
- },
- "System.Text.Json/8.0.5": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==",
- "path": "system.text.json/8.0.5",
- "hashPath": "system.text.json.8.0.5.nupkg.sha512"
- }
- }
-}
\ No newline at end of file
diff --git a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.dll b/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.dll
deleted file mode 100644
index 5a464c3..0000000
Binary files a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.dll and /dev/null differ
diff --git a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.pdb b/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.pdb
deleted file mode 100644
index f73d4c4..0000000
Binary files a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.pdb and /dev/null differ
diff --git a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.runtimeconfig.json b/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.runtimeconfig.json
deleted file mode 100644
index 6925b65..0000000
--- a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.runtimeconfig.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "runtimeOptions": {
- "tfm": "net9.0",
- "frameworks": [
- {
- "name": "Microsoft.NETCore.App",
- "version": "9.0.0"
- },
- {
- "name": "Microsoft.AspNetCore.App",
- "version": "9.0.0"
- }
- ],
- "configProperties": {
- "System.GC.Server": true,
- "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
- }
- }
-}
\ No newline at end of file
diff --git a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.staticwebassets.endpoints.json b/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.staticwebassets.endpoints.json
deleted file mode 100644
index 5576e88..0000000
--- a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.staticwebassets.endpoints.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Version":1,"ManifestType":"Build","Endpoints":[]}
\ No newline at end of file
diff --git a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.xml b/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.xml
deleted file mode 100644
index 6335700..0000000
--- a/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.xml
+++ /dev/null
@@ -1,525 +0,0 @@
-
-
-
- ControlCenter
-
-
-
-
- REST API for querying agent fleet status.
- Provides the initial data load for the Command Hub,
- while real-time updates flow through the AgentStatus SignalR hub.
-
- API contract for Rex (Frontend):
-
- - GET /api/agents — Returns all known agents with current status
- - GET /api/agents/{agentId} — Returns a specific agent's status
-
-
-
-
-
- Gets the current fleet status — all known agents with their latest state.
- This is the initial load endpoint; subsequent updates arrive via SignalR.
-
- An array of agent card data for the entire fleet.
- Returns the fleet snapshot.
-
-
-
- Gets the current status of a specific agent.
-
- The agent identifier, e.g. "otto", "dex".
- The agent's current card data.
- Returns the agent's status.
- Agent not found in the fleet state.
-
-
-
- REST API for sending control commands to agents.
- Provides the Command Hub's action endpoints for agent lifecycle control.
-
- API contract for Rex (Frontend):
-
- - POST /api/command/stop/{agentId} — Stop/abort an agent's active session
- - POST /api/command/restart/{agentId} — Restart an agent
- - POST /api/command/steer/{agentId} — Inject a message into an agent's session
-
-
- Commands are forwarded to the OpenClaw Gateway via the
- WebSocket bridge service. The Gateway handles the actual execution.
-
-
-
-
- Stops (aborts) an agent's active session.
- Sends an abort command to the OpenClaw Gateway.
-
- The agent identifier to stop.
- Confirmation of the stop command.
- Stop command sent successfully.
- No active session found for the agent.
-
-
-
- Restarts an agent by aborting the current session and allowing
- a new one to start on the next incoming message.
-
- The agent identifier to restart.
- Confirmation of the restart command.
- Restart command sent successfully.
-
-
-
- Steers (injects a message into) an agent's active session.
- Used by operators to redirect an agent's task mid-execution.
-
- The agent identifier to steer.
- The steering message to inject.
- Confirmation of the steer command.
- Steer command sent successfully.
- Missing or empty message.
-
-
-
- Request body for the steer command.
-
- The message to inject into the agent's session.
-
-
-
- Request body for the steer command.
-
- The message to inject into the agent's session.
-
-
- The message to inject into the agent's session.
-
-
-
- REST API for querying agent session logs.
- Provides historical message and tool call logs for a specific agent.
-
- API contract for Rex (Frontend):
-
- - GET /api/logs/{agentId} — Returns recent logs for an agent
- - GET /api/logs/{agentId}/tools — Returns recent tool calls for an agent
-
-
- Log data is sourced from the OpenClaw Gateway's transcript files.
- The Gateway's logs.tail RPC provides the raw data, and this
- controller formats it for the frontend.
-
-
-
-
- Gets recent session logs for a specific agent.
- Returns the last N messages from the agent's active session transcript.
-
- The agent identifier, e.g. "otto", "dex".
- Maximum number of log entries to return (default: 50, max: 200).
- An array of log entries for the agent.
- Returns the agent's recent logs.
- No active session found for the agent.
-
-
-
- Gets recent tool call logs for a specific agent.
- Returns the last N tool invocations from the agent's session.
-
- The agent identifier.
- Maximum number of tool entries to return (default: 20, max: 100).
- An array of tool call entries for the agent.
- Returns the agent's recent tool calls.
- No active session found for the agent.
-
-
-
- SignalR hub for real-time agent status updates in the Command Hub.
-
- Usage flow:
-
- - Client connects to /hubs/agent-status
- - Client calls to subscribe to all agent updates
- - Client calls to subscribe to a specific agent
- - Server pushes
- and events
- - Client calls for initial state on connect
-
-
- Group naming:
-
- - Fleet group: fleet — receives all agent updates
- - Agent group: agent:{agentId} — receives updates for one agent
-
-
- Typed client: — all server-to-client
- calls go through this interface for compile-time safety.
-
- Architecture note: This hub bridges OpenClaw Gateway WebSocket events
- to SignalR clients. A background service ()
- subscribes to Gateway events and pushes them through this hub's extension methods.
-
-
-
-
- Adds the calling connection to the fleet group.
- Once joined, the client will receive all agent status changes
- and task progress updates across the entire fleet.
-
-
-
-
- Removes the calling connection from the fleet group.
-
-
-
-
- Adds the calling connection to a specific agent's group.
- Once joined, the client will receive updates only for that agent.
-
- The agent identifier, e.g. "otto", "dex".
- Thrown if agentId is null or empty.
-
-
-
- Removes the calling connection from a specific agent's group.
-
- The agent identifier.
-
-
-
- Returns a snapshot of the current fleet state.
- Called by clients on initial connection to get the full picture
- before incremental updates begin arriving.
-
- An array of representing all known agents.
-
-
-
- Overrides to perform cleanup.
- SignalR automatically removes disconnected connections from all groups.
-
- Exception that caused the disconnection, if any.
-
-
-
- The SignalR group name for the entire fleet (all agents).
-
-
-
-
- Returns the SignalR group name for a specific agent.
- Format: agent:{agentId} (lowercase for consistency).
-
- The agent identifier.
-
-
-
- Extension methods for pushing real-time agent updates through
- the of .
-
- These methods are intended to be called from background services
- (e.g., ) or other
- server-side code that detects an agent state change.
-
-
-
-
- Pushes an agent status change to all clients subscribed to
- the fleet group and the specific agent's group.
-
- Call this from any background service when an agent's
- operational status changes (e.g., the Gateway reports a
- session transition from "running" to "done").
-
- The hub context injected via DI.
- The agent status update payload.
- A Task that completes when the message has been sent to all group members.
-
-
-
- Pushes a task progress update to all clients subscribed to
- the fleet group and the specific agent's group.
-
- The hub context injected via DI.
- The task progress update payload.
- A Task that completes when the message has been sent to all group members.
-
-
-
- Strongly-typed client interface for the AgentStatus SignalR hub.
- Defines the methods the server can invoke on connected clients
- to push real-time agent status and task progress updates.
-
- All server-to-client calls go through this interface for
- compile-time safety — matching the pattern used by the
- Extrudex PrinterHub.
-
-
-
-
- Pushes an agent status change to all subscribed clients.
- Fired whenever an agent's operational status changes
- (e.g., idle → active, active → thinking, active → error).
-
- The full status update payload.
- A Task that completes when the client has processed the update.
-
-
-
- Pushes a task progress update to all subscribed clients.
- Fired when an agent reports progress on its current task.
-
- The task progress update payload.
- A Task that completes when the client has processed the update.
-
-
-
- Agent operational status derived from OpenClaw Gateway session activity.
- Maps to the frontend AgentStatus type: 'active' | 'idle' | 'thinking' | 'error'.
-
-
-
- Agent is currently processing a turn.
-
-
- Agent completed its last turn; no active work.
-
-
- LLM call in flight; tokens streaming.
-
-
- Agent encountered an unhandled error.
-
-
-
- Extended lifecycle status including offline — not all agents have active sessions.
- Used internally; clients only see (offline maps to idle).
-
-
-
-
- Pushed to SignalR clients when an agent's status changes.
- Matches the TypeScript AgentStatusUpdate interface from the design spec.
-
- Agent identifier, e.g. "otto", "dex".
- Human-readable name, e.g. "Otto".
- Role description, e.g. "Orchestrator Agent".
- Current operational status.
- Description of the current task, if any.
- Full session key, e.g. "agent:otto:telegram:direct:8787451565".
- Channel the agent is operating on, e.g. "telegram".
- ISO 8601 timestamp of last activity.
- Error message when status is 'error'.
-
-
-
- Pushed to SignalR clients when an agent's status changes.
- Matches the TypeScript AgentStatusUpdate interface from the design spec.
-
- Agent identifier, e.g. "otto", "dex".
- Human-readable name, e.g. "Otto".
- Role description, e.g. "Orchestrator Agent".
- Current operational status.
- Description of the current task, if any.
- Full session key, e.g. "agent:otto:telegram:direct:8787451565".
- Channel the agent is operating on, e.g. "telegram".
- ISO 8601 timestamp of last activity.
- Error message when status is 'error'.
-
-
- Agent identifier, e.g. "otto", "dex".
-
-
- Human-readable name, e.g. "Otto".
-
-
- Role description, e.g. "Orchestrator Agent".
-
-
- Current operational status.
-
-
- Description of the current task, if any.
-
-
- Full session key, e.g. "agent:otto:telegram:direct:8787451565".
-
-
- Channel the agent is operating on, e.g. "telegram".
-
-
- ISO 8601 timestamp of last activity.
-
-
- Error message when status is 'error'.
-
-
-
- Pushed to SignalR clients when an agent's task progress updates.
- Matches the TypeScript TaskProgressUpdate interface from the design spec.
-
- Agent identifier.
- Description of the current task.
- Task progress percentage (0–100), if trackable.
- Elapsed time string, e.g. "04m 12s".
-
-
-
- Pushed to SignalR clients when an agent's task progress updates.
- Matches the TypeScript TaskProgressUpdate interface from the design spec.
-
- Agent identifier.
- Description of the current task.
- Task progress percentage (0–100), if trackable.
- Elapsed time string, e.g. "04m 12s".
-
-
- Agent identifier.
-
-
- Description of the current task.
-
-
- Task progress percentage (0–100), if trackable.
-
-
- Elapsed time string, e.g. "04m 12s".
-
-
-
- Snapshot of an agent's full card data, sent on initial connection
- or when the fleet state is requested.
- Matches the TypeScript AgentCardData interface from the design spec.
-
-
-
-
- Snapshot of an agent's full card data, sent on initial connection
- or when the fleet state is requested.
- Matches the TypeScript AgentCardData interface from the design spec.
-
-
-
-
- Background service that connects to the OpenClaw Gateway WebSocket
- and bridges Gateway events to the .
-
- Architecture:
-
- - Connects to the Gateway WS endpoint (configurable via appsettings)
- - Handles the v3 protocol handshake (challenge → connect → hello-ok)
- - Subscribes to sessions.changed and related events
- - Translates session state changes into
- and objects
- - Pushes updates through the SignalR hub
-
-
- This is the server-side bridge that allows Angular clients to
- receive real-time updates via SignalR instead of connecting directly
- to the Gateway WebSocket.
-
-
-
-
- In-memory fleet state — maps agent IDs to their latest card data.
- Updated on every sessions.changed event from the Gateway.
-
-
-
-
- Known agent roles for display in the Command Hub.
- Maps agent IDs to their functional descriptions.
-
-
-
-
- Maps OpenClaw session status to .
-
-
-
-
- Returns the current fleet state snapshot.
- Used by the hub's GetFleetSnapshot method and by the
- AgentsController REST endpoint.
-
-
-
-
- Connects to the OpenClaw Gateway WebSocket and processes events
- until the connection is lost or cancellation is requested.
-
-
-
-
- Receives and processes WebSocket messages from the Gateway.
- Handles the v3 protocol handshake and dispatches events.
-
-
-
-
- Processes a single WebSocket message from the Gateway.
- Routes based on the message type: event, response, or challenge.
-
-
-
-
- Handles the Gateway connect.challenge event by sending
- a connect request with authentication credentials.
-
-
-
-
- Handles a Gateway event message by dispatching to the
- appropriate handler based on event name.
-
-
-
-
- Handles a sessions.changed event from the Gateway.
- Updates the fleet state and pushes status changes through SignalR.
-
-
-
-
- Handles a session.message event. Updates the agent's last activity
- and pushes a status update if the status changed.
-
-
-
-
- Handles a session.tool event. Extracts tool progress information
- and pushes a through SignalR.
-
-
-
-
- Handles a health event from the Gateway.
- Logs the health status for diagnostics.
-
-
-
-
- Handles a Gateway response message. Currently only logs for diagnostics.
-
-
-
-
- Converts a raw Gateway session JSON element into an
- record.
-
-
-
-
- Extracts the agent ID from a session key.
- Session key format: "agent:{agentId}:{channel}:..."
-
-
-
-
- Extracts the channel from a session element.
-
-
-
-
diff --git a/backend/ControlCenter/bin/Debug/net9.0/Microsoft.OpenApi.dll b/backend/ControlCenter/bin/Debug/net9.0/Microsoft.OpenApi.dll
deleted file mode 100755
index 58b6245..0000000
Binary files a/backend/ControlCenter/bin/Debug/net9.0/Microsoft.OpenApi.dll and /dev/null differ
diff --git a/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll b/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll
deleted file mode 100755
index f9c8108..0000000
Binary files a/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll and /dev/null differ
diff --git a/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll b/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll
deleted file mode 100755
index a29b341..0000000
Binary files a/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll and /dev/null differ
diff --git a/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll b/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll
deleted file mode 100755
index 1d440e2..0000000
Binary files a/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll and /dev/null differ
diff --git a/backend/ControlCenter/bin/Debug/net9.0/appsettings.Development.json b/backend/ControlCenter/bin/Debug/net9.0/appsettings.Development.json
deleted file mode 100644
index 626b82e..0000000
--- a/backend/ControlCenter/bin/Debug/net9.0/appsettings.Development.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Logging": {
- "LogLevel": {
- "Default": "Debug",
- "Microsoft.AspNetCore": "Information",
- "ControlCenter": "Debug"
- }
- },
- "Gateway": {
- "WebSocketUrl": "ws://localhost:3271/ws",
- "AuthToken": ""
- },
- "Cors": {
- "AllowedOrigins": [
- "http://localhost:4200",
- "http://localhost:5000"
- ]
- }
-}
\ No newline at end of file
diff --git a/backend/ControlCenter/bin/Debug/net9.0/appsettings.json b/backend/ControlCenter/bin/Debug/net9.0/appsettings.json
deleted file mode 100644
index 60f801d..0000000
--- a/backend/ControlCenter/bin/Debug/net9.0/appsettings.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning",
- "ControlCenter": "Debug"
- }
- },
- "AllowedHosts": "*",
-
- "Gateway": {
- "WebSocketUrl": "ws://localhost:3271/ws",
- "AuthToken": ""
- },
-
- "Cors": {
- "AllowedOrigins": [
- "http://localhost:4200",
- "http://localhost:5000"
- ]
- }
-}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/ControlCenter.csproj.nuget.dgspec.json b/backend/ControlCenter/obj/ControlCenter.csproj.nuget.dgspec.json
deleted file mode 100644
index 5eb989c..0000000
--- a/backend/ControlCenter/obj/ControlCenter.csproj.nuget.dgspec.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "format": 1,
- "restore": {
- "/home/overseer/projects/control-center/backend/ControlCenter/ControlCenter.csproj": {}
- },
- "projects": {
- "/home/overseer/projects/control-center/backend/ControlCenter/ControlCenter.csproj": {
- "version": "1.0.0",
- "restore": {
- "projectUniqueName": "/home/overseer/projects/control-center/backend/ControlCenter/ControlCenter.csproj",
- "projectName": "ControlCenter",
- "projectPath": "/home/overseer/projects/control-center/backend/ControlCenter/ControlCenter.csproj",
- "packagesPath": "/home/overseer/.nuget/packages/",
- "outputPath": "/home/overseer/projects/control-center/backend/ControlCenter/obj/",
- "projectStyle": "PackageReference",
- "configFilePaths": [
- "/home/overseer/.nuget/NuGet/NuGet.Config"
- ],
- "originalTargetFrameworks": [
- "net9.0"
- ],
- "sources": {
- "https://api.nuget.org/v3/index.json": {}
- },
- "frameworks": {
- "net9.0": {
- "targetAlias": "net9.0",
- "projectReferences": {}
- }
- },
- "warningProperties": {
- "warnAsError": [
- "NU1605"
- ]
- },
- "restoreAuditProperties": {
- "enableAudit": "true",
- "auditLevel": "low",
- "auditMode": "direct"
- },
- "SdkAnalysisLevel": "9.0.300"
- },
- "frameworks": {
- "net9.0": {
- "targetAlias": "net9.0",
- "dependencies": {
- "Swashbuckle.AspNetCore": {
- "target": "Package",
- "version": "[10.1.7, )"
- }
- },
- "imports": [
- "net461",
- "net462",
- "net47",
- "net471",
- "net472",
- "net48",
- "net481"
- ],
- "assetTargetFallback": true,
- "warn": true,
- "frameworkReferences": {
- "Microsoft.AspNetCore.App": {
- "privateAssets": "none"
- },
- "Microsoft.NETCore.App": {
- "privateAssets": "all"
- }
- },
- "runtimeIdentifierGraphPath": "/home/overseer/.dotnet/sdk/9.0.312/PortableRuntimeIdentifierGraph.json"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/ControlCenter.csproj.nuget.g.props b/backend/ControlCenter/obj/ControlCenter.csproj.nuget.g.props
deleted file mode 100644
index 8920d2b..0000000
--- a/backend/ControlCenter/obj/ControlCenter.csproj.nuget.g.props
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- True
- NuGet
- $(MSBuildThisFileDirectory)project.assets.json
- /home/overseer/.nuget/packages/
- /home/overseer/.nuget/packages/
- PackageReference
- 6.14.0
-
-
-
-
-
-
-
-
-
- /home/overseer/.nuget/packages/microsoft.extensions.apidescription.server/9.0.0
-
-
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/ControlCenter.csproj.nuget.g.targets b/backend/ControlCenter/obj/ControlCenter.csproj.nuget.g.targets
deleted file mode 100644
index 60f4bac..0000000
--- a/backend/ControlCenter/obj/ControlCenter.csproj.nuget.g.targets
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs b/backend/ControlCenter/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs
deleted file mode 100644
index 9e76325..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs
+++ /dev/null
@@ -1,4 +0,0 @@
-//
-using System;
-using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlC.8BE8DDC1.Up2Date b/backend/ControlCenter/obj/Debug/net9.0/ControlC.8BE8DDC1.Up2Date
deleted file mode 100644
index e69de29..0000000
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfo.cs b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfo.cs
deleted file mode 100644
index 6c04b97..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfo.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: System.Reflection.AssemblyCompanyAttribute("ControlCenter")]
-[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f490098af681d324519c399c3e75ade058357531")]
-[assembly: System.Reflection.AssemblyProductAttribute("ControlCenter")]
-[assembly: System.Reflection.AssemblyTitleAttribute("ControlCenter")]
-[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
-
-// Generated by the MSBuild WriteCodeFragment class.
-
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfoInputs.cache b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfoInputs.cache
deleted file mode 100644
index 87ee5f5..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfoInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-d9ac725746244a0c1e0ff1bcede0c898e3615303f498e39aec65b74e6488388a
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.GeneratedMSBuildEditorConfig.editorconfig b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.GeneratedMSBuildEditorConfig.editorconfig
deleted file mode 100644
index c342709..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.GeneratedMSBuildEditorConfig.editorconfig
+++ /dev/null
@@ -1,21 +0,0 @@
-is_global = true
-build_property.TargetFramework = net9.0
-build_property.TargetPlatformMinVersion =
-build_property.UsingMicrosoftNETSdkWeb = true
-build_property.ProjectTypeGuids =
-build_property.InvariantGlobalization =
-build_property.PlatformNeutralAssembly =
-build_property.EnforceExtendedAnalyzerRules =
-build_property._SupportedPlatformList = Linux,macOS,Windows
-build_property.RootNamespace = ControlCenter
-build_property.RootNamespace = ControlCenter
-build_property.ProjectDir = /home/overseer/projects/control-center/backend/ControlCenter/
-build_property.EnableComHosting =
-build_property.EnableGeneratedComInterfaceComImportInterop =
-build_property.RazorLangVersion = 9.0
-build_property.SupportLocalizedComponentNames =
-build_property.GenerateRazorMetadataSourceChecksumAttributes =
-build_property.MSBuildProjectDirectory = /home/overseer/projects/control-center/backend/ControlCenter
-build_property._RazorSourceGeneratorDebug =
-build_property.EffectiveAnalysisLevelStyle = 9.0
-build_property.EnableCodeStyleSeverity =
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.GlobalUsings.g.cs b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.GlobalUsings.g.cs
deleted file mode 100644
index 025530a..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.GlobalUsings.g.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-global using global::Microsoft.AspNetCore.Builder;
-global using global::Microsoft.AspNetCore.Hosting;
-global using global::Microsoft.AspNetCore.Http;
-global using global::Microsoft.AspNetCore.Routing;
-global using global::Microsoft.Extensions.Configuration;
-global using global::Microsoft.Extensions.DependencyInjection;
-global using global::Microsoft.Extensions.Hosting;
-global using global::Microsoft.Extensions.Logging;
-global using global::System;
-global using global::System.Collections.Generic;
-global using global::System.IO;
-global using global::System.Linq;
-global using global::System.Net.Http;
-global using global::System.Net.Http.Json;
-global using global::System.Threading;
-global using global::System.Threading.Tasks;
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.MvcApplicationPartsAssemblyInfo.cache b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.MvcApplicationPartsAssemblyInfo.cache
deleted file mode 100644
index e69de29..0000000
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.MvcApplicationPartsAssemblyInfo.cs b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.MvcApplicationPartsAssemblyInfo.cs
deleted file mode 100644
index 5c337f8..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.MvcApplicationPartsAssemblyInfo.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")]
-
-// Generated by the MSBuild WriteCodeFragment class.
-
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.assets.cache b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.assets.cache
deleted file mode 100644
index 5564151..0000000
Binary files a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.assets.cache and /dev/null differ
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.AssemblyReference.cache b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.AssemblyReference.cache
deleted file mode 100644
index f1f28b0..0000000
Binary files a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.AssemblyReference.cache and /dev/null differ
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.CoreCompileInputs.cache b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.CoreCompileInputs.cache
deleted file mode 100644
index 87abb78..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.CoreCompileInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-5a149a9be81d0d785f401346061a83ced0347895d02923e2209cde8264498329
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.FileListAbsolute.txt b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.FileListAbsolute.txt
deleted file mode 100644
index 680dfeb..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.FileListAbsolute.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/rpswa.dswa.cache.json
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.GeneratedMSBuildEditorConfig.editorconfig
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfoInputs.cache
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.AssemblyInfo.cs
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.CoreCompileInputs.cache
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.MvcApplicationPartsAssemblyInfo.cache
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/appsettings.Development.json
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/appsettings.json
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.staticwebassets.endpoints.json
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/ControlCenter
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.deps.json
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.runtimeconfig.json
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.dll
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.pdb
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/ControlCenter.xml
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/Microsoft.OpenApi.dll
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll
-/home/overseer/projects/control-center/backend/ControlCenter/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.csproj.AssemblyReference.cache
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.MvcApplicationPartsAssemblyInfo.cs
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/rjimswa.dswa.cache.json
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/rjsmrazor.dswa.cache.json
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/scopedcss/bundle/ControlCenter.styles.css
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json.cache
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.development.json
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.endpoints.json
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlC.8BE8DDC1.Up2Date
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.dll
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/refint/ControlCenter.dll
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.xml
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.pdb
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.genruntimeconfig.cache
-/home/overseer/projects/control-center/backend/ControlCenter/obj/Debug/net9.0/ref/ControlCenter.dll
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.dll b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.dll
deleted file mode 100644
index 5a464c3..0000000
Binary files a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.dll and /dev/null differ
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.genruntimeconfig.cache b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.genruntimeconfig.cache
deleted file mode 100644
index 1706e2e..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.genruntimeconfig.cache
+++ /dev/null
@@ -1 +0,0 @@
-fb735db4022e3ab26c1abd1408be390500bd48ea8b05809d0deadb8a6cf1b3d1
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.pdb b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.pdb
deleted file mode 100644
index f73d4c4..0000000
Binary files a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.pdb and /dev/null differ
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.xml b/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.xml
deleted file mode 100644
index 6335700..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/ControlCenter.xml
+++ /dev/null
@@ -1,525 +0,0 @@
-
-
-
- ControlCenter
-
-
-
-
- REST API for querying agent fleet status.
- Provides the initial data load for the Command Hub,
- while real-time updates flow through the AgentStatus SignalR hub.
-
- API contract for Rex (Frontend):
-
- - GET /api/agents — Returns all known agents with current status
- - GET /api/agents/{agentId} — Returns a specific agent's status
-
-
-
-
-
- Gets the current fleet status — all known agents with their latest state.
- This is the initial load endpoint; subsequent updates arrive via SignalR.
-
- An array of agent card data for the entire fleet.
- Returns the fleet snapshot.
-
-
-
- Gets the current status of a specific agent.
-
- The agent identifier, e.g. "otto", "dex".
- The agent's current card data.
- Returns the agent's status.
- Agent not found in the fleet state.
-
-
-
- REST API for sending control commands to agents.
- Provides the Command Hub's action endpoints for agent lifecycle control.
-
- API contract for Rex (Frontend):
-
- - POST /api/command/stop/{agentId} — Stop/abort an agent's active session
- - POST /api/command/restart/{agentId} — Restart an agent
- - POST /api/command/steer/{agentId} — Inject a message into an agent's session
-
-
- Commands are forwarded to the OpenClaw Gateway via the
- WebSocket bridge service. The Gateway handles the actual execution.
-
-
-
-
- Stops (aborts) an agent's active session.
- Sends an abort command to the OpenClaw Gateway.
-
- The agent identifier to stop.
- Confirmation of the stop command.
- Stop command sent successfully.
- No active session found for the agent.
-
-
-
- Restarts an agent by aborting the current session and allowing
- a new one to start on the next incoming message.
-
- The agent identifier to restart.
- Confirmation of the restart command.
- Restart command sent successfully.
-
-
-
- Steers (injects a message into) an agent's active session.
- Used by operators to redirect an agent's task mid-execution.
-
- The agent identifier to steer.
- The steering message to inject.
- Confirmation of the steer command.
- Steer command sent successfully.
- Missing or empty message.
-
-
-
- Request body for the steer command.
-
- The message to inject into the agent's session.
-
-
-
- Request body for the steer command.
-
- The message to inject into the agent's session.
-
-
- The message to inject into the agent's session.
-
-
-
- REST API for querying agent session logs.
- Provides historical message and tool call logs for a specific agent.
-
- API contract for Rex (Frontend):
-
- - GET /api/logs/{agentId} — Returns recent logs for an agent
- - GET /api/logs/{agentId}/tools — Returns recent tool calls for an agent
-
-
- Log data is sourced from the OpenClaw Gateway's transcript files.
- The Gateway's logs.tail RPC provides the raw data, and this
- controller formats it for the frontend.
-
-
-
-
- Gets recent session logs for a specific agent.
- Returns the last N messages from the agent's active session transcript.
-
- The agent identifier, e.g. "otto", "dex".
- Maximum number of log entries to return (default: 50, max: 200).
- An array of log entries for the agent.
- Returns the agent's recent logs.
- No active session found for the agent.
-
-
-
- Gets recent tool call logs for a specific agent.
- Returns the last N tool invocations from the agent's session.
-
- The agent identifier.
- Maximum number of tool entries to return (default: 20, max: 100).
- An array of tool call entries for the agent.
- Returns the agent's recent tool calls.
- No active session found for the agent.
-
-
-
- SignalR hub for real-time agent status updates in the Command Hub.
-
- Usage flow:
-
- - Client connects to /hubs/agent-status
- - Client calls to subscribe to all agent updates
- - Client calls to subscribe to a specific agent
- - Server pushes
- and events
- - Client calls for initial state on connect
-
-
- Group naming:
-
- - Fleet group: fleet — receives all agent updates
- - Agent group: agent:{agentId} — receives updates for one agent
-
-
- Typed client: — all server-to-client
- calls go through this interface for compile-time safety.
-
- Architecture note: This hub bridges OpenClaw Gateway WebSocket events
- to SignalR clients. A background service ()
- subscribes to Gateway events and pushes them through this hub's extension methods.
-
-
-
-
- Adds the calling connection to the fleet group.
- Once joined, the client will receive all agent status changes
- and task progress updates across the entire fleet.
-
-
-
-
- Removes the calling connection from the fleet group.
-
-
-
-
- Adds the calling connection to a specific agent's group.
- Once joined, the client will receive updates only for that agent.
-
- The agent identifier, e.g. "otto", "dex".
- Thrown if agentId is null or empty.
-
-
-
- Removes the calling connection from a specific agent's group.
-
- The agent identifier.
-
-
-
- Returns a snapshot of the current fleet state.
- Called by clients on initial connection to get the full picture
- before incremental updates begin arriving.
-
- An array of representing all known agents.
-
-
-
- Overrides to perform cleanup.
- SignalR automatically removes disconnected connections from all groups.
-
- Exception that caused the disconnection, if any.
-
-
-
- The SignalR group name for the entire fleet (all agents).
-
-
-
-
- Returns the SignalR group name for a specific agent.
- Format: agent:{agentId} (lowercase for consistency).
-
- The agent identifier.
-
-
-
- Extension methods for pushing real-time agent updates through
- the of .
-
- These methods are intended to be called from background services
- (e.g., ) or other
- server-side code that detects an agent state change.
-
-
-
-
- Pushes an agent status change to all clients subscribed to
- the fleet group and the specific agent's group.
-
- Call this from any background service when an agent's
- operational status changes (e.g., the Gateway reports a
- session transition from "running" to "done").
-
- The hub context injected via DI.
- The agent status update payload.
- A Task that completes when the message has been sent to all group members.
-
-
-
- Pushes a task progress update to all clients subscribed to
- the fleet group and the specific agent's group.
-
- The hub context injected via DI.
- The task progress update payload.
- A Task that completes when the message has been sent to all group members.
-
-
-
- Strongly-typed client interface for the AgentStatus SignalR hub.
- Defines the methods the server can invoke on connected clients
- to push real-time agent status and task progress updates.
-
- All server-to-client calls go through this interface for
- compile-time safety — matching the pattern used by the
- Extrudex PrinterHub.
-
-
-
-
- Pushes an agent status change to all subscribed clients.
- Fired whenever an agent's operational status changes
- (e.g., idle → active, active → thinking, active → error).
-
- The full status update payload.
- A Task that completes when the client has processed the update.
-
-
-
- Pushes a task progress update to all subscribed clients.
- Fired when an agent reports progress on its current task.
-
- The task progress update payload.
- A Task that completes when the client has processed the update.
-
-
-
- Agent operational status derived from OpenClaw Gateway session activity.
- Maps to the frontend AgentStatus type: 'active' | 'idle' | 'thinking' | 'error'.
-
-
-
- Agent is currently processing a turn.
-
-
- Agent completed its last turn; no active work.
-
-
- LLM call in flight; tokens streaming.
-
-
- Agent encountered an unhandled error.
-
-
-
- Extended lifecycle status including offline — not all agents have active sessions.
- Used internally; clients only see (offline maps to idle).
-
-
-
-
- Pushed to SignalR clients when an agent's status changes.
- Matches the TypeScript AgentStatusUpdate interface from the design spec.
-
- Agent identifier, e.g. "otto", "dex".
- Human-readable name, e.g. "Otto".
- Role description, e.g. "Orchestrator Agent".
- Current operational status.
- Description of the current task, if any.
- Full session key, e.g. "agent:otto:telegram:direct:8787451565".
- Channel the agent is operating on, e.g. "telegram".
- ISO 8601 timestamp of last activity.
- Error message when status is 'error'.
-
-
-
- Pushed to SignalR clients when an agent's status changes.
- Matches the TypeScript AgentStatusUpdate interface from the design spec.
-
- Agent identifier, e.g. "otto", "dex".
- Human-readable name, e.g. "Otto".
- Role description, e.g. "Orchestrator Agent".
- Current operational status.
- Description of the current task, if any.
- Full session key, e.g. "agent:otto:telegram:direct:8787451565".
- Channel the agent is operating on, e.g. "telegram".
- ISO 8601 timestamp of last activity.
- Error message when status is 'error'.
-
-
- Agent identifier, e.g. "otto", "dex".
-
-
- Human-readable name, e.g. "Otto".
-
-
- Role description, e.g. "Orchestrator Agent".
-
-
- Current operational status.
-
-
- Description of the current task, if any.
-
-
- Full session key, e.g. "agent:otto:telegram:direct:8787451565".
-
-
- Channel the agent is operating on, e.g. "telegram".
-
-
- ISO 8601 timestamp of last activity.
-
-
- Error message when status is 'error'.
-
-
-
- Pushed to SignalR clients when an agent's task progress updates.
- Matches the TypeScript TaskProgressUpdate interface from the design spec.
-
- Agent identifier.
- Description of the current task.
- Task progress percentage (0–100), if trackable.
- Elapsed time string, e.g. "04m 12s".
-
-
-
- Pushed to SignalR clients when an agent's task progress updates.
- Matches the TypeScript TaskProgressUpdate interface from the design spec.
-
- Agent identifier.
- Description of the current task.
- Task progress percentage (0–100), if trackable.
- Elapsed time string, e.g. "04m 12s".
-
-
- Agent identifier.
-
-
- Description of the current task.
-
-
- Task progress percentage (0–100), if trackable.
-
-
- Elapsed time string, e.g. "04m 12s".
-
-
-
- Snapshot of an agent's full card data, sent on initial connection
- or when the fleet state is requested.
- Matches the TypeScript AgentCardData interface from the design spec.
-
-
-
-
- Snapshot of an agent's full card data, sent on initial connection
- or when the fleet state is requested.
- Matches the TypeScript AgentCardData interface from the design spec.
-
-
-
-
- Background service that connects to the OpenClaw Gateway WebSocket
- and bridges Gateway events to the .
-
- Architecture:
-
- - Connects to the Gateway WS endpoint (configurable via appsettings)
- - Handles the v3 protocol handshake (challenge → connect → hello-ok)
- - Subscribes to sessions.changed and related events
- - Translates session state changes into
- and objects
- - Pushes updates through the SignalR hub
-
-
- This is the server-side bridge that allows Angular clients to
- receive real-time updates via SignalR instead of connecting directly
- to the Gateway WebSocket.
-
-
-
-
- In-memory fleet state — maps agent IDs to their latest card data.
- Updated on every sessions.changed event from the Gateway.
-
-
-
-
- Known agent roles for display in the Command Hub.
- Maps agent IDs to their functional descriptions.
-
-
-
-
- Maps OpenClaw session status to .
-
-
-
-
- Returns the current fleet state snapshot.
- Used by the hub's GetFleetSnapshot method and by the
- AgentsController REST endpoint.
-
-
-
-
- Connects to the OpenClaw Gateway WebSocket and processes events
- until the connection is lost or cancellation is requested.
-
-
-
-
- Receives and processes WebSocket messages from the Gateway.
- Handles the v3 protocol handshake and dispatches events.
-
-
-
-
- Processes a single WebSocket message from the Gateway.
- Routes based on the message type: event, response, or challenge.
-
-
-
-
- Handles the Gateway connect.challenge event by sending
- a connect request with authentication credentials.
-
-
-
-
- Handles a Gateway event message by dispatching to the
- appropriate handler based on event name.
-
-
-
-
- Handles a sessions.changed event from the Gateway.
- Updates the fleet state and pushes status changes through SignalR.
-
-
-
-
- Handles a session.message event. Updates the agent's last activity
- and pushes a status update if the status changed.
-
-
-
-
- Handles a session.tool event. Extracts tool progress information
- and pushes a through SignalR.
-
-
-
-
- Handles a health event from the Gateway.
- Logs the health status for diagnostics.
-
-
-
-
- Handles a Gateway response message. Currently only logs for diagnostics.
-
-
-
-
- Converts a raw Gateway session JSON element into an
- record.
-
-
-
-
- Extracts the agent ID from a session key.
- Session key format: "agent:{agentId}:{channel}:..."
-
-
-
-
- Extracts the channel from a session element.
-
-
-
-
diff --git a/backend/ControlCenter/obj/Debug/net9.0/apphost b/backend/ControlCenter/obj/Debug/net9.0/apphost
deleted file mode 100755
index ef5779a..0000000
Binary files a/backend/ControlCenter/obj/Debug/net9.0/apphost and /dev/null differ
diff --git a/backend/ControlCenter/obj/Debug/net9.0/ref/ControlCenter.dll b/backend/ControlCenter/obj/Debug/net9.0/ref/ControlCenter.dll
deleted file mode 100644
index 489ecc2..0000000
Binary files a/backend/ControlCenter/obj/Debug/net9.0/ref/ControlCenter.dll and /dev/null differ
diff --git a/backend/ControlCenter/obj/Debug/net9.0/refint/ControlCenter.dll b/backend/ControlCenter/obj/Debug/net9.0/refint/ControlCenter.dll
deleted file mode 100644
index 489ecc2..0000000
Binary files a/backend/ControlCenter/obj/Debug/net9.0/refint/ControlCenter.dll and /dev/null differ
diff --git a/backend/ControlCenter/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json b/backend/ControlCenter/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json
deleted file mode 100644
index 3818895..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json
+++ /dev/null
@@ -1 +0,0 @@
-{"GlobalPropertiesHash":"fP6C7NMofulnBE1eej8XjOwRkTKI5k6NpzaQX80fX8s=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["RLHkEsLEvNvl8jLrrAgVApLy6dxoK6XfbeV9mw/9T7o=","rgcVP\u002BVr5KxJyslAN\u002ByJcFCRZcRu6\u002B1l2pjhD4NaFdw=","FFbGWElm3cdQZsLW1ACMByZe8G8gDhCtEJQz38GZLOQ=","59/k\u002BS6qSaOYsxQEpqPfNdLtDHcGS8jaZQOh\u002BdsAjCc="],"CachedAssets":{},"CachedCopyCandidates":{}}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/Debug/net9.0/rjsmrazor.dswa.cache.json b/backend/ControlCenter/obj/Debug/net9.0/rjsmrazor.dswa.cache.json
deleted file mode 100644
index b8901b0..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/rjsmrazor.dswa.cache.json
+++ /dev/null
@@ -1 +0,0 @@
-{"GlobalPropertiesHash":"CM6+tGqDGZSCMIjvZW43Mig+XGvvGPauYcFS9pFbVbU=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["RLHkEsLEvNvl8jLrrAgVApLy6dxoK6XfbeV9mw/9T7o=","rgcVP\u002BVr5KxJyslAN\u002ByJcFCRZcRu6\u002B1l2pjhD4NaFdw=","FFbGWElm3cdQZsLW1ACMByZe8G8gDhCtEJQz38GZLOQ=","59/k\u002BS6qSaOYsxQEpqPfNdLtDHcGS8jaZQOh\u002BdsAjCc="],"CachedAssets":{},"CachedCopyCandidates":{}}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/Debug/net9.0/rpswa.dswa.cache.json b/backend/ControlCenter/obj/Debug/net9.0/rpswa.dswa.cache.json
deleted file mode 100644
index ead65fe..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/rpswa.dswa.cache.json
+++ /dev/null
@@ -1 +0,0 @@
-{"GlobalPropertiesHash":"a1GQyj11k+1oHxZebIKZqb47X6WAtT1QozrGrmX2GLs=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["RLHkEsLEvNvl8jLrrAgVApLy6dxoK6XfbeV9mw/9T7o=","rgcVP\u002BVr5KxJyslAN\u002ByJcFCRZcRu6\u002B1l2pjhD4NaFdw="],"CachedAssets":{},"CachedCopyCandidates":{}}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.endpoints.json b/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.endpoints.json
deleted file mode 100644
index 5576e88..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.endpoints.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Version":1,"ManifestType":"Build","Endpoints":[]}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json b/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json
deleted file mode 100644
index 1ca3228..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Version":1,"Hash":"VtMlOCwFm0Ev666s2/hr1q6JK4feLZLPBJxH6XDSLFM=","Source":"ControlCenter","BasePath":"_content/ControlCenter","Mode":"Default","ManifestType":"Build","ReferencedProjectsConfiguration":[],"DiscoveryPatterns":[],"Assets":[],"Endpoints":[]}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json.cache b/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json.cache
deleted file mode 100644
index 00ea1d6..0000000
--- a/backend/ControlCenter/obj/Debug/net9.0/staticwebassets.build.json.cache
+++ /dev/null
@@ -1 +0,0 @@
-VtMlOCwFm0Ev666s2/hr1q6JK4feLZLPBJxH6XDSLFM=
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/project.assets.json b/backend/ControlCenter/obj/project.assets.json
deleted file mode 100644
index 61811bf..0000000
--- a/backend/ControlCenter/obj/project.assets.json
+++ /dev/null
@@ -1,619 +0,0 @@
-{
- "version": 3,
- "targets": {
- "net9.0": {
- "Microsoft.Extensions.ApiDescription.Server/9.0.0": {
- "type": "package",
- "build": {
- "build/Microsoft.Extensions.ApiDescription.Server.props": {},
- "build/Microsoft.Extensions.ApiDescription.Server.targets": {}
- },
- "buildMultiTargeting": {
- "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {},
- "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {}
- }
- },
- "Microsoft.OpenApi/2.4.1": {
- "type": "package",
- "dependencies": {
- "System.Text.Json": "8.0.5"
- },
- "compile": {
- "lib/net8.0/Microsoft.OpenApi.dll": {
- "related": ".pdb;.xml"
- }
- },
- "runtime": {
- "lib/net8.0/Microsoft.OpenApi.dll": {
- "related": ".pdb;.xml"
- }
- }
- },
- "Swashbuckle.AspNetCore/10.1.7": {
- "type": "package",
- "dependencies": {
- "Microsoft.Extensions.ApiDescription.Server": "9.0.0",
- "Swashbuckle.AspNetCore.Swagger": "10.1.7",
- "Swashbuckle.AspNetCore.SwaggerGen": "10.1.7",
- "Swashbuckle.AspNetCore.SwaggerUI": "10.1.7"
- },
- "build": {
- "build/Swashbuckle.AspNetCore.props": {}
- },
- "buildMultiTargeting": {
- "buildMultiTargeting/Swashbuckle.AspNetCore.props": {}
- }
- },
- "Swashbuckle.AspNetCore.Swagger/10.1.7": {
- "type": "package",
- "dependencies": {
- "Microsoft.OpenApi": "2.4.1"
- },
- "compile": {
- "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": {
- "related": ".pdb;.xml"
- }
- },
- "runtime": {
- "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": {
- "related": ".pdb;.xml"
- }
- },
- "frameworkReferences": [
- "Microsoft.AspNetCore.App"
- ]
- },
- "Swashbuckle.AspNetCore.SwaggerGen/10.1.7": {
- "type": "package",
- "dependencies": {
- "Swashbuckle.AspNetCore.Swagger": "10.1.7"
- },
- "compile": {
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
- "related": ".pdb;.xml"
- }
- },
- "runtime": {
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
- "related": ".pdb;.xml"
- }
- }
- },
- "Swashbuckle.AspNetCore.SwaggerUI/10.1.7": {
- "type": "package",
- "compile": {
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
- "related": ".pdb;.xml"
- }
- },
- "runtime": {
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
- "related": ".pdb;.xml"
- }
- },
- "frameworkReferences": [
- "Microsoft.AspNetCore.App"
- ]
- },
- "System.Text.Json/8.0.5": {
- "type": "package",
- "compile": {
- "lib/net8.0/System.Text.Json.dll": {
- "related": ".xml"
- }
- },
- "runtime": {
- "lib/net8.0/System.Text.Json.dll": {
- "related": ".xml"
- }
- },
- "build": {
- "buildTransitive/net6.0/System.Text.Json.targets": {}
- }
- }
- }
- },
- "libraries": {
- "Microsoft.Extensions.ApiDescription.Server/9.0.0": {
- "sha512": "1Kzzf7pRey40VaUkHN9/uWxrKVkLu2AQjt+GVeeKLLpiEHAJ1xZRsLSh4ZZYEnyS7Kt2OBOPmsXNdU+wbcOl5w==",
- "type": "package",
- "path": "microsoft.extensions.apidescription.server/9.0.0",
- "hasTools": true,
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "Icon.png",
- "build/Microsoft.Extensions.ApiDescription.Server.props",
- "build/Microsoft.Extensions.ApiDescription.Server.targets",
- "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props",
- "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets",
- "microsoft.extensions.apidescription.server.9.0.0.nupkg.sha512",
- "microsoft.extensions.apidescription.server.nuspec",
- "tools/Newtonsoft.Json.dll",
- "tools/dotnet-getdocument.deps.json",
- "tools/dotnet-getdocument.dll",
- "tools/dotnet-getdocument.runtimeconfig.json",
- "tools/net462-x86/GetDocument.Insider.exe",
- "tools/net462-x86/GetDocument.Insider.exe.config",
- "tools/net462-x86/Microsoft.OpenApi.dll",
- "tools/net462-x86/Microsoft.Win32.Primitives.dll",
- "tools/net462-x86/System.AppContext.dll",
- "tools/net462-x86/System.Buffers.dll",
- "tools/net462-x86/System.Collections.Concurrent.dll",
- "tools/net462-x86/System.Collections.NonGeneric.dll",
- "tools/net462-x86/System.Collections.Specialized.dll",
- "tools/net462-x86/System.Collections.dll",
- "tools/net462-x86/System.ComponentModel.EventBasedAsync.dll",
- "tools/net462-x86/System.ComponentModel.Primitives.dll",
- "tools/net462-x86/System.ComponentModel.TypeConverter.dll",
- "tools/net462-x86/System.ComponentModel.dll",
- "tools/net462-x86/System.Console.dll",
- "tools/net462-x86/System.Data.Common.dll",
- "tools/net462-x86/System.Diagnostics.Contracts.dll",
- "tools/net462-x86/System.Diagnostics.Debug.dll",
- "tools/net462-x86/System.Diagnostics.DiagnosticSource.dll",
- "tools/net462-x86/System.Diagnostics.FileVersionInfo.dll",
- "tools/net462-x86/System.Diagnostics.Process.dll",
- "tools/net462-x86/System.Diagnostics.StackTrace.dll",
- "tools/net462-x86/System.Diagnostics.TextWriterTraceListener.dll",
- "tools/net462-x86/System.Diagnostics.Tools.dll",
- "tools/net462-x86/System.Diagnostics.TraceSource.dll",
- "tools/net462-x86/System.Diagnostics.Tracing.dll",
- "tools/net462-x86/System.Drawing.Primitives.dll",
- "tools/net462-x86/System.Dynamic.Runtime.dll",
- "tools/net462-x86/System.Globalization.Calendars.dll",
- "tools/net462-x86/System.Globalization.Extensions.dll",
- "tools/net462-x86/System.Globalization.dll",
- "tools/net462-x86/System.IO.Compression.ZipFile.dll",
- "tools/net462-x86/System.IO.Compression.dll",
- "tools/net462-x86/System.IO.FileSystem.DriveInfo.dll",
- "tools/net462-x86/System.IO.FileSystem.Primitives.dll",
- "tools/net462-x86/System.IO.FileSystem.Watcher.dll",
- "tools/net462-x86/System.IO.FileSystem.dll",
- "tools/net462-x86/System.IO.IsolatedStorage.dll",
- "tools/net462-x86/System.IO.MemoryMappedFiles.dll",
- "tools/net462-x86/System.IO.Pipes.dll",
- "tools/net462-x86/System.IO.UnmanagedMemoryStream.dll",
- "tools/net462-x86/System.IO.dll",
- "tools/net462-x86/System.Linq.Expressions.dll",
- "tools/net462-x86/System.Linq.Parallel.dll",
- "tools/net462-x86/System.Linq.Queryable.dll",
- "tools/net462-x86/System.Linq.dll",
- "tools/net462-x86/System.Memory.dll",
- "tools/net462-x86/System.Net.Http.dll",
- "tools/net462-x86/System.Net.NameResolution.dll",
- "tools/net462-x86/System.Net.NetworkInformation.dll",
- "tools/net462-x86/System.Net.Ping.dll",
- "tools/net462-x86/System.Net.Primitives.dll",
- "tools/net462-x86/System.Net.Requests.dll",
- "tools/net462-x86/System.Net.Security.dll",
- "tools/net462-x86/System.Net.Sockets.dll",
- "tools/net462-x86/System.Net.WebHeaderCollection.dll",
- "tools/net462-x86/System.Net.WebSockets.Client.dll",
- "tools/net462-x86/System.Net.WebSockets.dll",
- "tools/net462-x86/System.Numerics.Vectors.dll",
- "tools/net462-x86/System.ObjectModel.dll",
- "tools/net462-x86/System.Reflection.Extensions.dll",
- "tools/net462-x86/System.Reflection.Primitives.dll",
- "tools/net462-x86/System.Reflection.dll",
- "tools/net462-x86/System.Resources.Reader.dll",
- "tools/net462-x86/System.Resources.ResourceManager.dll",
- "tools/net462-x86/System.Resources.Writer.dll",
- "tools/net462-x86/System.Runtime.CompilerServices.Unsafe.dll",
- "tools/net462-x86/System.Runtime.CompilerServices.VisualC.dll",
- "tools/net462-x86/System.Runtime.Extensions.dll",
- "tools/net462-x86/System.Runtime.Handles.dll",
- "tools/net462-x86/System.Runtime.InteropServices.RuntimeInformation.dll",
- "tools/net462-x86/System.Runtime.InteropServices.dll",
- "tools/net462-x86/System.Runtime.Numerics.dll",
- "tools/net462-x86/System.Runtime.Serialization.Formatters.dll",
- "tools/net462-x86/System.Runtime.Serialization.Json.dll",
- "tools/net462-x86/System.Runtime.Serialization.Primitives.dll",
- "tools/net462-x86/System.Runtime.Serialization.Xml.dll",
- "tools/net462-x86/System.Runtime.dll",
- "tools/net462-x86/System.Security.Claims.dll",
- "tools/net462-x86/System.Security.Cryptography.Algorithms.dll",
- "tools/net462-x86/System.Security.Cryptography.Csp.dll",
- "tools/net462-x86/System.Security.Cryptography.Encoding.dll",
- "tools/net462-x86/System.Security.Cryptography.Primitives.dll",
- "tools/net462-x86/System.Security.Cryptography.X509Certificates.dll",
- "tools/net462-x86/System.Security.Principal.dll",
- "tools/net462-x86/System.Security.SecureString.dll",
- "tools/net462-x86/System.Text.Encoding.Extensions.dll",
- "tools/net462-x86/System.Text.Encoding.dll",
- "tools/net462-x86/System.Text.RegularExpressions.dll",
- "tools/net462-x86/System.Threading.Overlapped.dll",
- "tools/net462-x86/System.Threading.Tasks.Parallel.dll",
- "tools/net462-x86/System.Threading.Tasks.dll",
- "tools/net462-x86/System.Threading.Thread.dll",
- "tools/net462-x86/System.Threading.ThreadPool.dll",
- "tools/net462-x86/System.Threading.Timer.dll",
- "tools/net462-x86/System.Threading.dll",
- "tools/net462-x86/System.ValueTuple.dll",
- "tools/net462-x86/System.Xml.ReaderWriter.dll",
- "tools/net462-x86/System.Xml.XDocument.dll",
- "tools/net462-x86/System.Xml.XPath.XDocument.dll",
- "tools/net462-x86/System.Xml.XPath.dll",
- "tools/net462-x86/System.Xml.XmlDocument.dll",
- "tools/net462-x86/System.Xml.XmlSerializer.dll",
- "tools/net462-x86/netstandard.dll",
- "tools/net462/GetDocument.Insider.exe",
- "tools/net462/GetDocument.Insider.exe.config",
- "tools/net462/Microsoft.OpenApi.dll",
- "tools/net462/Microsoft.Win32.Primitives.dll",
- "tools/net462/System.AppContext.dll",
- "tools/net462/System.Buffers.dll",
- "tools/net462/System.Collections.Concurrent.dll",
- "tools/net462/System.Collections.NonGeneric.dll",
- "tools/net462/System.Collections.Specialized.dll",
- "tools/net462/System.Collections.dll",
- "tools/net462/System.ComponentModel.EventBasedAsync.dll",
- "tools/net462/System.ComponentModel.Primitives.dll",
- "tools/net462/System.ComponentModel.TypeConverter.dll",
- "tools/net462/System.ComponentModel.dll",
- "tools/net462/System.Console.dll",
- "tools/net462/System.Data.Common.dll",
- "tools/net462/System.Diagnostics.Contracts.dll",
- "tools/net462/System.Diagnostics.Debug.dll",
- "tools/net462/System.Diagnostics.DiagnosticSource.dll",
- "tools/net462/System.Diagnostics.FileVersionInfo.dll",
- "tools/net462/System.Diagnostics.Process.dll",
- "tools/net462/System.Diagnostics.StackTrace.dll",
- "tools/net462/System.Diagnostics.TextWriterTraceListener.dll",
- "tools/net462/System.Diagnostics.Tools.dll",
- "tools/net462/System.Diagnostics.TraceSource.dll",
- "tools/net462/System.Diagnostics.Tracing.dll",
- "tools/net462/System.Drawing.Primitives.dll",
- "tools/net462/System.Dynamic.Runtime.dll",
- "tools/net462/System.Globalization.Calendars.dll",
- "tools/net462/System.Globalization.Extensions.dll",
- "tools/net462/System.Globalization.dll",
- "tools/net462/System.IO.Compression.ZipFile.dll",
- "tools/net462/System.IO.Compression.dll",
- "tools/net462/System.IO.FileSystem.DriveInfo.dll",
- "tools/net462/System.IO.FileSystem.Primitives.dll",
- "tools/net462/System.IO.FileSystem.Watcher.dll",
- "tools/net462/System.IO.FileSystem.dll",
- "tools/net462/System.IO.IsolatedStorage.dll",
- "tools/net462/System.IO.MemoryMappedFiles.dll",
- "tools/net462/System.IO.Pipes.dll",
- "tools/net462/System.IO.UnmanagedMemoryStream.dll",
- "tools/net462/System.IO.dll",
- "tools/net462/System.Linq.Expressions.dll",
- "tools/net462/System.Linq.Parallel.dll",
- "tools/net462/System.Linq.Queryable.dll",
- "tools/net462/System.Linq.dll",
- "tools/net462/System.Memory.dll",
- "tools/net462/System.Net.Http.dll",
- "tools/net462/System.Net.NameResolution.dll",
- "tools/net462/System.Net.NetworkInformation.dll",
- "tools/net462/System.Net.Ping.dll",
- "tools/net462/System.Net.Primitives.dll",
- "tools/net462/System.Net.Requests.dll",
- "tools/net462/System.Net.Security.dll",
- "tools/net462/System.Net.Sockets.dll",
- "tools/net462/System.Net.WebHeaderCollection.dll",
- "tools/net462/System.Net.WebSockets.Client.dll",
- "tools/net462/System.Net.WebSockets.dll",
- "tools/net462/System.Numerics.Vectors.dll",
- "tools/net462/System.ObjectModel.dll",
- "tools/net462/System.Reflection.Extensions.dll",
- "tools/net462/System.Reflection.Primitives.dll",
- "tools/net462/System.Reflection.dll",
- "tools/net462/System.Resources.Reader.dll",
- "tools/net462/System.Resources.ResourceManager.dll",
- "tools/net462/System.Resources.Writer.dll",
- "tools/net462/System.Runtime.CompilerServices.Unsafe.dll",
- "tools/net462/System.Runtime.CompilerServices.VisualC.dll",
- "tools/net462/System.Runtime.Extensions.dll",
- "tools/net462/System.Runtime.Handles.dll",
- "tools/net462/System.Runtime.InteropServices.RuntimeInformation.dll",
- "tools/net462/System.Runtime.InteropServices.dll",
- "tools/net462/System.Runtime.Numerics.dll",
- "tools/net462/System.Runtime.Serialization.Formatters.dll",
- "tools/net462/System.Runtime.Serialization.Json.dll",
- "tools/net462/System.Runtime.Serialization.Primitives.dll",
- "tools/net462/System.Runtime.Serialization.Xml.dll",
- "tools/net462/System.Runtime.dll",
- "tools/net462/System.Security.Claims.dll",
- "tools/net462/System.Security.Cryptography.Algorithms.dll",
- "tools/net462/System.Security.Cryptography.Csp.dll",
- "tools/net462/System.Security.Cryptography.Encoding.dll",
- "tools/net462/System.Security.Cryptography.Primitives.dll",
- "tools/net462/System.Security.Cryptography.X509Certificates.dll",
- "tools/net462/System.Security.Principal.dll",
- "tools/net462/System.Security.SecureString.dll",
- "tools/net462/System.Text.Encoding.Extensions.dll",
- "tools/net462/System.Text.Encoding.dll",
- "tools/net462/System.Text.RegularExpressions.dll",
- "tools/net462/System.Threading.Overlapped.dll",
- "tools/net462/System.Threading.Tasks.Parallel.dll",
- "tools/net462/System.Threading.Tasks.dll",
- "tools/net462/System.Threading.Thread.dll",
- "tools/net462/System.Threading.ThreadPool.dll",
- "tools/net462/System.Threading.Timer.dll",
- "tools/net462/System.Threading.dll",
- "tools/net462/System.ValueTuple.dll",
- "tools/net462/System.Xml.ReaderWriter.dll",
- "tools/net462/System.Xml.XDocument.dll",
- "tools/net462/System.Xml.XPath.XDocument.dll",
- "tools/net462/System.Xml.XPath.dll",
- "tools/net462/System.Xml.XmlDocument.dll",
- "tools/net462/System.Xml.XmlSerializer.dll",
- "tools/net462/netstandard.dll",
- "tools/net9.0/GetDocument.Insider.deps.json",
- "tools/net9.0/GetDocument.Insider.dll",
- "tools/net9.0/GetDocument.Insider.exe",
- "tools/net9.0/GetDocument.Insider.runtimeconfig.json",
- "tools/net9.0/Microsoft.AspNetCore.Connections.Abstractions.dll",
- "tools/net9.0/Microsoft.AspNetCore.Connections.Abstractions.xml",
- "tools/net9.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll",
- "tools/net9.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml",
- "tools/net9.0/Microsoft.AspNetCore.Http.Features.dll",
- "tools/net9.0/Microsoft.AspNetCore.Http.Features.xml",
- "tools/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll",
- "tools/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
- "tools/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll",
- "tools/net9.0/Microsoft.Extensions.Features.dll",
- "tools/net9.0/Microsoft.Extensions.Features.xml",
- "tools/net9.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
- "tools/net9.0/Microsoft.Extensions.Hosting.Abstractions.dll",
- "tools/net9.0/Microsoft.Extensions.Logging.Abstractions.dll",
- "tools/net9.0/Microsoft.Extensions.Options.dll",
- "tools/net9.0/Microsoft.Extensions.Primitives.dll",
- "tools/net9.0/Microsoft.Net.Http.Headers.dll",
- "tools/net9.0/Microsoft.Net.Http.Headers.xml",
- "tools/net9.0/Microsoft.OpenApi.dll",
- "tools/netcoreapp2.1/GetDocument.Insider.deps.json",
- "tools/netcoreapp2.1/GetDocument.Insider.dll",
- "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json",
- "tools/netcoreapp2.1/Microsoft.OpenApi.dll",
- "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll"
- ]
- },
- "Microsoft.OpenApi/2.4.1": {
- "sha512": "u7QhXCISMQuab3flasb1hoaiERmUqyWsW7tmQODyILoQ7mJV5IRGM+2KKZYo0QUfC13evEOcHAb6TPWgqEQtrw==",
- "type": "package",
- "path": "microsoft.openapi/2.4.1",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "README.md",
- "lib/net8.0/Microsoft.OpenApi.dll",
- "lib/net8.0/Microsoft.OpenApi.pdb",
- "lib/net8.0/Microsoft.OpenApi.xml",
- "lib/netstandard2.0/Microsoft.OpenApi.dll",
- "lib/netstandard2.0/Microsoft.OpenApi.pdb",
- "lib/netstandard2.0/Microsoft.OpenApi.xml",
- "microsoft.openapi.2.4.1.nupkg.sha512",
- "microsoft.openapi.nuspec"
- ]
- },
- "Swashbuckle.AspNetCore/10.1.7": {
- "sha512": "vgef8DPT411JU5JjHiDbr0WOxsIVuAvegPGtqmm4Na4JRl/264dfBJcGkiPHsAr5P+Vda+qN1rZKRtBl1rF9aA==",
- "type": "package",
- "path": "swashbuckle.aspnetcore/10.1.7",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "build/Swashbuckle.AspNetCore.props",
- "buildMultiTargeting/Swashbuckle.AspNetCore.props",
- "docs/package-readme.md",
- "swashbuckle.aspnetcore.10.1.7.nupkg.sha512",
- "swashbuckle.aspnetcore.nuspec"
- ]
- },
- "Swashbuckle.AspNetCore.Swagger/10.1.7": {
- "sha512": "EjLibt/d/QuRv170GoihTbcPUpgzSFm2WKHhnGJFZQ03JYzfuitsM79azaAR8NBwRunU7yScSX6HRE5JUlrEMQ==",
- "type": "package",
- "path": "swashbuckle.aspnetcore.swagger/10.1.7",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "lib/net10.0/Swashbuckle.AspNetCore.Swagger.dll",
- "lib/net10.0/Swashbuckle.AspNetCore.Swagger.pdb",
- "lib/net10.0/Swashbuckle.AspNetCore.Swagger.xml",
- "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll",
- "lib/net8.0/Swashbuckle.AspNetCore.Swagger.pdb",
- "lib/net8.0/Swashbuckle.AspNetCore.Swagger.xml",
- "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll",
- "lib/net9.0/Swashbuckle.AspNetCore.Swagger.pdb",
- "lib/net9.0/Swashbuckle.AspNetCore.Swagger.xml",
- "package-readme.md",
- "swashbuckle.aspnetcore.swagger.10.1.7.nupkg.sha512",
- "swashbuckle.aspnetcore.swagger.nuspec"
- ]
- },
- "Swashbuckle.AspNetCore.SwaggerGen/10.1.7": {
- "sha512": "PuubO9BjvNn6U3D9kLpuWKY1JtziWw7SsGBq0age1E50uQjQ8Fzl8s0EwzrLfANqYJNgDnJi9l7N1QxcGVB2Zw==",
- "type": "package",
- "path": "swashbuckle.aspnetcore.swaggergen/10.1.7",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "lib/net10.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
- "lib/net10.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
- "lib/net10.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
- "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
- "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
- "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
- "package-readme.md",
- "swashbuckle.aspnetcore.swaggergen.10.1.7.nupkg.sha512",
- "swashbuckle.aspnetcore.swaggergen.nuspec"
- ]
- },
- "Swashbuckle.AspNetCore.SwaggerUI/10.1.7": {
- "sha512": "iJo3ODyUb/M8Vm8AH1r9y9iAba0w95xsCn3zFVl96ISRHbTDWxi+l7oFVCZqUEdjd97B8VMDPnMliWAdomR8uw==",
- "type": "package",
- "path": "swashbuckle.aspnetcore.swaggerui/10.1.7",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "lib/net10.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
- "lib/net10.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
- "lib/net10.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
- "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
- "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
- "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
- "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
- "package-readme.md",
- "swashbuckle.aspnetcore.swaggerui.10.1.7.nupkg.sha512",
- "swashbuckle.aspnetcore.swaggerui.nuspec"
- ]
- },
- "System.Text.Json/8.0.5": {
- "sha512": "0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==",
- "type": "package",
- "path": "system.text.json/8.0.5",
- "files": [
- ".nupkg.metadata",
- ".signature.p7s",
- "Icon.png",
- "LICENSE.TXT",
- "PACKAGE.md",
- "THIRD-PARTY-NOTICES.TXT",
- "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll",
- "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll",
- "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll",
- "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
- "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
- "buildTransitive/net461/System.Text.Json.targets",
- "buildTransitive/net462/System.Text.Json.targets",
- "buildTransitive/net6.0/System.Text.Json.targets",
- "buildTransitive/netcoreapp2.0/System.Text.Json.targets",
- "buildTransitive/netstandard2.0/System.Text.Json.targets",
- "lib/net462/System.Text.Json.dll",
- "lib/net462/System.Text.Json.xml",
- "lib/net6.0/System.Text.Json.dll",
- "lib/net6.0/System.Text.Json.xml",
- "lib/net7.0/System.Text.Json.dll",
- "lib/net7.0/System.Text.Json.xml",
- "lib/net8.0/System.Text.Json.dll",
- "lib/net8.0/System.Text.Json.xml",
- "lib/netstandard2.0/System.Text.Json.dll",
- "lib/netstandard2.0/System.Text.Json.xml",
- "system.text.json.8.0.5.nupkg.sha512",
- "system.text.json.nuspec",
- "useSharedDesignerContext.txt"
- ]
- }
- },
- "projectFileDependencyGroups": {
- "net9.0": [
- "Swashbuckle.AspNetCore >= 10.1.7"
- ]
- },
- "packageFolders": {
- "/home/overseer/.nuget/packages/": {}
- },
- "project": {
- "version": "1.0.0",
- "restore": {
- "projectUniqueName": "/home/overseer/projects/control-center/backend/ControlCenter/ControlCenter.csproj",
- "projectName": "ControlCenter",
- "projectPath": "/home/overseer/projects/control-center/backend/ControlCenter/ControlCenter.csproj",
- "packagesPath": "/home/overseer/.nuget/packages/",
- "outputPath": "/home/overseer/projects/control-center/backend/ControlCenter/obj/",
- "projectStyle": "PackageReference",
- "configFilePaths": [
- "/home/overseer/.nuget/NuGet/NuGet.Config"
- ],
- "originalTargetFrameworks": [
- "net9.0"
- ],
- "sources": {
- "https://api.nuget.org/v3/index.json": {}
- },
- "frameworks": {
- "net9.0": {
- "targetAlias": "net9.0",
- "projectReferences": {}
- }
- },
- "warningProperties": {
- "warnAsError": [
- "NU1605"
- ]
- },
- "restoreAuditProperties": {
- "enableAudit": "true",
- "auditLevel": "low",
- "auditMode": "direct"
- },
- "SdkAnalysisLevel": "9.0.300"
- },
- "frameworks": {
- "net9.0": {
- "targetAlias": "net9.0",
- "dependencies": {
- "Swashbuckle.AspNetCore": {
- "target": "Package",
- "version": "[10.1.7, )"
- }
- },
- "imports": [
- "net461",
- "net462",
- "net47",
- "net471",
- "net472",
- "net48",
- "net481"
- ],
- "assetTargetFallback": true,
- "warn": true,
- "frameworkReferences": {
- "Microsoft.AspNetCore.App": {
- "privateAssets": "none"
- },
- "Microsoft.NETCore.App": {
- "privateAssets": "all"
- }
- },
- "runtimeIdentifierGraphPath": "/home/overseer/.dotnet/sdk/9.0.312/PortableRuntimeIdentifierGraph.json"
- }
- }
- }
-}
\ No newline at end of file
diff --git a/backend/ControlCenter/obj/project.nuget.cache b/backend/ControlCenter/obj/project.nuget.cache
deleted file mode 100644
index 1ebfc14..0000000
--- a/backend/ControlCenter/obj/project.nuget.cache
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "version": 2,
- "dgSpecHash": "MT3Qf7m9RtI=",
- "success": true,
- "projectFilePath": "/home/overseer/projects/control-center/backend/ControlCenter/ControlCenter.csproj",
- "expectedPackageFiles": [
- "/home/overseer/.nuget/packages/microsoft.extensions.apidescription.server/9.0.0/microsoft.extensions.apidescription.server.9.0.0.nupkg.sha512",
- "/home/overseer/.nuget/packages/microsoft.openapi/2.4.1/microsoft.openapi.2.4.1.nupkg.sha512",
- "/home/overseer/.nuget/packages/swashbuckle.aspnetcore/10.1.7/swashbuckle.aspnetcore.10.1.7.nupkg.sha512",
- "/home/overseer/.nuget/packages/swashbuckle.aspnetcore.swagger/10.1.7/swashbuckle.aspnetcore.swagger.10.1.7.nupkg.sha512",
- "/home/overseer/.nuget/packages/swashbuckle.aspnetcore.swaggergen/10.1.7/swashbuckle.aspnetcore.swaggergen.10.1.7.nupkg.sha512",
- "/home/overseer/.nuget/packages/swashbuckle.aspnetcore.swaggerui/10.1.7/swashbuckle.aspnetcore.swaggerui.10.1.7.nupkg.sha512",
- "/home/overseer/.nuget/packages/system.text.json/8.0.5/system.text.json.8.0.5.nupkg.sha512"
- ],
- "logs": []
-}
\ No newline at end of file