feat(agent): improve investigation contracts and runtime readiness
This commit is contained in:
+374
-2
@@ -4683,6 +4683,13 @@
|
||||
"title": "Execution Request Id",
|
||||
"type": "string"
|
||||
},
|
||||
"handling_context": {
|
||||
"additionalProperties": {
|
||||
"$ref": "#/components/schemas/JsonValue"
|
||||
},
|
||||
"title": "Handling Context",
|
||||
"type": "object"
|
||||
},
|
||||
"latest_plan": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -5653,6 +5660,13 @@
|
||||
"title": "Execution Request Id",
|
||||
"type": "string"
|
||||
},
|
||||
"handling_context": {
|
||||
"additionalProperties": {
|
||||
"$ref": "#/components/schemas/JsonValue"
|
||||
},
|
||||
"title": "Handling Context",
|
||||
"type": "object"
|
||||
},
|
||||
"latest_run": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -7382,9 +7396,70 @@
|
||||
"title": "ScadaLatestReadingsResponse",
|
||||
"type": "object"
|
||||
},
|
||||
"ScadaMonitoringIncident": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"action": {
|
||||
"enum": [
|
||||
"raised",
|
||||
"ongoing",
|
||||
"resolved"
|
||||
],
|
||||
"title": "Action",
|
||||
"type": "string"
|
||||
},
|
||||
"incident_id": {
|
||||
"format": "uuid",
|
||||
"title": "Incident Id",
|
||||
"type": "string"
|
||||
},
|
||||
"last_observed_at": {
|
||||
"format": "date-time",
|
||||
"title": "Last Observed At",
|
||||
"type": "string"
|
||||
},
|
||||
"recovery_count": {
|
||||
"maximum": 2.0,
|
||||
"minimum": 0.0,
|
||||
"title": "Recovery Count",
|
||||
"type": "integer"
|
||||
},
|
||||
"started_at": {
|
||||
"format": "date-time",
|
||||
"title": "Started At",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"enum": [
|
||||
"active",
|
||||
"resolved"
|
||||
],
|
||||
"title": "Status",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"incident_id",
|
||||
"status",
|
||||
"action",
|
||||
"started_at",
|
||||
"last_observed_at",
|
||||
"recovery_count"
|
||||
],
|
||||
"title": "ScadaMonitoringIncident",
|
||||
"type": "object"
|
||||
},
|
||||
"ScadaMonitoringResult": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"anomaly_signals": {
|
||||
"items": {
|
||||
"additionalProperties": true,
|
||||
"type": "object"
|
||||
},
|
||||
"title": "Anomaly Signals",
|
||||
"type": "array"
|
||||
},
|
||||
"batch_sequence": {
|
||||
"minimum": 1.0,
|
||||
"title": "Batch Sequence",
|
||||
@@ -7401,6 +7476,16 @@
|
||||
"title": "Detail",
|
||||
"type": "string"
|
||||
},
|
||||
"incident": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/ScadaMonitoringIncident"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"knowledge_cutoff": {
|
||||
"format": "date-time",
|
||||
"title": "Knowledge Cutoff",
|
||||
@@ -7465,6 +7550,18 @@
|
||||
}
|
||||
],
|
||||
"title": "Task Id"
|
||||
},
|
||||
"weighted": {
|
||||
"anyOf": [
|
||||
{
|
||||
"additionalProperties": true,
|
||||
"type": "object"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Weighted"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -7487,6 +7584,22 @@
|
||||
"additionalProperties": false,
|
||||
"description": "Project-owned device roles used by the manual SCADA monitoring demo.",
|
||||
"properties": {
|
||||
"alert_threshold": {
|
||||
"default": 0.8,
|
||||
"exclusiveMinimum": 0.0,
|
||||
"maximum": 1.0,
|
||||
"title": "Alert Threshold",
|
||||
"type": "number"
|
||||
},
|
||||
"decision_policy": {
|
||||
"default": "weighted",
|
||||
"enum": [
|
||||
"all_signals",
|
||||
"weighted"
|
||||
],
|
||||
"title": "Decision Policy",
|
||||
"type": "string"
|
||||
},
|
||||
"outlet_flow_device_ids": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
@@ -7504,17 +7617,48 @@
|
||||
"type": "array"
|
||||
},
|
||||
"rule_version": {
|
||||
"default": "burst-monitor-v1",
|
||||
"default": "burst-monitor-v2",
|
||||
"maxLength": 80,
|
||||
"minLength": 1,
|
||||
"pattern": "^[a-zA-Z0-9_.-]+$",
|
||||
"title": "Rule Version",
|
||||
"type": "string"
|
||||
},
|
||||
"weights": {
|
||||
"$ref": "#/components/schemas/ScadaMonitoringWeights"
|
||||
}
|
||||
},
|
||||
"title": "ScadaMonitoringSettings",
|
||||
"type": "object"
|
||||
},
|
||||
"ScadaMonitoringWeights": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"burst_detection": {
|
||||
"default": 0.5,
|
||||
"maximum": 1.0,
|
||||
"minimum": 0.0,
|
||||
"title": "Burst Detection",
|
||||
"type": "number"
|
||||
},
|
||||
"outlet_flow": {
|
||||
"default": 0.1,
|
||||
"maximum": 1.0,
|
||||
"minimum": 0.0,
|
||||
"title": "Outlet Flow",
|
||||
"type": "number"
|
||||
},
|
||||
"pressure": {
|
||||
"default": 0.4,
|
||||
"maximum": 1.0,
|
||||
"minimum": 0.0,
|
||||
"title": "Pressure",
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"title": "ScadaMonitoringWeights",
|
||||
"type": "object"
|
||||
},
|
||||
"ScadaQualityRange": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
@@ -7700,6 +7844,16 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"monitoring_config": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/ScadaMonitoringSettings"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"monitoring_interval_seconds": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -7738,12 +7892,25 @@
|
||||
"action": {
|
||||
"enum": [
|
||||
"step",
|
||||
"monitor",
|
||||
"stop",
|
||||
"retry"
|
||||
],
|
||||
"title": "Action",
|
||||
"type": "string"
|
||||
},
|
||||
"at_time": {
|
||||
"anyOf": [
|
||||
{
|
||||
"format": "date-time",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "At Time"
|
||||
},
|
||||
"expected_revision": {
|
||||
"minimum": 1.0,
|
||||
"title": "Expected Revision",
|
||||
@@ -8074,6 +8241,28 @@
|
||||
"title": "Latest",
|
||||
"type": "array"
|
||||
},
|
||||
"monitoring_calibration": {
|
||||
"anyOf": [
|
||||
{
|
||||
"additionalProperties": true,
|
||||
"type": "object"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Monitoring Calibration"
|
||||
},
|
||||
"monitoring_config": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/ScadaMonitoringSettings"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"monitoring_count": {
|
||||
"default": 0,
|
||||
"title": "Monitoring Count",
|
||||
@@ -10041,6 +10230,18 @@
|
||||
"title": "Title",
|
||||
"type": "string"
|
||||
},
|
||||
"x_axis_name": {
|
||||
"anyOf": [
|
||||
{
|
||||
"maxLength": 128,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "X Axis Name"
|
||||
},
|
||||
"x_data": {
|
||||
"items": {
|
||||
"maxLength": 128,
|
||||
@@ -10050,6 +10251,18 @@
|
||||
"minItems": 1,
|
||||
"title": "X Data",
|
||||
"type": "array"
|
||||
},
|
||||
"y_axis_name": {
|
||||
"anyOf": [
|
||||
{
|
||||
"maxLength": 128,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Y Axis Name"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -10066,7 +10279,14 @@
|
||||
"properties": {
|
||||
"data": {
|
||||
"items": {
|
||||
"type": "number"
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"maxItems": 100,
|
||||
"minItems": 1,
|
||||
@@ -10077,6 +10297,47 @@
|
||||
"maxLength": 128,
|
||||
"title": "Name",
|
||||
"type": "string"
|
||||
},
|
||||
"sample_times": {
|
||||
"anyOf": [
|
||||
{
|
||||
"items": {
|
||||
"anyOf": [
|
||||
{
|
||||
"maxLength": 64,
|
||||
"pattern": "^(?:[1-9][0-9]{3}|0[1-9][0-9]{2}|00[1-9][0-9]|000[1-9])-[0-9]{2}-[0-9]{2}T(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](?:\\.[0-9]+)?(?:Z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])$",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"maxItems": 100,
|
||||
"minItems": 1,
|
||||
"type": "array"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Sample Times"
|
||||
},
|
||||
"type": {
|
||||
"anyOf": [
|
||||
{
|
||||
"enum": [
|
||||
"line",
|
||||
"bar",
|
||||
"scatter"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Type"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -28495,6 +28756,117 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/operational-tasks/recovery/reconcile": {
|
||||
"post": {
|
||||
"operationId": "post_operational_tasks_recovery_reconcile",
|
||||
"parameters": [
|
||||
{
|
||||
"in": "header",
|
||||
"name": "X-Project-Id",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"title": "X-Project-Id",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/RecoverExpiredLeasesCommand"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"additionalProperties": {
|
||||
"type": "integer"
|
||||
},
|
||||
"title": "Response Post Operational Tasks Recovery Reconcile",
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Successful Response"
|
||||
},
|
||||
"401": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetails"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Authentication required"
|
||||
},
|
||||
"403": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetails"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Insufficient permission"
|
||||
},
|
||||
"404": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetails"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Resource not found"
|
||||
},
|
||||
"409": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetails"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Resource conflict"
|
||||
},
|
||||
"422": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetails"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Validation error"
|
||||
},
|
||||
"503": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetails"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Dependency unavailable"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"OAuth2PasswordBearer": []
|
||||
}
|
||||
],
|
||||
"summary": "Reconcile Task Recoveries",
|
||||
"tags": [
|
||||
"Operational Tasks"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/operational-tasks/schedules": {
|
||||
"get": {
|
||||
"operationId": "get_operational_tasks_schedules",
|
||||
|
||||
Reference in New Issue
Block a user