├── src ├── __init__.py ├── qdash │ ├── __init__.py │ ├── api │ │ ├── __init__.py │ │ ├── db │ │ │ └── __init__.py │ │ ├── lib │ │ │ └── __init__.py │ │ ├── services │ │ │ └── __init__.py │ │ ├── routers │ │ │ └── __init__.py │ │ └── schemas │ │ │ ├── tag.py │ │ │ ├── success.py │ │ │ ├── calibration.py │ │ │ ├── backend.py │ │ │ └── file.py │ ├── README.md │ ├── dbmodel │ │ └── __init__.py │ ├── scripts │ │ └── __init__.py │ ├── workflow │ │ ├── .prefectignore │ │ ├── engine │ │ │ ├── __init__.py │ │ │ ├── calibration │ │ │ │ ├── execution │ │ │ │ │ └── __init__.py │ │ │ │ ├── scheduler │ │ │ │ │ └── __init__.py │ │ │ │ └── task │ │ │ │ │ ├── types.py │ │ │ │ │ └── __init__.py │ │ │ └── backend │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ └── fake.py │ │ ├── user_flows │ │ │ └── .gitkeep │ │ ├── worker │ │ │ ├── __init__.py │ │ │ ├── tasks │ │ │ │ ├── __init__.py │ │ │ │ └── filesystem.py │ │ │ └── flows │ │ │ │ ├── scheduler │ │ │ │ └── __init__.py │ │ │ │ ├── chip_report │ │ │ │ └── __init__.py │ │ │ │ ├── push_props │ │ │ │ └── __init__.py │ │ │ │ ├── gateway_integration │ │ │ │ └── __init__.py │ │ │ │ └── push_calib_note │ │ │ │ └── __init__.py │ │ ├── _internal │ │ │ └── __init__.py │ │ ├── calibtasks │ │ │ ├── qubex │ │ │ │ ├── cw │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── check_qubit_frequency.py │ │ │ │ ├── benchmark │ │ │ │ │ └── __init__.py │ │ │ │ ├── box_setup │ │ │ │ │ └── __init__.py │ │ │ │ ├── system │ │ │ │ │ └── __init__.py │ │ │ │ ├── two_qubit │ │ │ │ │ └── __init__.py │ │ │ │ ├── measurement │ │ │ │ │ └── __init__.py │ │ │ │ ├── one_qubit_fine │ │ │ │ │ └── __init__.py │ │ │ │ └── one_qubit_coarse │ │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ ├── fake │ │ │ │ └── __init__.py │ │ │ └── active_protocols.py │ │ ├── deployment │ │ │ └── oqtopus │ │ │ │ └── __init__.py │ │ └── profiles.toml │ ├── datamodel │ │ ├── __init__.py │ │ ├── user.py │ │ ├── backend.py │ │ └── system_info.py │ └── config.py └── tools │ ├── __init__.py │ ├── get_best.py │ └── conv.py ├── tests ├── __init__.py ├── qdash │ ├── __init__.py │ ├── api │ │ ├── __init__.py │ │ └── routers │ │ │ └── __init__.py │ ├── datamodel │ │ └── __init__.py │ ├── dbmodel │ │ ├── __init__.py │ │ └── conftest.py │ └── workflow │ │ ├── __init__.py │ │ ├── engine │ │ ├── __init__.py │ │ └── calibration │ │ │ ├── __init__.py │ │ │ ├── task │ │ │ └── __init__.py │ │ │ ├── execution │ │ │ └── __init__.py │ │ │ ├── repository │ │ │ └── __init__.py │ │ │ └── scheduler │ │ │ └── __init__.py │ │ └── service │ │ └── __init__.py └── data │ └── __init__.py ├── calib_data └── .gitkeep ├── mongo_data ├── .gitkeep └── data │ ├── .gitkeep │ └── db │ └── .gitkeep ├── postgres_data └── .gitkeep ├── .serena ├── .gitignore └── memories │ └── git_commit_preferences.md ├── .github ├── CODEOWNERS ├── pull_request_template.md ├── git-pr-release.erb ├── workflows │ ├── release.yaml │ ├── git-pr-release.yaml │ └── frontend-ci.yml ├── release.yaml └── ISSUE_TEMPLATE │ ├── QUESTION.yaml │ ├── DOCUMENTATION.yaml │ └── FEATURE_REQUEST.yaml ├── ui ├── public │ ├── favicon.png │ └── oqtopus_logo.png ├── .prettierignore ├── src │ ├── app │ │ ├── page.tsx │ │ ├── (auth) │ │ │ ├── chip │ │ │ │ └── page.tsx │ │ │ ├── metrics │ │ │ │ └── page.tsx │ │ │ └── execution │ │ │ │ ├── page.tsx │ │ │ │ └── [chip_id] │ │ │ │ └── [execute_id] │ │ │ │ └── page.tsx │ │ └── layout.tsx │ ├── lib │ │ └── custom-instance.ts │ ├── components │ │ ├── ui │ │ │ ├── Toast │ │ │ │ ├── index.ts │ │ │ │ └── useToast.ts │ │ │ ├── EnvironmentBadge.tsx │ │ │ ├── GoBackButton.tsx │ │ │ ├── LoadingSpinner │ │ │ │ └── index.tsx │ │ │ └── PageContainer.tsx │ │ ├── features │ │ │ ├── chat │ │ │ │ └── index.ts │ │ │ └── setting │ │ │ │ └── Toast │ │ │ │ └── index.tsx │ │ └── charts │ │ │ └── Plot.tsx │ ├── schemas │ │ ├── taskQid.ts │ │ ├── muxTaskQid.ts │ │ ├── taskEndAt.ts │ │ ├── taskTaskId.ts │ │ ├── muxTaskEndAt.ts │ │ ├── muxTaskTaskId.ts │ │ ├── taskMessage.ts │ │ ├── taskResultQid.ts │ │ ├── taskStartAt.ts │ │ ├── taskTaskType.ts │ │ ├── userDisabled.ts │ │ ├── userFullName.ts │ │ ├── logout200.ts │ │ ├── muxTaskMessage.ts │ │ ├── muxTaskStartAt.ts │ │ ├── muxTaskTaskType.ts │ │ ├── taskElapsedTime.ts │ │ ├── taskFigurePath.ts │ │ ├── taskResultEndAt.ts │ │ ├── taskUpstreamId.ts │ │ ├── memberItemFullName.ts │ │ ├── metricValueTaskId.ts │ │ ├── metricValueValue.ts │ │ ├── muxTaskElapsedTime.ts │ │ ├── muxTaskFigurePath.ts │ │ ├── muxTaskUpstreamId.ts │ │ ├── taskInfoTaskType.ts │ │ ├── taskRawDataPath.ts │ │ ├── taskResultMessage.ts │ │ ├── taskResultStartAt.ts │ │ ├── taskResultTaskId.ts │ │ ├── taskResultTaskType.ts │ │ ├── userCreateFullName.ts │ │ ├── deleteFlow200.ts │ │ ├── deleteUser200.ts │ │ ├── muxTaskRawDataPath.ts │ │ ├── taskInfoDescription.ts │ │ ├── taskJsonFigurePath.ts │ │ ├── taskNoteAnyOf.ts │ │ ├── taskResponseBackend.ts │ │ ├── taskResultUpstreamId.ts │ │ ├── userDefaultProjectId.ts │ │ ├── userListItemFullName.ts │ │ ├── changePassword200.ts │ │ ├── chipResponseTopologyId.ts │ │ ├── getGitStatus200.ts │ │ ├── gitPullConfig200.ts │ │ ├── gitPushConfig200.ts │ │ ├── memberResponseInvitedBy.ts │ │ ├── metricHistoryItemTaskId.ts │ │ ├── metricHistoryItemValue.ts │ │ ├── metricValueExecutionId.ts │ │ ├── muxTaskJsonFigurePath.ts │ │ ├── muxTaskNoteAnyOf.ts │ │ ├── resetPassword200.ts │ │ ├── taskResultElapsedTime.ts │ │ ├── taskResultFigurePath.ts │ │ ├── taskResultRawDataPath.ts │ │ ├── userWithTokenDisabled.ts │ │ ├── userWithTokenFullName.ts │ │ ├── validationErrorLocItem.ts │ │ ├── chipResponseQubits.ts │ │ ├── getCopilotConfig200.ts │ │ ├── getFileContent200.ts │ │ ├── getMetricsConfig200.ts │ │ ├── getTopologyById200.ts │ │ ├── listTopologies200.ts │ │ ├── projectListItemCreatedAt.ts │ │ ├── saveFileContent200.ts │ │ ├── taskFileSettingsSortOrder.ts │ │ ├── taskOutputParameterNames.ts │ │ ├── taskResultJsonFigurePath.ts │ │ ├── taskResultNoteAnyOf.ts │ │ ├── updateUserRequestDisabled.ts │ │ ├── updateUserRequestFullName.ts │ │ ├── adminDeleteProject200.ts │ │ ├── chipResponseCouplings.ts │ │ ├── createChipRequestTopologyId.ts │ │ ├── downloadFileParams.ts │ │ ├── getFileContentParams.ts │ │ ├── getTaskFileContent200.ts │ │ ├── listExecutionsResponseLimit.ts │ │ ├── listExecutionsResponseSkip.ts │ │ ├── listExecutionsResponseTotal.ts │ │ ├── memberResponseLastAccessedAt.ts │ │ ├── muxTaskOutputParameterNames.ts │ │ ├── outputParameterModelValue.ts │ │ ├── projectListItemDescription.ts │ │ ├── projectResponseDescription.ts │ │ ├── saveTaskFileContent200.ts │ │ ├── userDetailResponseCreatedAt.ts │ │ ├── userDetailResponseFullName.ts │ │ ├── userDetailResponseUpdatedAt.ts │ │ ├── userListItemDefaultProjectId.ts │ │ ├── chipMetricsResponseWithinHours.ts │ │ ├── downloadZipFileParams.ts │ │ ├── getFigureByPathParams.ts │ │ ├── getTaskFileTreeParams.ts │ │ ├── metricHistoryItemCalibratedAt.ts │ │ ├── taskFileSettingsDefaultBackend.ts │ │ ├── taskInputParametersAnyOf.ts │ │ ├── tokenResponseDefaultProjectId.ts │ │ ├── userWithTokenDefaultProjectId.ts │ │ ├── validateFileContent200.ts │ │ ├── bodyLogin.ts │ │ ├── getTaskFileContentParams.ts │ │ ├── listTopologiesParams.ts │ │ ├── removeProjectMemberAdmin200.ts │ │ ├── taskFileSettingsDefaultViewMode.ts │ │ ├── taskOutputParametersAnyOf.ts │ │ ├── taskResultOutputParameterNames.ts │ │ ├── calibrationNoteResponseNote.ts │ │ ├── executionResponseDetailNote.ts │ │ ├── executionResponseSummaryNote.ts │ │ ├── inputParameterModelValueAnyOfItem.ts │ │ ├── muxTaskInputParametersAnyOf.ts │ │ ├── muxTaskOutputParametersAnyOf.ts │ │ ├── userDetailResponseDefaultProjectId.ts │ │ ├── listAllUsersParams.ts │ │ ├── projectUpdateTags.ts │ │ ├── tag.ts │ │ ├── taskResultInputParametersAnyOf.ts │ │ ├── taskResultOutputParametersAnyOf.ts │ │ ├── projectUpdateName.ts │ │ ├── taskResultResponseInputParameters.ts │ │ ├── taskResultResponseOutputParameters.ts │ │ ├── listAllProjectsParams.ts │ │ ├── taskNote.ts │ │ ├── updateScheduleRequestParametersAnyOf.ts │ │ ├── flowScheduleSummaryCron.ts │ │ ├── listFlowSchedulesParams.ts │ │ ├── listTaskInfoParams.ts │ │ ├── listAllFlowSchedulesParams.ts │ │ ├── projectCreateDescription.ts │ │ ├── projectUpdateDescription.ts │ │ ├── muxTaskNote.ts │ │ ├── fileTreeNodeChildren.ts │ │ ├── flowScheduleSummaryNextRun.ts │ │ ├── chipDatesResponse.ts │ │ ├── qubitMetricsT1AnyOf.ts │ │ ├── scheduleFlowResponseCron.ts │ │ ├── updateScheduleRequestCron.ts │ │ ├── updateUserRequestSystemRole.ts │ │ ├── couplingGateDuration.ts │ │ ├── position.ts │ │ ├── qubitLifetime.ts │ │ ├── qubitMetricsT1.ts │ │ ├── taskHistoryResponseData.ts │ │ ├── taskResultNote.ts │ │ ├── gitPushRequest.ts │ │ ├── qubitMetricsT2EchoAnyOf.ts │ │ ├── qubitMetricsT2StarAnyOf.ts │ │ ├── scheduleFlowResponseNextRun.ts │ │ ├── taskFileBackend.ts │ │ ├── getFlowResponseDefaultParameters.ts │ │ ├── taskFileTreeNodeChildren.ts │ │ ├── latestTaskResultResponseResult.ts │ │ ├── listMuxResponseMuxes.ts │ │ ├── listTasksParams.ts │ │ ├── scheduleFlowRequestCron.ts │ │ ├── hTTPValidationError.ts │ │ ├── qubitMetricsAnharmonicityAnyOf.ts │ │ ├── qubitMetricsQubitFrequencyAnyOf.ts │ │ ├── qubitMetricsT2Echo.ts │ │ ├── qubitMetricsT2Star.ts │ │ ├── qubitMetricsX90GateFidelityAnyOf.ts │ │ ├── saveFlowRequestDefaultParameters.ts │ │ ├── scheduleFlowRequestScheduledTime.ts │ │ ├── addMemberRequest.ts │ │ ├── muxDetailResponseDetail.ts │ │ ├── qubitGateDuration.ts │ │ ├── qubitMetricsX180GateFidelityAnyOf.ts │ │ ├── saveFileRequest.ts │ │ ├── taskInputParameters.ts │ │ ├── timeSeriesDataData.ts │ │ ├── passwordChange.ts │ │ ├── passwordReset.ts │ │ ├── taskOutputParameters.ts │ │ ├── executeFlowRequestParameters.ts │ │ ├── listTagResponse.ts │ │ ├── saveTaskFileRequest.ts │ │ ├── scheduleFlowRequestParameters.ts │ │ ├── muxTaskInputParameters.ts │ │ ├── validateFileRequest.ts │ │ ├── couplingMetricsBellStateFidelityAnyOf.ts │ │ ├── couplingMetricsZx90GateFidelityAnyOf.ts │ │ ├── executionLockStatusResponse.ts │ │ ├── muxTaskOutputParameters.ts │ │ ├── saveFlowRequestFlowFunctionName.ts │ │ ├── couplingMetricsStaticZzInteractionAnyOf.ts │ │ ├── fidelityCondition.ts │ │ ├── projectUpdateDefaultRole.ts │ │ ├── qubitMetricsAverageReadoutFidelityAnyOf.ts │ │ ├── taskResponseInputParameters.ts │ │ ├── taskResponseOutputParameters.ts │ │ ├── qubitMetricsAnharmonicity.ts │ │ ├── taskResultInputParameters.ts │ │ ├── getQubitTaskHistoryParams.ts │ │ ├── listTaskInfoResponse.ts │ │ ├── qubitMetricsQubitFrequency.ts │ │ ├── taskResultOutputParameters.ts │ │ ├── getCouplingTaskHistoryParams.ts │ │ ├── listTaskResponse.ts │ │ ├── measError.ts │ │ ├── getLatestQubitTaskResultsParams.ts │ │ ├── qubitMetricsX90GateFidelity.ts │ │ ├── validationError.ts │ │ ├── getLatestCouplingTaskResultsParams.ts │ │ ├── qubitMetricsX180GateFidelity.ts │ │ ├── timeSeriesData.ts │ │ ├── bodyDownloadFiguresAsZip.ts │ │ ├── userListResponse.ts │ │ ├── couplingMetricsZx90GateFidelity.ts │ │ ├── listFlowsResponse.ts │ │ ├── couplingMetricsBellStateFidelity.ts │ │ ├── memberUpdate.ts │ │ ├── couplingMetricsStaticZzInteraction.ts │ │ ├── qubitMetricsAverageReadoutFidelity.ts │ │ ├── updateScheduleResponse.ts │ │ ├── inputParameterModelValue.ts │ │ ├── listTaskFileBackendsResponse.ts │ │ ├── taskHistoryResponse.ts │ │ ├── fileTreeNode.ts │ │ ├── saveFlowResponse.ts │ │ ├── coupling.ts │ │ ├── qdashApiSchemasAdminMemberListResponse.ts │ │ ├── detail.ts │ │ ├── memberInvite.ts │ │ ├── userCreate.ts │ │ ├── backendResponseModel.ts │ │ ├── listFlowSchedulesResponse.ts │ │ ├── listMuxResponse.ts │ │ ├── updateScheduleRequestParameters.ts │ │ ├── qdashApiSchemasAdminProjectListResponse.ts │ │ ├── qdashApiSchemasProjectMemberListResponse.ts │ │ ├── qdashApiSchemasProjectProjectListResponse.ts │ │ ├── getHistoricalQubitTaskResultsParams.ts │ │ ├── getHistoricalCouplingTaskResultsParams.ts │ │ ├── device.ts │ │ ├── fileNodeType.ts │ │ ├── listChipsResponse.ts │ │ ├── inputParameterModel.ts │ │ ├── executeFlowRequest.ts │ │ ├── deviceTopologyRequest.ts │ │ ├── listBackendsResponse.ts │ │ ├── deleteScheduleResponse.ts │ │ ├── muxDetailResponse.ts │ │ ├── getChipMetricsSelectionMode.ts │ │ ├── latestTaskResultResponse.ts │ │ ├── memberItem.ts │ │ ├── tokenResponse.ts │ │ ├── condition.ts │ │ ├── qubitMetricHistoryResponse.ts │ │ ├── downloadMetricsPdfSelectionMode.ts │ │ ├── taskFileTreeNode.ts │ │ ├── executeFlowResponse.ts │ │ ├── calibrationNoteResponse.ts │ │ ├── getQubitMetricHistoryParams.ts │ │ ├── listExecutionsParams.ts │ │ ├── downloadMetricsPdfParams.ts │ │ ├── getCouplingMetricHistoryParams.ts │ │ ├── systemRole.ts │ │ ├── taskInfo.ts │ │ ├── getChipMetricsParams.ts │ │ ├── flowTemplate.ts │ │ ├── metricValue.ts │ │ ├── projectCreate.ts │ │ ├── projectRole.ts │ │ ├── projectListItem.ts │ │ ├── projectResponse.ts │ │ ├── userListItem.ts │ │ ├── flowTemplateWithCode.ts │ │ ├── qubit.ts │ │ ├── user.ts │ │ ├── flowSummary.ts │ │ ├── updateUserRequest.ts │ │ ├── chipMetricsResponse.ts │ │ ├── getTimeseriesTaskResultsParams.ts │ │ ├── memberResponse.ts │ │ ├── taskFileSettings.ts │ │ ├── metricHistoryItem.ts │ │ ├── taskResponse.ts │ │ ├── createChipRequest.ts │ │ ├── couplingMetrics.ts │ │ ├── settings.ts │ │ ├── updateScheduleRequest.ts │ │ ├── userWithToken.ts │ │ ├── outputParameterModel.ts │ │ ├── projectUpdate.ts │ │ ├── flowScheduleSummary.ts │ │ ├── listExecutionsResponse.ts │ │ ├── userDetailResponse.ts │ │ ├── getFlowResponse.ts │ │ ├── scheduleFlowResponse.ts │ │ ├── saveFlowRequest.ts │ │ ├── scheduleFlowRequest.ts │ │ └── chipResponse.ts │ └── types │ │ ├── plotly.d.ts │ │ ├── chat.ts │ │ └── reagraph.d.ts ├── README.md ├── postcss.config.mjs ├── .gitignore ├── orval.config.cjs ├── tsconfig.json ├── knip.json └── next.config.js ├── docs ├── public │ ├── oqtopus_logo.png │ └── images │ │ ├── qdash-ui.png │ │ ├── qdash-demo.gif │ │ ├── create_account.png │ │ ├── oqtopus-logo.png │ │ ├── oqtopus-symbol.png │ │ ├── oqtopus_logo.png │ │ ├── qcflow-example.png │ │ ├── server-example.png │ │ ├── qdash-screenshot.png │ │ ├── qdash-architecture.png │ │ ├── qdash-architecture.drawio.png │ │ └── qdash-calibration-flow.drawio.png ├── reference │ └── openapi.md ├── package.json ├── SECURITY.md └── .vitepress │ └── theme │ └── index.ts ├── example.compose.override.yaml ├── .dockerignore ├── .claude ├── commands │ ├── suggest-commit.md │ ├── commit.md │ └── auto-commit.md └── settings.local.json ├── .editorconfig ├── config └── settings.yaml ├── pytest.ini ├── .gitmessage ├── .readthedocs.yaml ├── CITATION.cff ├── expample.mcp.json └── compose.devcontainer.yaml /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /calib_data/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mongo_data/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /postgres_data/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tools/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mongo_data/data/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mongo_data/data/db/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/api/db/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.serena/.gitignore: -------------------------------------------------------------------------------- 1 | /cache 2 | -------------------------------------------------------------------------------- /src/qdash/README.md: -------------------------------------------------------------------------------- 1 | # QDash 2 | -------------------------------------------------------------------------------- /src/qdash/api/lib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/dbmodel/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/.prefectignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/datamodel/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/dbmodel/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/workflow/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @orangekame3 2 | -------------------------------------------------------------------------------- /src/qdash/api/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/user_flows/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/_internal/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/tasks/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/workflow/engine/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/workflow/service/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/cw/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/deployment/oqtopus/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/flows/scheduler/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/__init__.py: -------------------------------------------------------------------------------- 1 | """Test data module.""" 2 | -------------------------------------------------------------------------------- /tests/qdash/workflow/engine/calibration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/benchmark/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/box_setup/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/system/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/two_qubit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/flows/chip_report/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/flows/push_props/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/workflow/engine/calibration/task/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/cw/check_qubit_frequency.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/measurement/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/one_qubit_fine/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/flows/gateway_integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/flows/push_calib_note/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/workflow/engine/calibration/execution/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/workflow/engine/calibration/repository/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/workflow/engine/calibration/scheduler/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qdash/api/routers/__init__.py: -------------------------------------------------------------------------------- 1 | """API routers package.""" 2 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/qubex/one_qubit_coarse/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/qdash/api/routers/__init__.py: -------------------------------------------------------------------------------- 1 | """Tests for API routers.""" 2 | -------------------------------------------------------------------------------- /tests/qdash/dbmodel/conftest.py: -------------------------------------------------------------------------------- 1 | """Configuration for dbmodel tests.""" 2 | -------------------------------------------------------------------------------- /ui/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/ui/public/favicon.png -------------------------------------------------------------------------------- /ui/public/oqtopus_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/ui/public/oqtopus_logo.png -------------------------------------------------------------------------------- /docs/public/oqtopus_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/oqtopus_logo.png -------------------------------------------------------------------------------- /docs/public/images/qdash-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/qdash-ui.png -------------------------------------------------------------------------------- /docs/public/images/qdash-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/qdash-demo.gif -------------------------------------------------------------------------------- /ui/.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore Next.js build output 2 | .next/ 3 | # Ignore problematic layout file 4 | src/app/layout.tsx 5 | -------------------------------------------------------------------------------- /docs/public/images/create_account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/create_account.png -------------------------------------------------------------------------------- /docs/public/images/oqtopus-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/oqtopus-logo.png -------------------------------------------------------------------------------- /docs/public/images/oqtopus-symbol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/oqtopus-symbol.png -------------------------------------------------------------------------------- /docs/public/images/oqtopus_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/oqtopus_logo.png -------------------------------------------------------------------------------- /docs/public/images/qcflow-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/qcflow-example.png -------------------------------------------------------------------------------- /docs/public/images/server-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/server-example.png -------------------------------------------------------------------------------- /docs/public/images/qdash-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/qdash-screenshot.png -------------------------------------------------------------------------------- /docs/public/images/qdash-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/qdash-architecture.png -------------------------------------------------------------------------------- /ui/src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import { redirect } from "next/navigation"; 2 | 3 | export default function Home() { 4 | redirect("/metrics"); 5 | } 6 | -------------------------------------------------------------------------------- /docs/public/images/qdash-architecture.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/qdash-architecture.drawio.png -------------------------------------------------------------------------------- /ui/src/lib/custom-instance.ts: -------------------------------------------------------------------------------- 1 | // Re-export for backwards compatibility with auto-generated client code 2 | export * from "./api/custom-instance"; 3 | -------------------------------------------------------------------------------- /docs/public/images/qdash-calibration-flow.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oqtopus-team/qdash/HEAD/docs/public/images/qdash-calibration-flow.drawio.png -------------------------------------------------------------------------------- /ui/README.md: -------------------------------------------------------------------------------- 1 | # QDash UI 2 | 3 | This is the UI for QDash. It is a Next.js app that uses the [QDash API](https://oqtopus-team.github.io/qdash/) to display data. 4 | -------------------------------------------------------------------------------- /src/qdash/workflow/profiles.toml: -------------------------------------------------------------------------------- 1 | active = "default" 2 | 3 | [profiles.default] 4 | PREFECT_API_KEY = "" 5 | PREFECT_API_URL = "http://127.0.0.1:${PREFECT_PORT:-4200}/api" 6 | -------------------------------------------------------------------------------- /example.compose.override.yaml: -------------------------------------------------------------------------------- 1 | networks: 2 | custom_net: 3 | driver: bridge 4 | ipam: 5 | config: 6 | - subnet: ${SUBNET} 7 | gateway: ${GATEWAY} 8 | -------------------------------------------------------------------------------- /ui/postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | "@tailwindcss/postcss": {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /ui/src/components/ui/Toast/index.ts: -------------------------------------------------------------------------------- 1 | export { ToastProvider, useToastContext } from "./ToastContext"; 2 | export { ToastContainer } from "./ToastContainer"; 3 | export { useToast } from "./useToast"; 4 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | **/.next 3 | **/.turbo 4 | **/.bun 5 | **/.git 6 | **/.env 7 | **/dist 8 | **/build 9 | **/*.log 10 | .venv 11 | calib_data 12 | mongo_data 13 | postgres_data 14 | -------------------------------------------------------------------------------- /ui/src/schemas/taskQid.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskQid = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskQid.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskQid = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskEndAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskEndAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskTaskId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskTaskId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskEndAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskEndAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskTaskId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskTaskId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskMessage.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskMessage = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultQid.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultQid = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskStartAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskStartAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskTaskType.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskTaskType = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userDisabled.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserDisabled = boolean | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userFullName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserFullName = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/logout200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type Logout200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskMessage.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskMessage = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskStartAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskStartAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskTaskType.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskTaskType = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskElapsedTime.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskElapsedTime = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFigurePath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskFigurePath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultEndAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultEndAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskUpstreamId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskUpstreamId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/memberItemFullName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MemberItemFullName = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/metricValueTaskId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MetricValueTaskId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/metricValueValue.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MetricValueValue = number | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskElapsedTime.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskElapsedTime = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskFigurePath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskFigurePath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskUpstreamId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskUpstreamId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskInfoTaskType.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskInfoTaskType = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskRawDataPath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskRawDataPath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultMessage.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultMessage = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultStartAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultStartAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultTaskId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultTaskId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultTaskType.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultTaskType = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userCreateFullName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserCreateFullName = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/deleteFlow200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type DeleteFlow200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/deleteUser200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type DeleteUser200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskRawDataPath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskRawDataPath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskInfoDescription.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskInfoDescription = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskJsonFigurePath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskJsonFigurePath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskNoteAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskNoteAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResponseBackend.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResponseBackend = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultUpstreamId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultUpstreamId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userDefaultProjectId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserDefaultProjectId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userListItemFullName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserListItemFullName = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/changePassword200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ChangePassword200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/chipResponseTopologyId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ChipResponseTopologyId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/getGitStatus200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetGitStatus200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/gitPullConfig200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GitPullConfig200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/gitPushConfig200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GitPushConfig200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/memberResponseInvitedBy.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MemberResponseInvitedBy = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/metricHistoryItemTaskId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MetricHistoryItemTaskId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/metricHistoryItemValue.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MetricHistoryItemValue = number | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/metricValueExecutionId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MetricValueExecutionId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskJsonFigurePath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskJsonFigurePath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskNoteAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskNoteAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/resetPassword200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ResetPassword200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultElapsedTime.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultElapsedTime = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultFigurePath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultFigurePath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultRawDataPath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultRawDataPath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userWithTokenDisabled.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserWithTokenDisabled = boolean | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userWithTokenFullName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserWithTokenFullName = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/validationErrorLocItem.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ValidationErrorLocItem = string | number; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/chipResponseQubits.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ChipResponseQubits = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/getCopilotConfig200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetCopilotConfig200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/getFileContent200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetFileContent200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/getMetricsConfig200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetMetricsConfig200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/getTopologyById200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetTopologyById200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/listTopologies200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListTopologies200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/projectListItemCreatedAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ProjectListItemCreatedAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/saveFileContent200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type SaveFileContent200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFileSettingsSortOrder.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskFileSettingsSortOrder = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskOutputParameterNames.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskOutputParameterNames = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultJsonFigurePath.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultJsonFigurePath = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultNoteAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultNoteAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/updateUserRequestDisabled.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UpdateUserRequestDisabled = boolean | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/updateUserRequestFullName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UpdateUserRequestFullName = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/adminDeleteProject200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type AdminDeleteProject200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/chipResponseCouplings.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ChipResponseCouplings = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/createChipRequestTopologyId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type CreateChipRequestTopologyId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/downloadFileParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type DownloadFileParams = { 10 | path: string; 11 | }; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/getFileContentParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetFileContentParams = { 10 | path: string; 11 | }; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/getTaskFileContent200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetTaskFileContent200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/listExecutionsResponseLimit.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListExecutionsResponseLimit = number | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/listExecutionsResponseSkip.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListExecutionsResponseSkip = number | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/listExecutionsResponseTotal.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListExecutionsResponseTotal = number | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/memberResponseLastAccessedAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MemberResponseLastAccessedAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskOutputParameterNames.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskOutputParameterNames = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/outputParameterModelValue.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type OutputParameterModelValue = number | number; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/projectListItemDescription.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ProjectListItemDescription = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/projectResponseDescription.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ProjectResponseDescription = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/saveTaskFileContent200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type SaveTaskFileContent200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userDetailResponseCreatedAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserDetailResponseCreatedAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userDetailResponseFullName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserDetailResponseFullName = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userDetailResponseUpdatedAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserDetailResponseUpdatedAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userListItemDefaultProjectId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserListItemDefaultProjectId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/types/plotly.d.ts: -------------------------------------------------------------------------------- 1 | declare module "plotly.js-dist-min" { 2 | import * as Plotly from "plotly.js"; 3 | export = Plotly; 4 | } 5 | 6 | declare module "plotly.js-basic-dist" { 7 | import * as Plotly from "plotly.js"; 8 | export default Plotly; 9 | } 10 | -------------------------------------------------------------------------------- /docs/reference/openapi.md: -------------------------------------------------------------------------------- 1 | --- 2 | aside: false 3 | outline: false 4 | title: vitepress-openapi 5 | --- 6 | 7 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ui/src/schemas/chipMetricsResponseWithinHours.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ChipMetricsResponseWithinHours = number | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/downloadZipFileParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type DownloadZipFileParams = { 10 | path: string; 11 | }; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/getFigureByPathParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetFigureByPathParams = { 10 | path: string; 11 | }; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/getTaskFileTreeParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetTaskFileTreeParams = { 10 | backend: string; 11 | }; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/metricHistoryItemCalibratedAt.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MetricHistoryItemCalibratedAt = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFileSettingsDefaultBackend.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskFileSettingsDefaultBackend = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskInputParametersAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskInputParametersAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/tokenResponseDefaultProjectId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TokenResponseDefaultProjectId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userWithTokenDefaultProjectId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserWithTokenDefaultProjectId = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/validateFileContent200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ValidateFileContent200 = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/bodyLogin.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export interface BodyLogin { 10 | username: string; 11 | password: string; 12 | } 13 | -------------------------------------------------------------------------------- /ui/src/schemas/getTaskFileContentParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetTaskFileContentParams = { 10 | path: string; 11 | }; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/listTopologiesParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListTopologiesParams = { 10 | size?: number | null; 11 | }; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/removeProjectMemberAdmin200.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type RemoveProjectMemberAdmin200 = { [key: string]: string }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFileSettingsDefaultViewMode.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskFileSettingsDefaultViewMode = string | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskOutputParametersAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskOutputParametersAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultOutputParameterNames.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultOutputParameterNames = string[] | null; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/calibrationNoteResponseNote.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type CalibrationNoteResponseNote = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/executionResponseDetailNote.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ExecutionResponseDetailNote = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/executionResponseSummaryNote.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ExecutionResponseSummaryNote = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/inputParameterModelValueAnyOfItem.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type InputParameterModelValueAnyOfItem = number | number; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskInputParametersAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskInputParametersAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskOutputParametersAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type MuxTaskOutputParametersAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/userDetailResponseDefaultProjectId.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UserDetailResponseDefaultProjectId = string | null; 10 | -------------------------------------------------------------------------------- /src/qdash/datamodel/__init__.py: -------------------------------------------------------------------------------- 1 | """Convenience exports for datamodel package.""" 2 | 3 | from qdash.datamodel.project import ProjectMembershipModel, ProjectModel, ProjectRole 4 | 5 | __all__ = [ 6 | "ProjectModel", 7 | "ProjectMembershipModel", 8 | "ProjectRole", 9 | ] 10 | -------------------------------------------------------------------------------- /ui/src/schemas/listAllUsersParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListAllUsersParams = { 10 | skip?: number; 11 | limit?: number; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/projectUpdateTags.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Project tags 11 | */ 12 | export type ProjectUpdateTags = string[] | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/tag.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response model for a tag. 11 | */ 12 | export interface Tag { 13 | name: string; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultInputParametersAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultInputParametersAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultOutputParametersAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultOutputParametersAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/projectUpdateName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Project display name 11 | */ 12 | export type ProjectUpdateName = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultResponseInputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultResponseInputParameters = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultResponseOutputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type TaskResultResponseOutputParameters = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/listAllProjectsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListAllProjectsParams = { 10 | skip?: number; 11 | limit?: number; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/taskNote.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskNoteAnyOf } from "./taskNoteAnyOf"; 9 | 10 | export type TaskNote = TaskNoteAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/updateScheduleRequestParametersAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type UpdateScheduleRequestParametersAnyOf = { [key: string]: unknown }; 10 | -------------------------------------------------------------------------------- /ui/src/schemas/flowScheduleSummaryCron.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Cron expression 11 | */ 12 | export type FlowScheduleSummaryCron = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/listFlowSchedulesParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListFlowSchedulesParams = { 10 | limit?: number; 11 | offset?: number; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/listTaskInfoParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListTaskInfoParams = { 10 | backend: string; 11 | sort_order?: string | null; 12 | }; 13 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # 📃 Ticket 2 | 3 | 4 | 5 | ## ✍ Description 6 | 7 | 8 | 9 | ## 📸 Test Result 10 | 11 | 12 | 13 | ## 🔗 Related PRs 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/qdash/datamodel/user.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | 4 | class SystemRole(str, Enum): 5 | """System-level role for a user. 6 | 7 | ADMIN: Full system access, can manage all users and projects. 8 | USER: Regular user. 9 | """ 10 | 11 | ADMIN = "admin" 12 | USER = "user" 13 | -------------------------------------------------------------------------------- /ui/src/schemas/listAllFlowSchedulesParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListAllFlowSchedulesParams = { 10 | limit?: number; 11 | offset?: number; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/projectCreateDescription.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Project description 11 | */ 12 | export type ProjectCreateDescription = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/projectUpdateDescription.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Project description 11 | */ 12 | export type ProjectUpdateDescription = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/components/features/chat/index.ts: -------------------------------------------------------------------------------- 1 | export { ChatPopup } from "./ChatPopup"; 2 | export { ChatAssistant } from "./ChatAssistant"; 3 | export { 4 | AssistantRuntimeProvider, 5 | registerTool, 6 | unregisterTool, 7 | } from "./AssistantRuntimeProvider"; 8 | export { AssistantThread } from "./AssistantThread"; 9 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskNote.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MuxTaskNoteAnyOf } from "./muxTaskNoteAnyOf"; 9 | 10 | export type MuxTaskNote = MuxTaskNoteAnyOf | null; 11 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/__init__.py: -------------------------------------------------------------------------------- 1 | from qdash.workflow.calibtasks.active_protocols import generate_task_instances 2 | from qdash.workflow.calibtasks.fake import * # noqa: F403, F401 3 | from qdash.workflow.calibtasks.qubex import * # noqa: F403, F401 4 | 5 | __all__ = [ 6 | "generate_task_instances", 7 | ] 8 | -------------------------------------------------------------------------------- /ui/src/schemas/fileTreeNodeChildren.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { FileTreeNode } from "./fileTreeNode"; 9 | 10 | export type FileTreeNodeChildren = FileTreeNode[] | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/flowScheduleSummaryNextRun.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Next scheduled run time 11 | */ 12 | export type FlowScheduleSummaryNextRun = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/chipDatesResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response model for chip dates. 11 | */ 12 | export interface ChipDatesResponse { 13 | data: string[]; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsT1AnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsT1AnyOf = { [key: string]: MetricValue }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/scheduleFlowResponseCron.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Cron expression (for cron schedules) 11 | */ 12 | export type ScheduleFlowResponseCron = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/updateScheduleRequestCron.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Updated cron expression (optional) 11 | */ 12 | export type UpdateScheduleRequestCron = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/updateUserRequestSystemRole.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { SystemRole } from "./systemRole"; 9 | 10 | export type UpdateUserRequestSystemRole = SystemRole | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingGateDuration.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Gate duration of the coupling. 11 | */ 12 | export interface CouplingGateDuration { 13 | rzx90: number; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/position.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Position of the qubit on the device. 11 | */ 12 | export interface Position { 13 | x: number; 14 | y: number; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitLifetime.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Qubit lifetime of the qubit. 11 | */ 12 | export interface QubitLifetime { 13 | t1: number; 14 | t2: number; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsT1.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsT1AnyOf } from "./qubitMetricsT1AnyOf"; 9 | 10 | export type QubitMetricsT1 = QubitMetricsT1AnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/taskHistoryResponseData.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskResult } from "./taskResult"; 9 | 10 | export type TaskHistoryResponseData = { [key: string]: TaskResult }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultNote.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskResultNoteAnyOf } from "./taskResultNoteAnyOf"; 9 | 10 | export type TaskResultNote = TaskResultNoteAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/gitPushRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Request model for Git push operation. 11 | */ 12 | export interface GitPushRequest { 13 | commit_message?: string; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsT2EchoAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsT2EchoAnyOf = { [key: string]: MetricValue }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsT2StarAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsT2StarAnyOf = { [key: string]: MetricValue }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/scheduleFlowResponseNextRun.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Next scheduled run time (ISO format) 11 | */ 12 | export type ScheduleFlowResponseNextRun = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFileBackend.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Task file backend model. 11 | */ 12 | export interface TaskFileBackend { 13 | name: string; 14 | path: string; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/getFlowResponseDefaultParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Default parameters 11 | */ 12 | export type GetFlowResponseDefaultParameters = { [key: string]: unknown }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFileTreeNodeChildren.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskFileTreeNode } from "./taskFileTreeNode"; 9 | 10 | export type TaskFileTreeNodeChildren = TaskFileTreeNode[] | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/latestTaskResultResponseResult.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskResult } from "./taskResult"; 9 | 10 | export type LatestTaskResultResponseResult = { [key: string]: TaskResult }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/listMuxResponseMuxes.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MuxDetailResponse } from "./muxDetailResponse"; 9 | 10 | export type ListMuxResponseMuxes = { [key: string]: MuxDetailResponse }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/listTasksParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListTasksParams = { 10 | /** 11 | * Optional backend name to filter tasks by 12 | */ 13 | backend?: string | null; 14 | }; 15 | -------------------------------------------------------------------------------- /ui/src/schemas/scheduleFlowRequestCron.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Cron expression (e.g., '0 2 * * *' for daily at 2am JST) 11 | */ 12 | export type ScheduleFlowRequestCron = string | null; 13 | -------------------------------------------------------------------------------- /src/qdash/api/schemas/tag.py: -------------------------------------------------------------------------------- 1 | """Schema definitions for tag router.""" 2 | 3 | from pydantic import BaseModel 4 | 5 | 6 | class Tag(BaseModel): 7 | """Response model for a tag.""" 8 | 9 | name: str 10 | 11 | 12 | class ListTagResponse(BaseModel): 13 | """Response model for a list of tags.""" 14 | 15 | tags: list[Tag] 16 | -------------------------------------------------------------------------------- /ui/src/schemas/hTTPValidationError.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ValidationError } from "./validationError"; 9 | 10 | export interface HTTPValidationError { 11 | detail?: ValidationError[]; 12 | } 13 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsAnharmonicityAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsAnharmonicityAnyOf = { [key: string]: MetricValue }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsQubitFrequencyAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsQubitFrequencyAnyOf = { [key: string]: MetricValue }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsT2Echo.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsT2EchoAnyOf } from "./qubitMetricsT2EchoAnyOf"; 9 | 10 | export type QubitMetricsT2Echo = QubitMetricsT2EchoAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsT2Star.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsT2StarAnyOf } from "./qubitMetricsT2StarAnyOf"; 9 | 10 | export type QubitMetricsT2Star = QubitMetricsT2StarAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsX90GateFidelityAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsX90GateFidelityAnyOf = { [key: string]: MetricValue }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/saveFlowRequestDefaultParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Default execution parameters 11 | */ 12 | export type SaveFlowRequestDefaultParameters = { [key: string]: unknown }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/scheduleFlowRequestScheduledTime.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * One-time execution time (ISO format, JST) 11 | */ 12 | export type ScheduleFlowRequestScheduledTime = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/components/charts/Plot.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import createPlotlyComponent from "react-plotly.js/factory"; 4 | import Plotly from "plotly.js-basic-dist"; 5 | 6 | // Create Plot component with lightweight plotly.js-basic-dist 7 | 8 | const Plot = createPlotlyComponent(Plotly as any); 9 | 10 | export { Plot }; 11 | export default Plot; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/addMemberRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Request to add a member to a project (always as viewer). 11 | */ 12 | export interface AddMemberRequest { 13 | username: string; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/muxDetailResponseDetail.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MuxTask } from "./muxTask"; 9 | 10 | export type MuxDetailResponseDetail = { 11 | [key: string]: { [key: string]: MuxTask }; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitGateDuration.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Gate duration of the qubit. 11 | */ 12 | export interface QubitGateDuration { 13 | rz: number; 14 | sx: number; 15 | x: number; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsX180GateFidelityAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsX180GateFidelityAnyOf = { [key: string]: MetricValue }; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/saveFileRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Request model for saving file content. 11 | */ 12 | export interface SaveFileRequest { 13 | path: string; 14 | content: string; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/taskInputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskInputParametersAnyOf } from "./taskInputParametersAnyOf"; 9 | 10 | export type TaskInputParameters = TaskInputParametersAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/timeSeriesDataData.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { OutputParameterModel } from "./outputParameterModel"; 9 | 10 | export type TimeSeriesDataData = { [key: string]: OutputParameterModel[] }; 11 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/fake/__init__.py: -------------------------------------------------------------------------------- 1 | from qdash.workflow.calibtasks.active_protocols import generate_task_instances 2 | from qdash.workflow.calibtasks.fake.base import FakeTask 3 | from qdash.workflow.calibtasks.fake.fake_rabi import FakeRabi 4 | 5 | __all__ = [ 6 | "FakeTask", 7 | "FakeRabi", 8 | "generate_task_instances", 9 | ] 10 | -------------------------------------------------------------------------------- /ui/src/schemas/passwordChange.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Password change request model. 11 | */ 12 | export interface PasswordChange { 13 | current_password: string; 14 | new_password: string; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/passwordReset.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Password reset request model (admin only). 11 | */ 12 | export interface PasswordReset { 13 | username: string; 14 | new_password: string; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/taskOutputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskOutputParametersAnyOf } from "./taskOutputParametersAnyOf"; 9 | 10 | export type TaskOutputParameters = TaskOutputParametersAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/executeFlowRequestParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Execution parameters (overrides default_parameters) 11 | */ 12 | export type ExecuteFlowRequestParameters = { [key: string]: unknown }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/listTagResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { Tag } from "./tag"; 9 | 10 | /** 11 | * Response model for a list of tags. 12 | */ 13 | export interface ListTagResponse { 14 | tags: Tag[]; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/saveTaskFileRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Request model for saving task file content. 11 | */ 12 | export interface SaveTaskFileRequest { 13 | path: string; 14 | content: string; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/scheduleFlowRequestParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Execution parameters (overrides default_parameters) 11 | */ 12 | export type ScheduleFlowRequestParameters = { [key: string]: unknown }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskInputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MuxTaskInputParametersAnyOf } from "./muxTaskInputParametersAnyOf"; 9 | 10 | export type MuxTaskInputParameters = MuxTaskInputParametersAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/validateFileRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Request model for validating file content. 11 | */ 12 | export interface ValidateFileRequest { 13 | content: string; 14 | file_type: string; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingMetricsBellStateFidelityAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type CouplingMetricsBellStateFidelityAnyOf = { 11 | [key: string]: MetricValue; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingMetricsZx90GateFidelityAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type CouplingMetricsZx90GateFidelityAnyOf = { 11 | [key: string]: MetricValue; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/executionLockStatusResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response model for the fetch_execution_lock_status endpoint. 11 | */ 12 | export interface ExecutionLockStatusResponse { 13 | lock: boolean; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/muxTaskOutputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MuxTaskOutputParametersAnyOf } from "./muxTaskOutputParametersAnyOf"; 9 | 10 | export type MuxTaskOutputParameters = MuxTaskOutputParametersAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/saveFlowRequestFlowFunctionName.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Entry point function name (defaults to same as name if not provided) 11 | */ 12 | export type SaveFlowRequestFlowFunctionName = string | null; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingMetricsStaticZzInteractionAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type CouplingMetricsStaticZzInteractionAnyOf = { 11 | [key: string]: MetricValue; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/fidelityCondition.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Condition for fidelity filtering. 11 | */ 12 | export interface FidelityCondition { 13 | min: number; 14 | max: number; 15 | is_within_24h?: boolean; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/projectUpdateDefaultRole.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectRole } from "./projectRole"; 9 | 10 | /** 11 | * Default role for new members 12 | */ 13 | export type ProjectUpdateDefaultRole = ProjectRole | null; 14 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsAverageReadoutFidelityAnyOf.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValue } from "./metricValue"; 9 | 10 | export type QubitMetricsAverageReadoutFidelityAnyOf = { 11 | [key: string]: MetricValue; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResponseInputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { InputParameterModel } from "./inputParameterModel"; 9 | 10 | export type TaskResponseInputParameters = { 11 | [key: string]: InputParameterModel; 12 | }; 13 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResponseOutputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { InputParameterModel } from "./inputParameterModel"; 9 | 10 | export type TaskResponseOutputParameters = { 11 | [key: string]: InputParameterModel; 12 | }; 13 | -------------------------------------------------------------------------------- /src/qdash/api/schemas/success.py: -------------------------------------------------------------------------------- 1 | from pydantic import BaseModel 2 | 3 | 4 | class SuccessResponse(BaseModel): 5 | message: str 6 | 7 | model_config = { 8 | "json_schema_extra": { 9 | "examples": [ 10 | { 11 | "message": "Successfuly {message}", 12 | } 13 | ] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsAnharmonicity.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsAnharmonicityAnyOf } from "./qubitMetricsAnharmonicityAnyOf"; 9 | 10 | export type QubitMetricsAnharmonicity = QubitMetricsAnharmonicityAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultInputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskResultInputParametersAnyOf } from "./taskResultInputParametersAnyOf"; 9 | 10 | export type TaskResultInputParameters = TaskResultInputParametersAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/getQubitTaskHistoryParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetQubitTaskHistoryParams = { 10 | /** 11 | * Chip ID 12 | */ 13 | chip_id: string; 14 | /** 15 | * Task name 16 | */ 17 | task: string; 18 | }; 19 | -------------------------------------------------------------------------------- /ui/src/schemas/listTaskInfoResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskInfo } from "./taskInfo"; 9 | 10 | /** 11 | * Response model for listing task info. 12 | */ 13 | export interface ListTaskInfoResponse { 14 | tasks: TaskInfo[]; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsQubitFrequency.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsQubitFrequencyAnyOf } from "./qubitMetricsQubitFrequencyAnyOf"; 9 | 10 | export type QubitMetricsQubitFrequency = QubitMetricsQubitFrequencyAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResultOutputParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskResultOutputParametersAnyOf } from "./taskResultOutputParametersAnyOf"; 9 | 10 | export type TaskResultOutputParameters = TaskResultOutputParametersAnyOf | null; 11 | -------------------------------------------------------------------------------- /ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw?*.tsbuildinfo 25 | -------------------------------------------------------------------------------- /ui/src/schemas/getCouplingTaskHistoryParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetCouplingTaskHistoryParams = { 10 | /** 11 | * Chip ID 12 | */ 13 | chip_id: string; 14 | /** 15 | * Task name 16 | */ 17 | task: string; 18 | }; 19 | -------------------------------------------------------------------------------- /ui/src/schemas/listTaskResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskResponse } from "./taskResponse"; 9 | 10 | /** 11 | * Response model for a list of tasks. 12 | */ 13 | export interface ListTaskResponse { 14 | tasks: TaskResponse[]; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/measError.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Measurement error of the qubit. 11 | */ 12 | export interface MeasError { 13 | prob_meas1_prep0: number; 14 | prob_meas0_prep1: number; 15 | readout_assignment_error: number; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/getLatestQubitTaskResultsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetLatestQubitTaskResultsParams = { 10 | /** 11 | * Chip ID 12 | */ 13 | chip_id: string; 14 | /** 15 | * Task name 16 | */ 17 | task: string; 18 | }; 19 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsX90GateFidelity.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsX90GateFidelityAnyOf } from "./qubitMetricsX90GateFidelityAnyOf"; 9 | 10 | export type QubitMetricsX90GateFidelity = 11 | QubitMetricsX90GateFidelityAnyOf | null; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/validationError.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ValidationErrorLocItem } from "./validationErrorLocItem"; 9 | 10 | export interface ValidationError { 11 | loc: ValidationErrorLocItem[]; 12 | msg: string; 13 | type: string; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/getLatestCouplingTaskResultsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetLatestCouplingTaskResultsParams = { 10 | /** 11 | * Chip ID 12 | */ 13 | chip_id: string; 14 | /** 15 | * Task name 16 | */ 17 | task: string; 18 | }; 19 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsX180GateFidelity.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsX180GateFidelityAnyOf } from "./qubitMetricsX180GateFidelityAnyOf"; 9 | 10 | export type QubitMetricsX180GateFidelity = 11 | QubitMetricsX180GateFidelityAnyOf | null; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/timeSeriesData.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TimeSeriesDataData } from "./timeSeriesDataData"; 9 | 10 | /** 11 | * Response model for time series data. 12 | */ 13 | export interface TimeSeriesData { 14 | data?: TimeSeriesDataData; 15 | } 16 | -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "mermaid": "^11.4.1", 4 | "vitepress": "^1.5.0", 5 | "vitepress-plugin-mermaid": "^2.0.17" 6 | }, 7 | "scripts": { 8 | "docs:dev": "vitepress dev", 9 | "docs:build": "vitepress build", 10 | "docs:preview": "vitepress preview" 11 | }, 12 | "dependencies": { 13 | "vitepress-openapi": "^0.0.3-alpha.50" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/qdash/api/schemas/calibration.py: -------------------------------------------------------------------------------- 1 | """Schema definitions for calibration router.""" 2 | 3 | from typing import Any 4 | 5 | from pydantic import BaseModel 6 | 7 | 8 | class CalibrationNoteResponse(BaseModel): 9 | """CalibrationNote is a subclass of BaseModel.""" 10 | 11 | username: str 12 | execution_id: str 13 | task_id: str 14 | note: dict[str, Any] 15 | timestamp: str 16 | -------------------------------------------------------------------------------- /ui/src/schemas/bodyDownloadFiguresAsZip.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export interface BodyDownloadFiguresAsZip { 10 | /** List of file paths to include in the ZIP */ 11 | paths: string[]; 12 | /** Filename for the ZIP archive */ 13 | filename?: string; 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/userListResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UserListItem } from "./userListItem"; 9 | 10 | /** 11 | * Response containing list of users. 12 | */ 13 | export interface UserListResponse { 14 | users: UserListItem[]; 15 | total: number; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingMetricsZx90GateFidelity.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { CouplingMetricsZx90GateFidelityAnyOf } from "./couplingMetricsZx90GateFidelityAnyOf"; 9 | 10 | export type CouplingMetricsZx90GateFidelity = 11 | CouplingMetricsZx90GateFidelityAnyOf | null; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/listFlowsResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { FlowSummary } from "./flowSummary"; 9 | 10 | /** 11 | * Response for listing flows. 12 | */ 13 | export interface ListFlowsResponse { 14 | /** List of flow summaries */ 15 | flows: FlowSummary[]; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingMetricsBellStateFidelity.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { CouplingMetricsBellStateFidelityAnyOf } from "./couplingMetricsBellStateFidelityAnyOf"; 9 | 10 | export type CouplingMetricsBellStateFidelity = 11 | CouplingMetricsBellStateFidelityAnyOf | null; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/memberUpdate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectRole } from "./projectRole"; 9 | 10 | /** 11 | * Request schema for updating a member's role. 12 | */ 13 | export interface MemberUpdate { 14 | /** New role for the member */ 15 | role: ProjectRole; 16 | } 17 | -------------------------------------------------------------------------------- /.claude/commands/suggest-commit.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Suggest a commit message without committing 3 | allowed-tools: 4 | - Bash 5 | --- 6 | 7 | I'll analyze your changes and suggest an appropriate commit message. 8 | 9 | !git diff HEAD --name-only 10 | !git diff HEAD --stat --stat-width=120 11 | 12 | Based on these changes, here's my suggested commit message following conventional commits format: 13 | 14 | $ARGUMENTS 15 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingMetricsStaticZzInteraction.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { CouplingMetricsStaticZzInteractionAnyOf } from "./couplingMetricsStaticZzInteractionAnyOf"; 9 | 10 | export type CouplingMetricsStaticZzInteraction = 11 | CouplingMetricsStaticZzInteractionAnyOf | null; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricsAverageReadoutFidelity.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { QubitMetricsAverageReadoutFidelityAnyOf } from "./qubitMetricsAverageReadoutFidelityAnyOf"; 9 | 10 | export type QubitMetricsAverageReadoutFidelity = 11 | QubitMetricsAverageReadoutFidelityAnyOf | null; 12 | -------------------------------------------------------------------------------- /ui/src/schemas/updateScheduleResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response for updating a schedule. 11 | */ 12 | export interface UpdateScheduleResponse { 13 | /** Success message */ 14 | message: string; 15 | /** Updated schedule ID */ 16 | schedule_id: string; 17 | } 18 | -------------------------------------------------------------------------------- /ui/src/schemas/inputParameterModelValue.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { InputParameterModelValueAnyOfItem } from "./inputParameterModelValueAnyOfItem"; 9 | 10 | export type InputParameterModelValue = 11 | | InputParameterModelValueAnyOfItem[] 12 | | number 13 | | number 14 | | null; 15 | -------------------------------------------------------------------------------- /ui/src/schemas/listTaskFileBackendsResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskFileBackend } from "./taskFileBackend"; 9 | 10 | /** 11 | * Response model for listing task file backends. 12 | */ 13 | export interface ListTaskFileBackendsResponse { 14 | backends: TaskFileBackend[]; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/app/(auth)/chip/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { Suspense } from "react"; 4 | 5 | import { ChipPageContent } from "@/components/features/chip/ChipPageContent"; 6 | import { ChipPageSkeleton } from "@/components/ui/Skeleton/PageSkeletons"; 7 | 8 | export default function ChipPage() { 9 | return ( 10 | }> 11 | 12 | 13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/taskHistoryResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskHistoryResponseData } from "./taskHistoryResponseData"; 9 | 10 | /** 11 | * Response model for fetching task history. 12 | */ 13 | export interface TaskHistoryResponse { 14 | name: string; 15 | data: TaskHistoryResponseData; 16 | } 17 | -------------------------------------------------------------------------------- /.github/git-pr-release.erb: -------------------------------------------------------------------------------- 1 | release: <%= Time.now.strftime('%Y-%m-%d %H:%M') %> 2 | > [!CAUTION] 3 | > **Create Merge Commit** is recommended to merge this PR. 4 | > before merging, update the appropriate version of `pyproject.toml` 5 | > you can use the following command to update the version. 6 | > update-version="x.y.z" 7 | > comment in the PR. 8 | 9 | <% pull_requests.each do |pr| -%> 10 | - #<%= pr.number %> <%= pr.mention %> 11 | <% end -%> 12 | -------------------------------------------------------------------------------- /ui/src/schemas/fileTreeNode.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { FileTreeNodeChildren } from "./fileTreeNodeChildren"; 9 | 10 | /** 11 | * File tree node model. 12 | */ 13 | export interface FileTreeNode { 14 | name: string; 15 | path: string; 16 | type: string; 17 | children?: FileTreeNodeChildren; 18 | } 19 | -------------------------------------------------------------------------------- /ui/src/schemas/saveFlowResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response after saving a flow. 11 | */ 12 | export interface SaveFlowResponse { 13 | /** Flow name */ 14 | name: string; 15 | /** Path to saved file */ 16 | file_path: string; 17 | /** Success message */ 18 | message: string; 19 | } 20 | -------------------------------------------------------------------------------- /ui/src/schemas/coupling.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { CouplingGateDuration } from "./couplingGateDuration"; 9 | 10 | /** 11 | * Coupling information. 12 | */ 13 | export interface Coupling { 14 | control: number; 15 | target: number; 16 | fidelity: number; 17 | gate_duration: CouplingGateDuration; 18 | } 19 | -------------------------------------------------------------------------------- /ui/src/schemas/qdashApiSchemasAdminMemberListResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MemberItem } from "./memberItem"; 9 | 10 | /** 11 | * Response containing list of project members. 12 | */ 13 | export interface QdashApiSchemasAdminMemberListResponse { 14 | members: MemberItem[]; 15 | total: number; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/app/(auth)/metrics/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { Suspense } from "react"; 4 | 5 | import { MetricsPageContent } from "@/components/features/metrics/MetricsPageContent"; 6 | import { MetricsPageSkeleton } from "@/components/ui/Skeleton/PageSkeletons"; 7 | 8 | export default function MetricsPage() { 9 | return ( 10 | }> 11 | 12 | 13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/detail.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * A simple message response. 11 | 12 | Args: 13 | ---- 14 | BaseModel: The base class for Pydantic models. 15 | 16 | Attributes: 17 | ---------- 18 | message (str): The message to return. 19 | */ 20 | export interface Detail { 21 | detail: string; 22 | } 23 | -------------------------------------------------------------------------------- /ui/src/schemas/memberInvite.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectRole } from "./projectRole"; 9 | 10 | /** 11 | * Request schema for inviting a member. 12 | */ 13 | export interface MemberInvite { 14 | /** Username to invite */ 15 | username: string; 16 | /** Role to assign */ 17 | role?: ProjectRole; 18 | } 19 | -------------------------------------------------------------------------------- /ui/src/schemas/userCreate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UserCreateFullName } from "./userCreateFullName"; 9 | 10 | /** 11 | * User creation model for registration (admin only). 12 | */ 13 | export interface UserCreate { 14 | username: string; 15 | password: string; 16 | full_name?: UserCreateFullName; 17 | } 18 | -------------------------------------------------------------------------------- /ui/src/schemas/backendResponseModel.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response model for backend operations. 11 | 12 | Inherits from BackendModel and is used to format the response 13 | for backend-related API endpoints. 14 | */ 15 | export interface BackendResponseModel { 16 | name: string; 17 | username: string; 18 | } 19 | -------------------------------------------------------------------------------- /ui/src/schemas/listFlowSchedulesResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { FlowScheduleSummary } from "./flowScheduleSummary"; 9 | 10 | /** 11 | * Response for listing flow schedules. 12 | */ 13 | export interface ListFlowSchedulesResponse { 14 | /** List of flow schedules */ 15 | schedules: FlowScheduleSummary[]; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/listMuxResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ListMuxResponseMuxes } from "./listMuxResponseMuxes"; 9 | 10 | /** 11 | * ListMuxResponse is a Pydantic model that represents the response for fetching the multiplexers. 12 | */ 13 | export interface ListMuxResponse { 14 | muxes: ListMuxResponseMuxes; 15 | } 16 | -------------------------------------------------------------------------------- /ui/src/schemas/updateScheduleRequestParameters.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UpdateScheduleRequestParametersAnyOf } from "./updateScheduleRequestParametersAnyOf"; 9 | 10 | /** 11 | * Updated parameters (optional) 12 | */ 13 | export type UpdateScheduleRequestParameters = 14 | UpdateScheduleRequestParametersAnyOf | null; 15 | -------------------------------------------------------------------------------- /ui/src/schemas/qdashApiSchemasAdminProjectListResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectListItem } from "./projectListItem"; 9 | 10 | /** 11 | * Response containing list of all projects. 12 | */ 13 | export interface QdashApiSchemasAdminProjectListResponse { 14 | projects: ProjectListItem[]; 15 | total: number; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/qdashApiSchemasProjectMemberListResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MemberResponse } from "./memberResponse"; 9 | 10 | /** 11 | * Response schema for listing project members. 12 | */ 13 | export interface QdashApiSchemasProjectMemberListResponse { 14 | members: MemberResponse[]; 15 | total: number; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/qdashApiSchemasProjectProjectListResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectResponse } from "./projectResponse"; 9 | 10 | /** 11 | * Response schema for listing projects. 12 | */ 13 | export interface QdashApiSchemasProjectProjectListResponse { 14 | projects: ProjectResponse[]; 15 | total: number; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/app/(auth)/execution/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { Suspense } from "react"; 4 | 5 | import { ExecutionPageContent } from "@/components/features/execution/ExecutionPageContent"; 6 | import { ExecutionPageSkeleton } from "@/components/ui/Skeleton/PageSkeletons"; 7 | 8 | export default function ExecutionPage() { 9 | return ( 10 | }> 11 | 12 | 13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /ui/src/schemas/getHistoricalQubitTaskResultsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetHistoricalQubitTaskResultsParams = { 10 | /** 11 | * Chip ID 12 | */ 13 | chip_id: string; 14 | /** 15 | * Task name 16 | */ 17 | task: string; 18 | /** 19 | * Date in YYYYMMDD format 20 | */ 21 | date: string; 22 | }; 23 | -------------------------------------------------------------------------------- /ui/src/schemas/getHistoricalCouplingTaskResultsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetHistoricalCouplingTaskResultsParams = { 10 | /** 11 | * Chip ID 12 | */ 13 | chip_id: string; 14 | /** 15 | * Task name 16 | */ 17 | task: string; 18 | /** 19 | * Date in YYYYMMDD format 20 | */ 21 | date: string; 22 | }; 23 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | 12 | [*.{js,json}] 13 | indent_size = 2 14 | 15 | [*.{tf,tftfvars}] 16 | indent_size = 2 17 | indent_style = space 18 | 19 | [*.md] 20 | max_line_length = 0 21 | trim_trailing_whitespace = false 22 | 23 | [{Makefile,**.mk}] 24 | indent_style = tab 25 | [*.py] 26 | indent_size = 4 27 | -------------------------------------------------------------------------------- /ui/src/schemas/device.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { Qubit } from "./qubit"; 9 | import type { Coupling } from "./coupling"; 10 | 11 | /** 12 | * Device information. 13 | */ 14 | export interface Device { 15 | name: string; 16 | device_id: string; 17 | qubits: Qubit[]; 18 | couplings: Coupling[]; 19 | calibrated_at: string; 20 | } 21 | -------------------------------------------------------------------------------- /ui/src/schemas/fileNodeType.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * File node type enum. 11 | */ 12 | export type FileNodeType = (typeof FileNodeType)[keyof typeof FileNodeType]; 13 | 14 | // eslint-disable-next-line @typescript-eslint/no-redeclare 15 | export const FileNodeType = { 16 | file: "file", 17 | directory: "directory", 18 | } as const; 19 | -------------------------------------------------------------------------------- /ui/src/schemas/listChipsResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ChipResponse } from "./chipResponse"; 9 | 10 | /** 11 | * Response model for listing all chips. 12 | 13 | Wraps list of chips for API consistency and future extensibility (e.g., pagination). 14 | */ 15 | export interface ListChipsResponse { 16 | chips: ChipResponse[]; 17 | } 18 | -------------------------------------------------------------------------------- /ui/src/schemas/inputParameterModel.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { InputParameterModelValue } from "./inputParameterModelValue"; 9 | 10 | /** 11 | * Input parameter class. 12 | */ 13 | export interface InputParameterModel { 14 | unit?: string; 15 | value_type?: string; 16 | value?: InputParameterModelValue; 17 | description?: string; 18 | } 19 | -------------------------------------------------------------------------------- /ui/src/schemas/executeFlowRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ExecuteFlowRequestParameters } from "./executeFlowRequestParameters"; 9 | 10 | /** 11 | * Request to execute a Flow. 12 | */ 13 | export interface ExecuteFlowRequest { 14 | /** Execution parameters (overrides default_parameters) */ 15 | parameters?: ExecuteFlowRequestParameters; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/deviceTopologyRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { Condition } from "./condition"; 9 | 10 | /** 11 | * Request model for device topology. 12 | */ 13 | export interface DeviceTopologyRequest { 14 | name?: string; 15 | device_id?: string; 16 | qubits?: string[]; 17 | exclude_couplings?: string[]; 18 | condition?: Condition; 19 | } 20 | -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- 1 | name: Release 2 | on: 3 | push: 4 | tags: 5 | - "v[0-9]+.[0-9]+.[0-9]+" 6 | jobs: 7 | release: 8 | runs-on: ubuntu-latest 9 | env: 10 | VERSION: ${{ github.ref_name }} 11 | permissions: 12 | contents: write 13 | steps: 14 | - uses: actions/checkout@v4 15 | - run: | 16 | gh release create "${VERSION}" --title "${VERSION}" --generate-notes 17 | env: 18 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 19 | -------------------------------------------------------------------------------- /src/qdash/workflow/worker/tasks/filesystem.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from prefect import task 4 | 5 | 6 | @task(name="create directory") 7 | def create_directory_task(calib_dir: str) -> None: 8 | if not os.path.exists(calib_dir): 9 | os.makedirs(calib_dir) 10 | path_list = [ 11 | f"{calib_dir}/task", 12 | f"{calib_dir}/fig", 13 | f"{calib_dir}/calib", 14 | ] 15 | for path in path_list: 16 | if not os.path.exists(path): 17 | os.mkdir(path) 18 | -------------------------------------------------------------------------------- /ui/src/schemas/listBackendsResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { BackendResponseModel } from "./backendResponseModel"; 9 | 10 | /** 11 | * Response model for listing all backends. 12 | 13 | Wraps list of backends for API consistency and future extensibility. 14 | */ 15 | export interface ListBackendsResponse { 16 | backends: BackendResponseModel[]; 17 | } 18 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/calibration/execution/__init__.py: -------------------------------------------------------------------------------- 1 | """Execution management components for calibration workflows.""" 2 | 3 | from qdash.workflow.engine.calibration.execution.manager import ExecutionManager 4 | from qdash.workflow.engine.calibration.execution.service import ExecutionService 5 | from qdash.workflow.engine.calibration.execution.state_manager import ExecutionStateManager 6 | 7 | __all__ = [ 8 | "ExecutionManager", 9 | "ExecutionStateManager", 10 | "ExecutionService", 11 | ] 12 | -------------------------------------------------------------------------------- /ui/src/schemas/deleteScheduleResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response for deleting a schedule. 11 | */ 12 | export interface DeleteScheduleResponse { 13 | /** Success message */ 14 | message: string; 15 | /** Deleted schedule ID */ 16 | schedule_id: string; 17 | /** Type of deleted schedule (cron or one-time) */ 18 | schedule_type: string; 19 | } 20 | -------------------------------------------------------------------------------- /ui/src/schemas/muxDetailResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MuxDetailResponseDetail } from "./muxDetailResponseDetail"; 9 | 10 | /** 11 | * MuxDetailResponse is a Pydantic model that represents the response for fetching the multiplexer details. 12 | */ 13 | export interface MuxDetailResponse { 14 | mux_id: number; 15 | detail: MuxDetailResponseDetail; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/getChipMetricsSelectionMode.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetChipMetricsSelectionMode = 10 | (typeof GetChipMetricsSelectionMode)[keyof typeof GetChipMetricsSelectionMode]; 11 | 12 | // eslint-disable-next-line @typescript-eslint/no-redeclare 13 | export const GetChipMetricsSelectionMode = { 14 | latest: "latest", 15 | best: "best", 16 | } as const; 17 | -------------------------------------------------------------------------------- /ui/src/schemas/latestTaskResultResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { LatestTaskResultResponseResult } from "./latestTaskResultResponseResult"; 9 | 10 | /** 11 | * Response model for fetching the latest tasks grouped by qid/coupling_id. 12 | */ 13 | export interface LatestTaskResultResponse { 14 | task_name: string; 15 | result: LatestTaskResultResponseResult; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/memberItem.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MemberItemFullName } from "./memberItemFullName"; 9 | import type { ProjectRole } from "./projectRole"; 10 | 11 | /** 12 | * Member info for admin view. 13 | */ 14 | export interface MemberItem { 15 | username: string; 16 | full_name?: MemberItemFullName; 17 | role: ProjectRole; 18 | status?: string; 19 | } 20 | -------------------------------------------------------------------------------- /ui/src/schemas/tokenResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TokenResponseDefaultProjectId } from "./tokenResponseDefaultProjectId"; 9 | 10 | /** 11 | * Token response model for login. 12 | */ 13 | export interface TokenResponse { 14 | access_token: string; 15 | token_type?: string; 16 | username: string; 17 | default_project_id?: TokenResponseDefaultProjectId; 18 | } 19 | -------------------------------------------------------------------------------- /config/settings.yaml: -------------------------------------------------------------------------------- 1 | # QDash UI Settings 2 | # This file contains default settings for the QDash UI 3 | 4 | # Task Files Editor Settings 5 | task_files: 6 | # Default backend to select when opening the Task Files page 7 | # Available backends: qubex, fake 8 | default_backend: qubex 9 | 10 | # Default view mode for the sidebar 11 | # Options: tasks, files 12 | default_view_mode: tasks 13 | 14 | # Task list sort order 15 | # Options: type_then_name, name_only, file_path 16 | sort_order: type_then_name 17 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/backend/__init__.py: -------------------------------------------------------------------------------- 1 | from qdash.workflow.engine.backend.base import BaseBackend 2 | from qdash.workflow.engine.backend.factory import create_backend 3 | from qdash.workflow.engine.backend.fake import FakeBackend 4 | 5 | __all__ = [ 6 | "BaseBackend", 7 | "FakeBackend", 8 | "create_backend", 9 | ] 10 | 11 | # Note: QubexBackend is not exported here to avoid import errors when qubex is not installed. 12 | # Import it directly: from qdash.workflow.engine.backend.qubex import QubexBackend 13 | -------------------------------------------------------------------------------- /ui/src/schemas/condition.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { FidelityCondition } from "./fidelityCondition"; 9 | 10 | /** 11 | * Condition for filtering device topology. 12 | */ 13 | export interface Condition { 14 | coupling_fidelity: FidelityCondition; 15 | qubit_fidelity: FidelityCondition; 16 | readout_fidelity: FidelityCondition; 17 | only_maximum_connected?: boolean; 18 | } 19 | -------------------------------------------------------------------------------- /ui/src/schemas/qubitMetricHistoryResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricHistoryItem } from "./metricHistoryItem"; 9 | 10 | /** 11 | * Historical metric data for a single qubit. 12 | */ 13 | export interface QubitMetricHistoryResponse { 14 | chip_id: string; 15 | qid: string; 16 | metric_name: string; 17 | username: string; 18 | history: MetricHistoryItem[]; 19 | } 20 | -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | pythonpath = src 3 | testpaths = tests 4 | addopts = -v --tb=short 5 | python_files = test_*.py 6 | python_classes = Test* 7 | python_functions = test_* 8 | asyncio_default_fixture_loop_scope = function 9 | markers = 10 | integration: marks tests as integration tests that require running services 11 | filterwarnings = 12 | ignore::DeprecationWarning:bunnet.* 13 | ignore::DeprecationWarning:pydantic_core.* 14 | ignore::DeprecationWarning:lazy_model.* 15 | ignore:.*model_fields.*:DeprecationWarning -------------------------------------------------------------------------------- /ui/src/schemas/downloadMetricsPdfSelectionMode.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type DownloadMetricsPdfSelectionMode = 10 | (typeof DownloadMetricsPdfSelectionMode)[keyof typeof DownloadMetricsPdfSelectionMode]; 11 | 12 | // eslint-disable-next-line @typescript-eslint/no-redeclare 13 | export const DownloadMetricsPdfSelectionMode = { 14 | latest: "latest", 15 | best: "best", 16 | } as const; 17 | -------------------------------------------------------------------------------- /.github/release.yaml: -------------------------------------------------------------------------------- 1 | changelog: 2 | categories: 3 | - title: New Feature 🎉 4 | labels: 5 | - feature 6 | - title: Bug Fixes 🐛 7 | labels: 8 | - bugfix 9 | - title: Refactor 🛠 10 | labels: 11 | - refactor 12 | - title: Style 🎨 13 | labels: 14 | - style 15 | - title: Test 🧪 16 | labels: 17 | - test 18 | - title: CI/CD 🚀 19 | labels: 20 | - ci 21 | - title: Documentation 📚 22 | labels: 23 | - documentation 24 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFileTreeNode.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { FileNodeType } from "./fileNodeType"; 9 | import type { TaskFileTreeNodeChildren } from "./taskFileTreeNodeChildren"; 10 | 11 | /** 12 | * Task file tree node model. 13 | */ 14 | export interface TaskFileTreeNode { 15 | name: string; 16 | path: string; 17 | type: FileNodeType; 18 | children?: TaskFileTreeNodeChildren; 19 | } 20 | -------------------------------------------------------------------------------- /ui/src/app/(auth)/execution/[chip_id]/[execute_id]/page.tsx: -------------------------------------------------------------------------------- 1 | import ExecutionDetailClient from "@/components/features/execution/ExecutionClient"; 2 | 3 | interface ExecutionDetailPageProps { 4 | params: Promise<{ 5 | chip_id: string; 6 | execute_id: string; 7 | }>; 8 | } 9 | 10 | export default async function ExecutionDetailPage({ 11 | params, 12 | }: ExecutionDetailPageProps) { 13 | const { chip_id, execute_id } = await params; 14 | 15 | return ; 16 | } 17 | -------------------------------------------------------------------------------- /ui/src/schemas/executeFlowResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Response after executing a flow. 11 | */ 12 | export interface ExecuteFlowResponse { 13 | /** Execution ID */ 14 | execution_id: string; 15 | /** Prefect flow run URL */ 16 | flow_run_url: string; 17 | /** QDash UI URL for execution */ 18 | qdash_ui_url: string; 19 | /** Success message */ 20 | message: string; 21 | } 22 | -------------------------------------------------------------------------------- /ui/src/schemas/calibrationNoteResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { CalibrationNoteResponseNote } from "./calibrationNoteResponseNote"; 9 | 10 | /** 11 | * CalibrationNote is a subclass of BaseModel. 12 | */ 13 | export interface CalibrationNoteResponse { 14 | username: string; 15 | execution_id: string; 16 | task_id: string; 17 | note: CalibrationNoteResponseNote; 18 | timestamp: string; 19 | } 20 | -------------------------------------------------------------------------------- /ui/src/schemas/getQubitMetricHistoryParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetQubitMetricHistoryParams = { 10 | /** 11 | * Metric name (e.g., t1, qubit_frequency) 12 | */ 13 | metric: string; 14 | /** 15 | * Max number of history items (None for unlimited) 16 | */ 17 | limit?: number | null; 18 | /** 19 | * Filter to last N days 20 | */ 21 | within_days?: number | null; 22 | }; 23 | -------------------------------------------------------------------------------- /ui/src/schemas/listExecutionsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type ListExecutionsParams = { 10 | /** 11 | * Chip ID to filter executions 12 | */ 13 | chip_id: string; 14 | /** 15 | * Number of items to skip 16 | * @minimum 0 17 | */ 18 | skip?: number; 19 | /** 20 | * Number of items to return 21 | * @minimum 1 22 | * @maximum 100 23 | */ 24 | limit?: number; 25 | }; 26 | -------------------------------------------------------------------------------- /ui/src/schemas/downloadMetricsPdfParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { DownloadMetricsPdfSelectionMode } from "./downloadMetricsPdfSelectionMode"; 9 | 10 | export type DownloadMetricsPdfParams = { 11 | /** 12 | * Filter to data within N hours 13 | */ 14 | within_hours?: number | null; 15 | /** 16 | * Selection mode: 'latest' or 'best' 17 | */ 18 | selection_mode?: DownloadMetricsPdfSelectionMode; 19 | }; 20 | -------------------------------------------------------------------------------- /ui/src/schemas/getCouplingMetricHistoryParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetCouplingMetricHistoryParams = { 10 | /** 11 | * Metric name (e.g., zx90_gate_fidelity, bell_state_fidelity) 12 | */ 13 | metric: string; 14 | /** 15 | * Max number of history items (None for unlimited) 16 | */ 17 | limit?: number | null; 18 | /** 19 | * Filter to last N days 20 | */ 21 | within_days?: number | null; 22 | }; 23 | -------------------------------------------------------------------------------- /ui/src/schemas/systemRole.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * System-level role for a user. 11 | 12 | ADMIN: Full system access, can manage all users and projects. 13 | USER: Regular user. 14 | */ 15 | export type SystemRole = (typeof SystemRole)[keyof typeof SystemRole]; 16 | 17 | // eslint-disable-next-line @typescript-eslint/no-redeclare 18 | export const SystemRole = { 19 | admin: "admin", 20 | user: "user", 21 | } as const; 22 | -------------------------------------------------------------------------------- /ui/src/schemas/taskInfo.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskInfoTaskType } from "./taskInfoTaskType"; 9 | import type { TaskInfoDescription } from "./taskInfoDescription"; 10 | 11 | /** 12 | * Task information extracted from Python file. 13 | */ 14 | export interface TaskInfo { 15 | name: string; 16 | class_name: string; 17 | task_type?: TaskInfoTaskType; 18 | description?: TaskInfoDescription; 19 | file_path: string; 20 | } 21 | -------------------------------------------------------------------------------- /docs/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting Vulnerabilities 4 | 5 | If you discover a vulnerability, please follow the steps below to report it. 6 | 7 | 1. **Report via Email**: Send the details of the vulnerability to [oqtopus-team[at]googlegroups.com](mailto:oqtopus-team[at]googlegroups.com). Please include the following information in your report: 8 | - A detailed description of the vulnerability 9 | - Steps to reproduce the vulnerability 10 | - The impact range of the vulnerability 11 | - Your name (optional) 12 | - Contact information (optional) 13 | -------------------------------------------------------------------------------- /ui/src/schemas/getChipMetricsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { GetChipMetricsSelectionMode } from "./getChipMetricsSelectionMode"; 9 | 10 | export type GetChipMetricsParams = { 11 | /** 12 | * Filter to data within N hours (e.g., 24) 13 | */ 14 | within_hours?: number | null; 15 | /** 16 | * Selection mode: 'latest' for most recent, 'best' for optimal values 17 | */ 18 | selection_mode?: GetChipMetricsSelectionMode; 19 | }; 20 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/index.ts: -------------------------------------------------------------------------------- 1 | import type { Theme } from "vitepress"; 2 | import DefaultTheme from "vitepress/theme"; 3 | 4 | import { theme, useOpenapi } from "vitepress-openapi"; 5 | import "vitepress-openapi/dist/style.css"; 6 | 7 | import "./custom.css"; 8 | 9 | import spec from "../../oas/openapi.json" assert { type: "json" }; 10 | 11 | export default { 12 | extends: DefaultTheme, 13 | async enhanceApp({ app, router, siteData }) { 14 | const openapi = useOpenapi({ 15 | spec, 16 | }); 17 | theme.enhanceApp({ app, openapi }); 18 | }, 19 | } satisfies Theme; 20 | -------------------------------------------------------------------------------- /.gitmessage: -------------------------------------------------------------------------------- 1 | # Overview (Uncomment one of the following templates) 2 | #feat: 3 | # └ A new feature 4 | #fix: 5 | # └ A bug fix 6 | #docs: 7 | # └ Documentation only changes 8 | #style: 9 | # └ Changes that do not affect the meaning of the code 10 | # (white-space, formatting, missing semi-colons, etc) 11 | #refactor: 12 | # └ A code change that neither fixes a bug nor adds a featur 13 | #test: 14 | # └ Adding missing or correcting existing tests 15 | #ci: 16 | # └ Changes to our CI configuration files and scripts 17 | #chore: 18 | # └ Updating grunt tasks etc; no production code change 19 | -------------------------------------------------------------------------------- /ui/src/components/ui/EnvironmentBadge.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | /** 4 | * Environment badge component that displays the current environment name. 5 | * Uses NEXT_PUBLIC_ENV environment variable. 6 | */ 7 | export function EnvironmentBadge({ className }: { className?: string }) { 8 | const env = process.env.NEXT_PUBLIC_ENV; 9 | 10 | if (!env) { 11 | return null; 12 | } 13 | 14 | return ( 15 |
19 | {env} 20 |
21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /ui/src/schemas/flowTemplate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Flow template metadata. 11 | */ 12 | export interface FlowTemplate { 13 | /** Template ID */ 14 | id: string; 15 | /** Template name */ 16 | name: string; 17 | /** Template description */ 18 | description: string; 19 | /** Template category */ 20 | category: string; 21 | /** Python filename */ 22 | filename: string; 23 | /** Flow function name */ 24 | function_name: string; 25 | } 26 | -------------------------------------------------------------------------------- /ui/src/schemas/metricValue.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricValueValue } from "./metricValueValue"; 9 | import type { MetricValueTaskId } from "./metricValueTaskId"; 10 | import type { MetricValueExecutionId } from "./metricValueExecutionId"; 11 | 12 | /** 13 | * Single metric value with metadata. 14 | */ 15 | export interface MetricValue { 16 | value?: MetricValueValue; 17 | task_id?: MetricValueTaskId; 18 | execution_id?: MetricValueExecutionId; 19 | } 20 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yaml 2 | 3 | # Read the Docs configuration file for Sphinx projects 4 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 5 | 6 | # Required 7 | version: 2 8 | 9 | # Set the OS, Python version and other tools you might need 10 | build: 11 | os: ubuntu-22.04 12 | tools: 13 | nodejs: "18" 14 | commands: 15 | - mkdir --parents $READTHEDOCS_OUTPUT/html/ 16 | - cd docs && npm ci 17 | - cd docs && npm run docs:build -- --base "/$READTHEDOCS_LANGUAGE/$READTHEDOCS_VERSION/" 18 | - cp --recursive docs/.vitepress/dist/* $READTHEDOCS_OUTPUT/html/ 19 | -------------------------------------------------------------------------------- /ui/orval.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "qdash-file-transfomer": { 3 | output: { 4 | client: "react-query", 5 | mode: "tags-split", 6 | target: "./src/client", 7 | schemas: "./src/schemas", 8 | override: { 9 | mutator: { 10 | path: "./src/lib/custom-instance.ts", 11 | name: "customInstance", 12 | }, 13 | }, 14 | clean: true, 15 | mock: false, 16 | }, 17 | input: { 18 | target: "../docs/oas/openapi.json", 19 | }, 20 | // hooks: { 21 | // afterAllFilesWrite: "npx eslint . --fix", 22 | // }, 23 | }, 24 | }; 25 | -------------------------------------------------------------------------------- /ui/src/schemas/projectCreate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectCreateDescription } from "./projectCreateDescription"; 9 | 10 | /** 11 | * Request schema for creating a new project. 12 | */ 13 | export interface ProjectCreate { 14 | /** 15 | * Project display name 16 | * @minLength 1 17 | * @maxLength 100 18 | */ 19 | name: string; 20 | /** Project description */ 21 | description?: ProjectCreateDescription; 22 | /** Project tags */ 23 | tags?: string[]; 24 | } 25 | -------------------------------------------------------------------------------- /ui/src/schemas/projectRole.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Role of a member inside a project. 11 | 12 | Simplified model: 13 | - OWNER: Full access to project (read, write, admin) 14 | - VIEWER: Read-only access (for invited members) 15 | */ 16 | export type ProjectRole = (typeof ProjectRole)[keyof typeof ProjectRole]; 17 | 18 | // eslint-disable-next-line @typescript-eslint/no-redeclare 19 | export const ProjectRole = { 20 | owner: "owner", 21 | viewer: "viewer", 22 | } as const; 23 | -------------------------------------------------------------------------------- /src/qdash/api/schemas/backend.py: -------------------------------------------------------------------------------- 1 | """Schema definitions for backend router.""" 2 | 3 | from pydantic import BaseModel 4 | 5 | 6 | class BackendResponseModel(BaseModel): 7 | """Response model for backend operations. 8 | 9 | Inherits from BackendModel and is used to format the response 10 | for backend-related API endpoints. 11 | """ 12 | 13 | name: str 14 | username: str 15 | 16 | 17 | class ListBackendsResponse(BaseModel): 18 | """Response model for listing all backends. 19 | 20 | Wraps list of backends for API consistency and future extensibility. 21 | """ 22 | 23 | backends: list[BackendResponseModel] 24 | -------------------------------------------------------------------------------- /ui/src/schemas/projectListItem.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectListItemDescription } from "./projectListItemDescription"; 9 | import type { ProjectListItemCreatedAt } from "./projectListItemCreatedAt"; 10 | 11 | /** 12 | * Project summary for admin list view. 13 | */ 14 | export interface ProjectListItem { 15 | project_id: string; 16 | name: string; 17 | owner_username: string; 18 | description?: ProjectListItemDescription; 19 | member_count?: number; 20 | created_at?: ProjectListItemCreatedAt; 21 | } 22 | -------------------------------------------------------------------------------- /ui/src/schemas/projectResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectResponseDescription } from "./projectResponseDescription"; 9 | import type { ProjectRole } from "./projectRole"; 10 | 11 | /** 12 | * Response schema for project information. 13 | */ 14 | export interface ProjectResponse { 15 | project_id: string; 16 | owner_username: string; 17 | name: string; 18 | description: ProjectResponseDescription; 19 | tags: string[]; 20 | default_role: ProjectRole; 21 | created_at: string; 22 | updated_at: string; 23 | } 24 | -------------------------------------------------------------------------------- /ui/src/schemas/userListItem.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UserListItemFullName } from "./userListItemFullName"; 9 | import type { SystemRole } from "./systemRole"; 10 | import type { UserListItemDefaultProjectId } from "./userListItemDefaultProjectId"; 11 | 12 | /** 13 | * User summary for admin list view. 14 | */ 15 | export interface UserListItem { 16 | username: string; 17 | full_name?: UserListItemFullName; 18 | disabled?: boolean; 19 | system_role?: SystemRole; 20 | default_project_id?: UserListItemDefaultProjectId; 21 | } 22 | -------------------------------------------------------------------------------- /ui/src/schemas/flowTemplateWithCode.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Flow template with code content. 11 | */ 12 | export interface FlowTemplateWithCode { 13 | /** Template ID */ 14 | id: string; 15 | /** Template name */ 16 | name: string; 17 | /** Template description */ 18 | description: string; 19 | /** Template category */ 20 | category: string; 21 | /** Python filename */ 22 | filename: string; 23 | /** Flow function name */ 24 | function_name: string; 25 | /** Python code content */ 26 | code: string; 27 | } 28 | -------------------------------------------------------------------------------- /ui/src/schemas/qubit.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { Position } from "./position"; 9 | import type { MeasError } from "./measError"; 10 | import type { QubitLifetime } from "./qubitLifetime"; 11 | import type { QubitGateDuration } from "./qubitGateDuration"; 12 | 13 | /** 14 | * Qubit information. 15 | */ 16 | export interface Qubit { 17 | id: number; 18 | physical_id: number; 19 | position: Position; 20 | fidelity: number; 21 | meas_error: MeasError; 22 | qubit_lifetime: QubitLifetime; 23 | gate_duration: QubitGateDuration; 24 | } 25 | -------------------------------------------------------------------------------- /ui/src/schemas/user.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UserFullName } from "./userFullName"; 9 | import type { UserDisabled } from "./userDisabled"; 10 | import type { UserDefaultProjectId } from "./userDefaultProjectId"; 11 | import type { SystemRole } from "./systemRole"; 12 | 13 | /** 14 | * User model for authentication and user management. 15 | */ 16 | export interface User { 17 | username: string; 18 | full_name?: UserFullName; 19 | disabled?: UserDisabled; 20 | default_project_id?: UserDefaultProjectId; 21 | system_role?: SystemRole; 22 | } 23 | -------------------------------------------------------------------------------- /ui/src/components/ui/GoBackButton.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | export function GoBackButton() { 4 | return ( 5 | 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /ui/src/components/ui/LoadingSpinner/index.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | type LoadingSpinnerProps = { 4 | size?: "xs" | "sm" | "md" | "lg"; 5 | color?: 6 | | "primary" 7 | | "secondary" 8 | | "accent" 9 | | "neutral" 10 | | "info" 11 | | "success" 12 | | "warning" 13 | | "error"; 14 | }; 15 | 16 | export function LoadingSpinner({ 17 | size = "lg", 18 | color = "primary", 19 | }: LoadingSpinnerProps = {}) { 20 | return ( 21 |
22 | 26 |
27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /ui/src/schemas/flowSummary.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Summary of a Flow for listing. 11 | */ 12 | export interface FlowSummary { 13 | /** Flow name */ 14 | name: string; 15 | /** Flow description */ 16 | description: string; 17 | /** Target chip ID */ 18 | chip_id: string; 19 | /** Entry point function name */ 20 | flow_function_name: string; 21 | /** Creation timestamp (ISO format) */ 22 | created_at: string; 23 | /** Last update timestamp (ISO format) */ 24 | updated_at: string; 25 | /** Tags */ 26 | tags: string[]; 27 | } 28 | -------------------------------------------------------------------------------- /ui/src/schemas/updateUserRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UpdateUserRequestFullName } from "./updateUserRequestFullName"; 9 | import type { UpdateUserRequestDisabled } from "./updateUserRequestDisabled"; 10 | import type { UpdateUserRequestSystemRole } from "./updateUserRequestSystemRole"; 11 | 12 | /** 13 | * Request to update user settings (admin only). 14 | */ 15 | export interface UpdateUserRequest { 16 | full_name?: UpdateUserRequestFullName; 17 | disabled?: UpdateUserRequestDisabled; 18 | system_role?: UpdateUserRequestSystemRole; 19 | } 20 | -------------------------------------------------------------------------------- /src/tools/get_best.py: -------------------------------------------------------------------------------- 1 | from qdash.dbmodel.initialize import initialize 2 | from qdash.dbmodel.chip import ChipDocument 3 | 4 | initialize() 5 | 6 | 7 | chip = ChipDocument.get_current_chip(username="admin") 8 | best_datas = {} 9 | for qid, coupling in chip.couplings.items(): 10 | # print(f"{qid}: {coupling.model_dump()}") 11 | if coupling.best_data: 12 | # print(f" Best data{qid}: {coupling.best_data}") 13 | best_datas[qid] = coupling.best_data 14 | # print(f" Best data {qid} is {coupling.best_data}") 15 | 16 | with open("best_data.json", "w") as f: 17 | import json 18 | 19 | json.dump(best_datas, f, indent=2) 20 | 21 | print(len(best_datas), "best datas found.") 22 | -------------------------------------------------------------------------------- /ui/src/schemas/chipMetricsResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ChipMetricsResponseWithinHours } from "./chipMetricsResponseWithinHours"; 9 | import type { QubitMetrics } from "./qubitMetrics"; 10 | import type { CouplingMetrics } from "./couplingMetrics"; 11 | 12 | /** 13 | * Complete chip metrics response. 14 | */ 15 | export interface ChipMetricsResponse { 16 | chip_id: string; 17 | username: string; 18 | qubit_count: number; 19 | within_hours?: ChipMetricsResponseWithinHours; 20 | qubit_metrics: QubitMetrics; 21 | coupling_metrics: CouplingMetrics; 22 | } 23 | -------------------------------------------------------------------------------- /ui/src/schemas/getTimeseriesTaskResultsParams.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | export type GetTimeseriesTaskResultsParams = { 10 | /** 11 | * Chip ID 12 | */ 13 | chip_id: string; 14 | /** 15 | * Tag to filter by 16 | */ 17 | tag: string; 18 | /** 19 | * Parameter name 20 | */ 21 | parameter: string; 22 | /** 23 | * Start time in ISO format 24 | */ 25 | start_at: string; 26 | /** 27 | * End time in ISO format 28 | */ 29 | end_at: string; 30 | /** 31 | * Optional qubit ID to filter by 32 | */ 33 | qid?: string | null; 34 | }; 35 | -------------------------------------------------------------------------------- /ui/src/schemas/memberResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectRole } from "./projectRole"; 9 | import type { MemberResponseInvitedBy } from "./memberResponseInvitedBy"; 10 | import type { MemberResponseLastAccessedAt } from "./memberResponseLastAccessedAt"; 11 | 12 | /** 13 | * Response schema for project membership. 14 | */ 15 | export interface MemberResponse { 16 | project_id: string; 17 | username: string; 18 | role: ProjectRole; 19 | status: string; 20 | invited_by: MemberResponseInvitedBy; 21 | last_accessed_at: MemberResponseLastAccessedAt; 22 | } 23 | -------------------------------------------------------------------------------- /ui/src/schemas/taskFileSettings.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskFileSettingsDefaultBackend } from "./taskFileSettingsDefaultBackend"; 9 | import type { TaskFileSettingsDefaultViewMode } from "./taskFileSettingsDefaultViewMode"; 10 | import type { TaskFileSettingsSortOrder } from "./taskFileSettingsSortOrder"; 11 | 12 | /** 13 | * Task file settings model. 14 | */ 15 | export interface TaskFileSettings { 16 | default_backend?: TaskFileSettingsDefaultBackend; 17 | default_view_mode?: TaskFileSettingsDefaultViewMode; 18 | sort_order?: TaskFileSettingsSortOrder; 19 | } 20 | -------------------------------------------------------------------------------- /ui/src/schemas/metricHistoryItem.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { MetricHistoryItemValue } from "./metricHistoryItemValue"; 9 | import type { MetricHistoryItemTaskId } from "./metricHistoryItemTaskId"; 10 | import type { MetricHistoryItemCalibratedAt } from "./metricHistoryItemCalibratedAt"; 11 | 12 | /** 13 | * Single historical metric data point. 14 | */ 15 | export interface MetricHistoryItem { 16 | value: MetricHistoryItemValue; 17 | execution_id: string; 18 | task_id?: MetricHistoryItemTaskId; 19 | timestamp: string; 20 | calibrated_at?: MetricHistoryItemCalibratedAt; 21 | } 22 | -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- 1 | cff-version: 1.2.0 2 | message: "If you use this software, please cite it as below." 3 | title: "QDash" 4 | authors: 5 | - family-names: "Masumoto" 6 | given-names: "Naoyuki" 7 | - family-names: "Miyaji" 8 | given-names: "Kosuke" 9 | - family-names: "Miyanaga" 10 | given-names: "Takafumi" 11 | orcid: "https://orcid.org/0009-0001-5094-6035" 12 | - family-names: "Mori" 13 | given-names: "Toshio" 14 | - family-names: "Tsukano" 15 | given-names: "Satoyuki" 16 | orcid: "https://orcid.org/0009-0000-3825-9083" 17 | version: 0.1.0 18 | date-released: 2024-12-05 19 | license: Apache-2.0 20 | repository-code: "https://github.com/oqtopus-team/qdash" 21 | url: "https://oqtopus-team.github.io/qdash/" 22 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/calibration/scheduler/__init__.py: -------------------------------------------------------------------------------- 1 | """Scheduler components for calibration workflows.""" 2 | 3 | from qdash.workflow.engine.calibration.scheduler.cr_scheduler import CRScheduler, CRScheduleResult 4 | from qdash.workflow.engine.calibration.scheduler.one_qubit_scheduler import ( 5 | BOX_A, 6 | BOX_B, 7 | BOX_MIXED, 8 | OneQubitScheduler, 9 | OneQubitScheduleResult, 10 | OneQubitStageInfo, 11 | ) 12 | 13 | __all__ = [ 14 | # CR Scheduler (2-qubit) 15 | "CRScheduler", 16 | "CRScheduleResult", 17 | # 1-Qubit Scheduler 18 | "OneQubitScheduler", 19 | "OneQubitScheduleResult", 20 | "OneQubitStageInfo", 21 | "BOX_A", 22 | "BOX_B", 23 | "BOX_MIXED", 24 | ] 25 | -------------------------------------------------------------------------------- /ui/src/types/chat.ts: -------------------------------------------------------------------------------- 1 | export interface Message { 2 | id: string; 3 | role: "user" | "assistant" | "system" | "tool"; 4 | content: string; 5 | toolCalls?: ToolCall[]; 6 | isStreaming?: boolean; 7 | } 8 | 9 | export interface ToolCall { 10 | function: { 11 | name: string; 12 | arguments: Record; 13 | }; 14 | } 15 | 16 | export interface ToolHandler { 17 | name: string; 18 | description: string; 19 | handler: (args: Record) => Promise; 20 | } 21 | 22 | export interface ChatContextData { 23 | pathname: string; 24 | metricsData?: Record; 25 | chipId?: string; 26 | metricType?: string; 27 | selectedMetric?: string; 28 | timeRange?: string; 29 | } 30 | -------------------------------------------------------------------------------- /ui/src/schemas/taskResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { TaskResponseBackend } from "./taskResponseBackend"; 9 | import type { TaskResponseInputParameters } from "./taskResponseInputParameters"; 10 | import type { TaskResponseOutputParameters } from "./taskResponseOutputParameters"; 11 | 12 | /** 13 | * Response model for a task. 14 | */ 15 | export interface TaskResponse { 16 | name: string; 17 | description: string; 18 | backend?: TaskResponseBackend; 19 | task_type: string; 20 | input_parameters: TaskResponseInputParameters; 21 | output_parameters: TaskResponseOutputParameters; 22 | } 23 | -------------------------------------------------------------------------------- /src/qdash/datamodel/backend.py: -------------------------------------------------------------------------------- 1 | from pydantic import BaseModel, Field 2 | 3 | 4 | class BackendModel(BaseModel): 5 | """Data model for a chip. 6 | 7 | Attributes 8 | ---------- 9 | name (str): The name of the backend. e.g. "backend1". 10 | username (str): The username of the user who created the backend. 11 | system_info (SystemInfo): The system information. e.g. {"created_at": "2021-01-01T00:00:00Z", "updated_at": "2021-01-01T00:00:00Z"}. 12 | 13 | """ 14 | 15 | project_id: str | None = Field(None, description="Owning project identifier") 16 | name: str = Field(..., description="The name of the backend") 17 | username: str = Field(..., description="The username of the user who created the chip") 18 | -------------------------------------------------------------------------------- /ui/src/schemas/createChipRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { CreateChipRequestTopologyId } from "./createChipRequestTopologyId"; 9 | 10 | /** 11 | * Request model for creating a new chip. 12 | 13 | Attributes 14 | ---------- 15 | chip_id (str): The ID of the chip to create. 16 | size (int): The size of the chip (64, 144, 256, or 1024). 17 | topology_id (str | None): Topology template ID. If not provided, defaults to 'square-lattice-mux-{size}'. 18 | */ 19 | export interface CreateChipRequest { 20 | chip_id: string; 21 | size?: number; 22 | topology_id?: CreateChipRequestTopologyId; 23 | } 24 | -------------------------------------------------------------------------------- /ui/src/schemas/couplingMetrics.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { CouplingMetricsZx90GateFidelity } from "./couplingMetricsZx90GateFidelity"; 9 | import type { CouplingMetricsBellStateFidelity } from "./couplingMetricsBellStateFidelity"; 10 | import type { CouplingMetricsStaticZzInteraction } from "./couplingMetricsStaticZzInteraction"; 11 | 12 | /** 13 | * Two-qubit coupling metrics data. 14 | */ 15 | export interface CouplingMetrics { 16 | zx90_gate_fidelity?: CouplingMetricsZx90GateFidelity; 17 | bell_state_fidelity?: CouplingMetricsBellStateFidelity; 18 | static_zz_interaction?: CouplingMetricsStaticZzInteraction; 19 | } 20 | -------------------------------------------------------------------------------- /ui/src/schemas/settings.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | 9 | /** 10 | * Settings for the QDash application. 11 | */ 12 | export interface Settings { 13 | env: string; 14 | client_url: string; 15 | prefect_api_url: string; 16 | slack_bot_token: string; 17 | slack_channel_id: string; 18 | postgres_data_path: string; 19 | mongo_data_path: string; 20 | calib_data_path: string; 21 | qpu_data_path: string; 22 | backend?: string; 23 | mongo_port?: number; 24 | mongo_express_port?: number; 25 | postgres_port?: number; 26 | prefect_port?: number; 27 | api_port?: number; 28 | ui_port?: number; 29 | log_level?: string; 30 | } 31 | -------------------------------------------------------------------------------- /ui/src/schemas/updateScheduleRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UpdateScheduleRequestCron } from "./updateScheduleRequestCron"; 9 | import type { UpdateScheduleRequestParameters } from "./updateScheduleRequestParameters"; 10 | 11 | /** 12 | * Request to update a schedule. 13 | */ 14 | export interface UpdateScheduleRequest { 15 | /** Whether the schedule is active */ 16 | active: boolean; 17 | /** Updated cron expression (optional) */ 18 | cron?: UpdateScheduleRequestCron; 19 | /** Updated parameters (optional) */ 20 | parameters?: UpdateScheduleRequestParameters; 21 | /** Timezone for cron schedule */ 22 | timezone?: string; 23 | } 24 | -------------------------------------------------------------------------------- /ui/src/components/ui/Toast/useToast.ts: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useCallback } from "react"; 4 | import { useToastContext } from "./ToastContext"; 5 | 6 | export function useToast() { 7 | const { addToast } = useToastContext(); 8 | 9 | const success = useCallback( 10 | (message: string) => addToast(message, "success"), 11 | [addToast], 12 | ); 13 | 14 | const error = useCallback( 15 | (message: string) => addToast(message, "error"), 16 | [addToast], 17 | ); 18 | 19 | const info = useCallback( 20 | (message: string) => addToast(message, "info"), 21 | [addToast], 22 | ); 23 | 24 | const warning = useCallback( 25 | (message: string) => addToast(message, "warning"), 26 | [addToast], 27 | ); 28 | 29 | return { success, error, info, warning }; 30 | } 31 | -------------------------------------------------------------------------------- /ui/src/types/reagraph.d.ts: -------------------------------------------------------------------------------- 1 | declare module "reagraph" { 2 | export interface NodePositionArgs { 3 | nodes: Array<{ 4 | id: string; 5 | data?: { 6 | position?: { x: number; y: number }; 7 | }; 8 | }>; 9 | } 10 | 11 | export interface GraphCanvasProps { 12 | nodes: any[]; 13 | edges: any[]; 14 | layoutType?: string; 15 | layoutOverrides?: { 16 | getNodePosition?: ( 17 | id: string, 18 | args: NodePositionArgs, 19 | ) => { x: number; y: number; z: number }; 20 | }; 21 | onNodePointerOver?: (node: any) => void; 22 | onEdgePointerOver?: (edge: any) => void; 23 | onNodeClick?: (node: any) => void; 24 | edgeArrowPosition?: string; 25 | } 26 | 27 | export const GraphCanvas: React.FC; 28 | } 29 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/backend/base.py: -------------------------------------------------------------------------------- 1 | from abc import ABC, abstractmethod 2 | 3 | 4 | class BaseBackend(ABC): 5 | """Abstract base class for backend management.""" 6 | 7 | name: str = "base" 8 | 9 | @abstractmethod 10 | def connect(self) -> None: ... 11 | 12 | """Connect to the backend.""" 13 | 14 | @abstractmethod 15 | def version(self) -> str: 16 | """Return the version of the backend.""" 17 | msg = "This method should be implemented by subclasses." 18 | raise NotImplementedError(msg) 19 | 20 | @abstractmethod 21 | def get_instance(self) -> object: 22 | """Get the backend instance (e.g., Experiment object for qubex).""" 23 | msg = "This method should be implemented by subclasses." 24 | raise NotImplementedError(msg) 25 | -------------------------------------------------------------------------------- /expample.mcp.json: -------------------------------------------------------------------------------- 1 | { 2 | "mcpServers": { 3 | "gpt": { 4 | "command": "uvx", 5 | "args": [ 6 | "--from", 7 | "git+https://github.com/orangekame3/gpt-mcp.git", 8 | "gpt-mcp" 9 | ], 10 | "env": { 11 | "OPENAI_API_KEY": "your-api-key", 12 | "OPENAI_MODEL": "gpt-5", 13 | "SEARCH_CONTEXT_SIZE": "medium", 14 | "REASONING_EFFORT": "medium", 15 | "OPENAI_API_TIMEOUT": "60", 16 | "OPENAI_MAX_RETRIES": "3" 17 | } 18 | }, 19 | "serena": { 20 | "command": "uvx", 21 | "args": [ 22 | "--from", 23 | "git+https://github.com/oraios/serena", 24 | "serena", 25 | "start-mcp-server", 26 | "--enable-web-dashboard", 27 | "false" 28 | ] 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/QUESTION.yaml: -------------------------------------------------------------------------------- 1 | name: Question 2 | description: Ask a question about the project 3 | title: "[Question]: " 4 | labels: [question] 5 | assignees: [] 6 | 7 | body: 8 | - type: markdown 9 | attributes: 10 | value: | 11 | Thank you for taking the time to ask a question. Please provide a clear and concise question along with any relevant context or additional information that might help in answering your question. 12 | 13 | - type: input 14 | id: question 15 | attributes: 16 | label: What is your question? 17 | description: Please provide a clear and concise question. 18 | 19 | - type: textarea 20 | id: context 21 | attributes: 22 | label: Context or additional information 23 | description: Provide any relevant context or additional information. 24 | -------------------------------------------------------------------------------- /ui/src/schemas/userWithToken.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UserWithTokenFullName } from "./userWithTokenFullName"; 9 | import type { UserWithTokenDisabled } from "./userWithTokenDisabled"; 10 | import type { UserWithTokenDefaultProjectId } from "./userWithTokenDefaultProjectId"; 11 | import type { SystemRole } from "./systemRole"; 12 | 13 | /** 14 | * User model with access token for login/register responses. 15 | */ 16 | export interface UserWithToken { 17 | username: string; 18 | full_name?: UserWithTokenFullName; 19 | disabled?: UserWithTokenDisabled; 20 | default_project_id?: UserWithTokenDefaultProjectId; 21 | system_role?: SystemRole; 22 | access_token: string; 23 | } 24 | -------------------------------------------------------------------------------- /ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 5 | "module": "ESNext", 6 | "skipLibCheck": true, 7 | "moduleResolution": "bundler", 8 | "resolveJsonModule": true, 9 | "isolatedModules": true, 10 | "jsx": "preserve", 11 | "incremental": true, 12 | "plugins": [ 13 | { 14 | "name": "next" 15 | } 16 | ], 17 | "paths": { 18 | "@/*": ["src/*"] 19 | }, 20 | "strict": true, 21 | "noEmit": true, 22 | "esModuleInterop": true, 23 | "baseUrl": ".", 24 | "allowJs": true, 25 | "noUnusedLocals": true, 26 | "noUnusedParameters": true, 27 | "noFallthroughCasesInSwitch": true 28 | }, 29 | "include": ["src", ".next/types/**/*.ts"], 30 | "exclude": ["node_modules"] 31 | } 32 | -------------------------------------------------------------------------------- /.github/workflows/git-pr-release.yaml: -------------------------------------------------------------------------------- 1 | name: git-pr-release 2 | on: 3 | push: 4 | branches: 5 | - develop 6 | jobs: 7 | git-pr-release: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 # git-pr-release needs the git histories 13 | - uses: ruby/setup-ruby@v1 14 | with: 15 | ruby-version: 3.3 16 | - run: gem install --no-document git-pr-release 17 | - run: git-pr-release --squashed 18 | env: 19 | GIT_PR_RELEASE_TOKEN: ${{ secrets.GITHUB_TOKEN }} 20 | GIT_PR_RELEASE_BRANCH_PRODUCTION: main 21 | GIT_PR_RELEASE_BRANCH_STAGING: develop 22 | GIT_PR_RELEASE_LABELS: release 23 | GIT_PR_RELEASE_TEMPLATE: .github/git-pr-release.erb 24 | TZ: Asia/Tokyo 25 | -------------------------------------------------------------------------------- /ui/src/schemas/outputParameterModel.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { OutputParameterModelValue } from "./outputParameterModelValue"; 9 | 10 | /** 11 | * Data model. 12 | 13 | Attributes 14 | ---------- 15 | qubit (dict[str, dict[str, float | int]]): The calibration data for qubits. 16 | coupling (dict[str, dict[str, float | int]]): The calibration data for couplings. 17 | */ 18 | export interface OutputParameterModel { 19 | value?: OutputParameterModelValue; 20 | value_type?: string; 21 | error?: number; 22 | unit?: string; 23 | description?: string; 24 | /** The time when the system information was created */ 25 | calibrated_at?: string; 26 | execution_id?: string; 27 | task_id?: string; 28 | } 29 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/DOCUMENTATION.yaml: -------------------------------------------------------------------------------- 1 | name: Documentation request 2 | description: Request for documentation improvements or additions 3 | title: "[Docs]: " 4 | labels: [documentation] 5 | assignees: [] 6 | 7 | body: 8 | - type: markdown 9 | attributes: 10 | value: | 11 | Thank you for requesting documentation improvements or additions. Please provide a clear and concise description of what you want to be added or improved. 12 | 13 | - type: input 14 | id: description 15 | attributes: 16 | label: Describe the documentation request 17 | description: A clear and concise description of what you want to be added or improved. 18 | 19 | - type: textarea 20 | id: additional 21 | attributes: 22 | label: Additional context 23 | description: Add any other context or screenshots about the documentation request here. 24 | -------------------------------------------------------------------------------- /ui/src/schemas/projectUpdate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ProjectUpdateName } from "./projectUpdateName"; 9 | import type { ProjectUpdateDescription } from "./projectUpdateDescription"; 10 | import type { ProjectUpdateTags } from "./projectUpdateTags"; 11 | import type { ProjectUpdateDefaultRole } from "./projectUpdateDefaultRole"; 12 | 13 | /** 14 | * Request schema for updating a project. 15 | */ 16 | export interface ProjectUpdate { 17 | /** Project display name */ 18 | name?: ProjectUpdateName; 19 | /** Project description */ 20 | description?: ProjectUpdateDescription; 21 | /** Project tags */ 22 | tags?: ProjectUpdateTags; 23 | /** Default role for new members */ 24 | default_role?: ProjectUpdateDefaultRole; 25 | } 26 | -------------------------------------------------------------------------------- /.claude/commands/commit.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Generate a commit message based on current git changes 3 | allowed-tools: 4 | - Bash 5 | --- 6 | 7 | Based on the current git changes, generate an appropriate conventional commit message following these rules: 8 | 9 | 1. Use conventional commit format: `type(scope): description` 10 | 2. Types: feat, fix, docs, style, refactor, test, chore 11 | 3. Scope should be: ui, api, workflow, scripts, config, etc. 12 | 4. Description should be concise and specific 13 | 14 | First, analyze the changes: 15 | !git status --short 16 | !git diff HEAD --stat 17 | 18 | Then provide: 19 | 20 | 1. A suggested commit message 21 | 2. The git command to commit with that message 22 | 23 | Focus on: 24 | 25 | - What files were changed 26 | - What the main purpose of the change is 27 | - Whether it's a fix, feature, or other type of change 28 | 29 | $ARGUMENTS 30 | -------------------------------------------------------------------------------- /.serena/memories/git_commit_preferences.md: -------------------------------------------------------------------------------- 1 | # Git Commit Preferences 2 | 3 | ## Commit Message Generation Rules 4 | 5 | 1. **No Claude Attribution**: Do not include any Claude Code attribution or Co-Authored-By lines in commit messages 6 | - ❌ Don't include: "🤖 Generated with [Claude Code](https://claude.ai/code)" 7 | - ❌ Don't include: "Co-Authored-By: Claude " 8 | 9 | 2. **Use Current User**: Always use the current Git user configuration (orangekame3 / orangekame3.dev@gmail.com) 10 | 11 | 3. **Clean Commit Messages**: Generate conventional commit messages without any AI-related attribution 12 | 13 | ## Example Format 14 | 15 | ``` 16 | feat: add new feature 17 | 18 | - Implementation detail 1 19 | - Implementation detail 2 20 | - Implementation detail 3 21 | ``` 22 | 23 | This preference applies to all auto-commit commands (/auto-commit, /commit, etc.) 24 | -------------------------------------------------------------------------------- /src/qdash/workflow/calibtasks/active_protocols.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | 3 | # ruff: noqa 4 | from qdash.workflow.calibtasks.base import BaseTask 5 | 6 | 7 | def generate_task_instances( 8 | task_names: list[str], 9 | task_details: dict[str, Any], 10 | backend: str, 11 | ) -> dict[str, BaseTask]: 12 | task_instances = {} 13 | 14 | backend_registry = BaseTask.registry.get(backend) 15 | if backend_registry is None: 16 | raise ValueError(f"バックエンド '{backend}' のタスクレジストリが存在しません") 17 | 18 | for task_name in task_names: 19 | task_class = backend_registry.get(task_name) 20 | if task_class is None: 21 | raise ValueError(f"タスク '{task_name}' は backend '{backend}' に登録されていません") 22 | task_instance = task_class(task_details[task_name]) 23 | task_instances[task_name] = task_instance 24 | 25 | return task_instances 26 | -------------------------------------------------------------------------------- /src/qdash/api/schemas/file.py: -------------------------------------------------------------------------------- 1 | """Schema definitions for file router.""" 2 | 3 | from pydantic import BaseModel 4 | 5 | 6 | class FileTreeNode(BaseModel): 7 | """File tree node model.""" 8 | 9 | name: str 10 | path: str 11 | type: str # "file" or "directory" 12 | children: list["FileTreeNode"] | None = None 13 | 14 | 15 | class SaveFileRequest(BaseModel): 16 | """Request model for saving file content.""" 17 | 18 | path: str # Relative path from CONFIG_BASE_PATH (e.g., "64Qv2/config/chip.yaml") 19 | content: str 20 | 21 | 22 | class ValidateFileRequest(BaseModel): 23 | """Request model for validating file content.""" 24 | 25 | content: str 26 | file_type: str # "yaml" or "json" 27 | 28 | 29 | class GitPushRequest(BaseModel): 30 | """Request model for Git push operation.""" 31 | 32 | commit_message: str = "Update config files from UI" 33 | -------------------------------------------------------------------------------- /ui/src/schemas/flowScheduleSummary.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { FlowScheduleSummaryCron } from "./flowScheduleSummaryCron"; 9 | import type { FlowScheduleSummaryNextRun } from "./flowScheduleSummaryNextRun"; 10 | 11 | /** 12 | * Summary of a scheduled Flow. 13 | */ 14 | export interface FlowScheduleSummary { 15 | /** Schedule ID */ 16 | schedule_id: string; 17 | /** Flow name */ 18 | flow_name: string; 19 | /** Schedule type: 'cron' or 'one-time' */ 20 | schedule_type: string; 21 | /** Cron expression */ 22 | cron?: FlowScheduleSummaryCron; 23 | /** Next scheduled run time */ 24 | next_run?: FlowScheduleSummaryNextRun; 25 | /** Whether the schedule is active */ 26 | active: boolean; 27 | /** Schedule creation time */ 28 | created_at: string; 29 | } 30 | -------------------------------------------------------------------------------- /ui/src/schemas/listExecutionsResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ExecutionResponseSummary } from "./executionResponseSummary"; 9 | import type { ListExecutionsResponseTotal } from "./listExecutionsResponseTotal"; 10 | import type { ListExecutionsResponseSkip } from "./listExecutionsResponseSkip"; 11 | import type { ListExecutionsResponseLimit } from "./listExecutionsResponseLimit"; 12 | 13 | /** 14 | * Response model for listing executions. 15 | 16 | Wraps list of executions for API consistency and future extensibility (e.g., pagination). 17 | */ 18 | export interface ListExecutionsResponse { 19 | executions: ExecutionResponseSummary[]; 20 | total?: ListExecutionsResponseTotal; 21 | skip?: ListExecutionsResponseSkip; 22 | limit?: ListExecutionsResponseLimit; 23 | } 24 | -------------------------------------------------------------------------------- /.github/workflows/frontend-ci.yml: -------------------------------------------------------------------------------- 1 | name: Frontend CI 2 | 3 | on: 4 | push: 5 | branches: [main, develop] 6 | paths: 7 | - "ui/**" 8 | - ".github/workflows/frontend-ci.yml" 9 | pull_request: 10 | branches: [main, develop] 11 | paths: 12 | - "ui/**" 13 | - ".github/workflows/frontend-ci.yml" 14 | 15 | jobs: 16 | frontend-lint: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: Checkout code 20 | uses: actions/checkout@v4 21 | 22 | - name: Setup Bun 23 | uses: oven-sh/setup-bun@v1 24 | with: 25 | bun-version: latest 26 | 27 | - name: Install Go Task 28 | uses: arduino/setup-task@v2 29 | with: 30 | version: 3.x 31 | 32 | - name: Install dependencies 33 | working-directory: ./ui 34 | run: bun install 35 | 36 | - name: Run UI linting 37 | run: task lint-ui 38 | -------------------------------------------------------------------------------- /ui/knip.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/knip@5/schema.json", 3 | "entry": ["src/app/**/*.{ts,tsx}", "src/pages/**/*.{ts,tsx}"], 4 | "project": ["src/**/*.{ts,tsx,js,jsx}"], 5 | "ignore": [ 6 | "**/*.d.ts", 7 | "**/node_modules/**", 8 | "**/.next/**", 9 | "**/build/**", 10 | "**/dist/**", 11 | "src/client/**/*.ts", 12 | "src/schemas/**/*.ts" 13 | ], 14 | "ignoreDependencies": ["sharp", "daisyui", "tailwindcss", "autoprefixer"], 15 | "ignoreBinaries": ["jq", "python"], 16 | "next": { 17 | "entry": [ 18 | "next.config.js", 19 | "src/app/**/page.tsx", 20 | "src/app/**/layout.tsx", 21 | "src/app/**/error.tsx", 22 | "src/app/**/loading.tsx", 23 | "src/app/**/not-found.tsx", 24 | "src/app/**/route.ts", 25 | "src/middleware.ts" 26 | ] 27 | }, 28 | "eslint": true, 29 | "postcss": true, 30 | "typescript": true 31 | } 32 | -------------------------------------------------------------------------------- /ui/src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import "./globals.css"; 2 | import NextTopLoader from "nextjs-toploader"; 3 | import Providers from "./providers"; 4 | 5 | import AppLayout from "@/components/layout/AppLayout"; 6 | 7 | export const metadata = { 8 | title: "QDash", 9 | description: "Quantum Dashboard", 10 | icons: { 11 | icon: "/favicon.png", 12 | }, 13 | }; 14 | 15 | export default function RootLayout({ 16 | children, 17 | }: { 18 | children: React.ReactNode; 19 | }) { 20 | return ( 21 | 22 | 23 | 29 | 30 | {children} 31 | 32 | 33 | 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /src/qdash/config.py: -------------------------------------------------------------------------------- 1 | from functools import lru_cache 2 | 3 | from pydantic_settings import BaseSettings # , SettingsConfigDict 4 | 5 | 6 | class Settings(BaseSettings): 7 | """Settings for the QDash application.""" 8 | 9 | env: str 10 | client_url: str 11 | prefect_api_url: str 12 | slack_bot_token: str 13 | slack_channel_id: str 14 | postgres_data_path: str 15 | mongo_data_path: str 16 | calib_data_path: str 17 | qpu_data_path: str 18 | backend: str = "qubex" # Default backend is 'qubex' 19 | # Ports 20 | mongo_port: int = 27017 21 | mongo_express_port: int = 8081 22 | postgres_port: int = 5432 23 | prefect_port: int = 4200 24 | api_port: int = 5715 25 | ui_port: int = 5714 26 | # Logging 27 | log_level: str = "INFO" 28 | 29 | 30 | @lru_cache 31 | def get_settings() -> Settings: 32 | """Get the application settings.""" 33 | return Settings() 34 | -------------------------------------------------------------------------------- /.claude/settings.local.json: -------------------------------------------------------------------------------- 1 | { 2 | "permissions": { 3 | "allow": [ 4 | "Bash(find:*)", 5 | "mcp__o3__o3-search", 6 | "mcp__serena__check_onboarding_performed", 7 | "mcp__serena__activate_project", 8 | "mcp__serena__onboarding", 9 | "mcp__serena__read_file", 10 | "mcp__serena__list_dir", 11 | "mcp__serena__search_for_pattern", 12 | "mcp__serena__execute_shell_command", 13 | "mcp__serena__get_symbols_overview", 14 | "mcp__serena__write_memory", 15 | "mcp__serena__replace_regex", 16 | "mcp__serena__find_file", 17 | "mcp__serena__think_about_collected_information", 18 | "mcp__serena__create_text_file" 19 | ], 20 | "deny": [] 21 | }, 22 | "enableAllProjectMcpServers": true, 23 | "enabledMcpjsonServers": ["o3", "gpt", "serena"], 24 | "statusLine": { 25 | "type": "command", 26 | "command": "bunx ccusage statusline" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ui/src/components/ui/PageContainer.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | interface PageContainerProps { 4 | children: React.ReactNode; 5 | className?: string; 6 | /** Use max-width constraint for content-heavy pages */ 7 | maxWidth?: boolean; 8 | } 9 | 10 | /** 11 | * Unified page container component for consistent padding and background. 12 | * 13 | * Usage: 14 | * ```tsx 15 | * 16 | * 17 | * {content} 18 | * 19 | * ``` 20 | */ 21 | export function PageContainer({ 22 | children, 23 | className = "", 24 | maxWidth = false, 25 | }: PageContainerProps) { 26 | return ( 27 |
30 | {maxWidth ? ( 31 |
{children}
32 | ) : ( 33 | children 34 | )} 35 |
36 | ); 37 | } 38 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/calibration/task/types.py: -------------------------------------------------------------------------------- 1 | """Type definitions for task management. 2 | 3 | This module provides type definitions and constants for task types used 4 | throughout the calibration workflow system. 5 | """ 6 | 7 | from typing import Final, Literal 8 | 9 | # Type alias for task types 10 | TaskType = Literal["qubit", "coupling", "global", "system"] 11 | 12 | 13 | class TaskTypes: 14 | """Constants for task types. 15 | 16 | Use these constants instead of string literals to ensure type safety 17 | and enable IDE autocompletion. 18 | 19 | Examples 20 | -------- 21 | >>> from qdash.workflow.engine.calibration.task.types import TaskTypes 22 | >>> task_type = TaskTypes.QUBIT 23 | >>> task_type 24 | 'qubit' 25 | 26 | """ 27 | 28 | QUBIT: Final[TaskType] = "qubit" 29 | COUPLING: Final[TaskType] = "coupling" 30 | GLOBAL: Final[TaskType] = "global" 31 | SYSTEM: Final[TaskType] = "system" 32 | -------------------------------------------------------------------------------- /ui/src/components/features/setting/Toast/index.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useEffect } from "react"; 4 | 5 | interface ToastProps { 6 | message: string; 7 | duration?: number; 8 | type?: "success" | "error" | "info" | "warning"; 9 | onClose: () => void; 10 | } 11 | 12 | export function Toast({ 13 | message, 14 | duration = 2000, 15 | type = "success", 16 | onClose, 17 | }: ToastProps) { 18 | useEffect(() => { 19 | const timer = setTimeout(() => { 20 | onClose(); 21 | }, duration); 22 | 23 | return () => clearTimeout(timer); 24 | }, [duration, onClose]); 25 | 26 | const alertClass = { 27 | success: "alert-success", 28 | error: "alert-error", 29 | info: "alert-info", 30 | warning: "alert-warning", 31 | }[type]; 32 | 33 | return ( 34 |
35 |
36 | {message} 37 |
38 |
39 | ); 40 | } 41 | -------------------------------------------------------------------------------- /.claude/commands/auto-commit.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Automatically commit with generated message (no Claude signature) 3 | allowed-tools: 4 | - Bash 5 | --- 6 | 7 | I'll analyze your changes and create an appropriate commit message without Claude Code signature, then commit them for you. 8 | 9 | Analyzing changes... 10 | !git status --short 11 | !git diff HEAD --stat 12 | 13 | Based on these changes, I'll: 14 | 15 | 1. Generate an appropriate conventional commit message 16 | 2. Stage all changes 17 | 3. Commit with the generated message (without Claude signature) 18 | 19 | The commit will follow the format: 20 | 21 | - `feat(scope):` for new features 22 | - `fix(scope):` for bug fixes 23 | - `docs:` for documentation changes 24 | - `style:` for formatting changes 25 | - `refactor:` for code refactoring 26 | - `test:` for test changes 27 | - `chore:` for maintenance tasks 28 | 29 | Note: This command will NOT include Claude Code signature in commit messages. 30 | 31 | $ARGUMENTS 32 | -------------------------------------------------------------------------------- /ui/src/schemas/userDetailResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { UserDetailResponseFullName } from "./userDetailResponseFullName"; 9 | import type { SystemRole } from "./systemRole"; 10 | import type { UserDetailResponseDefaultProjectId } from "./userDetailResponseDefaultProjectId"; 11 | import type { UserDetailResponseCreatedAt } from "./userDetailResponseCreatedAt"; 12 | import type { UserDetailResponseUpdatedAt } from "./userDetailResponseUpdatedAt"; 13 | 14 | /** 15 | * Detailed user response for admin view. 16 | */ 17 | export interface UserDetailResponse { 18 | username: string; 19 | full_name?: UserDetailResponseFullName; 20 | disabled?: boolean; 21 | system_role?: SystemRole; 22 | default_project_id?: UserDetailResponseDefaultProjectId; 23 | created_at?: UserDetailResponseCreatedAt; 24 | updated_at?: UserDetailResponseUpdatedAt; 25 | } 26 | -------------------------------------------------------------------------------- /ui/src/schemas/getFlowResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { GetFlowResponseDefaultParameters } from "./getFlowResponseDefaultParameters"; 9 | 10 | /** 11 | * Response for getting flow details. 12 | */ 13 | export interface GetFlowResponse { 14 | /** Flow name */ 15 | name: string; 16 | /** Flow description */ 17 | description: string; 18 | /** Python code content */ 19 | code: string; 20 | /** Entry point function name */ 21 | flow_function_name: string; 22 | /** Target chip ID */ 23 | chip_id: string; 24 | /** Default parameters */ 25 | default_parameters: GetFlowResponseDefaultParameters; 26 | /** Path to file */ 27 | file_path: string; 28 | /** Creation timestamp (ISO format) */ 29 | created_at: string; 30 | /** Last update timestamp (ISO format) */ 31 | updated_at: string; 32 | /** Tags */ 33 | tags: string[]; 34 | } 35 | -------------------------------------------------------------------------------- /ui/src/schemas/scheduleFlowResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ScheduleFlowResponseCron } from "./scheduleFlowResponseCron"; 9 | import type { ScheduleFlowResponseNextRun } from "./scheduleFlowResponseNextRun"; 10 | 11 | /** 12 | * Response after scheduling a flow. 13 | */ 14 | export interface ScheduleFlowResponse { 15 | /** Schedule ID (deployment ID for cron, flow_run_id for one-time) */ 16 | schedule_id: string; 17 | /** Flow name */ 18 | flow_name: string; 19 | /** Schedule type: 'cron' or 'one-time' */ 20 | schedule_type: string; 21 | /** Cron expression (for cron schedules) */ 22 | cron?: ScheduleFlowResponseCron; 23 | /** Next scheduled run time (ISO format) */ 24 | next_run?: ScheduleFlowResponseNextRun; 25 | /** Whether the schedule is active */ 26 | active: boolean; 27 | /** Success message */ 28 | message: string; 29 | } 30 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/calibration/task/__init__.py: -------------------------------------------------------------------------------- 1 | """Task management components for calibration workflows.""" 2 | 3 | from qdash.workflow.engine.calibration.task.executor import TaskExecutionError, TaskExecutor 4 | from qdash.workflow.engine.calibration.task.history_recorder import TaskHistoryRecorder 5 | from qdash.workflow.engine.calibration.task.manager import TaskManager 6 | from qdash.workflow.engine.calibration.task.result_processor import ( 7 | FidelityValidationError, 8 | R2ValidationError, 9 | TaskResultProcessor, 10 | ) 11 | from qdash.workflow.engine.calibration.task.state_manager import TaskStateManager 12 | from qdash.workflow.engine.calibration.task.types import TaskType, TaskTypes 13 | 14 | __all__ = [ 15 | "TaskManager", 16 | "TaskExecutor", 17 | "TaskExecutionError", 18 | "TaskStateManager", 19 | "TaskResultProcessor", 20 | "R2ValidationError", 21 | "FidelityValidationError", 22 | "TaskHistoryRecorder", 23 | "TaskType", 24 | "TaskTypes", 25 | ] 26 | -------------------------------------------------------------------------------- /ui/src/schemas/saveFlowRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { SaveFlowRequestFlowFunctionName } from "./saveFlowRequestFlowFunctionName"; 9 | import type { SaveFlowRequestDefaultParameters } from "./saveFlowRequestDefaultParameters"; 10 | 11 | /** 12 | * Request to save a Flow. 13 | */ 14 | export interface SaveFlowRequest { 15 | /** Flow name (alphanumeric + underscore only) */ 16 | name: string; 17 | /** Flow description */ 18 | description?: string; 19 | /** Python code content */ 20 | code: string; 21 | /** Entry point function name (defaults to same as name if not provided) */ 22 | flow_function_name?: SaveFlowRequestFlowFunctionName; 23 | /** Target chip ID */ 24 | chip_id: string; 25 | /** Default execution parameters */ 26 | default_parameters?: SaveFlowRequestDefaultParameters; 27 | /** Tags for categorization */ 28 | tags?: string[]; 29 | } 30 | -------------------------------------------------------------------------------- /ui/src/schemas/scheduleFlowRequest.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ScheduleFlowRequestCron } from "./scheduleFlowRequestCron"; 9 | import type { ScheduleFlowRequestScheduledTime } from "./scheduleFlowRequestScheduledTime"; 10 | import type { ScheduleFlowRequestParameters } from "./scheduleFlowRequestParameters"; 11 | 12 | /** 13 | * Request to schedule a Flow execution. 14 | */ 15 | export interface ScheduleFlowRequest { 16 | /** Cron expression (e.g., '0 2 * * *' for daily at 2am JST) */ 17 | cron?: ScheduleFlowRequestCron; 18 | /** One-time execution time (ISO format, JST) */ 19 | scheduled_time?: ScheduleFlowRequestScheduledTime; 20 | /** Execution parameters (overrides default_parameters) */ 21 | parameters?: ScheduleFlowRequestParameters; 22 | /** Whether the schedule is active */ 23 | active?: boolean; 24 | /** Timezone for schedule */ 25 | timezone?: string; 26 | } 27 | -------------------------------------------------------------------------------- /ui/src/schemas/chipResponse.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generated by orval v7.14.0 🍺 3 | * Do not edit manually. 4 | * QDash API 5 | * API for QDash 6 | * OpenAPI spec version: 0.0.1 7 | */ 8 | import type { ChipResponseTopologyId } from "./chipResponseTopologyId"; 9 | import type { ChipResponseQubits } from "./chipResponseQubits"; 10 | import type { ChipResponseCouplings } from "./chipResponseCouplings"; 11 | 12 | /** 13 | * Chip is a Pydantic model that represents a chip. 14 | 15 | Attributes 16 | ---------- 17 | chip_id (str): The ID of the chip. 18 | size (int): The size of the chip. 19 | topology_id (str | None): Topology template ID. 20 | qubits (dict): Qubit information. 21 | couplings (dict): Coupling information. 22 | installed_at (str): Installation timestamp. 23 | */ 24 | export interface ChipResponse { 25 | chip_id: string; 26 | size?: number; 27 | topology_id?: ChipResponseTopologyId; 28 | qubits?: ChipResponseQubits; 29 | couplings?: ChipResponseCouplings; 30 | installed_at?: string; 31 | } 32 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yaml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Suggest an idea for this project 3 | title: "[Feature Request]: " 4 | labels: [enhancement] 5 | assignees: [] 6 | 7 | body: 8 | - type: markdown 9 | attributes: 10 | value: | 11 | Thank you for suggesting a feature. Please provide a clear and concise description of the feature and its use case. 12 | 13 | - type: input 14 | id: description 15 | attributes: 16 | label: Describe the solution you'd like 17 | description: A clear and concise description of what you want to happen. 18 | 19 | - type: textarea 20 | id: alternatives 21 | attributes: 22 | label: Describe alternatives you've considered 23 | description: A clear and concise description of any alternative solutions or features you've considered. 24 | 25 | - type: textarea 26 | id: additional 27 | attributes: 28 | label: Additional context 29 | description: Add any other context or screenshots about the feature request here. 30 | -------------------------------------------------------------------------------- /src/tools/conv.py: -------------------------------------------------------------------------------- 1 | import json 2 | from collections import defaultdict 3 | 4 | # JSONファイルの読み込み 5 | with open("best_data.json") as f: 6 | data = json.load(f) 7 | 8 | # 出力用辞書の初期化 9 | zx90_dict = defaultdict(dict) 10 | 11 | # キー変換と値の抽出 12 | for pair_str, values in data.items(): 13 | ctrl, targ = map(int, pair_str.split("-")) 14 | qubit_key = f"Q{ctrl:02d}-Q{targ:02d}" 15 | base_key = f"Q{ctrl:02d}" 16 | 17 | # zx90_gate_fidelity の value を取得 18 | zx90_val = values.get("zx90_gate_fidelity", {}).get("value", None) 19 | zx90_dict[base_key][qubit_key] = zx90_val 20 | 21 | # YAML構造へ整形(コメント付き) 22 | lines = ["zx90_gate_fidelity:"] 23 | for base_q in sorted(zx90_dict): 24 | lines.append(f" # edges associated with {base_q}") 25 | for pair in sorted(zx90_dict[base_q]): 26 | val = zx90_dict[base_q][pair] 27 | val_str = "null" if val is None else f"{val:.15g}" 28 | lines.append(f" {pair}: {val_str}") 29 | 30 | # 保存 31 | with open("zx90_gate_fidelity.yaml", "w") as f: 32 | f.write("\n".join(lines)) 33 | -------------------------------------------------------------------------------- /ui/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | output: "standalone", 4 | async rewrites() { 5 | // Proxy /api/* to backend API server 6 | // This allows UI-only deployment without exposing API port 7 | const apiUrl = process.env.INTERNAL_API_URL || "http://localhost:5715"; 8 | return [ 9 | { 10 | source: "/api/:path*", 11 | destination: `${apiUrl}/:path*`, 12 | }, 13 | ]; 14 | }, 15 | transpilePackages: ["react-plotly.js", "plotly.js-basic-dist"], 16 | images: { 17 | remotePatterns: [ 18 | { 19 | protocol: "https", 20 | hostname: "github.com", 21 | port: "", 22 | pathname: "/**", 23 | }, 24 | { 25 | protocol: "https", 26 | hostname: "raw.githubusercontent.com", 27 | port: "", 28 | pathname: "/microsoft/fluentui-emoji/**", 29 | }, 30 | ], 31 | }, 32 | pageExtensions: ["tsx", "ts"], 33 | useFileSystemPublicRoutes: true, 34 | }; 35 | 36 | module.exports = nextConfig; 37 | -------------------------------------------------------------------------------- /src/qdash/workflow/engine/backend/fake.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | 3 | from qdash.workflow.engine.backend.base import BaseBackend 4 | 5 | 6 | class FakeBackend(BaseBackend): 7 | """Backend management for Fake experiments.""" 8 | 9 | name: str = "fake" 10 | 11 | def __init__(self, config: dict[str, Any]) -> None: 12 | """Initialize the Fake backend with a configuration dictionary.""" 13 | self._config = config 14 | self._instance: Any | None = None 15 | 16 | def version(self) -> str: 17 | """Return the version of the Fake backend.""" 18 | return "0.1.0" 19 | 20 | def connect(self) -> None: 21 | if self._instance is None: 22 | self._instance = object() 23 | 24 | def get_instance(self) -> object | None: 25 | if self._instance is None: 26 | self.connect() 27 | if self._instance is None: 28 | msg = "Backend instance is not initialized. Please call connect() first." 29 | raise RuntimeError(msg) 30 | return self._instance or None 31 | -------------------------------------------------------------------------------- /src/qdash/datamodel/system_info.py: -------------------------------------------------------------------------------- 1 | import pendulum 2 | from pydantic import BaseModel, Field 3 | 4 | 5 | class SystemInfoModel(BaseModel): 6 | """Data model for system information. 7 | 8 | Attributes 9 | ---------- 10 | created_at (str): The time when the system information was created. e.g. "2021-01-01T00:00:00Z". 11 | updated_at (str): The time when the system information was updated. e.g. "2021-01-01T00:00:00Z". 12 | 13 | """ 14 | 15 | created_at: str = Field( 16 | default_factory=lambda: pendulum.now(tz="Asia/Tokyo").to_iso8601_string(), 17 | description="The time when the system information was created", 18 | ) 19 | updated_at: str = Field( 20 | default_factory=lambda: pendulum.now(tz="Asia/Tokyo").to_iso8601_string(), 21 | description="The time when the system information was updated", 22 | ) 23 | 24 | def update_time(self) -> None: 25 | """Update the time when the system information was updated.""" 26 | self.updated_at = pendulum.now(tz="Asia/Tokyo").to_iso8601_string() 27 | -------------------------------------------------------------------------------- /compose.devcontainer.yaml: -------------------------------------------------------------------------------- 1 | name: ${ENV:-default} 2 | services: 3 | devcontainer: 4 | build: 5 | context: . 6 | dockerfile: ./.devcontainer/Dockerfile 7 | env_file: 8 | - .env 9 | command: sleep infinity 10 | volumes: 11 | - .:/workspace/qdash 12 | - /var/run/docker.sock:/var/run/docker.sock 13 | - /workspace/qdash/.venv 14 | - /workspace/qdash/ui/node_modules 15 | environment: 16 | - PYTHONPATH=/workspace/qdash/src 17 | - OLLAMA_URL=${OLLAMA_URL:-} 18 | - OLLAMA_MODEL=${OLLAMA_MODEL:-} 19 | extra_hosts: 20 | - "host.docker.internal:host-gateway" 21 | networks: 22 | - custom_net 23 | 24 | develop: 25 | watch: 26 | - action: sync 27 | path: ./src/qdash/api 28 | target: /workspace/qdash/api 29 | working_dir: /workspace/qdash 30 | networks: 31 | custom_net: 32 | external: false 33 | # if following feature is enabled, this file should be moved to .devcontainer/compose.yaml 34 | # https://github.com/microsoft/vscode-remote-release/issues/4885 35 | --------------------------------------------------------------------------------