@morscherlab/mint-sdk 1.3.11 → 1.4.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +152 -177
- package/dist/AlertBox-B2Bgr3ei.js +276 -0
- package/dist/AlertBox-B2Bgr3ei.js.map +1 -0
- package/dist/AppSidebar-mvm--GxN.js +3565 -0
- package/dist/AppSidebar-mvm--GxN.js.map +1 -0
- package/dist/ConfirmDialog-nbJj51is.js +102 -0
- package/dist/ConfirmDialog-nbJj51is.js.map +1 -0
- package/dist/ExperimentPopover-5T1fAq2L.js +337 -0
- package/dist/ExperimentPopover-5T1fAq2L.js.map +1 -0
- package/dist/ExperimentSelectorModal-65peG4Up.js +544 -0
- package/dist/ExperimentSelectorModal-65peG4Up.js.map +1 -0
- package/dist/SegmentedControl-BtnnjWzs.js +129 -0
- package/dist/SegmentedControl-BtnnjWzs.js.map +1 -0
- package/dist/SettingsModal-DO3IZ7qz.js +666 -0
- package/dist/SettingsModal-DO3IZ7qz.js.map +1 -0
- package/dist/analysisArtifactTypes-Cy3D0Ipg.js.map +1 -1
- package/dist/auth-SliLnFre.js +65 -0
- package/dist/auth-SliLnFre.js.map +1 -0
- package/dist/components/ActionMenu.vue.d.ts +1 -1
- package/dist/components/AdductText.vue.d.ts +1 -1
- package/dist/components/AlertBox.vue.d.ts +3 -3
- package/dist/components/AppContainer.vue.d.ts +1 -1
- package/dist/components/AppSidebar.vue.d.ts +15 -95
- package/dist/components/AppTopBar.vue.d.ts +16 -70
- package/dist/components/ArtifactSaveDialog.vue.d.ts +13 -5
- package/dist/components/ArtifactSelectorModal.vue.d.ts +4 -4
- package/dist/components/AuditTrail.vue.d.ts +2 -2
- package/dist/components/BaseButton.vue.d.ts +11 -4
- package/dist/components/BaseCheckbox.vue.d.ts +9 -3
- package/dist/components/BaseInput.vue.d.ts +13 -9
- package/dist/components/BaseModal.vue.d.ts +4 -4
- package/dist/components/BasePill.vue.d.ts +15 -8
- package/dist/components/BaseRadioGroup.vue.d.ts +2 -2
- package/dist/components/BaseSelect.vue.d.ts +51 -19
- package/dist/components/BaseTabs.vue.d.ts +6 -5
- package/dist/components/BatchProgressList.vue.d.ts +2 -2
- package/dist/components/ChartContainer.vue.d.ts +4 -2
- package/dist/components/ChemicalFormula.vue.d.ts +2 -2
- package/dist/components/CollapsibleCard.vue.d.ts +3 -3
- package/dist/components/ComponentBindingRenderer.vue.d.ts +2 -3
- package/dist/components/ConcentrationInput.vue.d.ts +2 -2
- package/dist/components/ConfirmDialog.vue.d.ts +8 -7
- package/dist/components/DataFrame.vue.d.ts +32 -74
- package/dist/components/DatePicker.vue.d.ts +24 -2
- package/dist/components/DoseCalculator.vue.d.ts +1 -1
- package/dist/components/DoseCalculatorVolumeField.vue.d.ts +1 -1
- package/dist/components/EmptyState.vue.d.ts +3 -2
- package/dist/components/ExperimentPopover.vue.d.ts +18 -0
- package/dist/components/ExperimentSelectorModal.vue.d.ts +3 -7
- package/dist/components/FilePicker.vue.d.ts +1 -1
- package/dist/components/FileUploader.vue.d.ts +2 -2
- package/dist/components/FormBuilder.vue.d.ts +17 -74
- package/dist/components/FormulaInput.vue.d.ts +2 -2
- package/dist/components/GeneratedPluginView.vue.d.ts +1 -1
- package/dist/components/GeneratedResultRenderer.vue.d.ts +5 -1
- package/dist/components/{StatusIndicator.vue.d.ts → InstrumentStatusPanels.vue.d.ts} +8 -9
- package/dist/components/JobsStatusTray.vue.d.ts +2 -9
- package/dist/components/LoadingSpinner.vue.d.ts +3 -3
- package/dist/components/MoleculeInput.vue.d.ts +2 -2
- package/dist/components/NumberInput.vue.d.ts +19 -5
- package/dist/components/PlateEditor.vue.d.ts +11 -61
- package/dist/components/PlotlyChart.vue.d.ts +2 -2
- package/dist/components/PluginIcon.vue.d.ts +5 -1
- package/dist/components/PluginWorkspaceView.controls.d.ts +2 -9
- package/dist/components/PluginWorkspaceView.navigation.d.ts +1 -7
- package/dist/components/PluginWorkspaceView.props.d.ts +18 -137
- package/dist/components/PluginWorkspaceView.shell.d.ts +2 -10
- package/dist/components/PluginWorkspaceView.vue.d.ts +14 -84
- package/dist/components/PresenceAvatars.vue.d.ts +31 -0
- package/dist/components/ProgressBar.vue.d.ts +3 -2
- package/dist/components/ProtocolStep.presentation.d.ts +0 -1
- package/dist/components/SampleHierarchyTree.vue.d.ts +3 -3
- package/dist/components/SampleSelector.vue.d.ts +8 -8
- package/dist/components/ScheduleCalendar.vue.d.ts +1 -1
- package/dist/components/ScientificNumber.vue.d.ts +1 -1
- package/dist/components/SecretInput.vue.d.ts +2 -2
- package/dist/components/SegmentedControl.vue.d.ts +2 -2
- package/dist/components/SequenceInput.vue.d.ts +2 -2
- package/dist/components/SequenceProgressBar.vue.d.ts +3 -0
- package/dist/components/SettingsModal.vue.d.ts +12 -20
- package/dist/components/SmartGroup.types.d.ts +0 -1
- package/dist/components/SmartGroupFieldRecipe.vue.d.ts +1 -1
- package/dist/components/StaleFormBanner.vue.d.ts +20 -0
- package/dist/components/StepWizard.vue.d.ts +3 -0
- package/dist/components/TagsInput.vue.d.ts +4 -3
- package/dist/components/TimeRangeInput.vue.d.ts +2 -2
- package/dist/components/VersionConflictDialog.vue.d.ts +24 -0
- package/dist/components/WellPlate.geometry.d.ts +0 -6
- package/dist/components/WellPlate.rendering.d.ts +0 -2
- package/dist/components/WellPlate.vue.d.ts +7 -52
- package/dist/components/index.d.ts +0 -90
- package/dist/components/{AutoGroupModal.adapter.d.ts → internal/AutoGroupModalInternal.adapter.d.ts} +6 -6
- package/dist/components/{AutoGroupModal.vue.d.ts → internal/AutoGroupModalInternal.vue.d.ts} +6 -6
- package/dist/components/{BaseToggle.vue.d.ts → internal/CheckboxSwitchInternal.vue.d.ts} +2 -2
- package/dist/components/{MultiSelect.vue.d.ts → internal/DatePickerDateInternal.vue.d.ts} +11 -9
- package/dist/components/{DateTimePicker.vue.d.ts → internal/DatePickerDateTimeInternal.vue.d.ts} +2 -2
- package/dist/components/{TimePicker.vue.d.ts → internal/DatePickerTimeInternal.vue.d.ts} +4 -4
- package/dist/components/internal/FilePickerListInternal.vue.d.ts +2 -2
- package/dist/components/internal/FormSchemaInternal.vue.d.ts +95 -0
- package/dist/components/{UnitInput.vue.d.ts → internal/NumberUnitInputInternal.vue.d.ts} +6 -14
- package/dist/components/internal/PlateEditorBindingInternal.vue.d.ts +3 -2
- package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +5 -10
- package/dist/components/internal/SelectMultipleInternal.vue.d.ts +27 -0
- package/dist/components/{SearchableSelect.vue.d.ts → internal/SelectSearchableInternal.vue.d.ts} +5 -2
- package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +1 -15
- package/dist/components/internal/WorkspaceSidebarInternal.vue.d.ts +4 -4
- package/dist/{composables → components/internal}/autoGroup/classKey.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/classify.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/columns.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/compose.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/cooccurrence.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/csv-shim.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/fingerprint.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/template.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/tokenLength.d.ts +1 -1
- package/dist/components/internal/generatedJobsApi.d.ts +1 -1
- package/dist/{composables → components/internal}/useAutoGroup.d.ts +9 -18
- package/dist/composables/componentSpecs.d.ts +41 -0
- package/dist/composables/controlComponentBindings.d.ts +6 -0
- package/dist/composables/controlSchemaAdapters.d.ts +28 -2
- package/dist/composables/controlSchemaDoseDesign.d.ts +1 -1
- package/dist/composables/controlSchemaModel.d.ts +1 -1
- package/dist/composables/controlSchemaTypes.d.ts +35 -23
- package/dist/composables/{usePluginClient.d.ts → createClient.d.ts} +22 -49
- package/dist/composables/{useEventStream.d.ts → eventStream.d.ts} +2 -2
- package/dist/composables/experiment-utils.d.ts +1 -6
- package/dist/composables/index.d.ts +7 -59
- package/dist/composables/platformContextHelpers.d.ts +0 -11
- package/dist/composables/pluginEndpointBuilder.d.ts +2 -2
- package/dist/composables/pluginIdentity.d.ts +24 -0
- package/dist/composables/pluginWorkspaceModel.d.ts +16 -99
- package/dist/composables/useApi.d.ts +1 -3
- package/dist/composables/useAppExperiment.d.ts +9 -1
- package/dist/composables/{useAnalysisArtifacts.d.ts → useArtifacts.d.ts} +6 -6
- package/dist/composables/useCalendarGrid.d.ts +1 -1
- package/dist/composables/useExperiment.d.ts +30 -0
- package/dist/composables/useExperimentSelector.d.ts +6 -2
- package/dist/composables/useFilePicker.d.ts +2 -2
- package/dist/composables/useJobCenter.d.ts +63 -0
- package/dist/composables/{useGeneratedAnalysis.d.ts → useJobsEndpoint.d.ts} +22 -23
- package/dist/composables/useMenuKeyboard.d.ts +1 -1
- package/dist/composables/usePlatform.d.ts +64 -0
- package/dist/composables/usePluginWorkspace.d.ts +6 -11
- package/dist/composables/usePresence.d.ts +41 -0
- package/dist/composables/useRackEditor.d.ts +2 -2
- package/dist/composables/useRealtime.d.ts +71 -0
- package/dist/composables/{useRequestSyncState.d.ts → useRequest.d.ts} +12 -17
- package/dist/composables/useToast.d.ts +7 -5
- package/dist/composables/useVersionedSave.d.ts +76 -0
- package/dist/controlSchemaModel-B8CTXagP.js +95 -0
- package/dist/controlSchemaModel-B8CTXagP.js.map +1 -0
- package/dist/data-CgILxDLW.js +3865 -0
- package/dist/data-CgILxDLW.js.map +1 -0
- package/dist/data.d.ts +32 -0
- package/dist/data.js +10 -0
- package/dist/deprecatedRootExports.d.ts +191 -0
- package/dist/experiment-43OJtH7R.js +673 -0
- package/dist/experiment-43OJtH7R.js.map +1 -0
- package/dist/experimentStatus-Cqp6qNrR.js +60 -0
- package/dist/experimentStatus-Cqp6qNrR.js.map +1 -0
- package/dist/host.d.ts +10 -0
- package/dist/host.js +26 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +1 -12
- package/dist/index.js +65 -277
- package/dist/index.js.map +1 -1
- package/dist/install-CsPFJSx3.js +669 -0
- package/dist/install-CsPFJSx3.js.map +1 -0
- package/dist/install.d.ts +2 -1
- package/dist/install.js +1 -21
- package/dist/instrument.d.ts +0 -6
- package/dist/lab-MHzp-_J8.js +7494 -0
- package/dist/lab-MHzp-_J8.js.map +1 -0
- package/dist/lab.d.ts +42 -0
- package/dist/lab.js +5 -0
- package/dist/permissions.d.ts +0 -4
- package/dist/permissions.js +1 -20
- package/dist/permissions.js.map +1 -1
- package/dist/records-B6gpM_3e.js +3268 -0
- package/dist/records-B6gpM_3e.js.map +1 -0
- package/dist/runtime-8bs8EogX.js +1491 -0
- package/dist/runtime-8bs8EogX.js.map +1 -0
- package/dist/runtime.d.ts +25 -0
- package/dist/runtime.js +8 -0
- package/dist/shell-CywENwBT.js +197 -0
- package/dist/shell-CywENwBT.js.map +1 -0
- package/dist/shell.d.ts +16 -0
- package/dist/shell.js +8 -0
- package/dist/stores/auth.d.ts +13 -35
- package/dist/stores/experiment.d.ts +4 -0
- package/dist/stores/index.js +2 -2
- package/dist/styles.css +12161 -15036
- package/dist/types/analysisArtifactTypes.d.ts +1 -1
- package/dist/types/auth.d.ts +0 -8
- package/dist/types/componentLabTypes.d.ts +98 -34
- package/dist/types/componentWorkflowTypes.d.ts +2 -27
- package/dist/types/components.d.ts +145 -74
- package/dist/types/form-builder.d.ts +4 -0
- package/dist/types/generated/platformContext.d.ts +53 -0
- package/dist/types/generated-ui.d.ts +6 -2
- package/dist/types/index.d.ts +4 -5
- package/dist/types/instrument.d.ts +41 -0
- package/dist/types/platform.d.ts +20 -58
- package/dist/useDebouncedWatch-BPwyl6eS.js +73 -0
- package/dist/useDebouncedWatch-BPwyl6eS.js.map +1 -0
- package/dist/{experiment-utils-DTANyVKV.js → useDropdownState-8yWMu-7_.js} +127 -144
- package/dist/useDropdownState-8yWMu-7_.js.map +1 -0
- package/dist/useExpansionSet-CvoNMZJi.js +68 -0
- package/dist/useExpansionSet-CvoNMZJi.js.map +1 -0
- package/dist/useExperimentSamples-DHnxKFAF.js +366 -0
- package/dist/useExperimentSamples-DHnxKFAF.js.map +1 -0
- package/dist/useListReorder-BitdUhxn.js +5294 -0
- package/dist/useListReorder-BitdUhxn.js.map +1 -0
- package/dist/useRackEditor-DiwCt77M.js +5930 -0
- package/dist/useRackEditor-DiwCt77M.js.map +1 -0
- package/dist/useRealtime-C3iy9QkU.js +699 -0
- package/dist/useRealtime-C3iy9QkU.js.map +1 -0
- package/dist/useRequest-D506eHi8.js +244 -0
- package/dist/useRequest-D506eHi8.js.map +1 -0
- package/dist/utils/color.d.ts +0 -5
- package/dist/{composables/useDoseCalculator.d.ts → utils/dose.d.ts} +10 -13
- package/dist/utils/experimentStatus.d.ts +9 -0
- package/dist/{composables/useChemicalFormula.d.ts → utils/formula.d.ts} +3 -6
- package/dist/utils/integrationHost.d.ts +18 -0
- package/dist/utils/plotlyTemplate.d.ts +2 -0
- package/dist/utils/pluginSecrets.d.ts +12 -12
- package/dist/utils/presenceAvatars.d.ts +30 -0
- package/dist/utils/records.d.ts +0 -2
- package/dist/{composables/useTimeUtils.d.ts → utils/time.d.ts} +7 -18
- package/package.json +20 -17
- package/src/__tests__/components/ActionMenu.test.ts +0 -13
- package/src/__tests__/components/AlertBox.test.ts +1 -1
- package/src/__tests__/components/AppSidebar.test.ts +119 -167
- package/src/__tests__/components/AppToastContainer.test.ts +2 -2
- package/src/__tests__/components/AppTopBar.test.ts +230 -176
- package/src/__tests__/components/AppTopBarPillNav.test.ts +35 -0
- package/src/__tests__/components/ArtifactSaveDialog.test.ts +83 -3
- package/src/__tests__/components/ArtifactSelectorModal.test.ts +6 -4
- package/src/__tests__/components/AuditTrail.test.ts +1 -1
- package/src/__tests__/components/AutoGroupModal.adapter.test.ts +1 -1
- package/src/__tests__/components/AutoGroupModal.anatomy.test.ts +2 -2
- package/src/__tests__/components/AutoGroupModal.wiring.test.ts +2 -2
- package/src/__tests__/components/BaseButton.test.ts +51 -0
- package/src/__tests__/components/{BaseToggle.test.ts → BaseCheckbox.switch.test.ts} +8 -6
- package/src/__tests__/components/BaseInput.test.ts +13 -34
- package/src/__tests__/components/BaseModal.test.ts +6 -6
- package/src/__tests__/components/BasePill.test.ts +33 -39
- package/src/__tests__/components/BaseSelect.multiple.test.ts +118 -0
- package/src/__tests__/components/{SearchableSelect.test.ts → BaseSelect.searchable.test.ts} +19 -9
- package/src/__tests__/components/BaseSelect.test.ts +11 -0
- package/src/__tests__/components/BaseTabs.test.ts +13 -13
- package/src/__tests__/components/BatchProgressList.test.ts +16 -0
- package/src/__tests__/components/CalendarGridPanel.test.ts +2 -2
- package/src/__tests__/components/ChartContainer.test.ts +11 -0
- package/src/__tests__/components/ChemicalFormula.test.ts +6 -3
- package/src/__tests__/components/CollapsibleCard.test.ts +1 -1
- package/src/__tests__/components/ComponentBindingRenderer.test.ts +25 -73
- package/src/__tests__/components/ConcentrationInput.test.ts +3 -3
- package/src/__tests__/components/ConfirmDialog.test.ts +23 -0
- package/src/__tests__/components/DataFrame.test.ts +140 -142
- package/src/__tests__/components/DataStates.test.ts +6 -22
- package/src/__tests__/components/{DateTimePicker.test.ts → DatePicker.datetime.test.ts} +15 -7
- package/src/__tests__/components/DatePicker.test.ts +21 -0
- package/src/__tests__/components/{TimePicker.test.ts → DatePicker.time.test.ts} +20 -19
- package/src/__tests__/components/DoseCalculator.test.ts +12 -7
- package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +6 -6
- package/src/__tests__/components/EmptyState.test.ts +1 -1
- package/src/__tests__/components/ExperimentPopover.test.ts +125 -16
- package/src/__tests__/components/ExperimentSelectorModal.test.ts +134 -28
- package/src/__tests__/components/FormBuilder.test.ts +49 -167
- package/src/__tests__/components/FormSchemaInternal.test.ts +91 -0
- package/src/__tests__/components/GeneratedPathInput.test.ts +18 -13
- package/src/__tests__/components/GeneratedPluginView.test.ts +60 -25
- package/src/__tests__/components/GeneratedResultRenderer.test.ts +6 -4
- package/src/__tests__/components/InstrumentStateBadge.test.ts +4 -4
- package/src/__tests__/components/InstrumentStatusPanels.test.ts +79 -0
- package/src/__tests__/components/JobsStatusTray.test.ts +4 -4
- package/src/__tests__/components/NumberInput.test.ts +28 -0
- package/src/__tests__/components/{UnitInput.test.ts → NumberInput.units.test.ts} +6 -6
- package/src/__tests__/components/PlateEditor.test.ts +108 -108
- package/src/__tests__/components/PlateEditorBindingInternal.test.ts +13 -13
- package/src/__tests__/components/PlotlyChart.test.ts +1 -1
- package/src/__tests__/components/PluginIcon.test.ts +9 -4
- package/src/__tests__/components/PluginWorkspaceView.controls.test.ts +16 -29
- package/src/__tests__/components/PluginWorkspaceView.internal.test.ts +28 -34
- package/src/__tests__/components/PluginWorkspaceView.navigation.test.ts +4 -19
- package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +1 -6
- package/src/__tests__/components/PluginWorkspaceView.test.ts +183 -155
- package/src/__tests__/components/PresenceAvatars.test.ts +90 -0
- package/src/__tests__/components/ProtocolStep.presentation.test.ts +1 -3
- package/src/__tests__/components/ProtocolStepEditor.test.ts +10 -11
- package/src/__tests__/components/ProtocolStepParameterField.test.ts +8 -7
- package/src/__tests__/components/ResourcePickerListInternal.test.ts +2 -22
- package/src/__tests__/components/RetiredStyles.test.ts +0 -18
- package/src/__tests__/components/SampleSelector.test.ts +30 -25
- package/src/__tests__/components/SecretInput.test.ts +14 -19
- package/src/__tests__/components/SequenceProgressBar.test.ts +12 -0
- package/src/__tests__/components/SettingsModal.test.ts +76 -84
- package/src/__tests__/components/StaleFormBanner.test.ts +48 -0
- package/src/__tests__/components/StepWizard.test.ts +11 -0
- package/src/__tests__/components/ThemeToggle.test.ts +1 -1
- package/src/__tests__/components/WellPlate.decoration.test.ts +20 -11
- package/src/__tests__/components/WellPlate.interaction.test.ts +6 -7
- package/src/__tests__/components/WellPlate.keyboard.test.ts +2 -2
- package/src/__tests__/components/deprecationTags.test.ts +90 -0
- package/src/__tests__/composables/analysisArtifactTarget.test.ts +1 -12
- package/src/__tests__/composables/autoGroup/classKey.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/classify.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/columns.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/compose.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/fieldEdits.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/fingerprint.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/golden.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/groupByOrder.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/groupTree.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/integration.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/template.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/tokenLength.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/tokenize.test.ts +1 -1
- package/src/__tests__/composables/{usePluginClient.test.ts → createClient.test.ts} +84 -222
- package/src/__tests__/composables/{useEventStream.test.ts → eventStream.test.ts} +6 -6
- package/src/__tests__/composables/experiment-utils.test.ts +13 -14
- package/src/__tests__/composables/useApi.test.ts +32 -21
- package/src/__tests__/composables/useAppExperiment.test.ts +46 -3
- package/src/__tests__/composables/{useAnalysisArtifacts.test.ts → useArtifacts.test.ts} +19 -27
- package/src/__tests__/composables/useAutoGroup.test.ts +3 -13
- package/src/__tests__/composables/useCalendarGrid.test.ts +4 -2
- package/src/__tests__/composables/useControlSchema.test.ts +41 -99
- package/src/__tests__/composables/useExperiment.test.ts +63 -0
- package/src/__tests__/composables/useExperimentSelector.test.ts +111 -0
- package/src/__tests__/composables/useFileBrowser.test.ts +4 -6
- package/src/__tests__/composables/{useJobsStatusTray.test.ts → useJobCenter.test.ts} +31 -31
- package/src/__tests__/composables/{useGeneratedAnalysis.test.ts → useJobsEndpoint.test.ts} +213 -139
- package/src/__tests__/composables/usePlatform.test.ts +102 -0
- package/src/__tests__/composables/usePresence.test.ts +164 -0
- package/src/__tests__/composables/useRackEditor.test.ts +2 -2
- package/src/__tests__/composables/useRealtime.test.ts +196 -0
- package/src/__tests__/composables/{useRequestSyncState.test.ts → useRequest.test.ts} +32 -47
- package/src/__tests__/composables/useVersionedSave.test.ts +194 -0
- package/src/__tests__/docs/extractDocsComponents.test.ts +36 -0
- package/src/__tests__/docs/extractDocsParsing.test.ts +2 -2
- package/src/__tests__/docs/extractDocsTheme.test.ts +1 -46
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +164 -84
- package/src/__tests__/styles/baseControlsRules.test.ts +7 -3
- package/src/__tests__/styles/controlRefreshRules.test.ts +0 -6
- package/src/__tests__/styles/cssTokens.test.ts +2 -2
- package/src/__tests__/styles/darkModeRules.test.ts +0 -6
- package/src/__tests__/styles/menusShellRefresh.test.ts +14 -10
- package/src/__tests__/{composables/useChemicalFormula.test.ts → utils/formula.test.ts} +3 -5
- package/src/__tests__/utils/permissions.test.ts +1 -36
- package/src/__tests__/utils/plotlyTemplate.test.ts +20 -5
- package/src/__tests__/{composables/useTimeUtils.test.ts → utils/time.test.ts} +18 -8
- package/src/components/ActionMenu.vue +7 -13
- package/src/components/AdductText.story.vue +7 -0
- package/src/components/AdductText.vue +1 -1
- package/src/components/AlertBox.story.vue +27 -27
- package/src/components/AlertBox.vue +22 -20
- package/src/components/AppLayout.story.vue +33 -44
- package/src/components/AppLayout.vue +1 -1
- package/src/components/AppSidebar.story.vue +40 -101
- package/src/components/AppSidebar.vue +66 -147
- package/src/components/AppToastContainer.story.vue +1 -1
- package/src/components/AppTopBar.story.vue +97 -111
- package/src/components/AppTopBar.vue +170 -290
- package/src/components/ArtifactSaveDialog.story.vue +32 -9
- package/src/components/ArtifactSaveDialog.vue +125 -38
- package/src/components/ArtifactSelectorModal.story.vue +4 -4
- package/src/components/ArtifactSelectorModal.vue +10 -10
- package/src/components/AuditTrail.story.vue +6 -5
- package/src/components/AuditTrail.vue +5 -24
- package/src/components/Avatar.story.vue +2 -3
- package/src/components/Avatar.vue +11 -16
- package/src/components/BaseButton.story.vue +25 -0
- package/src/components/BaseButton.vue +39 -10
- package/src/components/BaseCheckbox.story.vue +2 -2
- package/src/components/{BaseToggle.story.vue → BaseCheckbox.switch.story.vue} +22 -19
- package/src/components/BaseCheckbox.vue +39 -7
- package/src/components/BaseInput.story.vue +3 -15
- package/src/components/{BaseTextarea.story.vue → BaseInput.textarea.story.vue} +14 -10
- package/src/components/BaseInput.vue +53 -26
- package/src/components/BaseModal.story.vue +11 -11
- package/src/components/BaseModal.vue +8 -8
- package/src/components/BasePill.story.vue +48 -28
- package/src/components/BasePill.vue +22 -11
- package/src/components/BaseRadioGroup.story.vue +4 -4
- package/src/components/BaseRadioGroup.vue +3 -3
- package/src/components/{MultiSelect.story.vue → BaseSelect.multiple.story.vue} +33 -16
- package/src/components/{SearchableSelect.story.vue → BaseSelect.searchable.story.vue} +4 -4
- package/src/components/BaseSelect.story.vue +2 -2
- package/src/components/BaseSelect.vue +118 -22
- package/src/components/BaseTabs.story.vue +20 -20
- package/src/components/BaseTabs.vue +17 -9
- package/src/components/BatchProgressList.vue +38 -28
- package/src/components/ChartContainer.story.vue +9 -13
- package/src/components/ChartContainer.vue +10 -8
- package/src/components/ChemicalFormula.vue +1 -2
- package/src/components/CollapsibleCard.vue +5 -4
- package/src/components/ComponentBindingRenderer.story.vue +0 -29
- package/src/components/ComponentBindingRenderer.vue +15 -39
- package/src/components/ConcentrationInput.story.vue +2 -2
- package/src/components/ConcentrationInput.vue +9 -9
- package/src/components/ConfirmDialog.story.vue +22 -22
- package/src/components/ConfirmDialog.vue +15 -14
- package/src/components/DataFrame.story.vue +28 -40
- package/src/components/DataFrame.vue +112 -128
- package/src/components/{DateTimePicker.story.vue → DatePicker.datetime.story.vue} +19 -14
- package/src/components/DatePicker.story.vue +2 -2
- package/src/components/{TimePicker.story.vue → DatePicker.time.story.vue} +15 -12
- package/src/components/DatePicker.vue +82 -220
- package/src/components/DoseCalculator.vue +13 -19
- package/src/components/DoseCalculatorVolumeField.vue +6 -6
- package/src/components/EmptyState.story.vue +17 -17
- package/src/components/EmptyState.vue +6 -5
- package/src/components/ExperimentPopover.story.vue +165 -53
- package/src/components/ExperimentPopover.vue +172 -190
- package/src/components/ExperimentSelectorModal.story.vue +43 -39
- package/src/components/ExperimentSelectorModal.vue +134 -122
- package/src/components/FilePicker.vue +1 -1
- package/src/components/FormBuilder.story.vue +9 -4
- package/src/components/FormBuilder.vue +46 -253
- package/src/components/FormField.story.vue +9 -50
- package/src/components/FormulaInput.story.vue +2 -2
- package/src/components/FormulaInput.vue +5 -6
- package/src/components/GeneratedPathInput.vue +8 -9
- package/src/components/GeneratedPluginView.story.vue +1 -1
- package/src/components/GeneratedPluginView.vue +29 -22
- package/src/components/GeneratedResultRenderer.vue +16 -17
- package/src/components/InstrumentStateBadge.vue +1 -1
- package/src/components/InstrumentStatusPanels.story.vue +64 -0
- package/src/components/InstrumentStatusPanels.vue +133 -0
- package/src/components/JobsStatusTray.story.vue +2 -2
- package/src/components/JobsStatusTray.vue +5 -20
- package/src/components/LoadingSpinner.story.vue +11 -11
- package/src/components/LoadingSpinner.vue +7 -5
- package/src/components/MoleculeInput.story.vue +2 -2
- package/src/components/MoleculeInput.vue +3 -3
- package/src/components/NumberInput.story.vue +55 -15
- package/src/components/NumberInput.vue +83 -24
- package/src/components/PlateEditor.story.vue +51 -43
- package/src/components/PlateEditor.vue +97 -128
- package/src/components/PlotlyChart.story.vue +1 -1
- package/src/components/PlotlyChart.vue +6 -4
- package/src/components/PluginIcon.story.vue +6 -11
- package/src/components/PluginIcon.vue +7 -2
- package/src/components/PluginWorkspaceView.controls.ts +9 -29
- package/src/components/PluginWorkspaceView.navigation.ts +2 -23
- package/src/components/PluginWorkspaceView.props.ts +17 -151
- package/src/components/PluginWorkspaceView.shell.ts +13 -24
- package/src/components/PluginWorkspaceView.story.vue +65 -63
- package/src/components/PluginWorkspaceView.vue +21 -78
- package/src/components/PresenceAvatars.story.vue +75 -0
- package/src/components/PresenceAvatars.vue +114 -0
- package/src/components/ProgressBar.story.vue +7 -7
- package/src/components/ProgressBar.vue +4 -3
- package/src/components/ProtocolStep.presentation.ts +0 -11
- package/src/components/ProtocolStepEditor.vue +6 -5
- package/src/components/ProtocolStepParameterField.vue +15 -12
- package/src/components/RuntimeUpdateNotice.vue +1 -1
- package/src/components/SampleSelector.colors.ts +1 -1
- package/src/components/SampleSelector.story.vue +1 -1
- package/src/components/SampleSelector.vue +33 -43
- package/src/components/SampleSelectorGroupNode.vue +1 -1
- package/src/components/ScheduleCalendar.vue +4 -4
- package/src/components/SecretInput.story.vue +1 -1
- package/src/components/SecretInput.vue +16 -25
- package/src/components/SectionCard.story.vue +2 -2
- package/src/components/SegmentedControl.story.vue +7 -7
- package/src/components/SegmentedControl.vue +5 -3
- package/src/components/SequenceInput.story.vue +2 -2
- package/src/components/SequenceInput.vue +3 -3
- package/src/components/SequenceProgressBar.story.vue +9 -0
- package/src/components/SequenceProgressBar.vue +6 -1
- package/src/components/SettingsModal.schema.ts +1 -1
- package/src/components/SettingsModal.story.vue +13 -14
- package/src/components/SettingsModal.vue +31 -49
- package/src/components/SmartGroup.types.ts +4 -6
- package/src/components/SmartGroupFieldRecipe.story.vue +1 -1
- package/src/components/SmartGroupFieldRecipe.vue +7 -5
- package/src/components/SmartGroupManual.story.vue +1 -1
- package/src/components/StaleFormBanner.story.vue +90 -0
- package/src/components/StaleFormBanner.vue +83 -0
- package/src/components/StepWizard.story.vue +33 -0
- package/src/components/StepWizard.vue +8 -1
- package/src/components/TagsInput.story.vue +7 -7
- package/src/components/TagsInput.vue +7 -6
- package/src/components/ThemeToggle.vue +5 -30
- package/src/components/TimeRangeInput.story.vue +1 -1
- package/src/components/TimeRangeInput.vue +10 -8
- package/src/components/VersionConflictDialog.story.vue +60 -0
- package/src/components/VersionConflictDialog.vue +79 -0
- package/src/components/WellPlate.geometry.ts +0 -38
- package/src/components/WellPlate.rendering.ts +0 -13
- package/src/components/WellPlate.story.vue +64 -51
- package/src/components/WellPlate.vue +68 -87
- package/src/components/index.ts +3 -105
- package/src/components/internal/AppTopBarPillNavInternal.vue +33 -2
- package/src/components/{AutoGroupModal.adapter.ts → internal/AutoGroupModalInternal.adapter.ts} +8 -8
- package/src/components/{AutoGroupModal.vue → internal/AutoGroupModalInternal.vue} +23 -23
- package/src/components/{BaseToggle.vue → internal/CheckboxSwitchInternal.vue} +8 -8
- package/src/components/internal/DataStateInternal.vue +1 -1
- package/src/components/internal/DatePickerDateInternal.vue +219 -0
- package/src/components/{DateTimePicker.vue → internal/DatePickerDateTimeInternal.vue} +12 -22
- package/src/components/{TimePicker.vue → internal/DatePickerTimeInternal.vue} +12 -15
- package/src/components/internal/FilePickerListInternal.vue +8 -14
- package/src/components/{FormActions.vue → internal/FormActionsInternal.vue} +2 -2
- package/src/components/internal/FormFieldRendererInternal.vue +1 -1
- package/src/components/internal/FormSchemaInternal.vue +253 -0
- package/src/components/{UnitInput.vue → internal/NumberUnitInputInternal.vue} +28 -28
- package/src/components/internal/PlateEditorBindingInternal.vue +8 -7
- package/src/components/internal/ResourcePickerListInternal.vue +48 -88
- package/src/components/internal/SelectMultipleInternal.vue +242 -0
- package/src/components/{SearchableSelect.vue → internal/SelectSearchableInternal.vue} +26 -11
- package/src/components/internal/WellEditPopupInternal.vue +4 -9
- package/src/components/internal/WorkspaceShellInternal.vue +3 -36
- package/src/components/internal/WorkspaceSidebarInternal.vue +4 -25
- package/src/{composables → components/internal}/autoGroup/classKey.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/classify.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/columns.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/compose.ts +3 -3
- package/src/{composables → components/internal}/autoGroup/cooccurrence.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/csv-shim.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/fingerprint.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/index.ts +1 -2
- package/src/{composables → components/internal}/autoGroup/template.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/tokenLength.ts +1 -1
- package/src/components/internal/generatedJobsApi.ts +1 -1
- package/src/{composables → components/internal}/useAutoGroup.ts +3 -57
- package/src/composables/componentSpecs.ts +62 -0
- package/src/composables/controlComponentBindings.ts +7 -0
- package/src/composables/controlSchemaAdapters.ts +45 -7
- package/src/composables/controlSchemaDoseDesign.ts +16 -5
- package/src/composables/controlSchemaModel.ts +1 -1
- package/src/composables/controlSchemaTypes.ts +31 -22
- package/src/composables/{usePluginClient.ts → createClient.ts} +54 -190
- package/src/composables/{useEventStream.ts → eventStream.ts} +3 -3
- package/src/composables/experiment-utils.ts +1 -39
- package/src/composables/formBuilderRegistry.ts +6 -12
- package/src/composables/index.ts +17 -480
- package/src/composables/platformContextHelpers.ts +0 -57
- package/src/composables/pluginEndpointBuilder.ts +8 -10
- package/src/composables/pluginIdentity.ts +31 -0
- package/src/composables/pluginWorkspaceModel.ts +16 -107
- package/src/composables/useApi.ts +18 -30
- package/src/composables/useAppExperiment.ts +26 -5
- package/src/composables/{useAnalysisArtifacts.ts → useArtifacts.ts} +18 -19
- package/src/composables/useCalendarGrid.ts +4 -3
- package/src/composables/useControlSchema.ts +5 -9
- package/src/composables/useControlWorkspace.ts +4 -7
- package/src/composables/useExperiment.ts +49 -0
- package/src/composables/useExperimentData.ts +4 -4
- package/src/composables/useExperimentSelector.ts +82 -36
- package/src/composables/useFileBrowser.ts +5 -13
- package/src/composables/useFilePicker.ts +2 -2
- package/src/composables/useFormBuilder.ts +3 -4
- package/src/composables/useJobCenter.ts +324 -0
- package/src/composables/{useGeneratedAnalysis.ts → useJobsEndpoint.ts} +53 -67
- package/src/composables/useMenuKeyboard.ts +1 -1
- package/src/composables/usePlatform.ts +95 -0
- package/src/composables/usePlatformFilePickerAdapter.ts +2 -1
- package/src/composables/usePluginWorkspace.ts +62 -107
- package/src/composables/usePresence.ts +110 -0
- package/src/composables/useRackEditor.ts +3 -3
- package/src/composables/useRealtime.ts +194 -0
- package/src/composables/{useRequestSyncState.ts → useRequest.ts} +25 -48
- package/src/composables/useScheduleCalendarLayout.ts +1 -1
- package/src/composables/useToast.ts +14 -11
- package/src/composables/useVersionedSave.ts +165 -0
- package/src/data.ts +130 -0
- package/src/deprecatedRootExports.ts +226 -0
- package/src/generated/schema.ts +1 -0
- package/src/host.ts +27 -0
- package/src/index.ts +2 -71
- package/src/install.ts +15 -2
- package/src/instrument.ts +1 -6
- package/src/lab.ts +128 -0
- package/src/permissions.ts +0 -27
- package/src/runtime.ts +145 -0
- package/src/shell.ts +103 -0
- package/src/stores/auth.ts +26 -162
- package/src/stores/experiment.ts +27 -1
- package/src/styles/components/action-menu.css +0 -5
- package/src/styles/components/adduct-text.css +13 -5
- package/src/styles/components/alert-box.css +39 -40
- package/src/styles/components/app-layout.css +6 -5
- package/src/styles/components/app-page-selector.css +3 -1
- package/src/styles/components/app-pill-nav.css +11 -12
- package/src/styles/components/app-sidebar.css +9 -18
- package/src/styles/components/app-top-bar.css +64 -103
- package/src/styles/components/artifact-save-dialog.css +153 -2
- package/src/styles/components/audit-trail.css +16 -19
- package/src/styles/components/avatar.css +6 -4
- package/src/styles/components/batch-progress-list.css +38 -36
- package/src/styles/components/button.css +40 -59
- package/src/styles/components/calendar.css +12 -12
- package/src/styles/components/chart-container.css +34 -23
- package/src/styles/components/checkbox.css +3 -13
- package/src/styles/components/collapsible-card.css +28 -30
- package/src/styles/components/confirm-dialog.css +31 -16
- package/src/styles/components/dataframe.css +12 -4
- package/src/styles/components/date-picker.css +80 -92
- package/src/styles/components/datetime-picker.css +31 -43
- package/src/styles/components/divider.css +20 -20
- package/src/styles/components/dose-calculator.css +3 -3
- package/src/styles/components/empty-state.css +23 -18
- package/src/styles/components/experiment-code-badge.css +2 -0
- package/src/styles/components/experiment-popover.css +174 -329
- package/src/styles/components/experiment-selector-modal.css +75 -56
- package/src/styles/components/file-picker.css +4 -4
- package/src/styles/components/file-uploader.css +38 -49
- package/src/styles/components/form-builder.css +3 -3
- package/src/styles/components/formula-input.css +1 -1
- package/src/styles/components/icon-button.css +19 -25
- package/src/styles/components/input.css +5 -4
- package/src/styles/components/instrument-monitor.css +13 -15
- package/src/styles/components/jobs-status-tray.css +31 -25
- package/src/styles/components/loading-spinner.css +9 -12
- package/src/styles/components/modal.css +2 -4
- package/src/styles/components/molecule-input.css +2 -2
- package/src/styles/components/multi-select.css +65 -112
- package/src/styles/components/number-input.css +26 -19
- package/src/styles/components/pill.css +43 -37
- package/src/styles/components/plate-editor.css +0 -1
- package/src/styles/components/plugin-icon.css +34 -22
- package/src/styles/components/popover.css +2 -2
- package/src/styles/components/presence-avatars.css +194 -0
- package/src/styles/components/progress-bar.css +2 -0
- package/src/styles/components/protocol-step-editor.css +1 -3
- package/src/styles/components/resource-card.css +2 -2
- package/src/styles/components/resource-picker-list.css +6 -57
- package/src/styles/components/sample-hierarchy-tree.css +4 -4
- package/src/styles/components/sample-selector.css +95 -79
- package/src/styles/components/schedule-calendar.css +8 -8
- package/src/styles/components/searchable-select.css +15 -12
- package/src/styles/components/section-card.css +28 -47
- package/src/styles/components/segmented-control.css +18 -15
- package/src/styles/components/select.css +3 -3
- package/src/styles/components/sequence-input.css +2 -2
- package/src/styles/components/sequence-progress-bar.css +17 -8
- package/src/styles/components/smart-group.css +19 -24
- package/src/styles/components/step-wizard.css +52 -16
- package/src/styles/components/tabs.css +2 -2
- package/src/styles/components/textarea.css +4 -4
- package/src/styles/components/time-picker.css +36 -21
- package/src/styles/components/toast.css +12 -10
- package/src/styles/components/toggle.css +3 -13
- package/src/styles/components/tooltip.css +10 -9
- package/src/styles/components/unit-input.css +8 -7
- package/src/styles/components/version-conflict.css +122 -0
- package/src/styles/components/well-plate.css +8 -8
- package/src/styles/index.css +2 -11
- package/src/styles/variables.css +107 -602
- package/src/types/analysisArtifactTypes.ts +1 -1
- package/src/types/auth.ts +0 -10
- package/src/types/componentLabTypes.ts +103 -53
- package/src/types/componentWorkflowTypes.ts +4 -33
- package/src/types/components.ts +148 -114
- package/src/types/form-builder.ts +4 -0
- package/src/types/generated/platformContext.ts +60 -0
- package/src/types/generated-ui.ts +6 -2
- package/src/types/index.ts +15 -53
- package/src/types/instrument.ts +27 -0
- package/src/types/platform.ts +25 -89
- package/src/utils/color.ts +1 -12
- package/src/utils/dose.ts +335 -0
- package/src/utils/experimentStatus.ts +43 -0
- package/src/utils/formula.ts +292 -0
- package/src/utils/integrationHost.ts +27 -0
- package/src/utils/plotlyTemplate.ts +6 -0
- package/src/utils/pluginSecrets.ts +23 -23
- package/src/utils/presenceAvatars.ts +53 -0
- package/src/utils/records.ts +0 -5
- package/src/{composables/useTimeUtils.ts → utils/time.ts} +21 -21
- package/dist/ResourcePickerListInternal-CFAw4vTZ.js +0 -605
- package/dist/ResourcePickerListInternal-CFAw4vTZ.js.map +0 -1
- package/dist/__tests__/composables/useBioTemplatePackWorkspace.test.d.ts +0 -1
- package/dist/__tests__/composables/useBioTemplatePresetWorkspace.test.d.ts +0 -1
- package/dist/__tests__/composables/useBioTemplateWorkspace.test.d.ts +0 -1
- package/dist/__tests__/composables/useChemicalFormula.test.d.ts +0 -1
- package/dist/__tests__/composables/useEventStream.test.d.ts +0 -1
- package/dist/__tests__/composables/useExperimentSave.test.d.ts +0 -1
- package/dist/__tests__/composables/useGeneratedAnalysis.test.d.ts +0 -1
- package/dist/__tests__/composables/useGroupAssignment.test.d.ts +0 -1
- package/dist/__tests__/composables/useJobsStatusTray.test.d.ts +0 -1
- package/dist/__tests__/composables/useMobileSupportGate.test.d.ts +0 -1
- package/dist/__tests__/composables/usePlatformContext.test.d.ts +0 -1
- package/dist/__tests__/composables/usePluginClient.test.d.ts +0 -1
- package/dist/__tests__/composables/usePresenceHeartbeat.test.d.ts +0 -1
- package/dist/__tests__/composables/useRequestSyncState.test.d.ts +0 -1
- package/dist/__tests__/composables/useRuntimeAlignment.test.d.ts +0 -1
- package/dist/__tests__/composables/useTemplateCollection.test.d.ts +0 -1
- package/dist/__tests__/composables/useTimeUtils.test.d.ts +0 -1
- package/dist/__tests__/docs/extractDocsTemplates.test.d.ts +0 -1
- package/dist/__tests__/templates/templates.test.d.ts +0 -1
- package/dist/__tests__/templates/templatesDeprecation.test.d.ts +0 -1
- package/dist/__tests__/utils/lcms.test.d.ts +0 -1
- package/dist/__tests__/utils/rack.test.d.ts +0 -1
- package/dist/components/AppAvatarMenu.vue.d.ts +0 -47
- package/dist/components/AppTopBar.navigation.d.ts +0 -10
- package/dist/components/BaseTextarea.vue.d.ts +0 -31
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +0 -112
- package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +0 -86
- package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +0 -80
- package/dist/components/BioTemplateRenderer.vue.d.ts +0 -30
- package/dist/components/ControlWorkspaceView.vue.d.ts +0 -138
- package/dist/components/DoseDesignWorkspaceView.vue.d.ts +0 -140
- package/dist/components/ExperimentDataViewer.vue.d.ts +0 -54
- package/dist/components/ExperimentTimeline.vue.d.ts +0 -70
- package/dist/components/FitPanel.vue.d.ts +0 -56
- package/dist/components/GroupAssigner.vue.d.ts +0 -26
- package/dist/components/IconButton.vue.d.ts +0 -30
- package/dist/components/MobileSupportGate.vue.d.ts +0 -32
- package/dist/components/ReagentEditor.vue.d.ts +0 -31
- package/dist/components/ReagentList.presentation.d.ts +0 -17
- package/dist/components/ReagentList.vue.d.ts +0 -58
- package/dist/components/SampleLegend.vue.d.ts +0 -33
- package/dist/components/SmartGroupModal.vue.d.ts +0 -29
- package/dist/components/index.js +0 -5
- package/dist/components-BOA5e7kb.js +0 -23137
- package/dist/components-BOA5e7kb.js.map +0 -1
- package/dist/composables/flattenWorkspaceBindings.d.ts +0 -61
- package/dist/composables/index.js +0 -7
- package/dist/composables/useBioTemplateComponents.d.ts +0 -34
- package/dist/composables/useBioTemplateControls.d.ts +0 -10
- package/dist/composables/useBioTemplatePackWorkspace.d.ts +0 -56
- package/dist/composables/useBioTemplatePresetWorkspace.d.ts +0 -79
- package/dist/composables/useBioTemplateWorkspace.d.ts +0 -39
- package/dist/composables/useExperimentSave.d.ts +0 -69
- package/dist/composables/useGroupAssignment.d.ts +0 -35
- package/dist/composables/useJobsStatusTray.d.ts +0 -87
- package/dist/composables/useMobileSupportGate.d.ts +0 -14
- package/dist/composables/usePlatformContext.d.ts +0 -218
- package/dist/composables/usePresenceHeartbeat.d.ts +0 -49
- package/dist/composables/useRuntimeAlignment.d.ts +0 -44
- package/dist/composables/useTemplateCollection.d.ts +0 -62
- package/dist/composables/workspaceRecipes.d.ts +0 -189
- package/dist/composables-izSQH8Ky.js +0 -591
- package/dist/composables-izSQH8Ky.js.map +0 -1
- package/dist/experiment-D49y_Kro.js +0 -459
- package/dist/experiment-D49y_Kro.js.map +0 -1
- package/dist/experiment-utils-DTANyVKV.js.map +0 -1
- package/dist/install.js.map +0 -1
- package/dist/lcms.d.ts +0 -38
- package/dist/settings-BG6v13Zq.js +0 -341
- package/dist/settings-BG6v13Zq.js.map +0 -1
- package/dist/tailwind.preset.d.ts +0 -63
- package/dist/tailwind.preset.js +0 -71
- package/dist/tailwind.preset.js.map +0 -1
- package/dist/templates/adapters.d.ts +0 -19
- package/dist/templates/assayLookups.d.ts +0 -3
- package/dist/templates/assayMatrixAdapters.d.ts +0 -13
- package/dist/templates/assayMatrixBuilder.d.ts +0 -3
- package/dist/templates/assayNormalizers.d.ts +0 -4
- package/dist/templates/builderIdUtils.d.ts +0 -4
- package/dist/templates/builderPresetControls.d.ts +0 -11
- package/dist/templates/builderReadUtils.d.ts +0 -8
- package/dist/templates/builders.d.ts +0 -26
- package/dist/templates/calibrationCurveAdapters.d.ts +0 -7
- package/dist/templates/calibrationCurveBuilder.d.ts +0 -3
- package/dist/templates/calibrationNormalizers.d.ts +0 -5
- package/dist/templates/catalog.d.ts +0 -192
- package/dist/templates/componentBindingCatalog.d.ts +0 -25
- package/dist/templates/componentBindingHelpers.d.ts +0 -17
- package/dist/templates/componentBindings.d.ts +0 -97
- package/dist/templates/componentDoseResponseProps.d.ts +0 -3
- package/dist/templates/componentGenericProps.d.ts +0 -8
- package/dist/templates/componentPlateHelpers.d.ts +0 -11
- package/dist/templates/componentPlateMapProps.d.ts +0 -3
- package/dist/templates/componentPropsFactory.d.ts +0 -3
- package/dist/templates/componentQpcrPlateProps.d.ts +0 -3
- package/dist/templates/componentTargetResolvers.d.ts +0 -5
- package/dist/templates/componentTemplateProps.d.ts +0 -3
- package/dist/templates/controlSchemaClone.d.ts +0 -4
- package/dist/templates/controlSchemaConstants.d.ts +0 -10
- package/dist/templates/controlSchemaMerge.d.ts +0 -3
- package/dist/templates/controlSchemaTargets.d.ts +0 -17
- package/dist/templates/controlSchemaTypes.d.ts +0 -4
- package/dist/templates/controlSchemas.d.ts +0 -34
- package/dist/templates/defaultBioTemplateBuilder.d.ts +0 -3
- package/dist/templates/doseResponseAdapters.d.ts +0 -6
- package/dist/templates/doseResponseBuilder.d.ts +0 -3
- package/dist/templates/elisaAssayCollectionBuilder.d.ts +0 -3
- package/dist/templates/flowCytometryAssayCollectionBuilder.d.ts +0 -3
- package/dist/templates/flowCytometryPanelBuilder.d.ts +0 -3
- package/dist/templates/flowNormalizers.d.ts +0 -8
- package/dist/templates/flowPanelAdapters.d.ts +0 -7
- package/dist/templates/index.d.ts +0 -15
- package/dist/templates/index.js +0 -2
- package/dist/templates/instrumentRunAdapterHelpers.d.ts +0 -8
- package/dist/templates/instrumentRunAdapters.d.ts +0 -19
- package/dist/templates/instrumentRunBuilder.d.ts +0 -3
- package/dist/templates/lcmsBatchCollectionBuilder.d.ts +0 -3
- package/dist/templates/lookup.d.ts +0 -4
- package/dist/templates/packs.d.ts +0 -21
- package/dist/templates/plateMapAdapters.d.ts +0 -5
- package/dist/templates/plateMapBuilder.d.ts +0 -3
- package/dist/templates/presetControlSchemas.d.ts +0 -534
- package/dist/templates/presets.d.ts +0 -106
- package/dist/templates/protocolAdapters.d.ts +0 -9
- package/dist/templates/protocolNormalizers.d.ts +0 -6
- package/dist/templates/protocolStepsBuilder.d.ts +0 -3
- package/dist/templates/qpcrAdapters.d.ts +0 -9
- package/dist/templates/qpcrExpressionCollectionBuilder.d.ts +0 -3
- package/dist/templates/qpcrPlateBuilder.d.ts +0 -3
- package/dist/templates/reagentAdapters.d.ts +0 -9
- package/dist/templates/reagentListBuilder.d.ts +0 -3
- package/dist/templates/runNormalizers.d.ts +0 -10
- package/dist/templates/sampleNormalizers.d.ts +0 -4
- package/dist/templates/samplePrepAdapters.d.ts +0 -7
- package/dist/templates/samplePrepBuilder.d.ts +0 -3
- package/dist/templates/sampleSheetAdapters.d.ts +0 -9
- package/dist/templates/sampleSheetBuilder.d.ts +0 -3
- package/dist/templates/targetedMetabolomicsCollectionBuilder.d.ts +0 -3
- package/dist/templates/targetedMetabolomicsHelpers.d.ts +0 -5
- package/dist/templates/templateAdapterTypes.d.ts +0 -48
- package/dist/templates/templateControlSchemas.d.ts +0 -400
- package/dist/templates/templateCreateOptions.d.ts +0 -165
- package/dist/templates/templateEnvelopes.d.ts +0 -17
- package/dist/templates/templatePackCollectionBuilder.d.ts +0 -3
- package/dist/templates/templatePresetCollectionBuilder.d.ts +0 -20
- package/dist/templates/templateQpcrTypes.d.ts +0 -42
- package/dist/templates/templateValidators.d.ts +0 -25
- package/dist/templates/timeCourseAdapters.d.ts +0 -9
- package/dist/templates/timeCourseBuilder.d.ts +0 -3
- package/dist/templates/types.d.ts +0 -304
- package/dist/templates/wellPlateScreenCollectionBuilder.d.ts +0 -3
- package/dist/templates/westernBlotAssayCollectionBuilder.d.ts +0 -3
- package/dist/templates-B2DB0MCM.js +0 -12304
- package/dist/templates-B2DB0MCM.js.map +0 -1
- package/dist/utils/rack.d.ts +0 -63
- package/dist/validation-C_eH_vIg.js +0 -7999
- package/dist/validation-C_eH_vIg.js.map +0 -1
- package/src/__tests__/components/AppAvatarMenu.test.ts +0 -186
- package/src/__tests__/components/AppTopBar.navigation.test.ts +0 -68
- package/src/__tests__/components/AppTopBarPresence.test.ts +0 -47
- package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +0 -159
- package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +0 -192
- package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +0 -307
- package/src/__tests__/components/BioTemplateRenderer.test.ts +0 -96
- package/src/__tests__/components/ControlWorkspaceView.test.ts +0 -1100
- package/src/__tests__/components/DoseDesignWorkspaceView.test.ts +0 -183
- package/src/__tests__/components/ExperimentTimeline.test.ts +0 -108
- package/src/__tests__/components/FitPanel.test.ts +0 -96
- package/src/__tests__/components/GroupAssigner.test.ts +0 -101
- package/src/__tests__/components/MobileSupportGate.test.ts +0 -120
- package/src/__tests__/components/MultiSelect.test.ts +0 -54
- package/src/__tests__/components/ReagentList.presentation.test.ts +0 -73
- package/src/__tests__/components/ReagentList.test.ts +0 -167
- package/src/__tests__/components/SampleLegend.test.ts +0 -18
- package/src/__tests__/components/SmartGroupModal.test.ts +0 -69
- package/src/__tests__/components/WellPlate.sampleTypeIndicator.test.ts +0 -58
- package/src/__tests__/components/iconButtonIconSizing.test.ts +0 -18
- package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +0 -125
- package/src/__tests__/composables/useBioTemplatePresetWorkspace.test.ts +0 -199
- package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +0 -104
- package/src/__tests__/composables/useExperimentSave.test.ts +0 -542
- package/src/__tests__/composables/useGroupAssignment.test.ts +0 -73
- package/src/__tests__/composables/useMobileSupportGate.test.ts +0 -74
- package/src/__tests__/composables/usePlatformContext.test.ts +0 -148
- package/src/__tests__/composables/usePresenceHeartbeat.test.ts +0 -164
- package/src/__tests__/composables/useRuntimeAlignment.test.ts +0 -145
- package/src/__tests__/composables/useTemplateCollection.test.ts +0 -147
- package/src/__tests__/docs/extractDocsTemplates.test.ts +0 -53
- package/src/__tests__/fixtures/templates/dose-response.json +0 -81
- package/src/__tests__/fixtures/templates/plate-map.json +0 -54
- package/src/__tests__/fixtures/templates/qpcr-plate.json +0 -96
- package/src/__tests__/fixtures/templates/sample-sheet.json +0 -71
- package/src/__tests__/templates/templates.test.ts +0 -1235
- package/src/__tests__/templates/templatesDeprecation.test.ts +0 -78
- package/src/__tests__/utils/lcms.test.ts +0 -73
- package/src/__tests__/utils/rack.test.ts +0 -120
- package/src/components/AppAvatarMenu.story.vue +0 -155
- package/src/components/AppAvatarMenu.vue +0 -154
- package/src/components/AppTopBar.navigation.ts +0 -60
- package/src/components/AutoGroupModal.story.vue +0 -458
- package/src/components/BaseTextarea.vue +0 -58
- package/src/components/BioTemplateExperimentWorkspaceView.story.vue +0 -123
- package/src/components/BioTemplateExperimentWorkspaceView.vue +0 -339
- package/src/components/BioTemplatePackWorkspaceView.story.vue +0 -107
- package/src/components/BioTemplatePackWorkspaceView.vue +0 -180
- package/src/components/BioTemplatePresetWorkspaceView.story.vue +0 -163
- package/src/components/BioTemplatePresetWorkspaceView.vue +0 -403
- package/src/components/BioTemplateRenderer.story.vue +0 -57
- package/src/components/BioTemplateRenderer.vue +0 -64
- package/src/components/ControlWorkspaceView.story.vue +0 -347
- package/src/components/ControlWorkspaceView.vue +0 -370
- package/src/components/DoseDesignWorkspaceView.story.vue +0 -77
- package/src/components/DoseDesignWorkspaceView.vue +0 -243
- package/src/components/ExperimentDataViewer.story.vue +0 -177
- package/src/components/ExperimentDataViewer.vue +0 -313
- package/src/components/ExperimentTimeline.story.vue +0 -208
- package/src/components/ExperimentTimeline.vue +0 -383
- package/src/components/FitPanel.story.vue +0 -191
- package/src/components/FitPanel.vue +0 -168
- package/src/components/FormActions.story.vue +0 -96
- package/src/components/GroupAssigner.story.vue +0 -83
- package/src/components/GroupAssigner.vue +0 -319
- package/src/components/IconButton.story.vue +0 -140
- package/src/components/IconButton.vue +0 -69
- package/src/components/MobileSupportGate.story.vue +0 -52
- package/src/components/MobileSupportGate.vue +0 -111
- package/src/components/MultiSelect.vue +0 -119
- package/src/components/ReagentEditor.story.vue +0 -153
- package/src/components/ReagentEditor.vue +0 -414
- package/src/components/ReagentList.presentation.ts +0 -106
- package/src/components/ReagentList.story.vue +0 -155
- package/src/components/ReagentList.vue +0 -438
- package/src/components/SampleLegend.story.vue +0 -91
- package/src/components/SampleLegend.vue +0 -121
- package/src/components/SmartGroupModal.story.vue +0 -61
- package/src/components/SmartGroupModal.vue +0 -61
- package/src/components/StatusIndicator.story.vue +0 -99
- package/src/components/StatusIndicator.vue +0 -36
- package/src/components/UnitInput.story.vue +0 -194
- package/src/composables/flattenWorkspaceBindings.ts +0 -104
- package/src/composables/useBioTemplateComponents.ts +0 -117
- package/src/composables/useBioTemplateControls.ts +0 -45
- package/src/composables/useBioTemplatePackWorkspace.ts +0 -201
- package/src/composables/useBioTemplatePresetWorkspace.ts +0 -329
- package/src/composables/useBioTemplateWorkspace.ts +0 -120
- package/src/composables/useChemicalFormula.ts +0 -301
- package/src/composables/useDoseCalculator.ts +0 -370
- package/src/composables/useExperimentSave.ts +0 -348
- package/src/composables/useGroupAssignment.ts +0 -152
- package/src/composables/useJobsStatusTray.ts +0 -493
- package/src/composables/useMobileSupportGate.ts +0 -80
- package/src/composables/usePlatformContext.ts +0 -299
- package/src/composables/usePresenceHeartbeat.ts +0 -201
- package/src/composables/useRuntimeAlignment.ts +0 -184
- package/src/composables/useTemplateCollection.ts +0 -233
- package/src/composables/workspaceRecipes.ts +0 -268
- package/src/lcms.ts +0 -119
- package/src/styles/components/app-avatar-menu.css +0 -121
- package/src/styles/components/experiment-data-viewer.css +0 -138
- package/src/styles/components/experiment-timeline.css +0 -572
- package/src/styles/components/fit-panel.css +0 -153
- package/src/styles/components/group-assigner.css +0 -198
- package/src/styles/components/mobile-support-gate.css +0 -117
- package/src/styles/components/reagent-editor.css +0 -501
- package/src/styles/components/reagent-list.css +0 -408
- package/src/styles/components/sample-legend.css +0 -212
- package/src/styles/components/status-indicator.css +0 -66
- package/src/styles/components/theme-toggle.css +0 -6
- package/src/tailwind.preset.ts +0 -66
- package/src/templates/adapters.ts +0 -141
- package/src/templates/assayLookups.ts +0 -33
- package/src/templates/assayMatrixAdapters.ts +0 -85
- package/src/templates/assayMatrixBuilder.ts +0 -60
- package/src/templates/assayNormalizers.ts +0 -34
- package/src/templates/builderIdUtils.ts +0 -20
- package/src/templates/builderPresetControls.ts +0 -166
- package/src/templates/builderReadUtils.ts +0 -55
- package/src/templates/builders.ts +0 -122
- package/src/templates/calibrationCurveAdapters.ts +0 -62
- package/src/templates/calibrationCurveBuilder.ts +0 -100
- package/src/templates/calibrationNormalizers.ts +0 -60
- package/src/templates/catalog.ts +0 -249
- package/src/templates/componentBindingCatalog.ts +0 -90
- package/src/templates/componentBindingHelpers.ts +0 -93
- package/src/templates/componentBindings.ts +0 -279
- package/src/templates/componentDoseResponseProps.ts +0 -41
- package/src/templates/componentGenericProps.ts +0 -77
- package/src/templates/componentPlateHelpers.ts +0 -52
- package/src/templates/componentPlateMapProps.ts +0 -34
- package/src/templates/componentPropsFactory.ts +0 -21
- package/src/templates/componentQpcrPlateProps.ts +0 -27
- package/src/templates/componentTargetResolvers.ts +0 -67
- package/src/templates/componentTemplateProps.ts +0 -78
- package/src/templates/controlSchemaClone.ts +0 -32
- package/src/templates/controlSchemaConstants.ts +0 -11
- package/src/templates/controlSchemaMerge.ts +0 -40
- package/src/templates/controlSchemaTargets.ts +0 -85
- package/src/templates/controlSchemaTypes.ts +0 -20
- package/src/templates/controlSchemas.ts +0 -113
- package/src/templates/defaultBioTemplateBuilder.ts +0 -125
- package/src/templates/doseResponseAdapters.ts +0 -36
- package/src/templates/doseResponseBuilder.ts +0 -45
- package/src/templates/elisaAssayCollectionBuilder.ts +0 -63
- package/src/templates/flowCytometryAssayCollectionBuilder.ts +0 -42
- package/src/templates/flowCytometryPanelBuilder.ts +0 -54
- package/src/templates/flowNormalizers.ts +0 -58
- package/src/templates/flowPanelAdapters.ts +0 -61
- package/src/templates/index.ts +0 -330
- package/src/templates/instrumentRunAdapterHelpers.ts +0 -94
- package/src/templates/instrumentRunAdapters.ts +0 -174
- package/src/templates/instrumentRunBuilder.ts +0 -98
- package/src/templates/lcmsBatchCollectionBuilder.ts +0 -39
- package/src/templates/lookup.ts +0 -18
- package/src/templates/packs.ts +0 -166
- package/src/templates/plateMapAdapters.ts +0 -38
- package/src/templates/plateMapBuilder.ts +0 -44
- package/src/templates/presetControlSchemas.ts +0 -258
- package/src/templates/presets.ts +0 -183
- package/src/templates/protocolAdapters.ts +0 -73
- package/src/templates/protocolNormalizers.ts +0 -37
- package/src/templates/protocolStepsBuilder.ts +0 -37
- package/src/templates/qpcrAdapters.ts +0 -108
- package/src/templates/qpcrExpressionCollectionBuilder.ts +0 -34
- package/src/templates/qpcrPlateBuilder.ts +0 -97
- package/src/templates/reagentAdapters.ts +0 -81
- package/src/templates/reagentListBuilder.ts +0 -31
- package/src/templates/runNormalizers.ts +0 -63
- package/src/templates/sampleNormalizers.ts +0 -58
- package/src/templates/samplePrepAdapters.ts +0 -66
- package/src/templates/samplePrepBuilder.ts +0 -52
- package/src/templates/sampleSheetAdapters.ts +0 -79
- package/src/templates/sampleSheetBuilder.ts +0 -24
- package/src/templates/targetedMetabolomicsCollectionBuilder.ts +0 -80
- package/src/templates/targetedMetabolomicsHelpers.ts +0 -102
- package/src/templates/templateAdapterTypes.ts +0 -58
- package/src/templates/templateControlSchemas.ts +0 -320
- package/src/templates/templateCreateOptions.ts +0 -208
- package/src/templates/templateEnvelopes.ts +0 -145
- package/src/templates/templatePackCollectionBuilder.ts +0 -24
- package/src/templates/templatePresetCollectionBuilder.ts +0 -141
- package/src/templates/templateQpcrTypes.ts +0 -48
- package/src/templates/templateValidators.ts +0 -426
- package/src/templates/timeCourseAdapters.ts +0 -77
- package/src/templates/timeCourseBuilder.ts +0 -65
- package/src/templates/types.ts +0 -493
- package/src/templates/wellPlateScreenCollectionBuilder.ts +0 -37
- package/src/templates/westernBlotAssayCollectionBuilder.ts +0 -69
- package/src/utils/rack.ts +0 -225
- /package/dist/__tests__/components/{AppAvatarMenu.test.d.ts → BaseButton.test.d.ts} +0 -0
- /package/dist/__tests__/components/{AppTopBar.navigation.test.d.ts → BaseCheckbox.switch.test.d.ts} +0 -0
- /package/dist/__tests__/components/{AppTopBarPresence.test.d.ts → BaseSelect.multiple.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BaseToggle.test.d.ts → BaseSelect.searchable.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplateExperimentWorkspaceView.test.d.ts → ConfirmDialog.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplatePackWorkspaceView.test.d.ts → DatePicker.datetime.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplatePresetWorkspaceView.test.d.ts → DatePicker.time.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplateRenderer.test.d.ts → FormSchemaInternal.test.d.ts} +0 -0
- /package/dist/__tests__/components/{ControlWorkspaceView.test.d.ts → InstrumentStatusPanels.test.d.ts} +0 -0
- /package/dist/__tests__/components/{DateTimePicker.test.d.ts → NumberInput.units.test.d.ts} +0 -0
- /package/dist/__tests__/components/{DoseDesignWorkspaceView.test.d.ts → PresenceAvatars.test.d.ts} +0 -0
- /package/dist/__tests__/components/{ExperimentTimeline.test.d.ts → StaleFormBanner.test.d.ts} +0 -0
- /package/dist/__tests__/components/{FitPanel.test.d.ts → deprecationTags.test.d.ts} +0 -0
- /package/dist/__tests__/{components/GroupAssigner.test.d.ts → composables/createClient.test.d.ts} +0 -0
- /package/dist/__tests__/{components/MobileSupportGate.test.d.ts → composables/eventStream.test.d.ts} +0 -0
- /package/dist/__tests__/{components/MultiSelect.test.d.ts → composables/useArtifacts.test.d.ts} +0 -0
- /package/dist/__tests__/{components/ReagentList.presentation.test.d.ts → composables/useExperiment.test.d.ts} +0 -0
- /package/dist/__tests__/{components/ReagentList.test.d.ts → composables/useJobCenter.test.d.ts} +0 -0
- /package/dist/__tests__/{components/SampleLegend.test.d.ts → composables/useJobsEndpoint.test.d.ts} +0 -0
- /package/dist/__tests__/{components/SearchableSelect.test.d.ts → composables/usePlatform.test.d.ts} +0 -0
- /package/dist/__tests__/{components/SmartGroupModal.test.d.ts → composables/usePresence.test.d.ts} +0 -0
- /package/dist/__tests__/{components/TimePicker.test.d.ts → composables/useRealtime.test.d.ts} +0 -0
- /package/dist/__tests__/{components/UnitInput.test.d.ts → composables/useRequest.test.d.ts} +0 -0
- /package/dist/__tests__/{components/WellPlate.sampleTypeIndicator.test.d.ts → composables/useVersionedSave.test.d.ts} +0 -0
- /package/dist/__tests__/{components/iconButtonIconSizing.test.d.ts → utils/formula.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useAnalysisArtifacts.test.d.ts → utils/time.test.d.ts} +0 -0
- /package/dist/components/{FormActions.vue.d.ts → internal/FormActionsInternal.vue.d.ts} +0 -0
- /package/dist/{composables → components/internal}/autoGroup/colors.d.ts +0 -0
- /package/dist/{composables → components/internal}/autoGroup/index.d.ts +0 -0
- /package/dist/{composables → components/internal}/autoGroup/tokenize.d.ts +0 -0
- /package/src/{composables → components/internal}/autoGroup/colors.ts +0 -0
- /package/src/{composables → components/internal}/autoGroup/tokenize.ts +0 -0
- /package/src/{composables → components/internal}/autoGroup/vocab.json +0 -0
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ControlComponentBinding, ControlComponentBindingsById, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from './useControlSchema';
|
|
1
|
+
import { PluginWorkspaceSidebarSpec, PluginWorkspaceTopBarSpec } from '../types';
|
|
2
|
+
import { ControlComponentBinding, ControlComponentBindingsById } from './useControlSchema';
|
|
4
3
|
/**
|
|
5
4
|
* Scoped-slot payload shared by PluginWorkspaceView's `default`, `topbar`, and `sidebar`
|
|
6
5
|
* slots: the resolved active view plus the values and component bindings/props derived
|
|
7
|
-
* from the
|
|
6
|
+
* from the sidebar control model. WorkspaceControlsInternal renders a component's default
|
|
8
7
|
* slot bound to exactly this shape.
|
|
9
8
|
*/
|
|
10
9
|
export interface PluginWorkspaceControlsModel {
|
|
11
10
|
/** Currently resolved workspace view id. */
|
|
12
11
|
activeView: string;
|
|
13
|
-
/** Sets the active view, updating any uncontrolled state and emitting `update:
|
|
12
|
+
/** Sets the active view, updating any uncontrolled state and emitting `update:view`. */
|
|
14
13
|
setActiveView: (viewId: string) => void;
|
|
15
14
|
/** Current control values, shared between the auto-rendered sidebar form and the default slot. */
|
|
16
15
|
values: Record<string, unknown>;
|
|
@@ -25,8 +24,8 @@ export interface PluginWorkspaceControlsModel {
|
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
26
|
* Resolved AppLayout + AppTopBar configuration consumed by WorkspaceShellInternal: top bar
|
|
28
|
-
*
|
|
29
|
-
*
|
|
27
|
+
* spec and active pill, plus the AppLayout layout props that own the responsive mobile
|
|
28
|
+
* sidebar toggle.
|
|
30
29
|
*/
|
|
31
30
|
export interface PluginWorkspaceShellModel {
|
|
32
31
|
/** AppLayout sidebar position. */
|
|
@@ -43,117 +42,35 @@ export interface PluginWorkspaceShellModel {
|
|
|
43
42
|
sidebarCloseLabel: string;
|
|
44
43
|
/** Whether AppLayout should render a `#sidebar` template at all. */
|
|
45
44
|
hasSidebarSurface: boolean;
|
|
46
|
-
/**
|
|
47
|
-
title
|
|
45
|
+
/** Top bar title. Unset, the top bar shows the plugin identity (`providePluginIdentity` or the platform). */
|
|
46
|
+
title?: string;
|
|
48
47
|
/** Secondary copy shown under the title. */
|
|
49
48
|
subtitle?: string;
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
/** Home link used by the top bar brand icon. */
|
|
53
|
-
homePath: string;
|
|
54
|
-
/** Show the default MINT logo when no icon/logo slot is provided. */
|
|
55
|
-
showLogo: boolean;
|
|
56
|
-
/** Preferred route-level page selector entries. */
|
|
57
|
-
pageSelector?: PageSelectorItemInput[];
|
|
58
|
-
/** Resolved active page selector id. */
|
|
59
|
-
currentPageSelectorId: string;
|
|
60
|
-
/** Resolved centered pill navigation, generated from the control schema when omitted. */
|
|
61
|
-
pillNav?: PillNavItemInput[];
|
|
49
|
+
/** AppTopBar spec with the workspace defaults applied and the generated pills filled in; `false` removes the top bar. */
|
|
50
|
+
topBar: false | PluginWorkspaceTopBarSpec;
|
|
62
51
|
/** Resolved active centered pill id. */
|
|
63
|
-
|
|
64
|
-
/** Show the theme toggle button. */
|
|
65
|
-
showThemeToggle: boolean;
|
|
66
|
-
/** Show the settings button and modal. */
|
|
67
|
-
showSettings: boolean;
|
|
68
|
-
/** Built-in settings modal configuration. */
|
|
69
|
-
settingsConfig?: TopBarSettingsConfig;
|
|
70
|
-
/** Show the standalone badge when not integrated into the platform. */
|
|
71
|
-
showStandaloneLabel: boolean;
|
|
72
|
-
/** Custom standalone badge label. */
|
|
73
|
-
standaloneLabel: string;
|
|
74
|
-
/** Account dropdown entries. */
|
|
75
|
-
accountMenu?: AccountMenuItem[];
|
|
76
|
-
/** Show the notifications icon button. */
|
|
77
|
-
showNotifications: boolean;
|
|
78
|
-
/** Draw a notification dot on the notifications icon. */
|
|
79
|
-
hasNotificationDot: boolean;
|
|
80
|
-
/** Show the admin shortcut. */
|
|
81
|
-
showAdmin: boolean;
|
|
82
|
-
/** Route used by the admin shortcut. */
|
|
83
|
-
adminPath: string;
|
|
84
|
-
/** Account display name. */
|
|
85
|
-
userName?: string;
|
|
86
|
-
/** Explicit account avatar initial. */
|
|
87
|
-
userInitial?: string;
|
|
88
|
-
/** Account email shown in the avatar menu. */
|
|
89
|
-
userEmail?: string;
|
|
52
|
+
pill: string;
|
|
90
53
|
/** Names of AppTopBar passthrough slots the caller actually provided. */
|
|
91
54
|
topBarSlotNames: string[];
|
|
92
55
|
/** Scoped-slot payload exposed to the `topbar` override slot. */
|
|
93
56
|
controls: PluginWorkspaceControlsModel;
|
|
94
57
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolved AppSidebar configuration consumed by WorkspaceSidebarInternal: sidebar chrome,
|
|
97
|
-
* panels/forms, collapse behavior, and the compact control-schema props that drive
|
|
98
|
-
* AppSidebar's auto-generated form.
|
|
99
|
-
*/
|
|
58
|
+
/** Resolved AppSidebar configuration consumed by WorkspaceSidebarInternal. */
|
|
100
59
|
export interface PluginWorkspaceSidebarModel {
|
|
101
|
-
/**
|
|
102
|
-
|
|
103
|
-
/** Sidebar chrome subtitle. */
|
|
104
|
-
subtitle?: string;
|
|
105
|
-
/** Optional compact badge/count rendered in the sidebar header. */
|
|
106
|
-
badge?: string | number;
|
|
107
|
-
/** Map of view IDs to sidebar tool sections. */
|
|
108
|
-
panels: Record<string, SidebarToolSection[]>;
|
|
60
|
+
/** AppSidebar spec with the workspace defaults applied. */
|
|
61
|
+
spec: PluginWorkspaceSidebarSpec;
|
|
109
62
|
/** Resolved active view, used to pick which panels/forms render. */
|
|
110
63
|
activeView: string;
|
|
111
|
-
/** AppSidebar floating style (always false: PluginWorkspaceView docks the sidebar inside AppLayout). */
|
|
112
|
-
floating: boolean;
|
|
113
|
-
/** Compact AppSidebar density. */
|
|
114
|
-
dense: boolean;
|
|
115
|
-
/** Sidebar CSS width. */
|
|
116
|
-
width?: string;
|
|
117
|
-
/** Sidebar position, mirrors the shell's `sidebarPosition`. */
|
|
118
|
-
side: 'left' | 'right';
|
|
119
|
-
/** Optional FormBuilder schemas keyed by section ID. */
|
|
120
|
-
forms: Record<string, FormSchema>;
|
|
121
|
-
/** DOM id for the AppSidebar scrollable content area. */
|
|
122
|
-
contentId?: string;
|
|
123
|
-
/** Render the sidebar shell even when no panel matches the active view. */
|
|
124
|
-
showWhenEmpty: boolean;
|
|
125
|
-
/** Optional compact control model for the generated sidebar form. */
|
|
126
|
-
model?: ControlModel | ControlModelBinding;
|
|
127
|
-
/** Compact control schema for the generated sidebar form. */
|
|
128
|
-
controlSchema?: ControlSchema;
|
|
129
|
-
/** Options passed to compact control schema generation. */
|
|
130
|
-
controlOptions: ControlWorkspaceOptions;
|
|
131
64
|
/** Shared values for the auto-rendered sidebar form. */
|
|
132
65
|
values: Record<string, unknown>;
|
|
133
|
-
/**
|
|
134
|
-
|
|
135
|
-
/** Show submit/cancel actions inside the auto-rendered sidebar form. */
|
|
136
|
-
showFormActions: boolean;
|
|
66
|
+
/** Controlled sidebar collapsed state. */
|
|
67
|
+
collapsed?: boolean;
|
|
137
68
|
/** Loading/saving state for the auto-rendered sidebar form. */
|
|
138
69
|
formLoading: boolean;
|
|
139
70
|
/** Disabled state for the auto-rendered sidebar form. */
|
|
140
71
|
formDisabled: boolean;
|
|
141
72
|
/** Readonly state for the auto-rendered sidebar form. */
|
|
142
73
|
formReadonly: boolean;
|
|
143
|
-
/** Size passed to the auto-rendered sidebar form. */
|
|
144
|
-
formSize: 'sm' | 'md' | 'lg';
|
|
145
|
-
/** Show a built-in collapse/expand button in the sidebar chrome. */
|
|
146
|
-
collapsible?: boolean;
|
|
147
|
-
/** Controlled sidebar collapsed state. */
|
|
148
|
-
collapsed?: boolean;
|
|
149
|
-
/** Initial sidebar collapsed state when uncontrolled. */
|
|
150
|
-
defaultCollapsed: boolean;
|
|
151
|
-
/** Sidebar width when collapsed. */
|
|
152
|
-
collapsedWidth: string;
|
|
153
|
-
/** Accessible label for the sidebar collapse action. */
|
|
154
|
-
collapseButtonLabel: string;
|
|
155
|
-
/** Accessible label for the sidebar expand action. */
|
|
156
|
-
expandButtonLabel: string;
|
|
157
74
|
/** Names of AppSidebar passthrough slots the caller actually provided. */
|
|
158
75
|
slotNames: string[];
|
|
159
76
|
}
|
|
@@ -17,8 +17,6 @@ export interface ApiClientOptions {
|
|
|
17
17
|
baseUrl?: string;
|
|
18
18
|
timeout?: number;
|
|
19
19
|
withAuth?: boolean;
|
|
20
|
-
/** Normalize failed responses into MintApiError. Generated clients enable this by default. */
|
|
21
|
-
typedErrors?: boolean;
|
|
22
20
|
}
|
|
23
21
|
export interface UseApiReturn {
|
|
24
22
|
client: AxiosInstance;
|
|
@@ -32,5 +30,5 @@ export interface UseApiReturn {
|
|
|
32
30
|
buildUrl: (path: string) => string;
|
|
33
31
|
buildWsUrl: (path: string) => string;
|
|
34
32
|
}
|
|
35
|
-
/** Axios-based API client that injects the plugin base URL and JWT auth header on every request. */
|
|
33
|
+
/** Axios-based API client that injects the plugin base URL and JWT auth header on every request. A failed response rejects with a `MintApiError`. */
|
|
36
34
|
export declare function useApi(options?: ApiClientOptions): UseApiReturn;
|
|
@@ -10,11 +10,18 @@ export interface UseAppExperimentOptions {
|
|
|
10
10
|
onDetach?: () => void;
|
|
11
11
|
saveDisabled?: Ref<boolean> | ComputedRef<boolean>;
|
|
12
12
|
saveDisabledMessage?: string | Ref<string | undefined> | ComputedRef<string | undefined>;
|
|
13
|
+
/** Unsaved changes; marks the Save button with a dot. */
|
|
14
|
+
dirty?: Ref<boolean> | ComputedRef<boolean>;
|
|
13
15
|
}
|
|
14
16
|
export interface AppExperimentPopoverBinding {
|
|
15
17
|
experimentName?: string;
|
|
16
18
|
experimentCode?: string;
|
|
17
19
|
experimentStatus?: ExperimentStatus;
|
|
20
|
+
experimentId?: number | null;
|
|
21
|
+
experimentProject?: string;
|
|
22
|
+
experimentOwner?: string;
|
|
23
|
+
/** ISO timestamp of the experiment's last update. */
|
|
24
|
+
experimentUpdatedAt?: string;
|
|
18
25
|
/** An experiment is bound but its record has not arrived yet. */
|
|
19
26
|
isResolving: boolean;
|
|
20
27
|
/** Resolution failed; the binding is kept so the user can retry or detach. */
|
|
@@ -25,9 +32,10 @@ export interface AppExperimentPopoverBinding {
|
|
|
25
32
|
saveDisabledMessage?: string;
|
|
26
33
|
saveLoading: boolean;
|
|
27
34
|
saveSuccessMessage?: string;
|
|
35
|
+
dirty?: boolean;
|
|
28
36
|
}
|
|
29
37
|
export interface AppExperimentSelectorModalBinding {
|
|
30
|
-
|
|
38
|
+
open: boolean;
|
|
31
39
|
currentExperimentId: number | null;
|
|
32
40
|
}
|
|
33
41
|
export interface UseAppExperimentReturn {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
|
|
2
2
|
import { AnalysisArtifactDetail, AnalysisArtifactMetadataUpdate, AnalysisArtifactStatusFilter, AnalysisArtifactSummary, AnalysisArtifactTarget } from '../types/analysisArtifactTypes';
|
|
3
3
|
export { ANALYSIS_FILE_ARTIFACT_SCHEMA } from '../types/analysisArtifactTypes';
|
|
4
|
-
export interface
|
|
5
|
-
/** Experiment id; defaults to
|
|
4
|
+
export interface UseArtifactsOptions {
|
|
5
|
+
/** Experiment id; defaults to the current experiment (`useExperimentStore`). Refetches when it changes. */
|
|
6
6
|
experimentId?: MaybeRefOrGetter<number | undefined>;
|
|
7
7
|
/** Override API base URL. */
|
|
8
8
|
apiBaseUrl?: string;
|
|
@@ -13,14 +13,14 @@ export interface UseAnalysisArtifactsOptions {
|
|
|
13
13
|
/** Fetch as soon as an experiment id is available. */
|
|
14
14
|
immediate?: boolean;
|
|
15
15
|
}
|
|
16
|
-
export interface
|
|
16
|
+
export interface UseArtifactsReturn {
|
|
17
17
|
/** Fetched artifacts, scoped to pluginId when set. */
|
|
18
18
|
artifacts: ComputedRef<AnalysisArtifactSummary[]>;
|
|
19
19
|
/** Artifacts after applying statusFilter, pluginFilter, and search. */
|
|
20
20
|
visibleArtifacts: ComputedRef<AnalysisArtifactSummary[]>;
|
|
21
21
|
/** Detail loaded by the last successful getDetail call, or null. */
|
|
22
22
|
selectedDetail: Ref<AnalysisArtifactDetail | null>;
|
|
23
|
-
/** Resolved experiment id from options
|
|
23
|
+
/** Resolved experiment id from options or the current experiment. */
|
|
24
24
|
currentExperimentId: ComputedRef<number | undefined>;
|
|
25
25
|
/** Whether an experiment id is available. */
|
|
26
26
|
hasCurrentExperiment: ComputedRef<boolean>;
|
|
@@ -62,8 +62,8 @@ export interface UseAnalysisArtifactsReturn {
|
|
|
62
62
|
*
|
|
63
63
|
* @example Recommended
|
|
64
64
|
* ```ts
|
|
65
|
-
* const artifacts =
|
|
65
|
+
* const artifacts = useArtifacts({ pluginId: 'LEAF' })
|
|
66
66
|
* await artifacts.list()
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
|
-
export declare function
|
|
69
|
+
export declare function useArtifacts(options?: UseArtifactsOptions): UseArtifactsReturn;
|
|
@@ -22,5 +22,5 @@ export interface UseCalendarGridReturn {
|
|
|
22
22
|
prevMonth: () => void;
|
|
23
23
|
nextMonth: () => void;
|
|
24
24
|
}
|
|
25
|
-
/** Shared calendar grid state for date and datetime pickers. */
|
|
25
|
+
/** Shared Monday-first calendar grid state for date and datetime pickers. */
|
|
26
26
|
export declare function useCalendarGrid(options?: UseCalendarGridOptions): UseCalendarGridReturn;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ComputedRef } from 'vue';
|
|
2
|
+
import { ExperimentSummary } from '../types';
|
|
3
|
+
/** Load state of the current experiment record. */
|
|
4
|
+
export type ExperimentLoadStatus = 'idle' | 'loading' | 'ready' | 'error';
|
|
5
|
+
export interface UseExperimentReturn {
|
|
6
|
+
/** Id of the current experiment; `null` when none is selected. */
|
|
7
|
+
id: ComputedRef<number | null>;
|
|
8
|
+
/** Record of the current experiment, once the platform returned it. */
|
|
9
|
+
current: ComputedRef<ExperimentSummary | null>;
|
|
10
|
+
/** `idle` with no selection, then `loading`, `ready` or `error`. */
|
|
11
|
+
status: ComputedRef<ExperimentLoadStatus>;
|
|
12
|
+
/** Message of the last failed load, or `null`. */
|
|
13
|
+
error: ComputedRef<string | null>;
|
|
14
|
+
/** Read the current experiment again. The selection does not change. */
|
|
15
|
+
refresh: () => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Read the experiment the plugin page works on.
|
|
19
|
+
*
|
|
20
|
+
* The platform selects the experiment and keeps it in step with the URL; this
|
|
21
|
+
* composable only reads it. Watch `id` to respond to a change. In standalone
|
|
22
|
+
* mode no experiment is selected and `id` stays `null`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const experiment = useExperiment()
|
|
27
|
+
* watch(experiment.id, (id) => { if (id !== null) void load(id) }, { immediate: true })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function useExperiment(): UseExperimentReturn;
|
|
@@ -6,6 +6,8 @@ export interface UseExperimentSelectorOptions {
|
|
|
6
6
|
apiBaseUrl?: string;
|
|
7
7
|
limit?: number;
|
|
8
8
|
immediate?: boolean;
|
|
9
|
+
/** Keep `statusCounts` in step with the non-status filters (one stats request per change). */
|
|
10
|
+
withStatusCounts?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export interface UseExperimentSelectorReturn {
|
|
11
13
|
/** Current page of fetched experiment rows. */
|
|
@@ -32,8 +34,8 @@ export interface UseExperimentSelectorReturn {
|
|
|
32
34
|
experimentTypes: Ref<ExperimentTypeOption[]>;
|
|
33
35
|
/** Available project options for filter UI. */
|
|
34
36
|
projects: Ref<SelectOption<string>[]>;
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
+
/** Experiment count per status under every filter except status itself. */
|
|
38
|
+
statusCounts: Ref<Record<string, number>>;
|
|
37
39
|
/** Fetch the current page with the current filters. */
|
|
38
40
|
fetch: () => Promise<void>;
|
|
39
41
|
/** Fetch and append the next page when available. */
|
|
@@ -46,6 +48,8 @@ export interface UseExperimentSelectorReturn {
|
|
|
46
48
|
clear: () => void;
|
|
47
49
|
/** Fetch experiment type and project filter options. */
|
|
48
50
|
fetchFilterOptions: () => Promise<void>;
|
|
51
|
+
/** Fetch `statusCounts` from `GET /experiments/stats`. */
|
|
52
|
+
fetchStatusCounts: () => Promise<void>;
|
|
49
53
|
}
|
|
50
54
|
/** Fetches a paginated, filtered experiment list from the platform API for picker and selector UIs. */
|
|
51
55
|
export declare function useExperimentSelector(options?: UseExperimentSelectorOptions): UseExperimentSelectorReturn;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Ref } from 'vue';
|
|
2
2
|
import { PickerAdapter, PickerCapabilities, PickerNode, PickerSelection, PickerSelectionMode, PickerSort, PickerSource } from '../types/filePicker';
|
|
3
|
-
import {
|
|
3
|
+
import { OptionPrimitive, SelectOption } from '../types';
|
|
4
4
|
interface PickerStateProps {
|
|
5
5
|
open: boolean;
|
|
6
6
|
adapter: PickerAdapter;
|
|
@@ -21,7 +21,7 @@ type PickerEmit = {
|
|
|
21
21
|
export declare function useFilePicker(props: PickerStateProps, emit: PickerEmit, searchArea: Ref<HTMLElement | null>): {
|
|
22
22
|
previewNode: import('vue').ComputedRef<PickerNode>;
|
|
23
23
|
sourceNames: Record<PickerSource, string>;
|
|
24
|
-
segments: import('vue').ComputedRef<
|
|
24
|
+
segments: import('vue').ComputedRef<SelectOption<OptionPrimitive>[]>;
|
|
25
25
|
activeSegment: import('vue').ComputedRef<string>;
|
|
26
26
|
mounts: import('vue').ShallowRef<PickerNode[], PickerNode[]>;
|
|
27
27
|
mountView: import('vue').ComputedRef<boolean>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from 'vue';
|
|
2
|
+
import { JobListPayload, JobState, JobStateInput } from '../types/jobs';
|
|
3
|
+
export type JobsStatusTrayTab = 'active' | 'history';
|
|
4
|
+
/**
|
|
5
|
+
* The canonical owner of a collection of plugin jobs.
|
|
6
|
+
*
|
|
7
|
+
* Sources, rather than job-center UI, own polling, event streams, and all job
|
|
8
|
+
* mutations. This keeps components and consumers on one reactive job graph.
|
|
9
|
+
*/
|
|
10
|
+
export interface PluginJobCenterSource {
|
|
11
|
+
jobs: MaybeRefOrGetter<readonly JobStateInput[]>;
|
|
12
|
+
refresh?: () => Promise<JobListPayload | readonly JobStateInput[] | void>;
|
|
13
|
+
cancel?: (jobId: string) => Promise<JobStateInput | void>;
|
|
14
|
+
delete?: (jobId: string) => Promise<boolean | void>;
|
|
15
|
+
clear?: () => Promise<number | void>;
|
|
16
|
+
dispose?: () => void;
|
|
17
|
+
}
|
|
18
|
+
export interface CombinedPluginJobCenterSource extends PluginJobCenterSource {
|
|
19
|
+
jobs: ComputedRef<readonly JobStateInput[]>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Combines independent job runtimes without copying their reactive state.
|
|
23
|
+
*
|
|
24
|
+
* Job ids must be globally unique across the sources. A duplicate id throws
|
|
25
|
+
* when jobs are read or an id-routed action is requested, rather than silently
|
|
26
|
+
* dispatching a mutation to the wrong owner.
|
|
27
|
+
*/
|
|
28
|
+
export declare function combinePluginJobSources(sources: readonly PluginJobCenterSource[]): CombinedPluginJobCenterSource;
|
|
29
|
+
export interface UseJobCenterOptions {
|
|
30
|
+
source?: MaybeRefOrGetter<PluginJobCenterSource | undefined>;
|
|
31
|
+
loadOnMount?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface UseJobCenterReturn {
|
|
34
|
+
jobs: ComputedRef<JobState[]>;
|
|
35
|
+
activeJobs: ComputedRef<JobState[]>;
|
|
36
|
+
historyJobs: ComputedRef<JobState[]>;
|
|
37
|
+
deletableJobs: ComputedRef<JobState[]>;
|
|
38
|
+
featuredJob: ComputedRef<JobState | null>;
|
|
39
|
+
canRefresh: ComputedRef<boolean>;
|
|
40
|
+
canCancel: ComputedRef<boolean>;
|
|
41
|
+
canDelete: ComputedRef<boolean>;
|
|
42
|
+
canClearFinished: ComputedRef<boolean>;
|
|
43
|
+
isOpen: Ref<boolean>;
|
|
44
|
+
activeTab: Ref<JobsStatusTrayTab>;
|
|
45
|
+
isLoading: Ref<boolean>;
|
|
46
|
+
error: ShallowRef<string | null>;
|
|
47
|
+
pendingJobIds: Ref<Set<string>>;
|
|
48
|
+
open: () => void;
|
|
49
|
+
close: () => void;
|
|
50
|
+
toggle: () => void;
|
|
51
|
+
refresh: () => Promise<boolean>;
|
|
52
|
+
cancelJob: (job: JobState) => Promise<boolean>;
|
|
53
|
+
deleteJob: (job: JobState) => Promise<boolean>;
|
|
54
|
+
clearFinished: () => Promise<boolean>;
|
|
55
|
+
isPending: (job: JobState) => boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Headless controller for plugin job presentation and actions.
|
|
59
|
+
*
|
|
60
|
+
* Every job list is derived directly from the source. The controller never
|
|
61
|
+
* mirrors source jobs into another ref.
|
|
62
|
+
*/
|
|
63
|
+
export declare function useJobCenter(options?: UseJobCenterOptions): UseJobCenterReturn;
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import { ComputedRef, Ref, ShallowRef } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { PluginJobCenterSource } from './useJobCenter';
|
|
3
3
|
import { GeneratedAnalysisJob, GeneratedAnalysisResult, GeneratedSession, GeneratedAnalysisManifest, PluginJobPathInput, PluginJobPathUpload, PluginJobStagedPartInput, PluginJobStagedPartUploadResult, PluginJobStaging, PluginJobStagingPagination } from '../types/generated-ui';
|
|
4
4
|
export type GeneratedAnalysisTransport = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
5
5
|
export interface GeneratedAnalysisTransportOptions {
|
|
6
6
|
fetcher?: typeof fetch;
|
|
7
7
|
getAccessToken?: () => string | null | undefined;
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
9
|
+
export interface UseJobsEndpointOptions {
|
|
10
10
|
baseUrl: string;
|
|
11
11
|
transport?: GeneratedAnalysisTransport;
|
|
12
12
|
storage?: Storage;
|
|
13
13
|
createId?: () => string;
|
|
14
|
-
|
|
14
|
+
/** Milliseconds between job list polls while no event stream is open. Default 750. */
|
|
15
|
+
poll?: number;
|
|
15
16
|
stream?: boolean;
|
|
16
17
|
streamReconnectDelay?: number;
|
|
18
|
+
/** List the existing jobs at once instead of on the first `submit()` or `refresh()`. */
|
|
17
19
|
immediate?: boolean;
|
|
20
|
+
/** Load the generated UI manifest (`/generated/manifest`) before the jobs. */
|
|
21
|
+
manifest?: boolean;
|
|
18
22
|
}
|
|
19
|
-
export type GeneratedAnalysisOptions = UsePluginJobsOptions;
|
|
20
23
|
export interface PluginJobWaitOptions {
|
|
21
24
|
signal?: AbortSignal;
|
|
22
25
|
rejectOnFailure?: boolean;
|
|
@@ -24,7 +27,7 @@ export interface PluginJobWaitOptions {
|
|
|
24
27
|
export interface PluginJobRequestOptions {
|
|
25
28
|
signal?: AbortSignal;
|
|
26
29
|
}
|
|
27
|
-
export interface
|
|
30
|
+
export interface UseJobsEndpointReturn extends PluginJobCenterSource {
|
|
28
31
|
manifest: ShallowRef<GeneratedAnalysisManifest | null>;
|
|
29
32
|
session: ShallowRef<GeneratedSession | null>;
|
|
30
33
|
jobs: ShallowRef<GeneratedAnalysisJob[]>;
|
|
@@ -33,39 +36,35 @@ export interface UsePluginJobsReturn extends PluginJobCenterSource {
|
|
|
33
36
|
isSubmitting: Ref<boolean>;
|
|
34
37
|
error: ShallowRef<string | null>;
|
|
35
38
|
status: ShallowRef<'idle' | 'initializing' | 'ready' | 'paused' | 'error' | 'disposed'>;
|
|
36
|
-
initialize: () => Promise<void>;
|
|
37
|
-
ready: () => Promise<void>;
|
|
38
39
|
uploadPath: (input: PluginJobPathInput, definitionId?: string) => Promise<PluginJobPathUpload>;
|
|
39
40
|
uploadStagedPart: <Metadata>(input: PluginJobStagedPartInput<Metadata>) => Promise<PluginJobStagedPartUploadResult<Metadata>>;
|
|
40
41
|
getJobStaging: <Metadata = unknown>(job: GeneratedAnalysisJob | string, pagination?: PluginJobStagingPagination) => Promise<PluginJobStaging<Metadata>>;
|
|
41
42
|
sealJob: (job: GeneratedAnalysisJob | string) => Promise<GeneratedAnalysisJob>;
|
|
43
|
+
/** Submit a job. The first call opens the job session. */
|
|
42
44
|
submit: (definitionId: string, inputs: Record<string, unknown>) => Promise<GeneratedAnalysisJob>;
|
|
43
|
-
|
|
45
|
+
result: (job: GeneratedAnalysisJob) => Promise<GeneratedAnalysisResult | null>;
|
|
44
46
|
resultForJob: (jobId: string) => GeneratedAnalysisResult | null;
|
|
45
|
-
|
|
47
|
+
/** List the jobs again. The first call opens the job session. */
|
|
46
48
|
refresh: () => Promise<GeneratedAnalysisJob[]>;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
get: (jobId: string, options?: PluginJobRequestOptions) => Promise<GeneratedAnalysisJob>;
|
|
50
|
+
wait: (job: GeneratedAnalysisJob | string, options?: PluginJobWaitOptions) => Promise<GeneratedAnalysisJob>;
|
|
49
51
|
jobsFor: (definitionId: string) => GeneratedAnalysisJob[];
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
cancel: (job: GeneratedAnalysisJob | string) => Promise<GeneratedAnalysisJob>;
|
|
53
|
+
delete: (job: GeneratedAnalysisJob | string) => Promise<boolean>;
|
|
54
|
+
clear: (definitionId?: string) => Promise<number>;
|
|
53
55
|
pause: () => void;
|
|
54
56
|
resume: () => void;
|
|
55
57
|
dispose: () => void;
|
|
56
|
-
/** @deprecated Pass the runtime itself to SDK job UI as its source. */
|
|
57
|
-
jobsAdapter: JobsStatusTrayAdapter;
|
|
58
58
|
}
|
|
59
|
-
export type UseGeneratedAnalysisReturn = UsePluginJobsReturn;
|
|
60
59
|
export declare function createGeneratedAnalysisTransport(options?: GeneratedAnalysisTransportOptions): GeneratedAnalysisTransport;
|
|
61
|
-
export declare function useGeneratedAnalysis(options: GeneratedAnalysisOptions): UseGeneratedAnalysisReturn;
|
|
62
60
|
/**
|
|
63
|
-
* Connect a
|
|
61
|
+
* Connect a frontend to the SDK-owned job lifecycle of one plugin API prefix.
|
|
62
|
+
* Generated clients use it through `useJobs()`.
|
|
64
63
|
*
|
|
65
|
-
* @example
|
|
64
|
+
* @example
|
|
66
65
|
* ```ts
|
|
67
|
-
* const jobs =
|
|
68
|
-
* await jobs.
|
|
66
|
+
* const jobs = useJobsEndpoint({ baseUrl: '/api/leaf', immediate: true })
|
|
67
|
+
* const job = await jobs.submit('fit-plate', inputs)
|
|
69
68
|
* ```
|
|
70
69
|
*/
|
|
71
|
-
export declare function
|
|
70
|
+
export declare function useJobsEndpoint(options: UseJobsEndpointOptions): UseJobsEndpointReturn;
|
|
@@ -23,7 +23,7 @@ export interface UseMenuKeyboardReturn {
|
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Shared keyboard contract for menu- and listbox-style disclosure panels (the
|
|
26
|
-
* WAI-ARIA menu button pattern). Used by ActionMenu and
|
|
26
|
+
* WAI-ARIA menu button pattern). Used by ActionMenu and the platform account menu,
|
|
27
27
|
* each pairing it with `useDropdownState` for the disclosure state itself.
|
|
28
28
|
*/
|
|
29
29
|
export declare function useMenuKeyboard(options: UseMenuKeyboardOptions): UseMenuKeyboardReturn;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Access, ThemeMode } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Read the platform context the MINT platform injects into a plugin page.
|
|
4
|
+
*
|
|
5
|
+
* `can(access)` answers with the same three levels as the Python `access`
|
|
6
|
+
* option. A page with no signed-in user passes every check when it runs
|
|
7
|
+
* standalone or the platform reports `authRequired: false`; the platform
|
|
8
|
+
* still checks every request.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const platform = usePlatform()
|
|
13
|
+
* const canConfigure = computed(() => platform.can('configure'))
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function usePlatform(): {
|
|
17
|
+
integrated: import('vue').ComputedRef<boolean>;
|
|
18
|
+
plugin: import('vue').ComputedRef<{
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
display_name: string;
|
|
22
|
+
version: string;
|
|
23
|
+
plugin_type: string;
|
|
24
|
+
route_prefix: string;
|
|
25
|
+
api_prefix: string;
|
|
26
|
+
settings_api: "plugin" | "platform";
|
|
27
|
+
subtitle?: string | undefined;
|
|
28
|
+
description?: string | undefined;
|
|
29
|
+
icon?: string | undefined;
|
|
30
|
+
color?: string | undefined;
|
|
31
|
+
frontend_revision?: string | undefined;
|
|
32
|
+
nav_items?: {
|
|
33
|
+
path: string;
|
|
34
|
+
label: string;
|
|
35
|
+
id?: string | undefined;
|
|
36
|
+
icon?: string | undefined;
|
|
37
|
+
description?: string | undefined;
|
|
38
|
+
requiresAuth?: boolean | undefined;
|
|
39
|
+
access?: "use" | "configure" | "admin" | undefined;
|
|
40
|
+
requiresFeature?: string | undefined;
|
|
41
|
+
children?: /*elided*/ any[] | undefined;
|
|
42
|
+
}[] | undefined;
|
|
43
|
+
settings?: import('..').PluginSettings | undefined;
|
|
44
|
+
} | undefined>;
|
|
45
|
+
user: import('vue').ComputedRef<{
|
|
46
|
+
id: number;
|
|
47
|
+
username: string;
|
|
48
|
+
role: string;
|
|
49
|
+
shortname?: string | undefined;
|
|
50
|
+
role_obj?: {
|
|
51
|
+
id: number;
|
|
52
|
+
slug: string;
|
|
53
|
+
name: string;
|
|
54
|
+
color: string;
|
|
55
|
+
permissions: string[];
|
|
56
|
+
project_scope: string;
|
|
57
|
+
plugin_access: string[] | "all" | null;
|
|
58
|
+
} | undefined;
|
|
59
|
+
} | undefined>;
|
|
60
|
+
theme: import('vue').ComputedRef<ThemeMode>;
|
|
61
|
+
features: import('vue').ComputedRef<Record<string, boolean> | undefined>;
|
|
62
|
+
isAdmin: import('vue').ComputedRef<boolean>;
|
|
63
|
+
can: (access: Access) => boolean;
|
|
64
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComputedRef } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { PillNavItem } from '../types';
|
|
3
3
|
import { PluginWorkspaceViewEmit, PluginWorkspaceViewProps } from '../components/PluginWorkspaceView.props';
|
|
4
4
|
import { PluginWorkspaceControlsModel, PluginWorkspaceShellModel, PluginWorkspaceSidebarModel } from './pluginWorkspaceModel';
|
|
5
5
|
/**
|
|
@@ -25,24 +25,19 @@ export interface UsePluginWorkspaceReturn {
|
|
|
25
25
|
controls: ComputedRef<PluginWorkspaceControlsModel>;
|
|
26
26
|
/** Whether AppLayout should render a sidebar surface at all. */
|
|
27
27
|
hasSidebarSurface: ComputedRef<boolean>;
|
|
28
|
-
/** Applies an AppSidebar `update:
|
|
28
|
+
/** Applies an AppSidebar `update:values` payload to the shared control values and emits `update:values`. */
|
|
29
29
|
handleControlValuesUpdate: (values: Record<string, unknown>) => void;
|
|
30
|
-
/** Resolves an AppTopBar `
|
|
31
|
-
handlePageSelectorSelect: (page: PageSelectorItem) => void;
|
|
32
|
-
/** Resolves an AppTopBar `pill-select` payload into the active view and emits `pill-select`. */
|
|
30
|
+
/** Resolves an AppTopBar `pill-select` payload into the active view and emits `update:pill` and `pill-select`. */
|
|
33
31
|
handlePillSelect: (item: PillNavItem) => void;
|
|
34
32
|
}
|
|
35
33
|
/**
|
|
36
|
-
* Maps PluginWorkspaceView's
|
|
34
|
+
* Maps PluginWorkspaceView's `spec` and `v-model`s into the three typed model objects
|
|
37
35
|
* (`shell`, `sidebar`, `controls`) rendered by its internal pieces
|
|
38
|
-
* (WorkspaceShellInternal, WorkspaceSidebarInternal, WorkspaceControlsInternal).
|
|
39
|
-
* existing `usePluginWorkspaceControls` / `usePluginWorkspaceNavigation` composables and the
|
|
40
|
-
* PluginWorkspaceView.shell slot-detection helpers, so it changes only how that state is
|
|
41
|
-
* assembled and exposed, not the underlying behavior.
|
|
36
|
+
* (WorkspaceShellInternal, WorkspaceSidebarInternal, WorkspaceControlsInternal).
|
|
42
37
|
*
|
|
43
38
|
* @example Recommended
|
|
44
39
|
* ```ts
|
|
45
|
-
* const props =
|
|
40
|
+
* const props = defineProps<PluginWorkspaceViewProps>()
|
|
46
41
|
* const emit = defineEmits<PluginWorkspaceViewEmits>()
|
|
47
42
|
* const slots = useSlots()
|
|
48
43
|
* const { shell, sidebar, controls } = usePluginWorkspace({ props, slots, emit })
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { MaybeRefOrGetter, Ref } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* What a viewer does on a topic. The platform accepts a fixed set per topic
|
|
4
|
+
* kind: `experiment:{id}` takes all four labels, `project:{id}` only
|
|
5
|
+
* `viewing` and `editing`. `editing` means a form with unsaved edits is open;
|
|
6
|
+
* it is a hint, not a lock.
|
|
7
|
+
*/
|
|
8
|
+
export type PresenceActivity = 'viewing' | 'viewing_design' | 'viewing_results' | 'editing';
|
|
9
|
+
/** One user with an open realtime stream on the topic. */
|
|
10
|
+
export interface PresenceViewer {
|
|
11
|
+
user_id: string;
|
|
12
|
+
activity: PresenceActivity;
|
|
13
|
+
}
|
|
14
|
+
export interface UsePresenceReturn {
|
|
15
|
+
/** The viewers, `editing` first, at most 20; the current user is included. Empty while the stream is closed. */
|
|
16
|
+
viewers: Readonly<Ref<readonly PresenceViewer[]>>;
|
|
17
|
+
/** Every viewer, also those beyond the 20 in `viewers`. */
|
|
18
|
+
count: Readonly<Ref<number>>;
|
|
19
|
+
/** True while the shared realtime stream is open. */
|
|
20
|
+
connected: Readonly<Ref<boolean>>;
|
|
21
|
+
/** Unsubscribe; also runs when the calling component or effect scope is disposed. */
|
|
22
|
+
stop: () => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Who else views an `experiment:{id}` or `project:{id}` topic (RFC #439).
|
|
26
|
+
*
|
|
27
|
+
* Built on `useRealtime`: the tab's open stream on the topic is its presence,
|
|
28
|
+
* and `presence.changed` events update `viewers`. When `activity` is given,
|
|
29
|
+
* the label is sent to `POST /api/presence/activity` when the call starts on
|
|
30
|
+
* an open stream, each time the stream opens and each time the label changes;
|
|
31
|
+
* `stop` (also the end of the calling scope) sets it back to `viewing`.
|
|
32
|
+
* Without it, the platform shows the tab as `viewing`. Like `useRealtime`, it needs the platform's `realtime`
|
|
33
|
+
* feature flag; check that flag first.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const { viewers } = usePresence(
|
|
37
|
+
* () => `experiment:${id.value}`,
|
|
38
|
+
* () => (dirty.value ? 'editing' : 'viewing'),
|
|
39
|
+
* )
|
|
40
|
+
*/
|
|
41
|
+
export declare function usePresence(topic: MaybeRefOrGetter<string>, activity?: MaybeRefOrGetter<PresenceActivity>): UsePresenceReturn;
|