@morscherlab/mint-sdk 1.0.0-beta.7 → 1.0.0-rc.2
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 +9 -1
- package/dist/__tests__/components/LcmsSequenceTable.test.d.ts +1 -0
- package/dist/__tests__/components/ProgressBar.test.d.ts +1 -0
- package/dist/__tests__/components/RackEditor.test.d.ts +1 -0
- package/dist/__tests__/components/SequenceProgressBar.test.d.ts +1 -0
- package/dist/__tests__/composables/useExperimentSamples.test.d.ts +1 -0
- package/dist/__tests__/composables/useProtocolTemplates.test.d.ts +1 -0
- package/dist/__tests__/stores/settings.test.d.ts +1 -0
- package/dist/__tests__/utils/instrument.test.d.ts +1 -0
- package/dist/__tests__/utils/lcms.test.d.ts +1 -0
- package/dist/__tests__/utils/permissions.test.d.ts +1 -0
- package/dist/__tests__/utils/rack.test.d.ts +1 -0
- package/dist/{auth-QQj2kkze.js → auth-B7g4J4ZF.js} +148 -24
- package/dist/auth-B7g4J4ZF.js.map +1 -0
- package/dist/components/AutoGroupModal.vue.d.ts +1 -1
- package/dist/components/BaseCheckbox.vue.d.ts +1 -1
- package/dist/components/BaseToggle.vue.d.ts +2 -2
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +1 -1
- package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +1 -1
- package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +1 -1
- package/dist/components/DoseDesignWorkspaceView.vue.d.ts +1 -1
- package/dist/components/FormulaInput.vue.d.ts +1 -1
- package/dist/components/InstrumentAlertLog.vue.d.ts +22 -0
- package/dist/components/InstrumentStateBadge.vue.d.ts +11 -0
- package/dist/components/InstrumentStatusCard.vue.d.ts +13 -0
- package/dist/components/LcmsSequenceTable.vue.d.ts +26 -0
- package/dist/components/ProgressBar.vue.d.ts +1 -0
- package/dist/components/RackEditor.vue.d.ts +41 -3
- package/dist/components/ReagentList.vue.d.ts +1 -1
- package/dist/components/SampleSelector.vue.d.ts +5 -2
- package/dist/components/SegmentedControl.vue.d.ts +2 -0
- package/dist/components/SequenceInput.vue.d.ts +1 -1
- package/dist/components/SequenceProgressBar.vue.d.ts +15 -0
- package/dist/components/SettingsModal.vue.d.ts +8 -1
- package/dist/components/TagsInput.vue.d.ts +1 -1
- package/dist/components/WellPlate.vue.d.ts +42 -3
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.js +3 -3
- package/dist/{components-DihbSJjU.js → components-BhK-dW99.js} +2135 -1075
- package/dist/components-BhK-dW99.js.map +1 -0
- package/dist/composables/experimentDesignData.d.ts +17 -0
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/index.js +4 -4
- package/dist/composables/useControlSchema.d.ts +11 -0
- package/dist/composables/useExperimentData.d.ts +11 -3
- package/dist/composables/useExperimentSamples.d.ts +42 -0
- package/dist/composables/usePlatformContext.d.ts +54 -0
- package/dist/{composables-BcgZ6diz.js → composables-Bg7CFuNz.js} +5 -3
- package/dist/composables-Bg7CFuNz.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +168 -6
- package/dist/index.js.map +1 -0
- package/dist/install.js +2 -2
- package/dist/instrument.d.ts +7 -0
- package/dist/lcms.d.ts +27 -0
- package/dist/permissions.d.ts +46 -0
- package/dist/stores/auth.d.ts +74 -2
- package/dist/stores/index.js +1 -1
- package/dist/styles.css +3186 -1070
- package/dist/templates/builders.d.ts +7 -3
- package/dist/templates/index.d.ts +2 -2
- package/dist/templates/index.js +2 -2
- package/dist/templates/presets.d.ts +12 -0
- package/dist/templates/types.d.ts +16 -1
- package/dist/{templates-Cyt0Suwf.js → templates-BorLR_7p.js} +324 -10
- package/dist/templates-BorLR_7p.js.map +1 -0
- package/dist/types/auth.d.ts +2 -0
- package/dist/types/components.d.ts +32 -3
- package/dist/types/form-builder.d.ts +2 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/instrument.d.ts +56 -0
- package/dist/types/platform.d.ts +3 -0
- package/dist/{useExperimentData-CM6Y0u5L.js → useProtocolTemplates-n6AJqSqv.js} +627 -380
- package/dist/useProtocolTemplates-n6AJqSqv.js.map +1 -0
- package/dist/utils/rack.d.ts +47 -0
- package/package.json +1 -1
- package/src/__tests__/components/AppTopBar.test.ts +15 -0
- package/src/__tests__/components/BaseTabs.test.ts +15 -0
- package/src/__tests__/components/GroupAssigner.test.ts +18 -0
- package/src/__tests__/components/LcmsSequenceTable.test.ts +57 -0
- package/src/__tests__/components/ProgressBar.test.ts +18 -0
- package/src/__tests__/components/RackEditor.test.ts +125 -0
- package/src/__tests__/components/SampleSelector.test.ts +25 -0
- package/src/__tests__/components/SegmentedControl.test.ts +45 -0
- package/src/__tests__/components/SequenceProgressBar.test.ts +39 -0
- package/src/__tests__/components/SettingsModal.test.ts +83 -2
- package/src/__tests__/composables/useApi.test.ts +45 -0
- package/src/__tests__/composables/useAuth.test.ts +20 -0
- package/src/__tests__/composables/useControlSchema.test.ts +4 -0
- package/src/__tests__/composables/useExperimentData.test.ts +23 -0
- package/src/__tests__/composables/useExperimentSamples.test.ts +91 -0
- package/src/__tests__/composables/useProtocolTemplates.test.ts +64 -0
- package/src/__tests__/stores/settings.test.ts +78 -0
- package/src/__tests__/templates/templates.test.ts +86 -0
- package/src/__tests__/utils/instrument.test.ts +47 -0
- package/src/__tests__/utils/lcms.test.ts +73 -0
- package/src/__tests__/utils/permissions.test.ts +50 -0
- package/src/__tests__/utils/rack.test.ts +120 -0
- package/src/components/AppAvatarMenu.vue +6 -3
- package/src/components/AppTopBar.vue +16 -10
- package/src/components/AuditTrail.vue +1 -1
- package/src/components/BaseTabs.vue +22 -1
- package/src/components/Calendar.vue +6 -2
- package/src/components/ConcentrationInput.vue +3 -2
- package/src/components/GroupAssigner.vue +8 -3
- package/src/components/InstrumentAlertLog.vue +191 -0
- package/src/components/InstrumentStateBadge.vue +50 -0
- package/src/components/InstrumentStatusCard.vue +188 -0
- package/src/components/LcmsSequenceTable.vue +191 -0
- package/src/components/NumberInput.vue +5 -3
- package/src/components/ProgressBar.vue +3 -0
- package/src/components/RackEditor.vue +73 -2
- package/src/components/SampleHierarchyTree.vue +3 -2
- package/src/components/SampleSelector.vue +28 -9
- package/src/components/SegmentedControl.story.vue +17 -0
- package/src/components/SegmentedControl.vue +14 -3
- package/src/components/SequenceProgressBar.vue +71 -0
- package/src/components/SettingsModal.vue +49 -2
- package/src/components/UnitInput.vue +6 -2
- package/src/components/WellPlate.vue +145 -24
- package/src/components/index.ts +5 -0
- package/src/components/internal/WellEditPopupInternal.vue +1 -0
- package/src/composables/experimentDesignData.ts +182 -0
- package/src/composables/index.ts +14 -0
- package/src/composables/useApi.ts +113 -16
- package/src/composables/useAuth.ts +4 -0
- package/src/composables/useAutoGroup.ts +18 -9
- package/src/composables/useControlSchema.ts +21 -0
- package/src/composables/useExperimentData.ts +57 -16
- package/src/composables/useExperimentSamples.ts +142 -0
- package/src/composables/useProtocolTemplates.ts +13 -1
- package/src/composables/useRackEditor.ts +3 -2
- package/src/index.ts +27 -0
- package/src/instrument.ts +90 -0
- package/src/lcms.ts +108 -0
- package/src/permissions.ts +143 -0
- package/src/stores/auth.ts +79 -26
- package/src/stores/settings.ts +10 -0
- package/src/styles/components/instrument-monitor.css +478 -0
- package/src/styles/components/lcms-sequence-table.css +189 -0
- package/src/styles/components/sequence-progress-bar.css +63 -0
- package/src/styles/components/settings-modal.css +9 -0
- package/src/styles/components/tabs.css +9 -0
- package/src/styles/components/well-edit-popup.css +7 -1
- package/src/styles/components/well-plate.css +5 -0
- package/src/styles/index.css +3 -0
- package/src/templates/builders.ts +201 -0
- package/src/templates/controlSchemas.ts +68 -0
- package/src/templates/index.ts +2 -0
- package/src/templates/presets.ts +23 -0
- package/src/templates/types.ts +17 -0
- package/src/types/auth.ts +3 -0
- package/src/types/components.ts +45 -3
- package/src/types/form-builder.ts +2 -1
- package/src/types/index.ts +35 -0
- package/src/types/instrument.ts +61 -0
- package/src/types/platform.ts +4 -0
- package/src/utils/rack.ts +209 -0
- package/dist/auth-QQj2kkze.js.map +0 -1
- package/dist/components-DihbSJjU.js.map +0 -1
- package/dist/composables-BcgZ6diz.js.map +0 -1
- package/dist/templates-Cyt0Suwf.js.map +0 -1
- package/dist/useExperimentData-CM6Y0u5L.js.map +0 -1
package/dist/types/auth.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RoleInfo } from '../permissions';
|
|
1
2
|
export interface AuthConfig {
|
|
2
3
|
authRequired: boolean;
|
|
3
4
|
passkeyEnabled: boolean;
|
|
@@ -11,6 +12,7 @@ export interface UserInfo {
|
|
|
11
12
|
shortname: string | null;
|
|
12
13
|
email: string | null;
|
|
13
14
|
role: string;
|
|
15
|
+
roleObj?: RoleInfo | null;
|
|
14
16
|
isActive: boolean;
|
|
15
17
|
}
|
|
16
18
|
export interface LoginResponse {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { UserSummary } from './platform';
|
|
2
|
+
import { AccessControlled, AccessAudience, AccessAudienceInput } from '../permissions';
|
|
2
3
|
export type ContainerDirection = 'row' | 'column';
|
|
3
4
|
export type ButtonVariant = 'primary' | 'secondary' | 'cta' | 'danger' | 'success' | 'ghost';
|
|
4
5
|
export type ButtonSize = 'sm' | 'md' | 'lg';
|
|
@@ -15,7 +16,7 @@ export interface Toast {
|
|
|
15
16
|
export interface TabItem {
|
|
16
17
|
id: string;
|
|
17
18
|
label: string;
|
|
18
|
-
icon?: string;
|
|
19
|
+
icon?: string | string[];
|
|
19
20
|
disabled?: boolean;
|
|
20
21
|
badge?: string | number;
|
|
21
22
|
}
|
|
@@ -85,6 +86,8 @@ export interface TopBarSettingsConfig {
|
|
|
85
86
|
values?: Record<string, unknown>;
|
|
86
87
|
/** Dynamic enhancements (validators, dynamic options, callbacks). Forwarded to SettingsModal. */
|
|
87
88
|
enhancements?: import('./form-builder').FormEnhancements;
|
|
89
|
+
/** Optional user type override for permission-filtered settings content. Defaults to SDK auth/platform context. */
|
|
90
|
+
userType?: SettingsUserType;
|
|
88
91
|
}
|
|
89
92
|
export interface PillNavItem {
|
|
90
93
|
id: string;
|
|
@@ -171,6 +174,22 @@ export interface WellEditData {
|
|
|
171
174
|
customMethod: string;
|
|
172
175
|
}
|
|
173
176
|
export type WellEditField = 'label' | 'sampleType' | 'injectionVolume' | 'injectionCount' | 'customMethod';
|
|
177
|
+
export interface WellSampleDropData {
|
|
178
|
+
id?: string;
|
|
179
|
+
sampleName?: string;
|
|
180
|
+
label?: string;
|
|
181
|
+
sampleType?: string;
|
|
182
|
+
injectionVolume?: number;
|
|
183
|
+
injectionCount?: number;
|
|
184
|
+
customMethod?: string | null;
|
|
185
|
+
metadata?: Record<string, unknown>;
|
|
186
|
+
raw?: unknown;
|
|
187
|
+
}
|
|
188
|
+
export interface WellSampleDropContext {
|
|
189
|
+
wellId: string;
|
|
190
|
+
event: DragEvent;
|
|
191
|
+
}
|
|
192
|
+
export type WellSampleDropParser = (event: DragEvent, context: WellSampleDropContext) => WellSampleDropData | null | undefined;
|
|
174
193
|
export interface WellLegendItem {
|
|
175
194
|
type: string;
|
|
176
195
|
label: string;
|
|
@@ -196,6 +215,13 @@ export interface Rack {
|
|
|
196
215
|
injectionVolume: number;
|
|
197
216
|
wells: Record<string, Partial<Well>>;
|
|
198
217
|
}
|
|
218
|
+
export interface RackSampleDropContext {
|
|
219
|
+
rack: Rack;
|
|
220
|
+
rackId: string;
|
|
221
|
+
wellId: string;
|
|
222
|
+
event: DragEvent;
|
|
223
|
+
}
|
|
224
|
+
export type RackSampleDropMapper = (data: WellSampleDropData, context: RackSampleDropContext) => WellEditData | null | undefined;
|
|
199
225
|
export interface SampleType {
|
|
200
226
|
id: string;
|
|
201
227
|
name: string;
|
|
@@ -381,7 +407,7 @@ export interface BreadcrumbItem {
|
|
|
381
407
|
export type BreadcrumbItemInput = BreadcrumbItem | string;
|
|
382
408
|
export type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
383
409
|
export type ConfirmVariant = 'danger' | 'warning' | 'info';
|
|
384
|
-
export interface SettingsTab {
|
|
410
|
+
export interface SettingsTab extends AccessControlled {
|
|
385
411
|
id: string;
|
|
386
412
|
label: string;
|
|
387
413
|
/**
|
|
@@ -400,7 +426,7 @@ export type SettingsModalLayout = 'horizontal' | 'vertical';
|
|
|
400
426
|
* SDK form components (BaseInput / BaseSelect / NumberInput / Toggle / …)
|
|
401
427
|
* via the same registry that powers FormBuilder.
|
|
402
428
|
*/
|
|
403
|
-
export interface SettingsGroup {
|
|
429
|
+
export interface SettingsGroup extends AccessControlled {
|
|
404
430
|
id: string;
|
|
405
431
|
label: string;
|
|
406
432
|
description?: string;
|
|
@@ -419,6 +445,9 @@ export interface SettingsGroup {
|
|
|
419
445
|
export interface SettingsModalSchema {
|
|
420
446
|
groups: SettingsGroup[];
|
|
421
447
|
}
|
|
448
|
+
export type SettingsUserType = Exclude<AccessAudience, 'all'>;
|
|
449
|
+
export type SettingsAudience = AccessAudience;
|
|
450
|
+
export type SettingsAudienceInput = AccessAudienceInput;
|
|
422
451
|
export type NumberNotation = 'auto' | 'scientific' | 'engineering' | 'compact';
|
|
423
452
|
export interface UnitOption {
|
|
424
453
|
value: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FieldRules } from '../composables/useForm';
|
|
2
2
|
import { OptionPrimitive, SelectOption } from './components';
|
|
3
|
+
import { AccessControlled } from '../permissions';
|
|
3
4
|
/** All supported field types that map to SDK components. */
|
|
4
5
|
export type FormFieldType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'textarea' | 'select' | 'multiselect' | 'checkbox' | 'toggle' | 'radio' | 'slider' | 'tags' | 'date' | 'time' | 'datetime' | 'file' | 'formula' | 'sequence' | 'molecule' | 'concentration' | 'unit';
|
|
5
6
|
export type FieldCondition = {
|
|
@@ -67,7 +68,7 @@ export interface FieldValidation {
|
|
|
67
68
|
};
|
|
68
69
|
email?: boolean | string;
|
|
69
70
|
}
|
|
70
|
-
export interface FormFieldSchema {
|
|
71
|
+
export interface FormFieldSchema extends AccessControlled {
|
|
71
72
|
name: string;
|
|
72
73
|
label: string;
|
|
73
74
|
type: FormFieldType;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export type { ContainerDirection, ButtonVariant, ButtonSize, InputType, ModalSize, ModalVariant, AlertType, Toast, TabItem, TabItemInput, OptionPrimitive, SelectOption, SelectOptionInput, RadioOption, RadioOptionInput, FormFieldProps, SidebarToolSection, CollapsibleState, TopBarVariant, TopBarSettingsConfig, PillNavOption, PillNavOptionInput, PillNavItem, PillNavItemInput, PageSelectorItem, PageSelectorItemInput, PluginSwitcherPlugin, PluginSwitcherInfo, AccountMenuItem, WellPlateFormat, WellState, WellPlateSelectionMode, WellPlateSize, WellShape, Well, HeatmapColorScale, HeatmapConfig, SlotPosition, WellExtendedData, WellEditData, WellEditField, WellLegendItem, PlateCondition, ColumnCondition, RowCondition, Rack, SampleType, PlateMap, PlateMapEditorState, ProtocolStepType, ProtocolStepStatus, ProtocolStep, SampleGroup, GroupItem, FileUploaderMode, SegmentedOption, SegmentedOptionInput, SegmentedControlVariant, SegmentedControlSize, MultiSelectOption, MultiSelectOptionInput, MultiSelectSize, PillVariant, PillColor, PillSize, CalendarSelectionMode, CalendarMarker, CalendarDayContext, SortDirection, SortState, DataFrameColumn, PaginationState, SpinnerSize, SpinnerVariant, DividerSpacing, StatusType, ProgressVariant, ProgressSize, AvatarSize, EmptyStateColor, EmptyStateSize, BreadcrumbItem, BreadcrumbItemInput, TooltipPosition, ConfirmVariant, SettingsTab, SettingsTabInput, SettingsModalLayout, SettingsGroup, SettingsModalSchema, NumberNotation, UnitOption, WizardStep, WizardStepState, AuditEntryType, AuditEntry, BatchItemStatus, BatchItem, BatchSummary, TimePickerFormat, TimeRange, ScheduleView, ScheduleEventStatus, ScheduleEvent, ScheduleBlockedSlot, ScheduleSlotContext, ScheduleEventCreateContext, ScheduleEventUpdateContext, SummarySectionItem, SummarySection, SummaryData, ResourceStatus, ResourceSpec, MoleculeData, ExperimentStatus, DatePreset, ExperimentSortField, ExperimentTypeOption, ExperimentSummary, ExperimentListResponse, ExperimentFilters, FitState, FitResultSummary, StorageCondition, ReagentColumn, Reagent, TreeNodeType, BadgeVariant, TreeNode, } from './components';
|
|
1
|
+
export type { ContainerDirection, ButtonVariant, ButtonSize, InputType, ModalSize, ModalVariant, AlertType, Toast, TabItem, TabItemInput, OptionPrimitive, SelectOption, SelectOptionInput, RadioOption, RadioOptionInput, FormFieldProps, SidebarToolSection, CollapsibleState, TopBarVariant, TopBarSettingsConfig, PillNavOption, PillNavOptionInput, PillNavItem, PillNavItemInput, PageSelectorItem, PageSelectorItemInput, PluginSwitcherPlugin, PluginSwitcherInfo, AccountMenuItem, WellPlateFormat, WellState, WellPlateSelectionMode, WellPlateSize, WellShape, Well, HeatmapColorScale, HeatmapConfig, SlotPosition, WellExtendedData, WellEditData, WellEditField, WellSampleDropData, WellSampleDropContext, WellSampleDropParser, WellLegendItem, PlateCondition, ColumnCondition, RowCondition, Rack, RackSampleDropContext, RackSampleDropMapper, SampleType, PlateMap, PlateMapEditorState, ProtocolStepType, ProtocolStepStatus, ProtocolStep, SampleGroup, GroupItem, FileUploaderMode, SegmentedOption, SegmentedOptionInput, SegmentedControlVariant, SegmentedControlSize, MultiSelectOption, MultiSelectOptionInput, MultiSelectSize, PillVariant, PillColor, PillSize, CalendarSelectionMode, CalendarMarker, CalendarDayContext, SortDirection, SortState, DataFrameColumn, PaginationState, SpinnerSize, SpinnerVariant, DividerSpacing, StatusType, ProgressVariant, ProgressSize, AvatarSize, EmptyStateColor, EmptyStateSize, BreadcrumbItem, BreadcrumbItemInput, TooltipPosition, ConfirmVariant, SettingsTab, SettingsTabInput, SettingsModalLayout, SettingsGroup, SettingsModalSchema, SettingsUserType, SettingsAudience, SettingsAudienceInput, NumberNotation, UnitOption, WizardStep, WizardStepState, AuditEntryType, AuditEntry, BatchItemStatus, BatchItem, BatchSummary, TimePickerFormat, TimeRange, ScheduleView, ScheduleEventStatus, ScheduleEvent, ScheduleBlockedSlot, ScheduleSlotContext, ScheduleEventCreateContext, ScheduleEventUpdateContext, SummarySectionItem, SummarySection, SummaryData, ResourceStatus, ResourceSpec, MoleculeData, ExperimentStatus, DatePreset, ExperimentSortField, ExperimentTypeOption, ExperimentSummary, ExperimentListResponse, ExperimentFilters, FitState, FitResultSummary, StorageCondition, ReagentColumn, Reagent, TreeNodeType, BadgeVariant, TreeNode, } from './components';
|
|
2
|
+
export type { InstrumentAlert, InstrumentAlertBody, InstrumentAlertLevel, InstrumentState, InstrumentStatus, SampleInfo, SampleInfo as InstrumentSampleInfo, SequenceProgress, } from './instrument';
|
|
3
|
+
export type { LcmsContainerType, LcmsPolarity, LcmsSequenceItem, LcmsSequenceTableColumn, } from '../lcms';
|
|
4
|
+
export type { AccessAudience, AccessAudienceInput, AccessPolicy, AccessControlled, PermissionUser, RoleInfo, } from '../permissions';
|
|
2
5
|
export type { FormFieldType, FieldCondition, FieldValidation, FormFieldSchema, FormOptionInput, FormSectionSchema, FormStepSchema, FormSchema, FieldEnhancement, FormEnhancements, UseFormBuilderReturn, } from './form-builder';
|
|
3
6
|
export type { OutlierAction, InputMode, OutlierInfo, ColumnInfo, MetadataRow, AutoGroupResult, ParsedCsvData, } from './auto-group';
|
|
4
7
|
export type { AuthConfig, UserInfo, LoginResponse, TokenVerifyResponse, RegisterRequest, UpdateProfileRequest, CredentialInfo, } from './auth';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export type InstrumentState = 'idle' | 'running' | 'standby' | 'connected' | 'disconnected' | 'error';
|
|
2
|
+
export type InstrumentAlertLevel = 'info' | 'warning' | 'critical';
|
|
3
|
+
export interface SampleInfo {
|
|
4
|
+
file_name: string;
|
|
5
|
+
sample_id?: string | null;
|
|
6
|
+
sample_name?: string | null;
|
|
7
|
+
vial_position?: string | null;
|
|
8
|
+
injection_volume?: number | null;
|
|
9
|
+
}
|
|
10
|
+
export interface SequenceProgress {
|
|
11
|
+
sequence_name?: string | null;
|
|
12
|
+
current_sample: number;
|
|
13
|
+
total_samples: number;
|
|
14
|
+
elapsed_seconds?: number;
|
|
15
|
+
estimated_remaining_seconds?: number | null;
|
|
16
|
+
avg_sample_seconds?: number | null;
|
|
17
|
+
current_sample_name?: string | null;
|
|
18
|
+
current_method?: string | null;
|
|
19
|
+
estimated_finish_time?: string | Date | null;
|
|
20
|
+
sample_durations?: readonly number[];
|
|
21
|
+
}
|
|
22
|
+
export interface InstrumentStatus {
|
|
23
|
+
instrument_id: string;
|
|
24
|
+
instrument_name?: string | null;
|
|
25
|
+
monitor_id?: string | null;
|
|
26
|
+
state: InstrumentState;
|
|
27
|
+
active_method?: string | null;
|
|
28
|
+
current_sample?: SampleInfo | null;
|
|
29
|
+
sequence_progress?: SequenceProgress | null;
|
|
30
|
+
timestamp?: string | Date;
|
|
31
|
+
last_seen?: string | Date | null;
|
|
32
|
+
connected?: boolean;
|
|
33
|
+
sequence_file?: string | null;
|
|
34
|
+
sequence_row_index?: number | null;
|
|
35
|
+
current_raw_file?: string | null;
|
|
36
|
+
method_elapsed_pct?: number | null;
|
|
37
|
+
}
|
|
38
|
+
export interface InstrumentAlertBody {
|
|
39
|
+
source?: string | null;
|
|
40
|
+
event?: string | null;
|
|
41
|
+
detail: string;
|
|
42
|
+
code?: number | null;
|
|
43
|
+
raw_file?: string | null;
|
|
44
|
+
}
|
|
45
|
+
export interface InstrumentAlert {
|
|
46
|
+
id?: string;
|
|
47
|
+
instrument_id: string;
|
|
48
|
+
instrument_name?: string | null;
|
|
49
|
+
level: InstrumentAlertLevel;
|
|
50
|
+
rule?: string;
|
|
51
|
+
message?: string | null;
|
|
52
|
+
body?: InstrumentAlertBody | null;
|
|
53
|
+
context?: Record<string, unknown>;
|
|
54
|
+
timestamp?: string | Date;
|
|
55
|
+
acknowledged?: boolean;
|
|
56
|
+
}
|
package/dist/types/platform.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RoleInfo } from '../permissions';
|
|
1
2
|
export interface PluginInfo {
|
|
2
3
|
id: string;
|
|
3
4
|
name: string;
|
|
@@ -56,6 +57,8 @@ export interface PlatformContext {
|
|
|
56
57
|
id: string;
|
|
57
58
|
username: string;
|
|
58
59
|
role: string;
|
|
60
|
+
role_obj?: RoleInfo | null;
|
|
61
|
+
roleObj?: RoleInfo | null;
|
|
59
62
|
shortname?: string;
|
|
60
63
|
};
|
|
61
64
|
theme: 'light' | 'dark' | 'system';
|