@morscherlab/mint-sdk 1.0.0-rc.1 → 1.0.0-rc.4

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.
Files changed (300) hide show
  1. package/README.md +9 -1
  2. package/dist/__tests__/components/LcmsSequenceTable.test.d.ts +1 -0
  3. package/dist/__tests__/components/ProgressBar.test.d.ts +1 -0
  4. package/dist/__tests__/components/RackEditor.test.d.ts +1 -0
  5. package/dist/__tests__/components/SequenceProgressBar.test.d.ts +1 -0
  6. package/dist/__tests__/composables/useExperimentSamples.test.d.ts +1 -0
  7. package/dist/__tests__/utils/instrument.test.d.ts +1 -0
  8. package/dist/__tests__/utils/lcms.test.d.ts +1 -0
  9. package/dist/__tests__/utils/permissions.test.d.ts +1 -0
  10. package/dist/__tests__/utils/rack.test.d.ts +1 -0
  11. package/dist/{auth-CBG3bWEc.js → auth-B7g4J4ZF.js} +99 -5
  12. package/dist/auth-B7g4J4ZF.js.map +1 -0
  13. package/dist/components/AppSidebar.vue.d.ts +3 -3
  14. package/dist/components/AutoGroupModal.vue.d.ts +1 -1
  15. package/dist/components/BaseCheckbox.vue.d.ts +1 -1
  16. package/dist/components/BaseToggle.vue.d.ts +2 -2
  17. package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +1 -1
  18. package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +1 -1
  19. package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +1 -1
  20. package/dist/components/ControlWorkspaceView.vue.d.ts +3 -3
  21. package/dist/components/DoseDesignWorkspaceView.vue.d.ts +2 -2
  22. package/dist/components/FormulaInput.vue.d.ts +1 -1
  23. package/dist/components/InstrumentAlertLog.vue.d.ts +22 -0
  24. package/dist/components/InstrumentStateBadge.vue.d.ts +11 -0
  25. package/dist/components/InstrumentStatusCard.vue.d.ts +13 -0
  26. package/dist/components/LcmsSequenceTable.vue.d.ts +26 -0
  27. package/dist/components/PluginWorkspaceView.vue.d.ts +3 -3
  28. package/dist/components/ProgressBar.vue.d.ts +1 -0
  29. package/dist/components/RackEditor.vue.d.ts +41 -3
  30. package/dist/components/ReagentList.vue.d.ts +1 -1
  31. package/dist/components/SampleSelector.vue.d.ts +5 -2
  32. package/dist/components/SegmentedControl.vue.d.ts +2 -0
  33. package/dist/components/SequenceInput.vue.d.ts +1 -1
  34. package/dist/components/SequenceProgressBar.vue.d.ts +15 -0
  35. package/dist/components/SettingsModal.vue.d.ts +3 -1
  36. package/dist/components/TagsInput.vue.d.ts +1 -1
  37. package/dist/components/WellPlate.vue.d.ts +42 -3
  38. package/dist/components/index.d.ts +5 -0
  39. package/dist/components/index.js +3 -3
  40. package/dist/{components-5KSfsVqf.js → components-DafPc4rM.js} +2091 -1051
  41. package/dist/components-DafPc4rM.js.map +1 -0
  42. package/dist/composables/controlComponentBindings.d.ts +7 -0
  43. package/dist/composables/controlSchemaAdapters.d.ts +20 -0
  44. package/dist/composables/controlSchemaFormFields.d.ts +3 -0
  45. package/dist/composables/controlSchemaLayout.d.ts +7 -0
  46. package/dist/composables/controlSchemaNormalize.d.ts +15 -0
  47. package/dist/composables/controlSchemaUtils.d.ts +9 -0
  48. package/dist/composables/controlWorkspaceOptions.d.ts +2 -0
  49. package/dist/composables/experimentDesignData.d.ts +17 -0
  50. package/dist/composables/index.d.ts +2 -0
  51. package/dist/composables/index.js +4 -4
  52. package/dist/composables/useControlSchema.d.ts +15 -30
  53. package/dist/composables/useControlWorkspace.d.ts +5 -0
  54. package/dist/composables/useExperimentData.d.ts +11 -3
  55. package/dist/composables/useExperimentSamples.d.ts +42 -0
  56. package/dist/composables/usePlatformContext.d.ts +54 -0
  57. package/dist/{composables-D4Myb30a.js → composables-BMkPQhVK.js} +5 -3
  58. package/dist/composables-BMkPQhVK.js.map +1 -0
  59. package/dist/index.d.ts +4 -0
  60. package/dist/index.js +168 -6
  61. package/dist/index.js.map +1 -0
  62. package/dist/install.js +2 -2
  63. package/dist/instrument.d.ts +7 -0
  64. package/dist/lcms.d.ts +27 -0
  65. package/dist/permissions.d.ts +46 -0
  66. package/dist/stores/auth.d.ts +74 -2
  67. package/dist/stores/index.js +1 -1
  68. package/dist/styles.css +3316 -1216
  69. package/dist/templates/adapters.d.ts +14 -47
  70. package/dist/templates/assayLookups.d.ts +3 -0
  71. package/dist/templates/assayMatrixAdapters.d.ts +6 -0
  72. package/dist/templates/assayMatrixBuilder.d.ts +2 -0
  73. package/dist/templates/assayNormalizers.d.ts +4 -0
  74. package/dist/templates/builderDefaults.d.ts +1 -0
  75. package/dist/templates/builderIdUtils.d.ts +4 -0
  76. package/dist/templates/builderPresetControls.d.ts +10 -0
  77. package/dist/templates/builderReadUtils.d.ts +8 -0
  78. package/dist/templates/builders.d.ts +26 -63
  79. package/dist/templates/calibrationCurveAdapters.d.ts +4 -0
  80. package/dist/templates/calibrationCurveBuilder.d.ts +2 -0
  81. package/dist/templates/calibrationNormalizers.d.ts +5 -0
  82. package/dist/templates/componentBindingCatalog.d.ts +25 -0
  83. package/dist/templates/componentBindingHelpers.d.ts +17 -0
  84. package/dist/templates/componentDoseResponseProps.d.ts +3 -0
  85. package/dist/templates/componentGenericProps.d.ts +8 -0
  86. package/dist/templates/componentPlateHelpers.d.ts +5 -0
  87. package/dist/templates/componentPlateMapProps.d.ts +3 -0
  88. package/dist/templates/componentPropsFactory.d.ts +3 -0
  89. package/dist/templates/componentQpcrPlateProps.d.ts +3 -0
  90. package/dist/templates/componentTargetResolvers.d.ts +5 -0
  91. package/dist/templates/componentTemplateProps.d.ts +3 -0
  92. package/dist/templates/controlSchemaClone.d.ts +4 -0
  93. package/dist/templates/controlSchemaConstants.d.ts +10 -0
  94. package/dist/templates/controlSchemaMerge.d.ts +3 -0
  95. package/dist/templates/controlSchemaTargets.d.ts +17 -0
  96. package/dist/templates/controlSchemaTypes.d.ts +4 -0
  97. package/dist/templates/controlSchemas.d.ts +4 -4
  98. package/dist/templates/defaultBioTemplateBuilder.d.ts +2 -0
  99. package/dist/templates/doseResponseAdapters.d.ts +4 -0
  100. package/dist/templates/doseResponseBuilder.d.ts +2 -0
  101. package/dist/templates/elisaAssayCollectionBuilder.d.ts +2 -0
  102. package/dist/templates/flowCytometryAssayCollectionBuilder.d.ts +2 -0
  103. package/dist/templates/flowCytometryPanelBuilder.d.ts +2 -0
  104. package/dist/templates/flowNormalizers.d.ts +8 -0
  105. package/dist/templates/flowPanelAdapters.d.ts +4 -0
  106. package/dist/templates/index.d.ts +2 -2
  107. package/dist/templates/index.js +2 -2
  108. package/dist/templates/instrumentRunAdapterHelpers.d.ts +8 -0
  109. package/dist/templates/instrumentRunAdapters.d.ts +8 -0
  110. package/dist/templates/instrumentRunBuilder.d.ts +2 -0
  111. package/dist/templates/lcmsBatchCollectionBuilder.d.ts +2 -0
  112. package/dist/templates/plateGeometry.d.ts +4 -0
  113. package/dist/templates/plateMapAdapters.d.ts +3 -0
  114. package/dist/templates/plateMapBuilder.d.ts +2 -0
  115. package/dist/templates/presetControlSchemas.d.ts +534 -0
  116. package/dist/templates/presets.d.ts +12 -0
  117. package/dist/templates/protocolAdapters.d.ts +5 -0
  118. package/dist/templates/protocolNormalizers.d.ts +6 -0
  119. package/dist/templates/protocolStepsBuilder.d.ts +2 -0
  120. package/dist/templates/qpcrAdapters.d.ts +5 -0
  121. package/dist/templates/qpcrExpressionCollectionBuilder.d.ts +2 -0
  122. package/dist/templates/qpcrPlateBuilder.d.ts +2 -0
  123. package/dist/templates/reagentAdapters.d.ts +5 -0
  124. package/dist/templates/reagentListBuilder.d.ts +2 -0
  125. package/dist/templates/runNormalizers.d.ts +10 -0
  126. package/dist/templates/sampleNormalizers.d.ts +4 -0
  127. package/dist/templates/samplePrepAdapters.d.ts +4 -0
  128. package/dist/templates/samplePrepBuilder.d.ts +2 -0
  129. package/dist/templates/sampleSheetAdapters.d.ts +5 -0
  130. package/dist/templates/sampleSheetBuilder.d.ts +2 -0
  131. package/dist/templates/targetedMetabolomicsCollectionBuilder.d.ts +2 -0
  132. package/dist/templates/targetedMetabolomicsHelpers.d.ts +5 -0
  133. package/dist/templates/templateControlSchemas.d.ts +400 -0
  134. package/dist/templates/templateEnvelopes.d.ts +9 -0
  135. package/dist/templates/templatePackCollectionBuilder.d.ts +2 -0
  136. package/dist/templates/templatePresetCollectionBuilder.d.ts +18 -0
  137. package/dist/templates/templateValidators.d.ts +13 -0
  138. package/dist/templates/timeCourseAdapters.d.ts +5 -0
  139. package/dist/templates/timeCourseBuilder.d.ts +2 -0
  140. package/dist/templates/types.d.ts +16 -1
  141. package/dist/templates/wellPlateScreenCollectionBuilder.d.ts +2 -0
  142. package/dist/templates/westernBlotAssayCollectionBuilder.d.ts +2 -0
  143. package/dist/{templates-BSlxwV2c.js → templates-bUAWMn5L.js} +3610 -3154
  144. package/dist/templates-bUAWMn5L.js.map +1 -0
  145. package/dist/types/auth.d.ts +2 -0
  146. package/dist/types/components.d.ts +32 -3
  147. package/dist/types/form-builder.d.ts +2 -1
  148. package/dist/types/index.d.ts +4 -1
  149. package/dist/types/instrument.d.ts +56 -0
  150. package/dist/types/platform.d.ts +3 -0
  151. package/dist/{useExperimentData-BbbdI5xT.js → useProtocolTemplates-QZtHFFH2.js} +534 -359
  152. package/dist/useProtocolTemplates-QZtHFFH2.js.map +1 -0
  153. package/dist/utils/rack.d.ts +47 -0
  154. package/package.json +1 -1
  155. package/src/__tests__/components/AppTopBar.test.ts +15 -0
  156. package/src/__tests__/components/BaseTabs.test.ts +15 -0
  157. package/src/__tests__/components/LcmsSequenceTable.test.ts +57 -0
  158. package/src/__tests__/components/ProgressBar.test.ts +18 -0
  159. package/src/__tests__/components/RackEditor.test.ts +125 -0
  160. package/src/__tests__/components/SampleSelector.test.ts +25 -0
  161. package/src/__tests__/components/SegmentedControl.test.ts +45 -0
  162. package/src/__tests__/components/SequenceProgressBar.test.ts +39 -0
  163. package/src/__tests__/components/SettingsModal.test.ts +83 -2
  164. package/src/__tests__/composables/useControlSchema.test.ts +4 -0
  165. package/src/__tests__/composables/useExperimentData.test.ts +23 -0
  166. package/src/__tests__/composables/useExperimentSamples.test.ts +91 -0
  167. package/src/__tests__/templates/templates.test.ts +86 -0
  168. package/src/__tests__/utils/instrument.test.ts +47 -0
  169. package/src/__tests__/utils/lcms.test.ts +73 -0
  170. package/src/__tests__/utils/permissions.test.ts +50 -0
  171. package/src/__tests__/utils/rack.test.ts +120 -0
  172. package/src/components/AppTopBar.vue +1 -0
  173. package/src/components/BaseTabs.vue +22 -1
  174. package/src/components/InstrumentAlertLog.vue +191 -0
  175. package/src/components/InstrumentStateBadge.vue +50 -0
  176. package/src/components/InstrumentStatusCard.vue +188 -0
  177. package/src/components/LcmsSequenceTable.vue +191 -0
  178. package/src/components/ProgressBar.vue +3 -0
  179. package/src/components/RackEditor.vue +73 -2
  180. package/src/components/SampleSelector.vue +28 -9
  181. package/src/components/SegmentedControl.story.vue +17 -0
  182. package/src/components/SegmentedControl.vue +14 -3
  183. package/src/components/SequenceProgressBar.vue +71 -0
  184. package/src/components/SettingsModal.vue +42 -2
  185. package/src/components/WellPlate.vue +142 -21
  186. package/src/components/index.ts +5 -0
  187. package/src/components/internal/WellEditPopupInternal.vue +1 -0
  188. package/src/composables/controlComponentBindings.ts +80 -0
  189. package/src/composables/controlSchemaAdapters.ts +196 -0
  190. package/src/composables/controlSchemaFormFields.ts +61 -0
  191. package/src/composables/controlSchemaLayout.ts +59 -0
  192. package/src/composables/controlSchemaNormalize.ts +101 -0
  193. package/src/composables/controlSchemaUtils.ts +36 -0
  194. package/src/composables/controlWorkspaceOptions.ts +21 -0
  195. package/src/composables/experimentDesignData.ts +182 -0
  196. package/src/composables/index.ts +14 -0
  197. package/src/composables/useAuth.ts +4 -0
  198. package/src/composables/useAutoGroup.ts +5 -1
  199. package/src/composables/useControlSchema.ts +62 -618
  200. package/src/composables/useControlWorkspace.ts +207 -0
  201. package/src/composables/useExperimentData.ts +57 -16
  202. package/src/composables/useExperimentSamples.ts +142 -0
  203. package/src/index.ts +27 -0
  204. package/src/instrument.ts +90 -0
  205. package/src/lcms.ts +108 -0
  206. package/src/permissions.ts +143 -0
  207. package/src/stores/auth.ts +31 -3
  208. package/src/styles/components/instrument-monitor.css +478 -0
  209. package/src/styles/components/lcms-sequence-table.css +189 -0
  210. package/src/styles/components/sequence-progress-bar.css +63 -0
  211. package/src/styles/components/tabs.css +9 -0
  212. package/src/styles/components/well-edit-popup.css +7 -1
  213. package/src/styles/components/well-plate.css +5 -0
  214. package/src/styles/index.css +3 -0
  215. package/src/templates/adapters.ts +89 -930
  216. package/src/templates/assayLookups.ts +33 -0
  217. package/src/templates/assayMatrixAdapters.ts +78 -0
  218. package/src/templates/assayMatrixBuilder.ts +59 -0
  219. package/src/templates/assayNormalizers.ts +34 -0
  220. package/src/templates/builderDefaults.ts +11 -0
  221. package/src/templates/builderIdUtils.ts +20 -0
  222. package/src/templates/builderPresetControls.ts +165 -0
  223. package/src/templates/builderReadUtils.ts +57 -0
  224. package/src/templates/builders.ts +122 -2149
  225. package/src/templates/calibrationCurveAdapters.ts +59 -0
  226. package/src/templates/calibrationCurveBuilder.ts +99 -0
  227. package/src/templates/calibrationNormalizers.ts +60 -0
  228. package/src/templates/componentBindingCatalog.ts +90 -0
  229. package/src/templates/componentBindingHelpers.ts +93 -0
  230. package/src/templates/componentBindings.ts +12 -461
  231. package/src/templates/componentDoseResponseProps.ts +42 -0
  232. package/src/templates/componentGenericProps.ts +77 -0
  233. package/src/templates/componentPlateHelpers.ts +29 -0
  234. package/src/templates/componentPlateMapProps.ts +32 -0
  235. package/src/templates/componentPropsFactory.ts +21 -0
  236. package/src/templates/componentQpcrPlateProps.ts +28 -0
  237. package/src/templates/componentTargetResolvers.ts +69 -0
  238. package/src/templates/componentTemplateProps.ts +78 -0
  239. package/src/templates/controlSchemaClone.ts +32 -0
  240. package/src/templates/controlSchemaConstants.ts +11 -0
  241. package/src/templates/controlSchemaMerge.ts +40 -0
  242. package/src/templates/controlSchemaTargets.ts +87 -0
  243. package/src/templates/controlSchemaTypes.ts +20 -0
  244. package/src/templates/controlSchemas.ts +22 -636
  245. package/src/templates/defaultBioTemplateBuilder.ts +124 -0
  246. package/src/templates/doseResponseAdapters.ts +45 -0
  247. package/src/templates/doseResponseBuilder.ts +44 -0
  248. package/src/templates/elisaAssayCollectionBuilder.ts +62 -0
  249. package/src/templates/flowCytometryAssayCollectionBuilder.ts +41 -0
  250. package/src/templates/flowCytometryPanelBuilder.ts +53 -0
  251. package/src/templates/flowNormalizers.ts +58 -0
  252. package/src/templates/flowPanelAdapters.ts +58 -0
  253. package/src/templates/index.ts +2 -0
  254. package/src/templates/instrumentRunAdapterHelpers.ts +94 -0
  255. package/src/templates/instrumentRunAdapters.ts +163 -0
  256. package/src/templates/instrumentRunBuilder.ts +97 -0
  257. package/src/templates/lcmsBatchCollectionBuilder.ts +38 -0
  258. package/src/templates/plateGeometry.ts +62 -0
  259. package/src/templates/plateMapAdapters.ts +36 -0
  260. package/src/templates/plateMapBuilder.ts +43 -0
  261. package/src/templates/presetControlSchemas.ts +258 -0
  262. package/src/templates/presets.ts +23 -0
  263. package/src/templates/protocolAdapters.ts +69 -0
  264. package/src/templates/protocolNormalizers.ts +37 -0
  265. package/src/templates/protocolStepsBuilder.ts +36 -0
  266. package/src/templates/qpcrAdapters.ts +104 -0
  267. package/src/templates/qpcrExpressionCollectionBuilder.ts +33 -0
  268. package/src/templates/qpcrPlateBuilder.ts +96 -0
  269. package/src/templates/reagentAdapters.ts +77 -0
  270. package/src/templates/reagentListBuilder.ts +30 -0
  271. package/src/templates/runNormalizers.ts +63 -0
  272. package/src/templates/sampleNormalizers.ts +58 -0
  273. package/src/templates/samplePrepAdapters.ts +63 -0
  274. package/src/templates/samplePrepBuilder.ts +51 -0
  275. package/src/templates/sampleSheetAdapters.ts +75 -0
  276. package/src/templates/sampleSheetBuilder.ts +23 -0
  277. package/src/templates/targetedMetabolomicsCollectionBuilder.ts +79 -0
  278. package/src/templates/targetedMetabolomicsHelpers.ts +102 -0
  279. package/src/templates/templateControlSchemas.ts +320 -0
  280. package/src/templates/templateEnvelopes.ts +137 -0
  281. package/src/templates/templatePackCollectionBuilder.ts +23 -0
  282. package/src/templates/templatePresetCollectionBuilder.ts +139 -0
  283. package/src/templates/templateValidators.ts +414 -0
  284. package/src/templates/timeCourseAdapters.ts +73 -0
  285. package/src/templates/timeCourseBuilder.ts +64 -0
  286. package/src/templates/types.ts +17 -0
  287. package/src/templates/wellPlateScreenCollectionBuilder.ts +36 -0
  288. package/src/templates/westernBlotAssayCollectionBuilder.ts +68 -0
  289. package/src/types/auth.ts +3 -0
  290. package/src/types/components.ts +45 -3
  291. package/src/types/form-builder.ts +2 -1
  292. package/src/types/index.ts +35 -0
  293. package/src/types/instrument.ts +61 -0
  294. package/src/types/platform.ts +4 -0
  295. package/src/utils/rack.ts +209 -0
  296. package/dist/auth-CBG3bWEc.js.map +0 -1
  297. package/dist/components-5KSfsVqf.js.map +0 -1
  298. package/dist/composables-D4Myb30a.js.map +0 -1
  299. package/dist/templates-BSlxwV2c.js.map +0 -1
  300. package/dist/useExperimentData-BbbdI5xT.js.map +0 -1
@@ -0,0 +1,400 @@
1
+ export declare const templateControlSchemas: {
2
+ 'plate-map': {
3
+ plateName: {
4
+ label: string;
5
+ default: string;
6
+ section: string;
7
+ sectionLabel: string;
8
+ sectionSubtitle: string;
9
+ view: string;
10
+ sidebar: {
11
+ icon: string[];
12
+ iconColor: string;
13
+ iconBg: string;
14
+ };
15
+ };
16
+ plateFormat: {
17
+ label: string;
18
+ default: number;
19
+ options: readonly [6, 12, 24, 48, 96, 384];
20
+ section: string;
21
+ view: string;
22
+ };
23
+ sampleNames: {
24
+ type: "tags";
25
+ label: string;
26
+ default: string[];
27
+ section: string;
28
+ sectionLabel: string;
29
+ sectionSubtitle: string;
30
+ view: string;
31
+ sidebar: {
32
+ icon: string[];
33
+ iconColor: string;
34
+ iconBg: string;
35
+ };
36
+ };
37
+ };
38
+ 'sample-sheet': {
39
+ sampleCount: {
40
+ type: "number";
41
+ label: string;
42
+ default: number;
43
+ min: number;
44
+ max: number;
45
+ section: string;
46
+ sectionLabel: string;
47
+ sectionSubtitle: string;
48
+ view: string;
49
+ sidebar: {
50
+ icon: string[];
51
+ iconColor: string;
52
+ iconBg: string;
53
+ };
54
+ };
55
+ includeGroups: {
56
+ label: string;
57
+ default: boolean;
58
+ section: string;
59
+ view: string;
60
+ };
61
+ includeBatch: {
62
+ label: string;
63
+ default: boolean;
64
+ section: string;
65
+ sectionLabel: string;
66
+ view: string;
67
+ sidebar: {
68
+ icon: string[];
69
+ iconColor: string;
70
+ iconBg: string;
71
+ };
72
+ };
73
+ };
74
+ 'sample-prep': {
75
+ prepType: {
76
+ label: string;
77
+ default: string;
78
+ options: string[];
79
+ section: string;
80
+ sectionLabel: string;
81
+ sectionSubtitle: string;
82
+ view: string;
83
+ sidebar: {
84
+ icon: string[];
85
+ iconColor: string;
86
+ iconBg: string;
87
+ };
88
+ };
89
+ volumeUnit: {
90
+ label: string;
91
+ default: string;
92
+ options: string[];
93
+ section: string;
94
+ view: string;
95
+ };
96
+ outputVolume: {
97
+ type: "number";
98
+ label: string;
99
+ default: number;
100
+ min: number;
101
+ section: string;
102
+ view: string;
103
+ };
104
+ };
105
+ 'dose-response': {
106
+ unit: {
107
+ label: string;
108
+ default: string;
109
+ options: readonly ["nM", "uM", "mM", "ug/mL", "mg/mL"];
110
+ section: string;
111
+ sectionLabel: string;
112
+ sectionSubtitle: string;
113
+ view: string;
114
+ sidebar: {
115
+ icon: string[];
116
+ iconColor: string;
117
+ iconBg: string;
118
+ };
119
+ };
120
+ replicates: {
121
+ type: "number";
122
+ label: string;
123
+ default: number;
124
+ min: number;
125
+ max: number;
126
+ section: string;
127
+ view: string;
128
+ };
129
+ includePlateLayout: {
130
+ label: string;
131
+ default: boolean;
132
+ section: string;
133
+ sectionLabel: string;
134
+ sectionSubtitle: string;
135
+ view: string;
136
+ sidebar: {
137
+ icon: string[];
138
+ iconColor: string;
139
+ iconBg: string;
140
+ defaultOpen: false;
141
+ };
142
+ };
143
+ };
144
+ 'calibration-curve': {
145
+ analyte: {
146
+ label: string;
147
+ default: string;
148
+ section: string;
149
+ sectionLabel: string;
150
+ sectionSubtitle: string;
151
+ view: string;
152
+ sidebar: {
153
+ icon: string[];
154
+ iconColor: string;
155
+ iconBg: string;
156
+ };
157
+ };
158
+ model: {
159
+ label: string;
160
+ default: string;
161
+ options: string[];
162
+ section: string;
163
+ sectionLabel: string;
164
+ view: string;
165
+ sidebar: {
166
+ icon: string[];
167
+ iconColor: string;
168
+ iconBg: string;
169
+ };
170
+ };
171
+ minRSquared: {
172
+ type: "number";
173
+ label: string;
174
+ default: number;
175
+ min: number;
176
+ max: number;
177
+ props: {
178
+ step: number;
179
+ };
180
+ section: string;
181
+ view: string;
182
+ };
183
+ };
184
+ 'time-course': {
185
+ timeUnit: {
186
+ label: string;
187
+ default: string;
188
+ options: string[];
189
+ section: string;
190
+ sectionLabel: string;
191
+ sectionSubtitle: string;
192
+ view: string;
193
+ sidebar: {
194
+ icon: string[];
195
+ iconColor: string;
196
+ iconBg: string;
197
+ };
198
+ };
199
+ replicates: {
200
+ type: "number";
201
+ label: string;
202
+ default: number;
203
+ min: number;
204
+ max: number;
205
+ section: string;
206
+ sectionLabel: string;
207
+ view: string;
208
+ sidebar: {
209
+ icon: string[];
210
+ iconColor: string;
211
+ iconBg: string;
212
+ };
213
+ };
214
+ };
215
+ 'protocol-steps': {
216
+ defaultDuration: {
217
+ type: "number";
218
+ label: string;
219
+ default: number;
220
+ min: number;
221
+ section: string;
222
+ sectionLabel: string;
223
+ sectionSubtitle: string;
224
+ view: string;
225
+ sidebar: {
226
+ icon: string[];
227
+ iconColor: string;
228
+ iconBg: string;
229
+ };
230
+ props: {
231
+ suffix: string;
232
+ };
233
+ };
234
+ editable: {
235
+ label: string;
236
+ default: boolean;
237
+ section: string;
238
+ view: string;
239
+ };
240
+ };
241
+ 'assay-matrix': {
242
+ featureType: {
243
+ label: string;
244
+ default: string;
245
+ options: string[];
246
+ section: string;
247
+ sectionLabel: string;
248
+ sectionSubtitle: string;
249
+ view: string;
250
+ sidebar: {
251
+ icon: string[];
252
+ iconColor: string;
253
+ iconBg: string;
254
+ };
255
+ };
256
+ normalizeValues: {
257
+ label: string;
258
+ default: boolean;
259
+ section: string;
260
+ sectionLabel: string;
261
+ view: string;
262
+ sidebar: {
263
+ icon: string[];
264
+ iconColor: string;
265
+ iconBg: string;
266
+ defaultOpen: false;
267
+ };
268
+ };
269
+ };
270
+ 'reagent-list': {
271
+ reagentKind: {
272
+ label: string;
273
+ default: string;
274
+ options: string[];
275
+ section: string;
276
+ sectionLabel: string;
277
+ sectionSubtitle: string;
278
+ view: string;
279
+ sidebar: {
280
+ icon: string[];
281
+ iconColor: string;
282
+ iconBg: string;
283
+ };
284
+ };
285
+ trackStock: {
286
+ label: string;
287
+ default: boolean;
288
+ section: string;
289
+ view: string;
290
+ };
291
+ };
292
+ 'flow-cytometry-panel': {
293
+ markers: {
294
+ type: "tags";
295
+ label: string;
296
+ default: string[];
297
+ section: string;
298
+ sectionLabel: string;
299
+ sectionSubtitle: string;
300
+ view: string;
301
+ sidebar: {
302
+ icon: string[];
303
+ iconColor: string;
304
+ iconBg: string;
305
+ };
306
+ };
307
+ instrument: {
308
+ label: string;
309
+ default: string;
310
+ section: string;
311
+ sectionLabel: string;
312
+ sectionSubtitle: string;
313
+ view: string;
314
+ sidebar: {
315
+ icon: string[];
316
+ iconColor: string;
317
+ iconBg: string;
318
+ };
319
+ };
320
+ includeDefaultControls: {
321
+ label: string;
322
+ default: boolean;
323
+ section: string;
324
+ view: string;
325
+ };
326
+ };
327
+ 'instrument-run': {
328
+ instrument: {
329
+ label: string;
330
+ default: string;
331
+ options: string[];
332
+ section: string;
333
+ sectionLabel: string;
334
+ sectionSubtitle: string;
335
+ view: string;
336
+ sidebar: {
337
+ icon: string[];
338
+ iconColor: string;
339
+ iconBg: string;
340
+ };
341
+ };
342
+ method: {
343
+ label: string;
344
+ default: string;
345
+ section: string;
346
+ view: string;
347
+ };
348
+ includeQc: {
349
+ label: string;
350
+ default: boolean;
351
+ section: string;
352
+ sectionLabel: string;
353
+ view: string;
354
+ sidebar: {
355
+ icon: string[];
356
+ iconColor: string;
357
+ iconBg: string;
358
+ defaultOpen: false;
359
+ };
360
+ };
361
+ };
362
+ 'qpcr-plate': {
363
+ chemistry: {
364
+ label: string;
365
+ default: string;
366
+ options: string[];
367
+ section: string;
368
+ sectionLabel: string;
369
+ sectionSubtitle: string;
370
+ view: string;
371
+ sidebar: {
372
+ icon: string[];
373
+ iconColor: string;
374
+ iconBg: string;
375
+ };
376
+ };
377
+ replicates: {
378
+ type: "number";
379
+ label: string;
380
+ default: number;
381
+ min: number;
382
+ max: number;
383
+ section: string;
384
+ view: string;
385
+ };
386
+ includeNoTemplateControls: {
387
+ label: string;
388
+ default: boolean;
389
+ section: string;
390
+ sectionLabel: string;
391
+ view: string;
392
+ sidebar: {
393
+ icon: string[];
394
+ iconColor: string;
395
+ iconBg: string;
396
+ defaultOpen: false;
397
+ };
398
+ };
399
+ };
400
+ };
@@ -0,0 +1,9 @@
1
+ import { BioTemplateEnvelope, TemplateCollection, TemplateCollectionEnvelope, TemplateId } from './types';
2
+ export declare const TEMPLATE_COLLECTION_KEY = "templates";
3
+ export declare function createTemplateEnvelope<TData>(templateId: TemplateId, data: TData, metadata?: Record<string, unknown>, templateVersion?: string): BioTemplateEnvelope<TData>;
4
+ export declare function createTemplateCollection(templates: Array<BioTemplateEnvelope<unknown>>, metadata?: Record<string, unknown>): TemplateCollectionEnvelope;
5
+ export declare function extractTemplateCollection(value: unknown): TemplateCollection;
6
+ export declare function ensureTemplateFromCollection<TTemplate extends BioTemplateEnvelope<unknown>>(value: unknown, templateId: TemplateId | string): TTemplate;
7
+ export declare function assertTemplateEnvelope<TData>(value: unknown, templateId: TemplateId | string): asserts value is BioTemplateEnvelope<TData>;
8
+ export declare function ensureTemplateEnvelope<TTemplate extends BioTemplateEnvelope<unknown>>(value: unknown, templateId: TemplateId | string): TTemplate;
9
+ export declare function getTemplateData<TData>(template: BioTemplateEnvelope<TData> | TData, templateId?: TemplateId | string): TData;
@@ -0,0 +1,2 @@
1
+ import { CreateBioTemplatePackCollectionOptions, TemplateCollectionEnvelope, TemplatePackId } from './types';
2
+ export declare function createBioTemplatePackCollection(name: TemplatePackId | string, options?: CreateBioTemplatePackCollectionOptions): TemplateCollectionEnvelope;
@@ -0,0 +1,18 @@
1
+ import { BioTemplateControlValues } from './builderPresetControls';
2
+ import { CreateElisaAssayCollectionOptions, CreateFlowCytometryAssayCollectionOptions, CreateLcmsBatchCollectionOptions, CreateQpcrExpressionCollectionOptions, CreateTargetedMetabolomicsCollectionOptions, CreateWellPlateScreenCollectionOptions, CreateWesternBlotAssayCollectionOptions, TemplateCollectionEnvelope, TemplatePresetId } from './types';
3
+ export declare function createBioTemplatePresetCollection(name: 'wellplate-screen', options?: CreateWellPlateScreenCollectionOptions): TemplateCollectionEnvelope;
4
+ export declare function createBioTemplatePresetCollection(name: 'qpcr-expression', options?: CreateQpcrExpressionCollectionOptions): TemplateCollectionEnvelope;
5
+ export declare function createBioTemplatePresetCollection(name: 'lcms-batch', options?: CreateLcmsBatchCollectionOptions): TemplateCollectionEnvelope;
6
+ export declare function createBioTemplatePresetCollection(name: 'targeted-metabolomics', options?: CreateTargetedMetabolomicsCollectionOptions): TemplateCollectionEnvelope;
7
+ export declare function createBioTemplatePresetCollection(name: 'elisa-assay', options?: CreateElisaAssayCollectionOptions): TemplateCollectionEnvelope;
8
+ export declare function createBioTemplatePresetCollection(name: 'flow-cytometry-assay', options?: CreateFlowCytometryAssayCollectionOptions): TemplateCollectionEnvelope;
9
+ export declare function createBioTemplatePresetCollection(name: 'western-blot-assay', options?: CreateWesternBlotAssayCollectionOptions): TemplateCollectionEnvelope;
10
+ export declare function createBioTemplatePresetCollection(name: string, options?: CreateWellPlateScreenCollectionOptions | CreateQpcrExpressionCollectionOptions | CreateLcmsBatchCollectionOptions | CreateTargetedMetabolomicsCollectionOptions | CreateElisaAssayCollectionOptions | CreateFlowCytometryAssayCollectionOptions | CreateWesternBlotAssayCollectionOptions): TemplateCollectionEnvelope;
11
+ export declare function createBioTemplatePresetCollectionFromControls(name: 'wellplate-screen', values: BioTemplateControlValues): TemplateCollectionEnvelope;
12
+ export declare function createBioTemplatePresetCollectionFromControls(name: 'qpcr-expression', values: BioTemplateControlValues): TemplateCollectionEnvelope;
13
+ export declare function createBioTemplatePresetCollectionFromControls(name: 'lcms-batch', values: BioTemplateControlValues): TemplateCollectionEnvelope;
14
+ export declare function createBioTemplatePresetCollectionFromControls(name: 'targeted-metabolomics', values: BioTemplateControlValues): TemplateCollectionEnvelope;
15
+ export declare function createBioTemplatePresetCollectionFromControls(name: 'elisa-assay', values: BioTemplateControlValues): TemplateCollectionEnvelope;
16
+ export declare function createBioTemplatePresetCollectionFromControls(name: 'flow-cytometry-assay', values: BioTemplateControlValues): TemplateCollectionEnvelope;
17
+ export declare function createBioTemplatePresetCollectionFromControls(name: 'western-blot-assay', values: BioTemplateControlValues): TemplateCollectionEnvelope;
18
+ export declare function createBioTemplatePresetCollectionFromControls(name: TemplatePresetId | string, values: BioTemplateControlValues): TemplateCollectionEnvelope;
@@ -0,0 +1,13 @@
1
+ import { AssayMatrixTemplateData, CalibrationCurveTemplateData, DoseResponseTemplateData, FlowCytometryPanelTemplateData, InstrumentRunTemplateData, PlateMapTemplateData, ProtocolStepsTemplateData, QpcrPlateTemplateData, ReagentListTemplateData, SamplePrepTemplateData, SampleSheetTemplateData, TimeCourseTemplateData } from './types';
2
+ export declare function validatePlateMapData(data: PlateMapTemplateData): void;
3
+ export declare function validateSampleSheetData(data: SampleSheetTemplateData): void;
4
+ export declare function validateSamplePrepData(data: SamplePrepTemplateData): void;
5
+ export declare function validateDoseResponseData(data: DoseResponseTemplateData): void;
6
+ export declare function validateCalibrationCurveData(data: CalibrationCurveTemplateData): void;
7
+ export declare function validateTimeCourseData(data: TimeCourseTemplateData): void;
8
+ export declare function validateProtocolStepsData(data: ProtocolStepsTemplateData): void;
9
+ export declare function validateAssayMatrixData(data: AssayMatrixTemplateData): void;
10
+ export declare function validateReagentListData(data: ReagentListTemplateData): void;
11
+ export declare function validateFlowCytometryPanelData(data: FlowCytometryPanelTemplateData): void;
12
+ export declare function validateInstrumentRunData(data: InstrumentRunTemplateData): void;
13
+ export declare function validateQpcrPlateData(data: QpcrPlateTemplateData): void;
@@ -0,0 +1,5 @@
1
+ import { TimeCourseColumnsAdapterResult, TimeCourseDataFrameAdapterResult, TimeCourseRowsAdapterResult, TimeCourseStepsAdapterResult, TimeCourseTemplate, TimeCourseTemplateData } from './types';
2
+ export declare function toTimeCourseRows(template: TimeCourseTemplate | TimeCourseTemplateData): TimeCourseRowsAdapterResult;
3
+ export declare function toTimeCourseColumns(): TimeCourseColumnsAdapterResult;
4
+ export declare function toTimeCourseDataFrame(template: TimeCourseTemplate | TimeCourseTemplateData): TimeCourseDataFrameAdapterResult;
5
+ export declare function toTimeCourseSteps(template: TimeCourseTemplate | TimeCourseTemplateData): TimeCourseStepsAdapterResult;
@@ -0,0 +1,2 @@
1
+ import { CreateTimeCourseTemplateOptions, TimeCourseTemplate } from './types';
2
+ export declare function createTimeCourseTemplate(options: CreateTimeCourseTemplateOptions): TimeCourseTemplate;
@@ -1,7 +1,7 @@
1
1
  import { DataFrameColumn, PlateCondition, PlateMap, PlateMapEditorState, ProtocolStep, Reagent, ScheduleEvent, SampleType, SelectOption, Well, WellPlateFormat } from '../types';
2
2
  export type TemplateKind = 'experiment-design';
3
3
  export type TemplateId = 'plate-map' | 'sample-sheet' | 'sample-prep' | 'dose-response' | 'calibration-curve' | 'time-course' | 'protocol-steps' | 'assay-matrix' | 'reagent-list' | 'flow-cytometry-panel' | 'instrument-run' | 'qpcr-plate';
4
- export type TemplatePresetId = 'wellplate-screen' | 'qpcr-expression' | 'lcms-batch' | 'elisa-assay' | 'flow-cytometry-assay' | 'western-blot-assay';
4
+ export type TemplatePresetId = 'wellplate-screen' | 'qpcr-expression' | 'lcms-batch' | 'targeted-metabolomics' | 'elisa-assay' | 'flow-cytometry-assay' | 'western-blot-assay';
5
5
  export type TemplatePackId = 'cell-culture-screen' | 'omics-assay' | 'longitudinal-study' | 'molecular-assay';
6
6
  export interface CreateBioTemplatePackCollectionOptions {
7
7
  metadata?: Record<string, unknown>;
@@ -461,6 +461,21 @@ export interface CreateLcmsBatchCollectionOptions {
461
461
  includeQc?: boolean;
462
462
  metadata?: Record<string, unknown>;
463
463
  }
464
+ export interface CreateTargetedMetabolomicsCollectionOptions {
465
+ samples?: Array<string | SampleRecord>;
466
+ metabolites?: Array<string | AssayFeature>;
467
+ internalStandards?: Array<string | ReagentTemplateInput>;
468
+ standardConcentrations?: number[];
469
+ concentrationUnit?: string;
470
+ responseUnit?: string;
471
+ calibrationAnalyte?: string;
472
+ instrument?: string;
473
+ method?: string | InstrumentMethodInput;
474
+ prepType?: SamplePrepStepType;
475
+ outputVolume?: number;
476
+ includeQc?: boolean;
477
+ metadata?: Record<string, unknown>;
478
+ }
464
479
  export interface CreateElisaAssayCollectionOptions {
465
480
  samples?: Array<string | SampleRecord>;
466
481
  analyte?: string;
@@ -0,0 +1,2 @@
1
+ import { CreateWellPlateScreenCollectionOptions, TemplateCollectionEnvelope } from './types';
2
+ export declare function createWellPlateScreenCollection(options?: CreateWellPlateScreenCollectionOptions): TemplateCollectionEnvelope;
@@ -0,0 +1,2 @@
1
+ import { CreateWesternBlotAssayCollectionOptions, TemplateCollectionEnvelope } from './types';
2
+ export declare function createWesternBlotAssayCollection(options?: CreateWesternBlotAssayCollectionOptions): TemplateCollectionEnvelope;