diff --git a/schemas/v3/PublishState.schema.json b/schemas/v3/PublishState.schema.json new file mode 100644 index 0000000..1fc85d9 --- /dev/null +++ b/schemas/v3/PublishState.schema.json @@ -0,0 +1,49 @@ +{ + "$defs": { + "HWCSState": { + "enum": [ + "IDLE", + "EXECUTING", + "CALIBRATING", + "OFFLINE" + ], + "title": "HWCSState", + "type": "string" + }, + "PublishStatePayloadSchema": { + "properties": { + "timestamp": { + "description": "Timestamp of the instantiation of the message (return value of time.time())", + "title": "Timestamp", + "type": "number" + }, + "state": { + "$ref": "#/$defs/HWCSState" + } + }, + "required": [ + "timestamp", + "state" + ], + "title": "PublishStatePayloadSchema", + "type": "object" + } + }, + "description": "This message is used to publish the state of the hardware controller system (HWCS).", + "properties": { + "command": { + "const": "publish_state", + "title": "Command", + "type": "string" + }, + "payload": { + "$ref": "#/$defs/PublishStatePayloadSchema" + } + }, + "required": [ + "command", + "payload" + ], + "title": "Publish state message", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareDynamicDataRequest.schema.json b/schemas/v3/QuantumHardwareDynamicDataRequest.schema.json new file mode 100644 index 0000000..712d849 --- /dev/null +++ b/schemas/v3/QuantumHardwareDynamicDataRequest.schema.json @@ -0,0 +1,20 @@ +{ + "properties": { + "command": { + "const": "get_dynamic", + "title": "Command", + "type": "string" + }, + "session_id": { + "format": "uuid", + "title": "Session Id", + "type": "string" + } + }, + "required": [ + "command", + "session_id" + ], + "title": "QuantumHardwareDynamicDataRequest", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareDynamicDataResponse.schema.json b/schemas/v3/QuantumHardwareDynamicDataResponse.schema.json new file mode 100644 index 0000000..e0036f0 --- /dev/null +++ b/schemas/v3/QuantumHardwareDynamicDataResponse.schema.json @@ -0,0 +1,32 @@ +{ + "$defs": { + "DynamicDataSchema": { + "additionalProperties": true, + "title": "DynamicDataSchema", + "type": "object" + } + }, + "description": "A successful response to a dynamic data request.", + "properties": { + "status": { + "const": "success", + "title": "Status", + "type": "string" + }, + "payload": { + "$ref": "#/$defs/DynamicDataSchema" + }, + "session_id": { + "format": "uuid", + "title": "Session Id", + "type": "string" + } + }, + "required": [ + "status", + "payload", + "session_id" + ], + "title": "Get hardware data reply", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareExecuteRequest.schema.json b/schemas/v3/QuantumHardwareExecuteRequest.schema.json new file mode 100644 index 0000000..bd6362d --- /dev/null +++ b/schemas/v3/QuantumHardwareExecuteRequest.schema.json @@ -0,0 +1,60 @@ +{ + "$defs": { + "RunCircuitPayloadSchema": { + "properties": { + "job_id": { + "description": "Client identifier for the execution", + "title": "Job Id", + "type": "integer" + }, + "circuit": { + "description": "Circuit description in cQASM language", + "title": "Circuit", + "type": "string" + }, + "number_of_shots": { + "description": "Number of shots to be executed for the circuit.", + "exclusiveMinimum": 0, + "title": "Number Of Shots", + "type": "integer" + }, + "include_raw_data": { + "default": false, + "description": "Whether or not to return all bitstrings in the order in which they were measured.", + "title": "Include Raw Data", + "type": "boolean" + } + }, + "required": [ + "job_id", + "circuit", + "number_of_shots" + ], + "title": "RunCircuitPayloadSchema", + "type": "object" + } + }, + "properties": { + "session_id": { + "description": "An arbitrary string, filled in in the request, which is copied into the reply object.", + "format": "uuid", + "title": "Session Id", + "type": "string" + }, + "command": { + "const": "execute", + "title": "Command", + "type": "string" + }, + "payload": { + "$ref": "#/$defs/RunCircuitPayloadSchema" + } + }, + "required": [ + "session_id", + "command", + "payload" + ], + "title": "Execution request", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareExecuteResponse.schema.json b/schemas/v3/QuantumHardwareExecuteResponse.schema.json new file mode 100644 index 0000000..fe121aa --- /dev/null +++ b/schemas/v3/QuantumHardwareExecuteResponse.schema.json @@ -0,0 +1,67 @@ +{ + "$defs": { + "RunCircuitResultSchema": { + "properties": { + "job_id": { + "description": "Client defined identifier for the execution.", + "title": "Job Id", + "type": "integer" + }, + "results": { + "additionalProperties": { + "type": "integer" + }, + "description": "Mapping of measured bitstring (little endian notation; q[n]...q[0]) to count of occurrences.", + "title": "Results", + "type": "object" + }, + "raw_data": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A list of bitstrings (little endian notation; `q[n]...q[0]`) ordered by the shot in which it was measured.", + "title": "Raw Data" + } + }, + "required": [ + "job_id", + "results" + ], + "title": "Execute Payload", + "type": "object" + } + }, + "description": "A successful response to a circuit execution request.", + "properties": { + "session_id": { + "description": "An arbitrary string, filled in in the request, which is copied into the reply object.", + "format": "uuid", + "title": "Session Id", + "type": "string" + }, + "status": { + "const": "success", + "title": "Status", + "type": "string" + }, + "payload": { + "$ref": "#/$defs/RunCircuitResultSchema" + } + }, + "required": [ + "session_id", + "status", + "payload" + ], + "title": "Operation success reply", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareFailureResponse.schema.json b/schemas/v3/QuantumHardwareFailureResponse.schema.json new file mode 100644 index 0000000..804c7fa --- /dev/null +++ b/schemas/v3/QuantumHardwareFailureResponse.schema.json @@ -0,0 +1,42 @@ +{ + "$defs": { + "FailureDataSchema": { + "properties": { + "error_msg": { + "description": "A descriptive error message to be passed on to the user.", + "title": "Error Msg", + "type": "string" + } + }, + "required": [ + "error_msg" + ], + "title": "FailureDataSchema", + "type": "object" + } + }, + "description": "Response that indicates a failure in the operation.\n\nCan be sent in response to any request.", + "properties": { + "session_id": { + "description": "An arbitrary string, filled in in the request, which is copied into the reply object.", + "format": "uuid", + "title": "Session Id", + "type": "string" + }, + "status": { + "const": "failure", + "title": "Status", + "type": "string" + }, + "payload": { + "$ref": "#/$defs/FailureDataSchema" + } + }, + "required": [ + "session_id", + "status", + "payload" + ], + "title": "Operation failure reply", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareInitializeRequest.schema.json b/schemas/v3/QuantumHardwareInitializeRequest.schema.json new file mode 100644 index 0000000..937a06d --- /dev/null +++ b/schemas/v3/QuantumHardwareInitializeRequest.schema.json @@ -0,0 +1,22 @@ +{ + "description": "This message signals that execution is about to begin.\n\nThe initialize should be picked up as a request for locking.", + "properties": { + "session_id": { + "description": "An arbitrary string, filled in in the request, which is copied into the reply object.", + "format": "uuid", + "title": "Session Id", + "type": "string" + }, + "command": { + "const": "initialize", + "title": "Command", + "type": "string" + } + }, + "required": [ + "session_id", + "command" + ], + "title": "Initialize request", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareSimpleSuccessResponse.schema.json b/schemas/v3/QuantumHardwareSimpleSuccessResponse.schema.json new file mode 100644 index 0000000..28216fa --- /dev/null +++ b/schemas/v3/QuantumHardwareSimpleSuccessResponse.schema.json @@ -0,0 +1,22 @@ +{ + "description": "A simple success response to an initialize or terminate request.", + "properties": { + "session_id": { + "description": "An arbitrary string, filled in in the request, which is copied into the reply object.", + "format": "uuid", + "title": "Session Id", + "type": "string" + }, + "status": { + "const": "success", + "title": "Status", + "type": "string" + } + }, + "required": [ + "session_id", + "status" + ], + "title": "Operation success reply", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareStaticDataRequest.schema.json b/schemas/v3/QuantumHardwareStaticDataRequest.schema.json new file mode 100644 index 0000000..1f32d09 --- /dev/null +++ b/schemas/v3/QuantumHardwareStaticDataRequest.schema.json @@ -0,0 +1,20 @@ +{ + "properties": { + "command": { + "const": "get_static", + "title": "Command", + "type": "string" + }, + "session_id": { + "format": "uuid", + "title": "Session Id", + "type": "string" + } + }, + "required": [ + "command", + "session_id" + ], + "title": "QuantumHardwareStaticDataRequest", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareStaticDataResponse.schema.json b/schemas/v3/QuantumHardwareStaticDataResponse.schema.json new file mode 100644 index 0000000..16ff183 --- /dev/null +++ b/schemas/v3/QuantumHardwareStaticDataResponse.schema.json @@ -0,0 +1,179 @@ +{ + "$defs": { + "CompilerConfig": { + "description": "Specifies a series of compiler passes to be applied to the circuit before execution.", + "properties": { + "decomposition": { + "default": [], + "items": { + "$ref": "#/$defs/CompilerPass" + }, + "title": "Decomposition", + "type": "array" + }, + "mapping": { + "default": [], + "items": { + "$ref": "#/$defs/CompilerPass" + }, + "title": "Mapping", + "type": "array" + }, + "optimization": { + "default": [], + "items": { + "$ref": "#/$defs/CompilerPass" + }, + "title": "Optimization", + "type": "array" + }, + "routing": { + "default": [], + "items": { + "$ref": "#/$defs/CompilerPass" + }, + "title": "Routing", + "type": "array" + } + }, + "title": "CompilerConfig", + "type": "object" + }, + "CompilerPass": { + "properties": { + "path": { + "description": "Path to OpenSquirrel object that does the compiler pass", + "examples": [ + "opensquirrel.passes.decomposer.mckay_decomposer.McKayDecomposer" + ], + "title": "Path", + "type": "string" + }, + "method": { + "description": "Method on OpenSquirrel object that does the compiler pass", + "examples": [ + "decompose" + ], + "title": "Method", + "type": "string" + }, + "arguments": { + "additionalProperties": true, + "default": {}, + "description": "Arguments for the compiler pass", + "title": "Arguments", + "type": "object" + } + }, + "required": [ + "path", + "method" + ], + "title": "CompilerPass", + "type": "object" + }, + "StaticDataSchema": { + "properties": { + "protocol_version": { + "const": 3, + "title": "Protocol Version", + "type": "integer" + }, + "nqubits": { + "description": "The number of qubits.", + "title": "Nqubits", + "type": "integer" + }, + "topology": { + "$ref": "#/$defs/Topology", + "description": "List of the edges between the various qubits" + }, + "name": { + "description": "Name of the system.", + "title": "Name", + "type": "string" + }, + "pgs": { + "description": "Supported primitive gates set of the system. Gate names as described in cQASM (in uppercase).", + "items": { + "type": "string" + }, + "title": "Pgs", + "type": "array" + }, + "default_compiler_config": { + "$ref": "#/$defs/CompilerConfig", + "default": { + "decomposition": [], + "mapping": [], + "optimization": [], + "routing": [] + }, + "description": "A suitable default compiler configuration for the hardware backend" + }, + "starttime": { + "description": "Timestamp of start-up of the system (return value of time.time())", + "title": "Starttime", + "type": "number" + }, + "supports_raw_data": { + "default": false, + "description": "Whether the hardware backend supports shot memory. If True, the include_raw_data flag in the QuantumHardwareRunCircuitPayload should trigger the backend to store shot memory in the raw_data field of the results.", + "title": "Supports Raw Data", + "type": "boolean" + } + }, + "required": [ + "protocol_version", + "nqubits", + "topology", + "name", + "pgs", + "starttime" + ], + "title": "StaticDataSchema", + "type": "object" + }, + "Topology": { + "description": "A class representing the topology of a quantum chip.\n\nIt is a list of tuples, where each tuple represents a unidirectional connection between two qubits. The first\nelement of the tuple is the source qubit, and the second element is the target qubit.", + "items": { + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "type": "integer" + }, + { + "type": "integer" + } + ], + "type": "array" + }, + "title": "Topology", + "type": "array" + } + }, + "description": "A successful response to a static data request.", + "properties": { + "status": { + "const": "success", + "title": "Status", + "type": "string" + }, + "session_id": { + "format": "uuid", + "title": "Session Id", + "type": "string" + }, + "payload": { + "$ref": "#/$defs/StaticDataSchema" + } + }, + "required": [ + "status", + "session_id", + "payload" + ], + "title": "Get hardware data reply", + "type": "object" +} \ No newline at end of file diff --git a/schemas/v3/QuantumHardwareTerminateRequest.schema.json b/schemas/v3/QuantumHardwareTerminateRequest.schema.json new file mode 100644 index 0000000..6bd4e5b --- /dev/null +++ b/schemas/v3/QuantumHardwareTerminateRequest.schema.json @@ -0,0 +1,22 @@ +{ + "description": "This message signals the end of a session.", + "properties": { + "session_id": { + "description": "An arbitrary string, filled in in the request, which is copied into the reply object.", + "format": "uuid", + "title": "Session Id", + "type": "string" + }, + "command": { + "const": "terminate", + "title": "Command", + "type": "string" + } + }, + "required": [ + "session_id", + "command" + ], + "title": "Terminate request", + "type": "object" +} \ No newline at end of file diff --git a/tests/control-software-validator/models/PublishState.py b/tests/control-software-validator/models/PublishState.py index d5df89b..659c2b7 100644 --- a/tests/control-software-validator/models/PublishState.py +++ b/tests/control-software-validator/models/PublishState.py @@ -4,7 +4,7 @@ from __future__ import annotations from enum import Enum -from typing import Literal, Optional +from typing import Literal from pydantic import BaseModel, Field @@ -26,11 +26,5 @@ class PublishStatePayloadSchema(BaseModel): class PublishState(BaseModel): - version: Optional[str] = Field( - '0.2.0', - description='Version of the message schema. Has been made optional to allow for moving to the new versioning scheme.', - pattern='^\\d+\\.\\d+\\.\\d$', - title='Version', - ) command: Literal['publish_state'] = Field(..., title='Command') payload: PublishStatePayloadSchema diff --git a/tests/control-software-validator/models/QuantumHardwareDynamicDataRequest.py b/tests/control-software-validator/models/QuantumHardwareDynamicDataRequest.py index de7e444..582124d 100644 --- a/tests/control-software-validator/models/QuantumHardwareDynamicDataRequest.py +++ b/tests/control-software-validator/models/QuantumHardwareDynamicDataRequest.py @@ -10,6 +10,5 @@ class QuantumHardwareDynamicDataRequest(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') command: Literal['get_dynamic'] = Field(..., title='Command') session_id: UUID = Field(..., title='Session Id') diff --git a/tests/control-software-validator/models/QuantumHardwareDynamicDataResponse.py b/tests/control-software-validator/models/QuantumHardwareDynamicDataResponse.py index 6b001ac..24f69b6 100644 --- a/tests/control-software-validator/models/QuantumHardwareDynamicDataResponse.py +++ b/tests/control-software-validator/models/QuantumHardwareDynamicDataResponse.py @@ -4,6 +4,7 @@ from __future__ import annotations from typing import Literal +from uuid import UUID from pydantic import BaseModel, ConfigDict, Field @@ -16,6 +17,6 @@ class DynamicDataSchema(BaseModel): class QuantumHardwareDynamicDataResponse(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') status: Literal['success'] = Field(..., title='Status') payload: DynamicDataSchema + session_id: UUID = Field(..., title='Session Id') diff --git a/tests/control-software-validator/models/QuantumHardwareExecuteRequest.py b/tests/control-software-validator/models/QuantumHardwareExecuteRequest.py index e715f6f..0206327 100644 --- a/tests/control-software-validator/models/QuantumHardwareExecuteRequest.py +++ b/tests/control-software-validator/models/QuantumHardwareExecuteRequest.py @@ -30,7 +30,6 @@ class RunCircuitPayloadSchema(BaseModel): class QuantumHardwareExecuteRequest(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') session_id: UUID = Field( ..., description='An arbitrary string, filled in in the request, which is copied into the reply object.', diff --git a/tests/control-software-validator/models/QuantumHardwareExecuteResponse.py b/tests/control-software-validator/models/QuantumHardwareExecuteResponse.py index 8928515..2f89b12 100644 --- a/tests/control-software-validator/models/QuantumHardwareExecuteResponse.py +++ b/tests/control-software-validator/models/QuantumHardwareExecuteResponse.py @@ -26,7 +26,6 @@ class RunCircuitResultSchema(BaseModel): class QuantumHardwareExecuteResponse(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') session_id: UUID = Field( ..., description='An arbitrary string, filled in in the request, which is copied into the reply object.', diff --git a/tests/control-software-validator/models/QuantumHardwareFailureResponse.py b/tests/control-software-validator/models/QuantumHardwareFailureResponse.py index 72a978d..a910365 100644 --- a/tests/control-software-validator/models/QuantumHardwareFailureResponse.py +++ b/tests/control-software-validator/models/QuantumHardwareFailureResponse.py @@ -18,7 +18,6 @@ class FailureDataSchema(BaseModel): class QuantumHardwareFailureResponse(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') session_id: UUID = Field( ..., description='An arbitrary string, filled in in the request, which is copied into the reply object.', diff --git a/tests/control-software-validator/models/QuantumHardwareInitializeRequest.py b/tests/control-software-validator/models/QuantumHardwareInitializeRequest.py index eaf0794..67f8a6b 100644 --- a/tests/control-software-validator/models/QuantumHardwareInitializeRequest.py +++ b/tests/control-software-validator/models/QuantumHardwareInitializeRequest.py @@ -10,7 +10,6 @@ class QuantumHardwareInitializeRequest(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') session_id: UUID = Field( ..., description='An arbitrary string, filled in in the request, which is copied into the reply object.', diff --git a/tests/control-software-validator/models/QuantumHardwareSimpleSuccessResponse.py b/tests/control-software-validator/models/QuantumHardwareSimpleSuccessResponse.py index cc8445b..186f64b 100644 --- a/tests/control-software-validator/models/QuantumHardwareSimpleSuccessResponse.py +++ b/tests/control-software-validator/models/QuantumHardwareSimpleSuccessResponse.py @@ -10,7 +10,6 @@ class QuantumHardwareSimpleSuccessResponse(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') session_id: UUID = Field( ..., description='An arbitrary string, filled in in the request, which is copied into the reply object.', diff --git a/tests/control-software-validator/models/QuantumHardwareStaticDataRequest.py b/tests/control-software-validator/models/QuantumHardwareStaticDataRequest.py index 2fd67e0..d212032 100644 --- a/tests/control-software-validator/models/QuantumHardwareStaticDataRequest.py +++ b/tests/control-software-validator/models/QuantumHardwareStaticDataRequest.py @@ -10,6 +10,5 @@ class QuantumHardwareStaticDataRequest(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') command: Literal['get_static'] = Field(..., title='Command') session_id: UUID = Field(..., title='Session Id') diff --git a/tests/control-software-validator/models/QuantumHardwareStaticDataResponse.py b/tests/control-software-validator/models/QuantumHardwareStaticDataResponse.py index ade1128..d3dcac7 100644 --- a/tests/control-software-validator/models/QuantumHardwareStaticDataResponse.py +++ b/tests/control-software-validator/models/QuantumHardwareStaticDataResponse.py @@ -4,6 +4,7 @@ from __future__ import annotations from typing import Any, Dict, List, Literal, Optional +from uuid import UUID from pydantic import BaseModel, Field, RootModel @@ -46,11 +47,7 @@ class CompilerConfig(BaseModel): class StaticDataSchema(BaseModel): - protocol_version: Optional[int] = Field( - 2, - description='Version of the Compute Runtime Schema to use', - title='Protocol Version', - ) + protocol_version: Literal[3] = Field(..., title='Protocol Version') nqubits: int = Field(..., description='The number of qubits.', title='Nqubits') topology: Topology = Field( ..., description='List of the edges between the various qubits' @@ -80,6 +77,6 @@ class StaticDataSchema(BaseModel): class QuantumHardwareStaticDataResponse(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') status: Literal['success'] = Field(..., title='Status') + session_id: UUID = Field(..., title='Session Id') payload: StaticDataSchema diff --git a/tests/control-software-validator/models/QuantumHardwareTerminateRequest.py b/tests/control-software-validator/models/QuantumHardwareTerminateRequest.py index e7a87fa..eb974e9 100644 --- a/tests/control-software-validator/models/QuantumHardwareTerminateRequest.py +++ b/tests/control-software-validator/models/QuantumHardwareTerminateRequest.py @@ -10,7 +10,6 @@ class QuantumHardwareTerminateRequest(BaseModel): - version: str = Field(..., pattern='^\\d+\\.\\d+\\.\\d$', title='Version') session_id: UUID = Field( ..., description='An arbitrary string, filled in in the request, which is copied into the reply object.', diff --git a/tests/control-software-validator/test_flows.py b/tests/control-software-validator/test_flows.py index a783288..bc7a0cc 100644 --- a/tests/control-software-validator/test_flows.py +++ b/tests/control-software-validator/test_flows.py @@ -74,7 +74,7 @@ async def test_publish_state(sub_channel: SubscribeChannel) -> None: async def test_static_data_request(req_channel: RequestChannel) -> None: # Test if static data reply is correctly formatted static_data_request = QuantumHardwareStaticDataRequest( - version=version, command="get_static", session_id=uuid.uuid4() + command="get_static", session_id=uuid.uuid4() ) await req_channel.request(static_data_request, QuantumHardwareStaticDataResponse) @@ -83,7 +83,7 @@ async def test_static_data_request(req_channel: RequestChannel) -> None: async def test_dynamic_data_request(req_channel: RequestChannel) -> None: # Test if dynamic data reply is correctly formatted dynamic_data_request = QuantumHardwareDynamicDataRequest( - version=version, command="get_dynamic", session_id=uuid.uuid4() + command="get_dynamic", session_id=uuid.uuid4() ) await req_channel.request(dynamic_data_request, QuantumHardwareDynamicDataResponse) @@ -94,7 +94,7 @@ async def test_happy_flow(req_channel: RequestChannel): session_id = uuid.uuid4() init_request = QuantumHardwareInitializeRequest( - version=version, session_id=session_id, command="initialize" + session_id=session_id, command="initialize" ) await req_channel.request(init_request, QuantumHardwareSimpleSuccessResponse) @@ -105,7 +105,6 @@ async def test_happy_flow(req_channel: RequestChannel): include_raw_data=False, ) exec_request = QuantumHardwareExecuteRequest( - version=version, session_id=session_id, command="execute", payload=exec_payload, @@ -113,7 +112,7 @@ async def test_happy_flow(req_channel: RequestChannel): await req_channel.request(exec_request, QuantumHardwareExecuteResponse) terminate_request = QuantumHardwareTerminateRequest( - version=version, session_id=session_id, command="terminate" + session_id=session_id, command="terminate" ) await req_channel.request(terminate_request, QuantumHardwareSimpleSuccessResponse) @@ -130,7 +129,6 @@ async def test_exec_without_init(req_channel: RequestChannel): include_raw_data=False, ) exec_request = QuantumHardwareExecuteRequest( - version=version, session_id=session_id, command="execute", payload=exec_payload,