@morscherlab/mint-sdk 1.4.0-beta.16 → 1.4.0-beta.18
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 +14 -3
- package/dist/{AlertBox-SnsbVow-.js → AlertBox-CzLg0UaL.js} +2 -2
- package/dist/{AlertBox-SnsbVow-.js.map → AlertBox-CzLg0UaL.js.map} +1 -1
- package/dist/{AppSidebar-CB0-RQ4m.js → AppSidebar-6oTT-gPO.js} +43 -13
- package/dist/AppSidebar-6oTT-gPO.js.map +1 -0
- package/dist/{ExperimentPopover-ChKCrklH.js → ExperimentPopover-9l4QZlvQ.js} +2 -2
- package/dist/{ExperimentPopover-ChKCrklH.js.map → ExperimentPopover-9l4QZlvQ.js.map} +1 -1
- package/dist/{ExperimentSelectorModal-BqifjNaN.js → ExperimentSelectorModal-pR5fK3pA.js} +3 -3
- package/dist/{ExperimentSelectorModal-BqifjNaN.js.map → ExperimentSelectorModal-pR5fK3pA.js.map} +1 -1
- package/dist/{SegmentedControl-hOgBVdju.js → SegmentedControl-CJ7EAmOq.js} +2 -2
- package/dist/{SegmentedControl-hOgBVdju.js.map → SegmentedControl-CJ7EAmOq.js.map} +1 -1
- package/dist/{SettingsModal-CoZK3EDN.js → SettingsModal-Dyitgzfp.js} +6 -6
- package/dist/{SettingsModal-CoZK3EDN.js.map → SettingsModal-Dyitgzfp.js.map} +1 -1
- package/dist/components/AppTopBar.vue.d.ts +7 -0
- package/dist/components/JobsStatusTray.vue.d.ts +11 -4
- package/dist/components/PluginWorkspaceView.props.d.ts +3 -0
- package/dist/components/PluginWorkspaceView.vue.d.ts +3 -0
- package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +8 -0
- package/dist/composables/useJobCenter.d.ts +11 -3
- package/dist/{controlSchemaModel-CIH5Hqpw.js → controlSchemaModel-DCUOx8ll.js} +2 -2
- package/dist/{controlSchemaModel-CIH5Hqpw.js.map → controlSchemaModel-DCUOx8ll.js.map} +1 -1
- package/dist/{data-OZ94DhVC.js → data-BIiV4kKw.js} +9 -9
- package/dist/{data-OZ94DhVC.js.map → data-BIiV4kKw.js.map} +1 -1
- package/dist/data.js +7 -7
- package/dist/index.js +16 -16
- package/dist/{install-BKgb5qZw.js → install-Dg-Z6ze5.js} +13 -13
- package/dist/{install-BKgb5qZw.js.map → install-Dg-Z6ze5.js.map} +1 -1
- package/dist/install.js +1 -1
- package/dist/{lab-ZDKlx1Oo.js → lab-BHVT1qN2.js} +9 -9
- package/dist/{lab-ZDKlx1Oo.js.map → lab-BHVT1qN2.js.map} +1 -1
- package/dist/lab.js +4 -4
- package/dist/{records-B4yl2oIu.js → records-CR_pYzIP.js} +62 -62
- package/dist/{records-B4yl2oIu.js.map → records-CR_pYzIP.js.map} +1 -1
- package/dist/{runtime-Cz1GJa_O.js → runtime-cHv1phcc.js} +379 -31
- package/dist/runtime-cHv1phcc.js.map +1 -0
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +6 -6
- package/dist/{shell-kq9p4VsX.js → shell-BDuZf2zb.js} +4 -4
- package/dist/{shell-kq9p4VsX.js.map → shell-BDuZf2zb.js.map} +1 -1
- package/dist/shell.js +4 -4
- package/dist/styles.css +163 -307
- package/dist/types/components.d.ts +2 -0
- package/dist/{useExperimentSamples-BLx29CkM.js → useExperimentSamples-Dno1fFMq.js} +3 -3
- package/dist/{useExperimentSamples-BLx29CkM.js.map → useExperimentSamples-Dno1fFMq.js.map} +1 -1
- package/dist/{useListReorder-C_8RYeVP.js → useListReorder-CQ9OCScc.js} +76 -76
- package/dist/useListReorder-CQ9OCScc.js.map +1 -0
- package/dist/{useRackEditor-BhYlXKFM.js → useRackEditor-wL3kPrRT.js} +6 -6
- package/dist/{useRackEditor-BhYlXKFM.js.map → useRackEditor-wL3kPrRT.js.map} +1 -1
- package/dist/useRealtime-BW02xy4Z.js +398 -0
- package/dist/useRealtime-BW02xy4Z.js.map +1 -0
- package/dist/{useRequest-C9uwM79q.js → useRequest-CDkrXNU7.js} +2 -2
- package/dist/{useRequest-C9uwM79q.js.map → useRequest-CDkrXNU7.js.map} +1 -1
- package/package.json +1 -1
- package/src/__tests__/components/AppTopBar.test.ts +33 -2
- package/src/__tests__/components/GeneratedPluginView.test.ts +1 -1
- package/src/__tests__/components/JobsStatusTray.test.ts +137 -71
- package/src/__tests__/components/PluginWorkspaceView.test.ts +56 -1
- package/src/__tests__/composables/useJobCenter.test.ts +223 -3
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +3 -3
- package/src/__tests__/styles/v2AuditRules.test.ts +8 -0
- package/src/components/AppTopBar.vue +14 -0
- package/src/components/GeneratedPluginView.vue +4 -9
- package/src/components/JobsStatusTray.story.vue +78 -43
- package/src/components/JobsStatusTray.vue +171 -279
- package/src/components/PluginWorkspaceView.props.ts +3 -0
- package/src/components/PluginWorkspaceView.vue +17 -0
- package/src/components/internal/WorkspaceShellInternal.vue +12 -0
- package/src/composables/useJobCenter.ts +127 -6
- package/src/runtime.ts +0 -1
- package/src/styles/components/app-top-bar.css +7 -0
- package/src/styles/components/jobs-status-tray.css +129 -296
- package/src/styles/variables.css +16 -0
- package/src/types/components.ts +2 -0
- package/dist/AppSidebar-CB0-RQ4m.js.map +0 -1
- package/dist/runtime-Cz1GJa_O.js.map +0 -1
- package/dist/useListReorder-C_8RYeVP.js.map +0 -1
- package/dist/useRealtime-CUMbW_ln.js +0 -699
- package/dist/useRealtime-CUMbW_ln.js.map +0 -1
package/dist/lab.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as time_exports } from "./records-
|
|
2
|
-
import { C as
|
|
3
|
-
import { C as defineWellPlateControlProps, S as defineDoseDesignControlModel, T as defineWellPlateDoseControlProps, _ as SampleSelector_default, a as useReagentSeries, c as InstrumentStatusPanels_default, d as ChemicalFormula_default, f as AdductText_default, g as SampleHierarchyTree_default, h as useProtocolTemplates, i as generateDilutionSeries, l as InstrumentStateBadge_default, m as ProtocolStepEditor_default, n as DEFAULT_PRESETS, o as ResourceCard_default, p as ScientificNumber_default, r as DEFAULT_UNITS, s as TimeRangeInput_default, u as SequenceProgressBar_default, v as useSampleGroups, w as defineWellPlateDoseComponentBindings, x as defineDoseCalculatorControlProps } from "./lab-
|
|
4
|
-
import { C as hexToHsl, E as sampleTypeMarker, S as deriveShade, T as WellPlate_default, _ as mintPlotlyTemplate, b as PlateEditor_default, g as ChartContainer_default, h as PlotlyChart_default, n as ScheduleCalendar_default, r as useScheduleDrag, t as useRackEditor, v as DoseCalculator_default, w as hslToHex, y as dose_exports } from "./useRackEditor-
|
|
1
|
+
import { P as time_exports } from "./records-CR_pYzIP.js";
|
|
2
|
+
import { C as FormulaInput_default, L as definePlateEditor, S as useSequenceUtils, a as StepWizard_default, b as MoleculeInput_default, v as ConcentrationInput_default, w as formula_exports, x as SequenceInput_default, y as useConcentrationUnits, z as defineWellPlate } from "./useListReorder-CQ9OCScc.js";
|
|
3
|
+
import { C as defineWellPlateControlProps, S as defineDoseDesignControlModel, T as defineWellPlateDoseControlProps, _ as SampleSelector_default, a as useReagentSeries, c as InstrumentStatusPanels_default, d as ChemicalFormula_default, f as AdductText_default, g as SampleHierarchyTree_default, h as useProtocolTemplates, i as generateDilutionSeries, l as InstrumentStateBadge_default, m as ProtocolStepEditor_default, n as DEFAULT_PRESETS, o as ResourceCard_default, p as ScientificNumber_default, r as DEFAULT_UNITS, s as TimeRangeInput_default, u as SequenceProgressBar_default, v as useSampleGroups, w as defineWellPlateDoseComponentBindings, x as defineDoseCalculatorControlProps } from "./lab-BHVT1qN2.js";
|
|
4
|
+
import { C as hexToHsl, E as sampleTypeMarker, S as deriveShade, T as WellPlate_default, _ as mintPlotlyTemplate, b as PlateEditor_default, g as ChartContainer_default, h as PlotlyChart_default, n as ScheduleCalendar_default, r as useScheduleDrag, t as useRackEditor, v as DoseCalculator_default, w as hslToHex, y as dose_exports } from "./useRackEditor-wL3kPrRT.js";
|
|
5
5
|
export { AdductText_default as AdductText, ChartContainer_default as ChartContainer, ChemicalFormula_default as ChemicalFormula, ConcentrationInput_default as ConcentrationInput, DEFAULT_PRESETS, DEFAULT_UNITS, DoseCalculator_default as DoseCalculator, FormulaInput_default as FormulaInput, InstrumentStateBadge_default as InstrumentStateBadge, InstrumentStatusPanels_default as InstrumentStatusPanels, MoleculeInput_default as MoleculeInput, PlateEditor_default as PlateEditor, PlotlyChart_default as PlotlyChart, ProtocolStepEditor_default as ProtocolStepEditor, ResourceCard_default as ResourceCard, SampleHierarchyTree_default as SampleHierarchyTree, SampleSelector_default as SampleSelector, ScheduleCalendar_default as ScheduleCalendar, ScientificNumber_default as ScientificNumber, SequenceInput_default as SequenceInput, SequenceProgressBar_default as SequenceProgressBar, StepWizard_default as StepWizard, TimeRangeInput_default as TimeRangeInput, WellPlate_default as WellPlate, defineDoseCalculatorControlProps, defineDoseDesignControlModel, definePlateEditor, defineWellPlate, defineWellPlateControlProps, defineWellPlateDoseComponentBindings, defineWellPlateDoseControlProps, deriveShade, dose_exports as dose, formula_exports as formula, generateDilutionSeries, hexToHsl, hslToHex, mintPlotlyTemplate, sampleTypeMarker, time_exports as time, useConcentrationUnits, useProtocolTemplates, useRackEditor, useReagentSeries, useSampleGroups, useScheduleDrag, useSequenceUtils };
|
|
@@ -2493,6 +2493,66 @@ function useAppExperiment(options = {}) {
|
|
|
2493
2493
|
};
|
|
2494
2494
|
}
|
|
2495
2495
|
//#endregion
|
|
2496
|
+
//#region src/jobs.ts
|
|
2497
|
+
var ACTIVE_JOB_STATUSES = /* @__PURE__ */ new Set([
|
|
2498
|
+
"awaiting_input",
|
|
2499
|
+
"queued",
|
|
2500
|
+
"running"
|
|
2501
|
+
]);
|
|
2502
|
+
var TERMINAL_JOB_STATUSES = /* @__PURE__ */ new Set([
|
|
2503
|
+
"completed",
|
|
2504
|
+
"failed",
|
|
2505
|
+
"cancelled"
|
|
2506
|
+
]);
|
|
2507
|
+
/** Resolve action support while retaining one-cycle legacy status inference. */
|
|
2508
|
+
function resolveJobCapabilities(job) {
|
|
2509
|
+
const legacyCanCancel = job.status === "queued" || job.status === "running";
|
|
2510
|
+
const legacyCanDelete = TERMINAL_JOB_STATUSES.has(job.status);
|
|
2511
|
+
return {
|
|
2512
|
+
can_cancel: typeof job.can_cancel === "boolean" ? job.can_cancel : legacyCanCancel,
|
|
2513
|
+
can_delete: typeof job.can_delete === "boolean" ? job.can_delete : legacyCanDelete
|
|
2514
|
+
};
|
|
2515
|
+
}
|
|
2516
|
+
/** Clamp invalid or out-of-range progress values for safe display. */
|
|
2517
|
+
function normalizeJobPercent(value) {
|
|
2518
|
+
if (!Number.isFinite(value)) return 0;
|
|
2519
|
+
return Math.min(100, Math.max(0, value));
|
|
2520
|
+
}
|
|
2521
|
+
/** Create a detached canonical state without changing the transport input. */
|
|
2522
|
+
function normalizeJobState(job) {
|
|
2523
|
+
const capabilities = resolveJobCapabilities(job);
|
|
2524
|
+
return {
|
|
2525
|
+
...job,
|
|
2526
|
+
definition_id: job.definition_id ?? (typeof job.metadata.definition_id === "string" ? job.metadata.definition_id : null),
|
|
2527
|
+
result_status: job.result_status ?? (job.status === "completed" && job.metadata.has_result === true ? "available" : "none"),
|
|
2528
|
+
result_expires_at: job.result_expires_at ?? null,
|
|
2529
|
+
progress: {
|
|
2530
|
+
...job.progress,
|
|
2531
|
+
percent: normalizeJobPercent(job.progress.percent)
|
|
2532
|
+
},
|
|
2533
|
+
warnings: [...job.warnings],
|
|
2534
|
+
folders: [...job.folders],
|
|
2535
|
+
metadata: { ...job.metadata },
|
|
2536
|
+
...capabilities
|
|
2537
|
+
};
|
|
2538
|
+
}
|
|
2539
|
+
function isActiveJobStatus(status) {
|
|
2540
|
+
return ACTIVE_JOB_STATUSES.has(status);
|
|
2541
|
+
}
|
|
2542
|
+
function isTerminalJobStatus(status) {
|
|
2543
|
+
return TERMINAL_JOB_STATUSES.has(status);
|
|
2544
|
+
}
|
|
2545
|
+
function jobStatusLabel(status) {
|
|
2546
|
+
return {
|
|
2547
|
+
awaiting_input: "Waiting for input",
|
|
2548
|
+
queued: "Queued",
|
|
2549
|
+
running: "Running",
|
|
2550
|
+
completed: "Completed",
|
|
2551
|
+
failed: "Failed",
|
|
2552
|
+
cancelled: "Cancelled"
|
|
2553
|
+
}[status];
|
|
2554
|
+
}
|
|
2555
|
+
//#endregion
|
|
2496
2556
|
//#region src/utils/pluginSecrets.ts
|
|
2497
2557
|
var pluginSecrets_exports = /* @__PURE__ */ __exportAll({
|
|
2498
2558
|
FORMAT_KEY: () => FORMAT_KEY,
|
|
@@ -2959,66 +3019,6 @@ var TagsInput_default = /* @__PURE__ */ defineComponent({
|
|
|
2959
3019
|
}
|
|
2960
3020
|
});
|
|
2961
3021
|
//#endregion
|
|
2962
|
-
//#region src/jobs.ts
|
|
2963
|
-
var ACTIVE_JOB_STATUSES = /* @__PURE__ */ new Set([
|
|
2964
|
-
"awaiting_input",
|
|
2965
|
-
"queued",
|
|
2966
|
-
"running"
|
|
2967
|
-
]);
|
|
2968
|
-
var TERMINAL_JOB_STATUSES = /* @__PURE__ */ new Set([
|
|
2969
|
-
"completed",
|
|
2970
|
-
"failed",
|
|
2971
|
-
"cancelled"
|
|
2972
|
-
]);
|
|
2973
|
-
/** Resolve action support while retaining one-cycle legacy status inference. */
|
|
2974
|
-
function resolveJobCapabilities(job) {
|
|
2975
|
-
const legacyCanCancel = job.status === "queued" || job.status === "running";
|
|
2976
|
-
const legacyCanDelete = TERMINAL_JOB_STATUSES.has(job.status);
|
|
2977
|
-
return {
|
|
2978
|
-
can_cancel: typeof job.can_cancel === "boolean" ? job.can_cancel : legacyCanCancel,
|
|
2979
|
-
can_delete: typeof job.can_delete === "boolean" ? job.can_delete : legacyCanDelete
|
|
2980
|
-
};
|
|
2981
|
-
}
|
|
2982
|
-
/** Clamp invalid or out-of-range progress values for safe display. */
|
|
2983
|
-
function normalizeJobPercent(value) {
|
|
2984
|
-
if (!Number.isFinite(value)) return 0;
|
|
2985
|
-
return Math.min(100, Math.max(0, value));
|
|
2986
|
-
}
|
|
2987
|
-
/** Create a detached canonical state without changing the transport input. */
|
|
2988
|
-
function normalizeJobState(job) {
|
|
2989
|
-
const capabilities = resolveJobCapabilities(job);
|
|
2990
|
-
return {
|
|
2991
|
-
...job,
|
|
2992
|
-
definition_id: job.definition_id ?? (typeof job.metadata.definition_id === "string" ? job.metadata.definition_id : null),
|
|
2993
|
-
result_status: job.result_status ?? (job.status === "completed" && job.metadata.has_result === true ? "available" : "none"),
|
|
2994
|
-
result_expires_at: job.result_expires_at ?? null,
|
|
2995
|
-
progress: {
|
|
2996
|
-
...job.progress,
|
|
2997
|
-
percent: normalizeJobPercent(job.progress.percent)
|
|
2998
|
-
},
|
|
2999
|
-
warnings: [...job.warnings],
|
|
3000
|
-
folders: [...job.folders],
|
|
3001
|
-
metadata: { ...job.metadata },
|
|
3002
|
-
...capabilities
|
|
3003
|
-
};
|
|
3004
|
-
}
|
|
3005
|
-
function isActiveJobStatus(status) {
|
|
3006
|
-
return ACTIVE_JOB_STATUSES.has(status);
|
|
3007
|
-
}
|
|
3008
|
-
function isTerminalJobStatus(status) {
|
|
3009
|
-
return TERMINAL_JOB_STATUSES.has(status);
|
|
3010
|
-
}
|
|
3011
|
-
function jobStatusLabel(status) {
|
|
3012
|
-
return {
|
|
3013
|
-
awaiting_input: "Waiting for input",
|
|
3014
|
-
queued: "Queued",
|
|
3015
|
-
running: "Running",
|
|
3016
|
-
completed: "Completed",
|
|
3017
|
-
failed: "Failed",
|
|
3018
|
-
cancelled: "Cancelled"
|
|
3019
|
-
}[status];
|
|
3020
|
-
}
|
|
3021
|
-
//#endregion
|
|
3022
3022
|
//#region src/composables/platformContextHelpers.ts
|
|
3023
3023
|
function getInjectedPlatformContext() {
|
|
3024
3024
|
if (typeof window === "undefined") return void 0;
|
|
@@ -3263,6 +3263,6 @@ function isRecord(value) {
|
|
|
3263
3263
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3264
3264
|
}
|
|
3265
3265
|
//#endregion
|
|
3266
|
-
export { formatRelativeTime as A, Tooltip_default as B, formatExperimentDate as C, compareTime as D, useMenuKeyboard as E, toMinutes as F, BaseInput_default as G, useListSelection as H, FormField_default as I, EmptyState_default as L, formatTimeSlot as M, generateTimeSlots as N, durationMinutes as O, time_exports as P, useRovingFocus as R, experimentIdFromRoute as S, FileUploader_default as T, useSelectionLimit as U, BaseSelect_default as V, normalizeOptionInput as W, APP_EXPERIMENT_KEY as _, parseExperimentId as a, SORT_OPTIONS as b,
|
|
3266
|
+
export { formatRelativeTime as A, Tooltip_default as B, formatExperimentDate as C, compareTime as D, useMenuKeyboard as E, toMinutes as F, BaseInput_default as G, useListSelection as H, FormField_default as I, EmptyState_default as L, formatTimeSlot as M, generateTimeSlots as N, durationMinutes as O, time_exports as P, useRovingFocus as R, experimentIdFromRoute as S, FileUploader_default as T, useSelectionLimit as U, BaseSelect_default as V, normalizeOptionInput as W, APP_EXPERIMENT_KEY as _, parseExperimentId as a, SORT_OPTIONS as b, SecretInput_default as c, isActiveJobStatus as d, isTerminalJobStatus as f, resolveJobCapabilities as g, normalizeJobState as h, getInjectedPlatformContext as i, formatTime as j, findNearestTimeSlotIndex as k, FORMAT_KEY as l, normalizeJobPercent as m, ResourcePickerListInternal_default as n, resolveCurrentPluginId as o, jobStatusLabel as p, Skeleton_default as r, TagsInput_default as s, isRecord as t, pluginSecrets_exports as u, useAppExperiment as v, resolveExperimentCode as w, datePresetToISO as x, DATE_PRESET_OPTIONS as y, BaseCheckbox_default as z };
|
|
3267
3267
|
|
|
3268
|
-
//# sourceMappingURL=records-
|
|
3268
|
+
//# sourceMappingURL=records-CR_pYzIP.js.map
|