@morscherlab/mint-sdk 1.1.9 → 1.1.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/dist/components/AutoGroupModal.adapter.d.ts +12 -1
- package/dist/components/index.js +1 -1
- package/dist/{components-BbtUpCTv.js → components-HXV-ZkBg.js} +39 -18
- package/dist/{components-BbtUpCTv.js.map → components-HXV-ZkBg.js.map} +1 -1
- package/dist/composables/index.js +1 -1
- package/dist/index.js +2 -2
- package/dist/install.js +1 -1
- package/dist/{useProtocolTemplates-BWfNaynA.js → useProtocolTemplates-D3IZKLqr.js} +7 -8
- package/dist/useProtocolTemplates-D3IZKLqr.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/components/AutoGroupModal.adapter.test.ts +31 -1
- package/src/__tests__/components/SampleSelector.test.ts +35 -0
- package/src/__tests__/composables/autoGroup/groupByOrder.test.ts +31 -2
- package/src/components/AutoGroupModal.adapter.ts +52 -1
- package/src/components/AutoGroupModal.vue +6 -4
- package/src/composables/useAutoGroup.ts +11 -7
- package/dist/useProtocolTemplates-BWfNaynA.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AutoGroupResult, ColumnInfo, ColumnRole } from '../types/auto-group';
|
|
1
|
+
import { AutoGroupResult, ClassSchema, ColumnInfo, ColumnRole } from '../types/auto-group';
|
|
2
2
|
import { SampleGroup } from '../types';
|
|
3
3
|
import { FieldRecipeGroup, QcRoute, SmartGroupField } from './SmartGroupFieldRecipe.groups';
|
|
4
4
|
import { ManualSample } from './SmartGroupManual.cohorts';
|
|
@@ -22,6 +22,17 @@ export declare function engineFieldsToCards(columns: ColumnInfo[], groupBy: read
|
|
|
22
22
|
enabled: boolean[];
|
|
23
23
|
layers: (number | null)[];
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Build the batch-wide field recipe from every class schema. The active schema
|
|
27
|
+
* stays first for a stable card order; fields and enabled hierarchy layers that
|
|
28
|
+
* only exist in another token-length/class split are appended instead of being
|
|
29
|
+
* hidden from the controlled UI.
|
|
30
|
+
*/
|
|
31
|
+
export declare function engineSchemasToCards(schemas: Record<string, ClassSchema>, activeClassKey: string): {
|
|
32
|
+
fields: SmartGroupField[];
|
|
33
|
+
enabled: boolean[];
|
|
34
|
+
layers: (number | null)[];
|
|
35
|
+
};
|
|
25
36
|
/** Map engine sample groups to the live preview rail shape. */
|
|
26
37
|
export declare function engineGroupsToRail(groups: SampleGroup[]): FieldRecipeGroup[];
|
|
27
38
|
/** Map the Field Recipe QC label to the engine's class disposition routing. */
|
package/dist/components/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { f as BaseModal_default, m as BaseButton_default } from "../experiment-utils-CLnzPPq5.js";
|
|
2
2
|
import { a as BaseSelect_default, i as BasePill_default, n as Skeleton_default, s as BaseInput_default, t as EmptyState_default } from "../EmptyState-p90quq8Z.js";
|
|
3
3
|
import { At as BaseCheckbox_default, Ct as DatePicker_default, Dt as BaseSlider_default, It as BaseTextarea_default, L as GeneratedPathInput_default, M as SequenceInput_default, O as ConcentrationInput_default, Ot as BaseRadioGroup_default, P as FormulaInput_default, at as TagsInput_default, it as NumberInput_default, j as MoleculeInput_default, jt as Tooltip_default, k as UnitInput_default, kt as BaseToggle_default, nt as AlertBox_default, ot as TimePicker_default, rt as FileUploader_default, tt as DateTimePicker_default, wt as MultiSelect_default, z as ArtifactSelectorModal_default } from "../useControlSchema-BMVb2XIQ.js";
|
|
4
|
-
import { $ as SmartGroupFieldRecipe_default, A as ProtocolStepEditor_default, At as AppToastContainer_default, B as Breadcrumb_default, Ct as AppPluginSwitcher_default, Dt as ThemeToggle_default, Et as CollapsibleCard_default, F as RackEditor_default, Ft as BaseTabs_default, G as AppContainer_default, H as ProgressBar_default, I as BioTemplatePresetWorkspaceView_default, It as ColorSlider_default, J as ComponentBindingRenderer_default, K as DoseDesignWorkspaceView_default, L as BioTemplatePackWorkspaceView_default, M as ReagentEditor_default, Mt as Calendar_default, N as SmartGroupModal_default, Nt as DropdownButton_default, O as ChemicalFormula_default, Ot as ActionMenu_default, P as GroupAssigner_default, Pt as SegmentedControl_default, Q as SmartGroupManual_default, R as BioTemplateExperimentWorkspaceView_default, St as AppTopBar_default, Tt as PluginIcon_default, U as StatusIndicator_default, V as Avatar_default, W as Divider_default, X as SampleSelector_default, Y as ScheduleCalendar_default, Z as AutoGroupModal_default, _t as AppLayout_default, a as ResourceCard_default, at as DoseCalculator_default, b as InstrumentAlertLog_default, bt as FormActions_default, c as BatchProgressList_default, ct as GeneratedResultRenderer_default, dt as LoadingSpinner_default, et as ReagentList_default, gt as MobileSupportGate_default, ht as PluginWorkspaceView_default, i as SectionCard_default, it as ExperimentTimeline_default, j as SampleHierarchyTree_default, jt as DataFrame_default, k as ScientificNumber_default, kt as IconButton_default, l as AuditTrail_default, lt as GeneratedPlotlyResult_default, n as FitPanel_default, nt as SampleLegend_default, o as TimeRangeInput_default, ot as GeneratedPluginView_default, q as ControlWorkspaceView_default, r as ArtifactSaveDialog_default, rt as WellPlate_default, s as ExperimentDataViewer_default, st as JobsStatusTray_default, tt as PlateMapEditor_default, u as LcmsSequenceTable_default, ut as ChartContainer_default, v as InstrumentStatusCard_default, vt as AppSidebar_default, wt as AppAvatarMenu_default, x as SequenceProgressBar_default, xt as StepWizard_default, y as InstrumentStateBadge_default, yt as FormBuilder_default, z as BioTemplateRenderer_default } from "../components-
|
|
4
|
+
import { $ as SmartGroupFieldRecipe_default, A as ProtocolStepEditor_default, At as AppToastContainer_default, B as Breadcrumb_default, Ct as AppPluginSwitcher_default, Dt as ThemeToggle_default, Et as CollapsibleCard_default, F as RackEditor_default, Ft as BaseTabs_default, G as AppContainer_default, H as ProgressBar_default, I as BioTemplatePresetWorkspaceView_default, It as ColorSlider_default, J as ComponentBindingRenderer_default, K as DoseDesignWorkspaceView_default, L as BioTemplatePackWorkspaceView_default, M as ReagentEditor_default, Mt as Calendar_default, N as SmartGroupModal_default, Nt as DropdownButton_default, O as ChemicalFormula_default, Ot as ActionMenu_default, P as GroupAssigner_default, Pt as SegmentedControl_default, Q as SmartGroupManual_default, R as BioTemplateExperimentWorkspaceView_default, St as AppTopBar_default, Tt as PluginIcon_default, U as StatusIndicator_default, V as Avatar_default, W as Divider_default, X as SampleSelector_default, Y as ScheduleCalendar_default, Z as AutoGroupModal_default, _t as AppLayout_default, a as ResourceCard_default, at as DoseCalculator_default, b as InstrumentAlertLog_default, bt as FormActions_default, c as BatchProgressList_default, ct as GeneratedResultRenderer_default, dt as LoadingSpinner_default, et as ReagentList_default, gt as MobileSupportGate_default, ht as PluginWorkspaceView_default, i as SectionCard_default, it as ExperimentTimeline_default, j as SampleHierarchyTree_default, jt as DataFrame_default, k as ScientificNumber_default, kt as IconButton_default, l as AuditTrail_default, lt as GeneratedPlotlyResult_default, n as FitPanel_default, nt as SampleLegend_default, o as TimeRangeInput_default, ot as GeneratedPluginView_default, q as ControlWorkspaceView_default, r as ArtifactSaveDialog_default, rt as WellPlate_default, s as ExperimentDataViewer_default, st as JobsStatusTray_default, tt as PlateMapEditor_default, u as LcmsSequenceTable_default, ut as ChartContainer_default, v as InstrumentStatusCard_default, vt as AppSidebar_default, wt as AppAvatarMenu_default, x as SequenceProgressBar_default, xt as StepWizard_default, y as InstrumentStateBadge_default, yt as FormBuilder_default, z as BioTemplateRenderer_default } from "../components-HXV-ZkBg.js";
|
|
5
5
|
import { s as FormField_default, t as SettingsModal_default } from "../SettingsModal-D7LFUokT.js";
|
|
6
6
|
import { r as ConfirmDialog_default, t as ExperimentPopover_default } from "../ExperimentPopover-tLwJ7XF4.js";
|
|
7
7
|
import { r as ExperimentCodeBadge_default, t as ExperimentSelectorModal_default } from "../ExperimentSelectorModal-B6P2msT4.js";
|
|
@@ -4,7 +4,7 @@ import { a as BaseSelect_default, i as BasePill_default, n as Skeleton_default,
|
|
|
4
4
|
import { A as useConcentrationUnits, At as BaseCheckbox_default, Ct as DatePicker_default, Dt as BaseSlider_default, Ft as shift, H as getInjectedPlatformContext, I as useChemicalFormula, It as BaseTextarea_default, L as GeneratedPathInput_default, M as SequenceInput_default, Mt as computePosition, Nt as flip, O as ConcentrationInput_default, Ot as BaseRadioGroup_default, P as FormulaInput_default, Pt as offset, Q as normalizeJobPercent, R as _plugin_vue_export_helper_default, T as getDefaultControlView, Tt as useListSelection, W as resolveCurrentExperimentId, Z as jobStatusLabel, _ as controlsToFormSchema, at as TagsInput_default, ct as compareTime, f as resolveControlModel, ft as formatDuration, g as mergeControlWorkspaceOptions, h as controlValuesToComponentProps, it as NumberInput_default, j as MoleculeInput_default, jt as Tooltip_default, k as UnitInput_default, kt as BaseToggle_default, lt as durationMinutes, m as controlValuesToComponentBindingsById, nt as AlertBox_default, o as defineDoseDesignControlModel, ot as TimePicker_default, p as controlValuesToComponentBindings, pt as formatTime, q as useGeneratedAnalysis, r as getControlDefaults, rt as FileUploader_default, tt as DateTimePicker_default, u as useControlWorkspace, w as controlsToViewItems, wt as MultiSelect_default, x as controlsToSidebarPanels, y as controlsToSectionFormSchemas, z as ArtifactSelectorModal_default } from "./useControlSchema-BMVb2XIQ.js";
|
|
5
5
|
import { a as pickExistingRecordKeys, c as normalizeItemInput, i as formSchemaFieldNames, l as normalizeLabelItemInput, o as recordValuesEqualForKeys, r as FormFieldRendererInternal_default, s as FormField_default, t as SettingsModal_default } from "./SettingsModal-D7LFUokT.js";
|
|
6
6
|
import { t as useDropdownState } from "./useDropdownState-DSb3BC3N.js";
|
|
7
|
-
import { B as useDoseCalculator, C as getSampleGroupParentPath, G as useMobileSupportGate, J as useTheme, K as APP_EXPERIMENT_KEY, N as useAutoGroup, P as parseCSV, Q as useTextSearch, R as DEFAULT_COLORS, S as getSampleGroupMajorPrefix, U as usePluginJobCenter, W as DEFAULT_MOBILE_VIEWPORT_QUERY, Y as useToast, _ as useScheduleDrag, a as useReagentSeries, b as useExpansionSet, c as useBioTemplatePresetWorkspace, et as useSortedItems, k as readFileAsText, l as useBioTemplatePackWorkspace, n as DEFAULT_PRESETS, o as useGroupAssignment, q as useAppExperiment, r as DEFAULT_UNITS, s as useRackEditor, t as useProtocolTemplates, v as useExperimentSamples, x as useSampleGroups, y as useExperimentData, z as useWellPlateEditor } from "./useProtocolTemplates-
|
|
7
|
+
import { B as useDoseCalculator, C as getSampleGroupParentPath, G as useMobileSupportGate, J as useTheme, K as APP_EXPERIMENT_KEY, N as useAutoGroup, P as parseCSV, Q as useTextSearch, R as DEFAULT_COLORS, S as getSampleGroupMajorPrefix, U as usePluginJobCenter, W as DEFAULT_MOBILE_VIEWPORT_QUERY, Y as useToast, _ as useScheduleDrag, a as useReagentSeries, b as useExpansionSet, c as useBioTemplatePresetWorkspace, et as useSortedItems, k as readFileAsText, l as useBioTemplatePackWorkspace, n as DEFAULT_PRESETS, o as useGroupAssignment, q as useAppExperiment, r as DEFAULT_UNITS, s as useRackEditor, t as useProtocolTemplates, v as useExperimentSamples, x as useSampleGroups, y as useExperimentData, z as useWellPlateEditor } from "./useProtocolTemplates-D3IZKLqr.js";
|
|
8
8
|
import { r as useApi } from "./useApi-CDBq6z23.js";
|
|
9
9
|
import { i as usePlatformContext, t as useFormBuilder } from "./useFormBuilder-DG3HOFGA.js";
|
|
10
10
|
import { t as ANALYSIS_FILE_ARTIFACT_SCHEMA } from "./analysisArtifactTypes-DQ0MjwHZ.js";
|
|
@@ -10408,23 +10408,45 @@ function candidateColumns(columns, groupBy) {
|
|
|
10408
10408
|
return columns.filter((c) => c.role === "factor" || c.role === "replicate" || enabled.has(c.index));
|
|
10409
10409
|
}
|
|
10410
10410
|
/**
|
|
10411
|
-
*
|
|
10412
|
-
*
|
|
10413
|
-
*
|
|
10411
|
+
* Build the batch-wide field recipe from every class schema. The active schema
|
|
10412
|
+
* stays first for a stable card order; fields and enabled hierarchy layers that
|
|
10413
|
+
* only exist in another token-length/class split are appended instead of being
|
|
10414
|
+
* hidden from the controlled UI.
|
|
10414
10415
|
*/
|
|
10415
|
-
function
|
|
10416
|
-
const
|
|
10416
|
+
function engineSchemasToCards(schemas, activeClassKey) {
|
|
10417
|
+
const entries = Object.entries(schemas);
|
|
10418
|
+
const active = entries.find(([key]) => key === activeClassKey);
|
|
10419
|
+
const ordered = active ? [active, ...entries.filter(([key]) => key !== activeClassKey)] : entries;
|
|
10420
|
+
const candidates = /* @__PURE__ */ new Map();
|
|
10421
|
+
const enabledOrder = [];
|
|
10422
|
+
const enabled = /* @__PURE__ */ new Set();
|
|
10423
|
+
for (const [, schema] of ordered) {
|
|
10424
|
+
for (const index of schema.groupBy) {
|
|
10425
|
+
const column = schema.columns.find((candidate) => candidate.index === index);
|
|
10426
|
+
if (!column) continue;
|
|
10427
|
+
const identity = column.displayName ?? column.name;
|
|
10428
|
+
if (!enabled.has(identity)) {
|
|
10429
|
+
enabled.add(identity);
|
|
10430
|
+
enabledOrder.push(identity);
|
|
10431
|
+
}
|
|
10432
|
+
}
|
|
10433
|
+
for (const column of candidateColumns(schema.columns, schema.groupBy)) {
|
|
10434
|
+
const identity = column.displayName ?? column.name;
|
|
10435
|
+
if (!candidates.has(identity)) candidates.set(identity, column);
|
|
10436
|
+
}
|
|
10437
|
+
}
|
|
10438
|
+
const cards = [...candidates.entries()];
|
|
10417
10439
|
return {
|
|
10418
|
-
fields:
|
|
10419
|
-
key
|
|
10420
|
-
role: roleLabel(
|
|
10421
|
-
vals:
|
|
10422
|
-
rep:
|
|
10440
|
+
fields: cards.map(([key, column]) => ({
|
|
10441
|
+
key,
|
|
10442
|
+
role: roleLabel(column.role),
|
|
10443
|
+
vals: column.uniqueValues.join(", "),
|
|
10444
|
+
rep: column.role === "replicate"
|
|
10423
10445
|
})),
|
|
10424
|
-
enabled:
|
|
10425
|
-
layers:
|
|
10426
|
-
const
|
|
10427
|
-
return
|
|
10446
|
+
enabled: cards.map(([key]) => enabled.has(key)),
|
|
10447
|
+
layers: cards.map(([key]) => {
|
|
10448
|
+
const position = enabledOrder.indexOf(key);
|
|
10449
|
+
return position === -1 ? null : position + 1;
|
|
10428
10450
|
})
|
|
10429
10451
|
};
|
|
10430
10452
|
}
|
|
@@ -10600,8 +10622,7 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
|
|
|
10600
10622
|
excludeQc.value = value === "exclude";
|
|
10601
10623
|
autoGroup.setClassDispositions((c) => c.kind !== "biological" && c.kind !== "unknown", value === "exclude" ? "exclude" : value === "overlay" ? "overlay" : "group");
|
|
10602
10624
|
}
|
|
10603
|
-
const
|
|
10604
|
-
const fieldCards = computed(() => engineFieldsToCards(autoGroup.fields.value, groupByOrder.value));
|
|
10625
|
+
const fieldCards = computed(() => engineSchemasToCards(autoGroup.schemas.value, autoGroup.activeClassKey.value));
|
|
10605
10626
|
const railGroups = computed(() => engineGroupsToRail(autoGroup.result.value.experimentalGroups ?? autoGroup.groups.value));
|
|
10606
10627
|
const qcSampleCount = computed(() => autoGroup.classes.value.filter((c) => c.kind !== "biological" && c.kind !== "unknown").reduce((acc, c) => acc + c.members.length, 0));
|
|
10607
10628
|
const qcChip = computed(() => qcRouting.value !== "mix" && qcSampleCount.value > 0 ? {
|
|
@@ -18248,4 +18269,4 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
18248
18269
|
//#endregion
|
|
18249
18270
|
export { SmartGroupFieldRecipe_default as $, ProtocolStepEditor_default as A, AppToastContainer_default as At, Breadcrumb_default as B, estimateSequenceRemainingSeconds as C, AppPluginSwitcher_default as Ct, sequenceSamplesRemaining as D, ThemeToggle_default as Dt, sequenceProgressPercent as E, CollapsibleCard_default as Et, RackEditor_default as F, BaseTabs_default as Ft, AppContainer_default as G, ProgressBar_default as H, BioTemplatePresetWorkspaceView_default as I, ColorSlider_default as It, ComponentBindingRenderer_default as J, DoseDesignWorkspaceView_default as K, BioTemplatePackWorkspaceView_default as L, ReagentEditor_default as M, Calendar_default as Mt, SmartGroupModal_default as N, DropdownButton_default as Nt, ChemicalFormula_default as O, ActionMenu_default as Ot, GroupAssigner_default as P, SegmentedControl_default as Pt, SmartGroupManual_default as Q, BioTemplateExperimentWorkspaceView_default as R, estimateSequenceFinishDate as S, AppTopBar_default as St, formatSequenceRemaining as T, PluginIcon_default as Tt, StatusIndicator_default as U, Avatar_default as V, Divider_default as W, SampleSelector_default as X, ScheduleCalendar_default as Y, AutoGroupModal_default as Z, reconstructLcmsPlateCellsFromSequenceItems as _, AppLayout_default as _t, ResourceCard_default as a, DoseCalculator_default as at, InstrumentAlertLog_default as b, FormActions_default as bt, BatchProgressList_default as c, GeneratedResultRenderer_default as ct, DEFAULT_LCMS_SEQUENCE_COLUMNS as d, LoadingSpinner_default as dt, ReagentList_default as et, basenameFromWindowsPath as f, generatedJobDefaults as ft, lcmsWellIdFromPosition as g, MobileSupportGate_default as gt, inferLcmsPlateTypeFromWellIds as h, PluginWorkspaceView_default as ht, SectionCard_default as i, ExperimentTimeline_default as it, SampleHierarchyTree_default as j, DataFrame_default as jt, ScientificNumber_default as k, IconButton_default as kt, AuditTrail_default as l, GeneratedPlotlyResult_default as lt, extractLcmsSampleName as m, normalizeGeneratedJobInput as mt, FitPanel_default as n, SampleLegend_default as nt, TimeRangeInput_default as o, GeneratedPluginView_default as ot, extractLcmsCommonPrefix as p, generatedJobFormSchema as pt, ControlWorkspaceView_default as q, ArtifactSaveDialog_default as r, WellPlate_default as rt, ExperimentDataViewer_default as s, JobsStatusTray_default as st, components_exports as t, PlateMapEditor_default as tt, LcmsSequenceTable_default as u, ChartContainer_default as ut, InstrumentStatusCard_default as v, AppSidebar_default as vt, formatSequenceEta as w, AppAvatarMenu_default as wt, SequenceProgressBar_default as x, StepWizard_default as xt, InstrumentStateBadge_default as y, FormBuilder_default as yt, BioTemplateRenderer_default as z };
|
|
18250
18271
|
|
|
18251
|
-
//# sourceMappingURL=components-
|
|
18272
|
+
//# sourceMappingURL=components-HXV-ZkBg.js.map
|