@morscherlab/mint-sdk 1.1.0-beta.3 → 1.1.0-beta.5
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/{EmptyState-D1c4RdC7.js → EmptyState-DgBRoYAy.js} +22 -13
- package/dist/EmptyState-DgBRoYAy.js.map +1 -0
- package/dist/{ExperimentSelectorModal-B7w6k3Y8.js → ExperimentSelectorModal-BBWXC7KW.js} +3 -3
- package/dist/{ExperimentSelectorModal-B7w6k3Y8.js.map → ExperimentSelectorModal-BBWXC7KW.js.map} +1 -1
- package/dist/{SettingsModal-DPDwCbXK.js → SettingsModal-DDaq294M.js} +3 -3
- package/dist/{SettingsModal-DPDwCbXK.js.map → SettingsModal-DDaq294M.js.map} +1 -1
- package/dist/__tests__/components/BaseToggle.test.d.ts +1 -0
- package/dist/__tests__/composables/analysisArtifactTarget.test.d.ts +1 -0
- package/dist/analysisArtifactTypes-ejqR8MX3.js.map +1 -1
- package/dist/components/BaseSelect.vue.d.ts +1 -1
- package/dist/components/BaseToggle.vue.d.ts +2 -0
- package/dist/components/FitPanel.vue.d.ts +1 -1
- package/dist/components/index.js +5 -5
- package/dist/{components-DFH5whuh.js → components-t0iBwn5R.js} +10 -10
- package/dist/{components-DFH5whuh.js.map → components-t0iBwn5R.js.map} +1 -1
- package/dist/composables/analysisArtifactTarget.d.ts +5 -0
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/index.js +8 -8
- package/dist/composables/platformContextHelpers.d.ts +2 -0
- package/dist/composables/useAnalysisArtifacts.d.ts +3 -1
- package/dist/{composables-B512bWJP.js → composables-CqjA4Gth.js} +40 -5
- package/dist/composables-CqjA4Gth.js.map +1 -0
- package/dist/index.js +11 -11
- package/dist/install.js +5 -5
- package/dist/templates/index.js +3 -3
- package/dist/{templates-Cttbjbyc.js → templates-BdArs8LL.js} +2 -2
- package/dist/{templates-Cttbjbyc.js.map → templates-BdArs8LL.js.map} +1 -1
- package/dist/types/analysisArtifactTypes.d.ts +8 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/{useControlSchema-Dallso-L.js → useControlSchema-BAqu3kqE.js} +33 -6
- package/dist/useControlSchema-BAqu3kqE.js.map +1 -0
- package/dist/{useExperimentSelector-BMjzNcf2.js → useExperimentSelector-BuQZRgMt.js} +2 -2
- package/dist/{useExperimentSelector-BMjzNcf2.js.map → useExperimentSelector-BuQZRgMt.js.map} +1 -1
- package/dist/{useFormBuilder-BXaaDI41.js → useFormBuilder-DvO-TrfX.js} +2 -2
- package/dist/{useFormBuilder-BXaaDI41.js.map → useFormBuilder-DvO-TrfX.js.map} +1 -1
- package/dist/{useProtocolTemplates-BP7_4RGQ.js → useProtocolTemplates-BuY_MlBP.js} +4 -4
- package/dist/{useProtocolTemplates-BP7_4RGQ.js.map → useProtocolTemplates-BuY_MlBP.js.map} +1 -1
- package/package.json +1 -1
- package/src/__tests__/components/BaseSelect.test.ts +52 -0
- package/src/__tests__/components/BaseToggle.test.ts +40 -0
- package/src/__tests__/composables/analysisArtifactTarget.test.ts +77 -0
- package/src/__tests__/composables/useAnalysisArtifacts.test.ts +74 -1
- package/src/components/BaseSelect.vue +16 -2
- package/src/components/BaseToggle.vue +3 -1
- package/src/composables/analysisArtifactTarget.ts +53 -0
- package/src/composables/index.ts +5 -0
- package/src/composables/platformContextHelpers.ts +10 -3
- package/src/composables/useAnalysisArtifacts.ts +48 -0
- package/src/types/analysisArtifactTypes.ts +9 -0
- package/src/types/index.ts +1 -0
- package/dist/EmptyState-D1c4RdC7.js.map +0 -1
- package/dist/composables-B512bWJP.js.map +0 -1
- package/dist/useControlSchema-Dallso-L.js.map +0 -1
|
@@ -31,6 +31,14 @@ export interface AnalysisArtifactDetail extends AnalysisArtifactSummary {
|
|
|
31
31
|
export interface AnalysisArtifactListResponse {
|
|
32
32
|
artifacts: AnalysisArtifactSummary[];
|
|
33
33
|
}
|
|
34
|
+
/** Stable identity used when one plugin opens another plugin's artifact. */
|
|
35
|
+
export interface AnalysisArtifactTarget {
|
|
36
|
+
experimentId: number;
|
|
37
|
+
artifactPluginId: string;
|
|
38
|
+
artifactKey: string;
|
|
39
|
+
/** Optional lookup hint. The stable identity remains the three fields above. */
|
|
40
|
+
artifactId?: number;
|
|
41
|
+
}
|
|
34
42
|
/** Body of PATCH /experiments/{id}/analysis-artifacts/{artifactId}. */
|
|
35
43
|
export interface AnalysisArtifactMetadataUpdate {
|
|
36
44
|
display_name?: string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { ContainerDirection, ButtonVariant, ButtonSize, InputType, ModalSize, ModalVariant, AlertType, Toast, TabItem, TabItemInput, OptionPrimitive, SelectOption, SelectOptionInput, RadioOption, RadioOptionInput, FormFieldProps, SectionCardAccent, SectionCardDivider, SidebarBadgeTone, SidebarToolSection, SidebarToolSectionAction, 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
2
|
export type * from './generated-ui';
|
|
3
|
-
export type { AnalysisArtifactStatus, AnalysisArtifactStatusFilter, AnalysisArtifactSummary, AnalysisArtifactDetail, AnalysisArtifactListResponse, AnalysisArtifactMetadataUpdate, ArtifactSaveMode, ArtifactFileSource, JsonArtifactSavePayload, FileArtifactCreatePayload, FileArtifactUpdatePayload, HandlerFileArtifactCreatePayload, HandlerFileArtifactUpdatePayload, ArtifactSavePayload, HandlerArtifactSavePayload, ArtifactSaveDialogPayload, ArtifactSaveResult, ArtifactSaveHandler, HandlerArtifactSaveHandler, ArtifactSaveDialogHandler, } from './analysisArtifactTypes';
|
|
3
|
+
export type { AnalysisArtifactStatus, AnalysisArtifactStatusFilter, AnalysisArtifactSummary, AnalysisArtifactDetail, AnalysisArtifactListResponse, AnalysisArtifactTarget, AnalysisArtifactMetadataUpdate, ArtifactSaveMode, ArtifactFileSource, JsonArtifactSavePayload, FileArtifactCreatePayload, FileArtifactUpdatePayload, HandlerFileArtifactCreatePayload, HandlerFileArtifactUpdatePayload, ArtifactSavePayload, HandlerArtifactSavePayload, ArtifactSaveDialogPayload, ArtifactSaveResult, ArtifactSaveHandler, HandlerArtifactSaveHandler, ArtifactSaveDialogHandler, } from './analysisArtifactTypes';
|
|
4
4
|
export { ANALYSIS_FILE_ARTIFACT_SCHEMA } from './analysisArtifactTypes';
|
|
5
5
|
export type { JobListPayload, JobProgress, JobSnapshotPayload, JobState, JobStateInput, JobStatus, JobStreamData, } from './jobs';
|
|
6
6
|
export type { InstrumentAlert, InstrumentAlertBody, InstrumentAlertLevel, InstrumentState, InstrumentStatus, SampleInfo, SampleInfo as InstrumentSampleInfo, SequenceProgress, } from './instrument';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as BaseModal_default, f as useEventListener, p as BaseButton_default, s as formatExperimentDate } from "./experiment-utils-CxkruZ3G.js";
|
|
2
|
-
import { c as BaseSelect_default, l as normalizeOptionInput, n as Skeleton_default, o as useApi, r as useRequestSyncState, s as BasePill_default, t as EmptyState_default, u as BaseInput_default } from "./EmptyState-
|
|
2
|
+
import { c as BaseSelect_default, l as normalizeOptionInput, n as Skeleton_default, o as useApi, r as useRequestSyncState, s as BasePill_default, t as EmptyState_default, u as BaseInput_default } from "./EmptyState-DgBRoYAy.js";
|
|
3
3
|
import { t as useDropdownState } from "./useDropdownState-gVaMXtwW.js";
|
|
4
4
|
import { hasAllPermissions } from "./permissions.js";
|
|
5
5
|
import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createStaticVNode, createTextVNode, createVNode, defineComponent, isRef, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, reactive, ref, renderList, renderSlot, shallowRef, toDisplayString, toValue, unref, useSlots, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
@@ -1335,6 +1335,7 @@ var BaseToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1335
1335
|
default: false
|
|
1336
1336
|
},
|
|
1337
1337
|
label: {},
|
|
1338
|
+
ariaLabel: {},
|
|
1338
1339
|
description: {},
|
|
1339
1340
|
icon: {},
|
|
1340
1341
|
iconColor: {},
|
|
@@ -1416,7 +1417,7 @@ var BaseToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1416
1417
|
role: "switch",
|
|
1417
1418
|
tabindex: __props.disabled ? -1 : 0,
|
|
1418
1419
|
"aria-checked": __props.modelValue,
|
|
1419
|
-
"aria-label": __props.label || "Toggle",
|
|
1420
|
+
"aria-label": __props.ariaLabel || __props.label || "Toggle",
|
|
1420
1421
|
class: normalizeClass([
|
|
1421
1422
|
"mint-toggle__track",
|
|
1422
1423
|
`mint-toggle__track--${__props.size}`,
|
|
@@ -4699,6 +4700,11 @@ function getInjectedPlatformContext() {
|
|
|
4699
4700
|
if (typeof window === "undefined") return void 0;
|
|
4700
4701
|
return window.__MINT_PLATFORM__;
|
|
4701
4702
|
}
|
|
4703
|
+
/** Return the platform's canonical plugin identity for the mounted frontend. */
|
|
4704
|
+
function resolveCurrentPluginId() {
|
|
4705
|
+
const pluginId = getInjectedPlatformContext()?.plugin?.id;
|
|
4706
|
+
return typeof pluginId === "string" && pluginId ? pluginId : void 0;
|
|
4707
|
+
}
|
|
4702
4708
|
function getInjectedExperimentContext() {
|
|
4703
4709
|
return getInjectedPlatformContext();
|
|
4704
4710
|
}
|
|
@@ -4711,8 +4717,9 @@ function currentExperimentIdFromContext(context = getInjectedExperimentContext()
|
|
|
4711
4717
|
}
|
|
4712
4718
|
function currentExperimentIdFromUrl() {
|
|
4713
4719
|
if (typeof window === "undefined") return void 0;
|
|
4714
|
-
const
|
|
4715
|
-
|
|
4720
|
+
const location = window.location;
|
|
4721
|
+
const params = new URLSearchParams(location?.search ?? "");
|
|
4722
|
+
return parseExperimentId(params.get("experimentId") ?? params.get("experiment_id")) ?? experimentIdFromPath(location?.pathname ?? "") ?? experimentIdFromPath((location?.hash ?? "").replace(/^#\/?/, "/"));
|
|
4716
4723
|
}
|
|
4717
4724
|
function resolveCurrentExperimentId(context = getInjectedExperimentContext()) {
|
|
4718
4725
|
return currentExperimentIdFromContext(context) ?? currentExperimentIdFromUrl();
|
|
@@ -4822,6 +4829,25 @@ function useAnalysisArtifacts(options = {}) {
|
|
|
4822
4829
|
loadingCount.value -= 1;
|
|
4823
4830
|
}
|
|
4824
4831
|
}
|
|
4832
|
+
async function resolveTarget(target) {
|
|
4833
|
+
const experimentId = currentExperimentId.value;
|
|
4834
|
+
if (experimentId !== target.experimentId) {
|
|
4835
|
+
request.setError(`Analysis artifact target belongs to experiment ${target.experimentId}, not ${experimentId ?? "the current selection"}.`);
|
|
4836
|
+
return null;
|
|
4837
|
+
}
|
|
4838
|
+
const summary = (await list()).find((artifact) => artifact.plugin_id === target.artifactPluginId && artifact.artifact_key === target.artifactKey && artifact.status === "active");
|
|
4839
|
+
if (!summary) {
|
|
4840
|
+
request.setError(`Analysis artifact ${target.artifactPluginId}/${target.artifactKey} is not available.`);
|
|
4841
|
+
return null;
|
|
4842
|
+
}
|
|
4843
|
+
const detail = await getDetail(summary.id);
|
|
4844
|
+
if (detail && (detail.experiment_id !== target.experimentId || detail.plugin_id !== target.artifactPluginId || detail.artifact_key !== target.artifactKey)) {
|
|
4845
|
+
selectedDetail.value = null;
|
|
4846
|
+
request.setError(`Analysis artifact ${target.artifactPluginId}/${target.artifactKey} did not match the requested identity.`);
|
|
4847
|
+
return null;
|
|
4848
|
+
}
|
|
4849
|
+
return detail;
|
|
4850
|
+
}
|
|
4825
4851
|
async function mutate(action, operation) {
|
|
4826
4852
|
const experimentId = currentExperimentIdOrError(action);
|
|
4827
4853
|
if (experimentId === void 0) return null;
|
|
@@ -4880,6 +4906,7 @@ function useAnalysisArtifacts(options = {}) {
|
|
|
4880
4906
|
list,
|
|
4881
4907
|
refresh: list,
|
|
4882
4908
|
getDetail,
|
|
4909
|
+
resolveTarget,
|
|
4883
4910
|
updateMetadata,
|
|
4884
4911
|
archive,
|
|
4885
4912
|
restore,
|
|
@@ -7632,6 +7659,6 @@ function useControlSchema(controls, options = {}) {
|
|
|
7632
7659
|
};
|
|
7633
7660
|
}
|
|
7634
7661
|
//#endregion
|
|
7635
|
-
export {
|
|
7662
|
+
export { normalizeJobState as $, useConcentrationUnits as A, BaseCheckbox_default as At, useAnalysisArtifacts as B, controlsToViewIds as C, DatePicker_default as Ct, getTypeDefault as D, BaseSlider_default as Dt, getFieldRegistryEntry as E, useSelectionLimit as Et, ATOMIC_WEIGHTS as F, resolveCurrentPluginId as G, getInjectedPlatformContext as H, useChemicalFormula as I, usePluginJobs as J, createGeneratedAnalysisTransport as K, GeneratedPathInput_default as L, SequenceInput_default as M, BaseTextarea_default as Mt, useSequenceUtils as N, ConcentrationInput_default as O, BaseRadioGroup_default as Ot, FormulaInput_default as P, normalizeJobPercent as Q, _plugin_vue_export_helper_default as R, controlsToTopBarSettingsConfig as S, useTimeUtils as St, getDefaultControlView as T, useListSelection as Tt, parseExperimentId as U, currentExperimentFromContext as V, resolveCurrentExperimentId as W, isTerminalJobStatus as X, isActiveJobStatus as Y, jobStatusLabel as Z, controlsToFormSchema as _, isTimeInRange as _t, defineDoseCalculatorControlProps as a, TagsInput_default as at, controlsToSettingsSchema as b, snapToSlot as bt, defineWellPlateDoseComponentBindings as c, compareTime as ct, defineControlModel as d, findNearestTimeSlotIndex as dt, resolveJobCapabilities as et, resolveControlModel as f, formatDuration as ft, mergeControlWorkspaceOptions as g, generateTimeSlots as gt, controlValuesToComponentProps as h, fromMinutes as ht, useControlSchema as i, NumberInput_default as it, MoleculeInput_default as j, Tooltip_default as jt, UnitInput_default as k, BaseToggle_default as kt, defineWellPlateDoseControlProps as l, durationMinutes as lt, controlValuesToComponentBindingsById as m, formatTimeSlot as mt, defineControls as n, AlertBox_default as nt, defineDoseDesignControlModel as o, TimePicker_default as ot, controlValuesToComponentBindings as p, formatTime as pt, useGeneratedAnalysis as q, getControlDefaults as r, FileUploader_default as rt, defineWellPlateControlProps as s, addMinutes as st, defineControlComponentBindings as t, DateTimePicker_default as tt, useControlWorkspace as u, findAvailableSlots as ut, controlsToSectionFormSchema as v, parseTime as vt, controlsToViewItems as w, MultiSelect_default as wt, controlsToSidebarPanels as x, toMinutes as xt, controlsToSectionFormSchemas as y, rangesOverlap as yt, ArtifactSelectorModal_default as z };
|
|
7636
7663
|
|
|
7637
|
-
//# sourceMappingURL=useControlSchema-
|
|
7664
|
+
//# sourceMappingURL=useControlSchema-BAqu3kqE.js.map
|