@morscherlab/mint-sdk 1.3.11 → 1.4.0-beta.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.
Files changed (1056) hide show
  1. package/README.md +152 -177
  2. package/dist/AlertBox-B2Bgr3ei.js +276 -0
  3. package/dist/AlertBox-B2Bgr3ei.js.map +1 -0
  4. package/dist/AppSidebar-mvm--GxN.js +3565 -0
  5. package/dist/AppSidebar-mvm--GxN.js.map +1 -0
  6. package/dist/ConfirmDialog-nbJj51is.js +102 -0
  7. package/dist/ConfirmDialog-nbJj51is.js.map +1 -0
  8. package/dist/ExperimentPopover-5T1fAq2L.js +337 -0
  9. package/dist/ExperimentPopover-5T1fAq2L.js.map +1 -0
  10. package/dist/ExperimentSelectorModal-65peG4Up.js +544 -0
  11. package/dist/ExperimentSelectorModal-65peG4Up.js.map +1 -0
  12. package/dist/SegmentedControl-BtnnjWzs.js +129 -0
  13. package/dist/SegmentedControl-BtnnjWzs.js.map +1 -0
  14. package/dist/SettingsModal-DO3IZ7qz.js +666 -0
  15. package/dist/SettingsModal-DO3IZ7qz.js.map +1 -0
  16. package/dist/analysisArtifactTypes-Cy3D0Ipg.js.map +1 -1
  17. package/dist/auth-SliLnFre.js +65 -0
  18. package/dist/auth-SliLnFre.js.map +1 -0
  19. package/dist/components/ActionMenu.vue.d.ts +1 -1
  20. package/dist/components/AdductText.vue.d.ts +1 -1
  21. package/dist/components/AlertBox.vue.d.ts +3 -3
  22. package/dist/components/AppContainer.vue.d.ts +1 -1
  23. package/dist/components/AppSidebar.vue.d.ts +15 -95
  24. package/dist/components/AppTopBar.vue.d.ts +16 -70
  25. package/dist/components/ArtifactSaveDialog.vue.d.ts +13 -5
  26. package/dist/components/ArtifactSelectorModal.vue.d.ts +4 -4
  27. package/dist/components/AuditTrail.vue.d.ts +2 -2
  28. package/dist/components/BaseButton.vue.d.ts +11 -4
  29. package/dist/components/BaseCheckbox.vue.d.ts +9 -3
  30. package/dist/components/BaseInput.vue.d.ts +13 -9
  31. package/dist/components/BaseModal.vue.d.ts +4 -4
  32. package/dist/components/BasePill.vue.d.ts +15 -8
  33. package/dist/components/BaseRadioGroup.vue.d.ts +2 -2
  34. package/dist/components/BaseSelect.vue.d.ts +51 -19
  35. package/dist/components/BaseTabs.vue.d.ts +6 -5
  36. package/dist/components/BatchProgressList.vue.d.ts +2 -2
  37. package/dist/components/ChartContainer.vue.d.ts +4 -2
  38. package/dist/components/ChemicalFormula.vue.d.ts +2 -2
  39. package/dist/components/CollapsibleCard.vue.d.ts +3 -3
  40. package/dist/components/ComponentBindingRenderer.vue.d.ts +2 -3
  41. package/dist/components/ConcentrationInput.vue.d.ts +2 -2
  42. package/dist/components/ConfirmDialog.vue.d.ts +8 -7
  43. package/dist/components/DataFrame.vue.d.ts +32 -74
  44. package/dist/components/DatePicker.vue.d.ts +24 -2
  45. package/dist/components/DoseCalculator.vue.d.ts +1 -1
  46. package/dist/components/DoseCalculatorVolumeField.vue.d.ts +1 -1
  47. package/dist/components/EmptyState.vue.d.ts +3 -2
  48. package/dist/components/ExperimentPopover.vue.d.ts +18 -0
  49. package/dist/components/ExperimentSelectorModal.vue.d.ts +3 -7
  50. package/dist/components/FilePicker.vue.d.ts +1 -1
  51. package/dist/components/FileUploader.vue.d.ts +2 -2
  52. package/dist/components/FormBuilder.vue.d.ts +17 -74
  53. package/dist/components/FormulaInput.vue.d.ts +2 -2
  54. package/dist/components/GeneratedPluginView.vue.d.ts +1 -1
  55. package/dist/components/GeneratedResultRenderer.vue.d.ts +5 -1
  56. package/dist/components/{StatusIndicator.vue.d.ts → InstrumentStatusPanels.vue.d.ts} +8 -9
  57. package/dist/components/JobsStatusTray.vue.d.ts +2 -9
  58. package/dist/components/LoadingSpinner.vue.d.ts +3 -3
  59. package/dist/components/MoleculeInput.vue.d.ts +2 -2
  60. package/dist/components/NumberInput.vue.d.ts +19 -5
  61. package/dist/components/PlateEditor.vue.d.ts +11 -61
  62. package/dist/components/PlotlyChart.vue.d.ts +2 -2
  63. package/dist/components/PluginIcon.vue.d.ts +5 -1
  64. package/dist/components/PluginWorkspaceView.controls.d.ts +2 -9
  65. package/dist/components/PluginWorkspaceView.navigation.d.ts +1 -7
  66. package/dist/components/PluginWorkspaceView.props.d.ts +18 -137
  67. package/dist/components/PluginWorkspaceView.shell.d.ts +2 -10
  68. package/dist/components/PluginWorkspaceView.vue.d.ts +14 -84
  69. package/dist/components/PresenceAvatars.vue.d.ts +31 -0
  70. package/dist/components/ProgressBar.vue.d.ts +3 -2
  71. package/dist/components/ProtocolStep.presentation.d.ts +0 -1
  72. package/dist/components/SampleHierarchyTree.vue.d.ts +3 -3
  73. package/dist/components/SampleSelector.vue.d.ts +8 -8
  74. package/dist/components/ScheduleCalendar.vue.d.ts +1 -1
  75. package/dist/components/ScientificNumber.vue.d.ts +1 -1
  76. package/dist/components/SecretInput.vue.d.ts +2 -2
  77. package/dist/components/SegmentedControl.vue.d.ts +2 -2
  78. package/dist/components/SequenceInput.vue.d.ts +2 -2
  79. package/dist/components/SequenceProgressBar.vue.d.ts +3 -0
  80. package/dist/components/SettingsModal.vue.d.ts +12 -20
  81. package/dist/components/SmartGroup.types.d.ts +0 -1
  82. package/dist/components/SmartGroupFieldRecipe.vue.d.ts +1 -1
  83. package/dist/components/StaleFormBanner.vue.d.ts +20 -0
  84. package/dist/components/StepWizard.vue.d.ts +3 -0
  85. package/dist/components/TagsInput.vue.d.ts +4 -3
  86. package/dist/components/TimeRangeInput.vue.d.ts +2 -2
  87. package/dist/components/VersionConflictDialog.vue.d.ts +24 -0
  88. package/dist/components/WellPlate.geometry.d.ts +0 -6
  89. package/dist/components/WellPlate.rendering.d.ts +0 -2
  90. package/dist/components/WellPlate.vue.d.ts +7 -52
  91. package/dist/components/index.d.ts +0 -90
  92. package/dist/components/{AutoGroupModal.adapter.d.ts → internal/AutoGroupModalInternal.adapter.d.ts} +6 -6
  93. package/dist/components/{AutoGroupModal.vue.d.ts → internal/AutoGroupModalInternal.vue.d.ts} +6 -6
  94. package/dist/components/{BaseToggle.vue.d.ts → internal/CheckboxSwitchInternal.vue.d.ts} +2 -2
  95. package/dist/components/{MultiSelect.vue.d.ts → internal/DatePickerDateInternal.vue.d.ts} +11 -9
  96. package/dist/components/{DateTimePicker.vue.d.ts → internal/DatePickerDateTimeInternal.vue.d.ts} +2 -2
  97. package/dist/components/{TimePicker.vue.d.ts → internal/DatePickerTimeInternal.vue.d.ts} +4 -4
  98. package/dist/components/internal/FilePickerListInternal.vue.d.ts +2 -2
  99. package/dist/components/internal/FormSchemaInternal.vue.d.ts +95 -0
  100. package/dist/components/{UnitInput.vue.d.ts → internal/NumberUnitInputInternal.vue.d.ts} +6 -14
  101. package/dist/components/internal/PlateEditorBindingInternal.vue.d.ts +3 -2
  102. package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +5 -10
  103. package/dist/components/internal/SelectMultipleInternal.vue.d.ts +27 -0
  104. package/dist/components/{SearchableSelect.vue.d.ts → internal/SelectSearchableInternal.vue.d.ts} +5 -2
  105. package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +1 -15
  106. package/dist/components/internal/WorkspaceSidebarInternal.vue.d.ts +4 -4
  107. package/dist/{composables → components/internal}/autoGroup/classKey.d.ts +1 -1
  108. package/dist/{composables → components/internal}/autoGroup/classify.d.ts +1 -1
  109. package/dist/{composables → components/internal}/autoGroup/columns.d.ts +1 -1
  110. package/dist/{composables → components/internal}/autoGroup/compose.d.ts +1 -1
  111. package/dist/{composables → components/internal}/autoGroup/cooccurrence.d.ts +1 -1
  112. package/dist/{composables → components/internal}/autoGroup/csv-shim.d.ts +1 -1
  113. package/dist/{composables → components/internal}/autoGroup/fingerprint.d.ts +1 -1
  114. package/dist/{composables → components/internal}/autoGroup/template.d.ts +1 -1
  115. package/dist/{composables → components/internal}/autoGroup/tokenLength.d.ts +1 -1
  116. package/dist/components/internal/generatedJobsApi.d.ts +1 -1
  117. package/dist/{composables → components/internal}/useAutoGroup.d.ts +9 -18
  118. package/dist/composables/componentSpecs.d.ts +41 -0
  119. package/dist/composables/controlComponentBindings.d.ts +6 -0
  120. package/dist/composables/controlSchemaAdapters.d.ts +28 -2
  121. package/dist/composables/controlSchemaDoseDesign.d.ts +1 -1
  122. package/dist/composables/controlSchemaModel.d.ts +1 -1
  123. package/dist/composables/controlSchemaTypes.d.ts +35 -23
  124. package/dist/composables/{usePluginClient.d.ts → createClient.d.ts} +22 -49
  125. package/dist/composables/{useEventStream.d.ts → eventStream.d.ts} +2 -2
  126. package/dist/composables/experiment-utils.d.ts +1 -6
  127. package/dist/composables/index.d.ts +7 -59
  128. package/dist/composables/platformContextHelpers.d.ts +0 -11
  129. package/dist/composables/pluginEndpointBuilder.d.ts +2 -2
  130. package/dist/composables/pluginIdentity.d.ts +24 -0
  131. package/dist/composables/pluginWorkspaceModel.d.ts +16 -99
  132. package/dist/composables/useApi.d.ts +1 -3
  133. package/dist/composables/useAppExperiment.d.ts +9 -1
  134. package/dist/composables/{useAnalysisArtifacts.d.ts → useArtifacts.d.ts} +6 -6
  135. package/dist/composables/useCalendarGrid.d.ts +1 -1
  136. package/dist/composables/useExperiment.d.ts +30 -0
  137. package/dist/composables/useExperimentSelector.d.ts +6 -2
  138. package/dist/composables/useFilePicker.d.ts +2 -2
  139. package/dist/composables/useJobCenter.d.ts +63 -0
  140. package/dist/composables/{useGeneratedAnalysis.d.ts → useJobsEndpoint.d.ts} +22 -23
  141. package/dist/composables/useMenuKeyboard.d.ts +1 -1
  142. package/dist/composables/usePlatform.d.ts +64 -0
  143. package/dist/composables/usePluginWorkspace.d.ts +6 -11
  144. package/dist/composables/usePresence.d.ts +41 -0
  145. package/dist/composables/useRackEditor.d.ts +2 -2
  146. package/dist/composables/useRealtime.d.ts +71 -0
  147. package/dist/composables/{useRequestSyncState.d.ts → useRequest.d.ts} +12 -17
  148. package/dist/composables/useToast.d.ts +7 -5
  149. package/dist/composables/useVersionedSave.d.ts +76 -0
  150. package/dist/controlSchemaModel-B8CTXagP.js +95 -0
  151. package/dist/controlSchemaModel-B8CTXagP.js.map +1 -0
  152. package/dist/data-CgILxDLW.js +3865 -0
  153. package/dist/data-CgILxDLW.js.map +1 -0
  154. package/dist/data.d.ts +32 -0
  155. package/dist/data.js +10 -0
  156. package/dist/deprecatedRootExports.d.ts +191 -0
  157. package/dist/experiment-43OJtH7R.js +673 -0
  158. package/dist/experiment-43OJtH7R.js.map +1 -0
  159. package/dist/experimentStatus-Cqp6qNrR.js +60 -0
  160. package/dist/experimentStatus-Cqp6qNrR.js.map +1 -0
  161. package/dist/host.d.ts +10 -0
  162. package/dist/host.js +26 -0
  163. package/dist/host.js.map +1 -0
  164. package/dist/index.d.ts +1 -12
  165. package/dist/index.js +65 -277
  166. package/dist/index.js.map +1 -1
  167. package/dist/install-CsPFJSx3.js +669 -0
  168. package/dist/install-CsPFJSx3.js.map +1 -0
  169. package/dist/install.d.ts +2 -1
  170. package/dist/install.js +1 -21
  171. package/dist/instrument.d.ts +0 -6
  172. package/dist/lab-MHzp-_J8.js +7494 -0
  173. package/dist/lab-MHzp-_J8.js.map +1 -0
  174. package/dist/lab.d.ts +42 -0
  175. package/dist/lab.js +5 -0
  176. package/dist/permissions.d.ts +0 -4
  177. package/dist/permissions.js +1 -20
  178. package/dist/permissions.js.map +1 -1
  179. package/dist/records-B6gpM_3e.js +3268 -0
  180. package/dist/records-B6gpM_3e.js.map +1 -0
  181. package/dist/runtime-8bs8EogX.js +1491 -0
  182. package/dist/runtime-8bs8EogX.js.map +1 -0
  183. package/dist/runtime.d.ts +25 -0
  184. package/dist/runtime.js +8 -0
  185. package/dist/shell-CywENwBT.js +197 -0
  186. package/dist/shell-CywENwBT.js.map +1 -0
  187. package/dist/shell.d.ts +16 -0
  188. package/dist/shell.js +8 -0
  189. package/dist/stores/auth.d.ts +13 -35
  190. package/dist/stores/experiment.d.ts +4 -0
  191. package/dist/stores/index.js +2 -2
  192. package/dist/styles.css +12161 -15036
  193. package/dist/types/analysisArtifactTypes.d.ts +1 -1
  194. package/dist/types/auth.d.ts +0 -8
  195. package/dist/types/componentLabTypes.d.ts +98 -34
  196. package/dist/types/componentWorkflowTypes.d.ts +2 -27
  197. package/dist/types/components.d.ts +145 -74
  198. package/dist/types/form-builder.d.ts +4 -0
  199. package/dist/types/generated/platformContext.d.ts +53 -0
  200. package/dist/types/generated-ui.d.ts +6 -2
  201. package/dist/types/index.d.ts +4 -5
  202. package/dist/types/instrument.d.ts +41 -0
  203. package/dist/types/platform.d.ts +20 -58
  204. package/dist/useDebouncedWatch-BPwyl6eS.js +73 -0
  205. package/dist/useDebouncedWatch-BPwyl6eS.js.map +1 -0
  206. package/dist/{experiment-utils-DTANyVKV.js → useDropdownState-8yWMu-7_.js} +127 -144
  207. package/dist/useDropdownState-8yWMu-7_.js.map +1 -0
  208. package/dist/useExpansionSet-CvoNMZJi.js +68 -0
  209. package/dist/useExpansionSet-CvoNMZJi.js.map +1 -0
  210. package/dist/useExperimentSamples-DHnxKFAF.js +366 -0
  211. package/dist/useExperimentSamples-DHnxKFAF.js.map +1 -0
  212. package/dist/useListReorder-BitdUhxn.js +5294 -0
  213. package/dist/useListReorder-BitdUhxn.js.map +1 -0
  214. package/dist/useRackEditor-DiwCt77M.js +5930 -0
  215. package/dist/useRackEditor-DiwCt77M.js.map +1 -0
  216. package/dist/useRealtime-C3iy9QkU.js +699 -0
  217. package/dist/useRealtime-C3iy9QkU.js.map +1 -0
  218. package/dist/useRequest-D506eHi8.js +244 -0
  219. package/dist/useRequest-D506eHi8.js.map +1 -0
  220. package/dist/utils/color.d.ts +0 -5
  221. package/dist/{composables/useDoseCalculator.d.ts → utils/dose.d.ts} +10 -13
  222. package/dist/utils/experimentStatus.d.ts +9 -0
  223. package/dist/{composables/useChemicalFormula.d.ts → utils/formula.d.ts} +3 -6
  224. package/dist/utils/integrationHost.d.ts +18 -0
  225. package/dist/utils/plotlyTemplate.d.ts +2 -0
  226. package/dist/utils/pluginSecrets.d.ts +12 -12
  227. package/dist/utils/presenceAvatars.d.ts +30 -0
  228. package/dist/utils/records.d.ts +0 -2
  229. package/dist/{composables/useTimeUtils.d.ts → utils/time.d.ts} +7 -18
  230. package/package.json +20 -17
  231. package/src/__tests__/components/ActionMenu.test.ts +0 -13
  232. package/src/__tests__/components/AlertBox.test.ts +1 -1
  233. package/src/__tests__/components/AppSidebar.test.ts +119 -167
  234. package/src/__tests__/components/AppToastContainer.test.ts +2 -2
  235. package/src/__tests__/components/AppTopBar.test.ts +230 -176
  236. package/src/__tests__/components/AppTopBarPillNav.test.ts +35 -0
  237. package/src/__tests__/components/ArtifactSaveDialog.test.ts +83 -3
  238. package/src/__tests__/components/ArtifactSelectorModal.test.ts +6 -4
  239. package/src/__tests__/components/AuditTrail.test.ts +1 -1
  240. package/src/__tests__/components/AutoGroupModal.adapter.test.ts +1 -1
  241. package/src/__tests__/components/AutoGroupModal.anatomy.test.ts +2 -2
  242. package/src/__tests__/components/AutoGroupModal.wiring.test.ts +2 -2
  243. package/src/__tests__/components/BaseButton.test.ts +51 -0
  244. package/src/__tests__/components/{BaseToggle.test.ts → BaseCheckbox.switch.test.ts} +8 -6
  245. package/src/__tests__/components/BaseInput.test.ts +13 -34
  246. package/src/__tests__/components/BaseModal.test.ts +6 -6
  247. package/src/__tests__/components/BasePill.test.ts +33 -39
  248. package/src/__tests__/components/BaseSelect.multiple.test.ts +118 -0
  249. package/src/__tests__/components/{SearchableSelect.test.ts → BaseSelect.searchable.test.ts} +19 -9
  250. package/src/__tests__/components/BaseSelect.test.ts +11 -0
  251. package/src/__tests__/components/BaseTabs.test.ts +13 -13
  252. package/src/__tests__/components/BatchProgressList.test.ts +16 -0
  253. package/src/__tests__/components/CalendarGridPanel.test.ts +2 -2
  254. package/src/__tests__/components/ChartContainer.test.ts +11 -0
  255. package/src/__tests__/components/ChemicalFormula.test.ts +6 -3
  256. package/src/__tests__/components/CollapsibleCard.test.ts +1 -1
  257. package/src/__tests__/components/ComponentBindingRenderer.test.ts +25 -73
  258. package/src/__tests__/components/ConcentrationInput.test.ts +3 -3
  259. package/src/__tests__/components/ConfirmDialog.test.ts +23 -0
  260. package/src/__tests__/components/DataFrame.test.ts +140 -142
  261. package/src/__tests__/components/DataStates.test.ts +6 -22
  262. package/src/__tests__/components/{DateTimePicker.test.ts → DatePicker.datetime.test.ts} +15 -7
  263. package/src/__tests__/components/DatePicker.test.ts +21 -0
  264. package/src/__tests__/components/{TimePicker.test.ts → DatePicker.time.test.ts} +20 -19
  265. package/src/__tests__/components/DoseCalculator.test.ts +12 -7
  266. package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +6 -6
  267. package/src/__tests__/components/EmptyState.test.ts +1 -1
  268. package/src/__tests__/components/ExperimentPopover.test.ts +125 -16
  269. package/src/__tests__/components/ExperimentSelectorModal.test.ts +134 -28
  270. package/src/__tests__/components/FormBuilder.test.ts +49 -167
  271. package/src/__tests__/components/FormSchemaInternal.test.ts +91 -0
  272. package/src/__tests__/components/GeneratedPathInput.test.ts +18 -13
  273. package/src/__tests__/components/GeneratedPluginView.test.ts +60 -25
  274. package/src/__tests__/components/GeneratedResultRenderer.test.ts +6 -4
  275. package/src/__tests__/components/InstrumentStateBadge.test.ts +4 -4
  276. package/src/__tests__/components/InstrumentStatusPanels.test.ts +79 -0
  277. package/src/__tests__/components/JobsStatusTray.test.ts +4 -4
  278. package/src/__tests__/components/NumberInput.test.ts +28 -0
  279. package/src/__tests__/components/{UnitInput.test.ts → NumberInput.units.test.ts} +6 -6
  280. package/src/__tests__/components/PlateEditor.test.ts +108 -108
  281. package/src/__tests__/components/PlateEditorBindingInternal.test.ts +13 -13
  282. package/src/__tests__/components/PlotlyChart.test.ts +1 -1
  283. package/src/__tests__/components/PluginIcon.test.ts +9 -4
  284. package/src/__tests__/components/PluginWorkspaceView.controls.test.ts +16 -29
  285. package/src/__tests__/components/PluginWorkspaceView.internal.test.ts +28 -34
  286. package/src/__tests__/components/PluginWorkspaceView.navigation.test.ts +4 -19
  287. package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +1 -6
  288. package/src/__tests__/components/PluginWorkspaceView.test.ts +183 -155
  289. package/src/__tests__/components/PresenceAvatars.test.ts +90 -0
  290. package/src/__tests__/components/ProtocolStep.presentation.test.ts +1 -3
  291. package/src/__tests__/components/ProtocolStepEditor.test.ts +10 -11
  292. package/src/__tests__/components/ProtocolStepParameterField.test.ts +8 -7
  293. package/src/__tests__/components/ResourcePickerListInternal.test.ts +2 -22
  294. package/src/__tests__/components/RetiredStyles.test.ts +0 -18
  295. package/src/__tests__/components/SampleSelector.test.ts +30 -25
  296. package/src/__tests__/components/SecretInput.test.ts +14 -19
  297. package/src/__tests__/components/SequenceProgressBar.test.ts +12 -0
  298. package/src/__tests__/components/SettingsModal.test.ts +76 -84
  299. package/src/__tests__/components/StaleFormBanner.test.ts +48 -0
  300. package/src/__tests__/components/StepWizard.test.ts +11 -0
  301. package/src/__tests__/components/ThemeToggle.test.ts +1 -1
  302. package/src/__tests__/components/WellPlate.decoration.test.ts +20 -11
  303. package/src/__tests__/components/WellPlate.interaction.test.ts +6 -7
  304. package/src/__tests__/components/WellPlate.keyboard.test.ts +2 -2
  305. package/src/__tests__/components/deprecationTags.test.ts +90 -0
  306. package/src/__tests__/composables/analysisArtifactTarget.test.ts +1 -12
  307. package/src/__tests__/composables/autoGroup/classKey.test.ts +1 -1
  308. package/src/__tests__/composables/autoGroup/classify.test.ts +1 -1
  309. package/src/__tests__/composables/autoGroup/columns.test.ts +1 -1
  310. package/src/__tests__/composables/autoGroup/compose.test.ts +1 -1
  311. package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +1 -1
  312. package/src/__tests__/composables/autoGroup/fieldEdits.test.ts +1 -1
  313. package/src/__tests__/composables/autoGroup/fingerprint.test.ts +1 -1
  314. package/src/__tests__/composables/autoGroup/golden.test.ts +1 -1
  315. package/src/__tests__/composables/autoGroup/groupByOrder.test.ts +1 -1
  316. package/src/__tests__/composables/autoGroup/groupTree.test.ts +1 -1
  317. package/src/__tests__/composables/autoGroup/integration.test.ts +1 -1
  318. package/src/__tests__/composables/autoGroup/template.test.ts +1 -1
  319. package/src/__tests__/composables/autoGroup/tokenLength.test.ts +1 -1
  320. package/src/__tests__/composables/autoGroup/tokenize.test.ts +1 -1
  321. package/src/__tests__/composables/{usePluginClient.test.ts → createClient.test.ts} +84 -222
  322. package/src/__tests__/composables/{useEventStream.test.ts → eventStream.test.ts} +6 -6
  323. package/src/__tests__/composables/experiment-utils.test.ts +13 -14
  324. package/src/__tests__/composables/useApi.test.ts +32 -21
  325. package/src/__tests__/composables/useAppExperiment.test.ts +46 -3
  326. package/src/__tests__/composables/{useAnalysisArtifacts.test.ts → useArtifacts.test.ts} +19 -27
  327. package/src/__tests__/composables/useAutoGroup.test.ts +3 -13
  328. package/src/__tests__/composables/useCalendarGrid.test.ts +4 -2
  329. package/src/__tests__/composables/useControlSchema.test.ts +41 -99
  330. package/src/__tests__/composables/useExperiment.test.ts +63 -0
  331. package/src/__tests__/composables/useExperimentSelector.test.ts +111 -0
  332. package/src/__tests__/composables/useFileBrowser.test.ts +4 -6
  333. package/src/__tests__/composables/{useJobsStatusTray.test.ts → useJobCenter.test.ts} +31 -31
  334. package/src/__tests__/composables/{useGeneratedAnalysis.test.ts → useJobsEndpoint.test.ts} +213 -139
  335. package/src/__tests__/composables/usePlatform.test.ts +102 -0
  336. package/src/__tests__/composables/usePresence.test.ts +164 -0
  337. package/src/__tests__/composables/useRackEditor.test.ts +2 -2
  338. package/src/__tests__/composables/useRealtime.test.ts +196 -0
  339. package/src/__tests__/composables/{useRequestSyncState.test.ts → useRequest.test.ts} +32 -47
  340. package/src/__tests__/composables/useVersionedSave.test.ts +194 -0
  341. package/src/__tests__/docs/extractDocsComponents.test.ts +36 -0
  342. package/src/__tests__/docs/extractDocsParsing.test.ts +2 -2
  343. package/src/__tests__/docs/extractDocsTheme.test.ts +1 -46
  344. package/src/__tests__/docs/frontendDocsCatalog.test.ts +164 -84
  345. package/src/__tests__/styles/baseControlsRules.test.ts +7 -3
  346. package/src/__tests__/styles/controlRefreshRules.test.ts +0 -6
  347. package/src/__tests__/styles/cssTokens.test.ts +2 -2
  348. package/src/__tests__/styles/darkModeRules.test.ts +0 -6
  349. package/src/__tests__/styles/menusShellRefresh.test.ts +14 -10
  350. package/src/__tests__/{composables/useChemicalFormula.test.ts → utils/formula.test.ts} +3 -5
  351. package/src/__tests__/utils/permissions.test.ts +1 -36
  352. package/src/__tests__/utils/plotlyTemplate.test.ts +20 -5
  353. package/src/__tests__/{composables/useTimeUtils.test.ts → utils/time.test.ts} +18 -8
  354. package/src/components/ActionMenu.vue +7 -13
  355. package/src/components/AdductText.story.vue +7 -0
  356. package/src/components/AdductText.vue +1 -1
  357. package/src/components/AlertBox.story.vue +27 -27
  358. package/src/components/AlertBox.vue +22 -20
  359. package/src/components/AppLayout.story.vue +33 -44
  360. package/src/components/AppLayout.vue +1 -1
  361. package/src/components/AppSidebar.story.vue +40 -101
  362. package/src/components/AppSidebar.vue +66 -147
  363. package/src/components/AppToastContainer.story.vue +1 -1
  364. package/src/components/AppTopBar.story.vue +97 -111
  365. package/src/components/AppTopBar.vue +170 -290
  366. package/src/components/ArtifactSaveDialog.story.vue +32 -9
  367. package/src/components/ArtifactSaveDialog.vue +125 -38
  368. package/src/components/ArtifactSelectorModal.story.vue +4 -4
  369. package/src/components/ArtifactSelectorModal.vue +10 -10
  370. package/src/components/AuditTrail.story.vue +6 -5
  371. package/src/components/AuditTrail.vue +5 -24
  372. package/src/components/Avatar.story.vue +2 -3
  373. package/src/components/Avatar.vue +11 -16
  374. package/src/components/BaseButton.story.vue +25 -0
  375. package/src/components/BaseButton.vue +39 -10
  376. package/src/components/BaseCheckbox.story.vue +2 -2
  377. package/src/components/{BaseToggle.story.vue → BaseCheckbox.switch.story.vue} +22 -19
  378. package/src/components/BaseCheckbox.vue +39 -7
  379. package/src/components/BaseInput.story.vue +3 -15
  380. package/src/components/{BaseTextarea.story.vue → BaseInput.textarea.story.vue} +14 -10
  381. package/src/components/BaseInput.vue +53 -26
  382. package/src/components/BaseModal.story.vue +11 -11
  383. package/src/components/BaseModal.vue +8 -8
  384. package/src/components/BasePill.story.vue +48 -28
  385. package/src/components/BasePill.vue +22 -11
  386. package/src/components/BaseRadioGroup.story.vue +4 -4
  387. package/src/components/BaseRadioGroup.vue +3 -3
  388. package/src/components/{MultiSelect.story.vue → BaseSelect.multiple.story.vue} +33 -16
  389. package/src/components/{SearchableSelect.story.vue → BaseSelect.searchable.story.vue} +4 -4
  390. package/src/components/BaseSelect.story.vue +2 -2
  391. package/src/components/BaseSelect.vue +118 -22
  392. package/src/components/BaseTabs.story.vue +20 -20
  393. package/src/components/BaseTabs.vue +17 -9
  394. package/src/components/BatchProgressList.vue +38 -28
  395. package/src/components/ChartContainer.story.vue +9 -13
  396. package/src/components/ChartContainer.vue +10 -8
  397. package/src/components/ChemicalFormula.vue +1 -2
  398. package/src/components/CollapsibleCard.vue +5 -4
  399. package/src/components/ComponentBindingRenderer.story.vue +0 -29
  400. package/src/components/ComponentBindingRenderer.vue +15 -39
  401. package/src/components/ConcentrationInput.story.vue +2 -2
  402. package/src/components/ConcentrationInput.vue +9 -9
  403. package/src/components/ConfirmDialog.story.vue +22 -22
  404. package/src/components/ConfirmDialog.vue +15 -14
  405. package/src/components/DataFrame.story.vue +28 -40
  406. package/src/components/DataFrame.vue +112 -128
  407. package/src/components/{DateTimePicker.story.vue → DatePicker.datetime.story.vue} +19 -14
  408. package/src/components/DatePicker.story.vue +2 -2
  409. package/src/components/{TimePicker.story.vue → DatePicker.time.story.vue} +15 -12
  410. package/src/components/DatePicker.vue +82 -220
  411. package/src/components/DoseCalculator.vue +13 -19
  412. package/src/components/DoseCalculatorVolumeField.vue +6 -6
  413. package/src/components/EmptyState.story.vue +17 -17
  414. package/src/components/EmptyState.vue +6 -5
  415. package/src/components/ExperimentPopover.story.vue +165 -53
  416. package/src/components/ExperimentPopover.vue +172 -190
  417. package/src/components/ExperimentSelectorModal.story.vue +43 -39
  418. package/src/components/ExperimentSelectorModal.vue +134 -122
  419. package/src/components/FilePicker.vue +1 -1
  420. package/src/components/FormBuilder.story.vue +9 -4
  421. package/src/components/FormBuilder.vue +46 -253
  422. package/src/components/FormField.story.vue +9 -50
  423. package/src/components/FormulaInput.story.vue +2 -2
  424. package/src/components/FormulaInput.vue +5 -6
  425. package/src/components/GeneratedPathInput.vue +8 -9
  426. package/src/components/GeneratedPluginView.story.vue +1 -1
  427. package/src/components/GeneratedPluginView.vue +29 -22
  428. package/src/components/GeneratedResultRenderer.vue +16 -17
  429. package/src/components/InstrumentStateBadge.vue +1 -1
  430. package/src/components/InstrumentStatusPanels.story.vue +64 -0
  431. package/src/components/InstrumentStatusPanels.vue +133 -0
  432. package/src/components/JobsStatusTray.story.vue +2 -2
  433. package/src/components/JobsStatusTray.vue +5 -20
  434. package/src/components/LoadingSpinner.story.vue +11 -11
  435. package/src/components/LoadingSpinner.vue +7 -5
  436. package/src/components/MoleculeInput.story.vue +2 -2
  437. package/src/components/MoleculeInput.vue +3 -3
  438. package/src/components/NumberInput.story.vue +55 -15
  439. package/src/components/NumberInput.vue +83 -24
  440. package/src/components/PlateEditor.story.vue +51 -43
  441. package/src/components/PlateEditor.vue +97 -128
  442. package/src/components/PlotlyChart.story.vue +1 -1
  443. package/src/components/PlotlyChart.vue +6 -4
  444. package/src/components/PluginIcon.story.vue +6 -11
  445. package/src/components/PluginIcon.vue +7 -2
  446. package/src/components/PluginWorkspaceView.controls.ts +9 -29
  447. package/src/components/PluginWorkspaceView.navigation.ts +2 -23
  448. package/src/components/PluginWorkspaceView.props.ts +17 -151
  449. package/src/components/PluginWorkspaceView.shell.ts +13 -24
  450. package/src/components/PluginWorkspaceView.story.vue +65 -63
  451. package/src/components/PluginWorkspaceView.vue +21 -78
  452. package/src/components/PresenceAvatars.story.vue +75 -0
  453. package/src/components/PresenceAvatars.vue +114 -0
  454. package/src/components/ProgressBar.story.vue +7 -7
  455. package/src/components/ProgressBar.vue +4 -3
  456. package/src/components/ProtocolStep.presentation.ts +0 -11
  457. package/src/components/ProtocolStepEditor.vue +6 -5
  458. package/src/components/ProtocolStepParameterField.vue +15 -12
  459. package/src/components/RuntimeUpdateNotice.vue +1 -1
  460. package/src/components/SampleSelector.colors.ts +1 -1
  461. package/src/components/SampleSelector.story.vue +1 -1
  462. package/src/components/SampleSelector.vue +33 -43
  463. package/src/components/SampleSelectorGroupNode.vue +1 -1
  464. package/src/components/ScheduleCalendar.vue +4 -4
  465. package/src/components/SecretInput.story.vue +1 -1
  466. package/src/components/SecretInput.vue +16 -25
  467. package/src/components/SectionCard.story.vue +2 -2
  468. package/src/components/SegmentedControl.story.vue +7 -7
  469. package/src/components/SegmentedControl.vue +5 -3
  470. package/src/components/SequenceInput.story.vue +2 -2
  471. package/src/components/SequenceInput.vue +3 -3
  472. package/src/components/SequenceProgressBar.story.vue +9 -0
  473. package/src/components/SequenceProgressBar.vue +6 -1
  474. package/src/components/SettingsModal.schema.ts +1 -1
  475. package/src/components/SettingsModal.story.vue +13 -14
  476. package/src/components/SettingsModal.vue +31 -49
  477. package/src/components/SmartGroup.types.ts +4 -6
  478. package/src/components/SmartGroupFieldRecipe.story.vue +1 -1
  479. package/src/components/SmartGroupFieldRecipe.vue +7 -5
  480. package/src/components/SmartGroupManual.story.vue +1 -1
  481. package/src/components/StaleFormBanner.story.vue +90 -0
  482. package/src/components/StaleFormBanner.vue +83 -0
  483. package/src/components/StepWizard.story.vue +33 -0
  484. package/src/components/StepWizard.vue +8 -1
  485. package/src/components/TagsInput.story.vue +7 -7
  486. package/src/components/TagsInput.vue +7 -6
  487. package/src/components/ThemeToggle.vue +5 -30
  488. package/src/components/TimeRangeInput.story.vue +1 -1
  489. package/src/components/TimeRangeInput.vue +10 -8
  490. package/src/components/VersionConflictDialog.story.vue +60 -0
  491. package/src/components/VersionConflictDialog.vue +79 -0
  492. package/src/components/WellPlate.geometry.ts +0 -38
  493. package/src/components/WellPlate.rendering.ts +0 -13
  494. package/src/components/WellPlate.story.vue +64 -51
  495. package/src/components/WellPlate.vue +68 -87
  496. package/src/components/index.ts +3 -105
  497. package/src/components/internal/AppTopBarPillNavInternal.vue +33 -2
  498. package/src/components/{AutoGroupModal.adapter.ts → internal/AutoGroupModalInternal.adapter.ts} +8 -8
  499. package/src/components/{AutoGroupModal.vue → internal/AutoGroupModalInternal.vue} +23 -23
  500. package/src/components/{BaseToggle.vue → internal/CheckboxSwitchInternal.vue} +8 -8
  501. package/src/components/internal/DataStateInternal.vue +1 -1
  502. package/src/components/internal/DatePickerDateInternal.vue +219 -0
  503. package/src/components/{DateTimePicker.vue → internal/DatePickerDateTimeInternal.vue} +12 -22
  504. package/src/components/{TimePicker.vue → internal/DatePickerTimeInternal.vue} +12 -15
  505. package/src/components/internal/FilePickerListInternal.vue +8 -14
  506. package/src/components/{FormActions.vue → internal/FormActionsInternal.vue} +2 -2
  507. package/src/components/internal/FormFieldRendererInternal.vue +1 -1
  508. package/src/components/internal/FormSchemaInternal.vue +253 -0
  509. package/src/components/{UnitInput.vue → internal/NumberUnitInputInternal.vue} +28 -28
  510. package/src/components/internal/PlateEditorBindingInternal.vue +8 -7
  511. package/src/components/internal/ResourcePickerListInternal.vue +48 -88
  512. package/src/components/internal/SelectMultipleInternal.vue +242 -0
  513. package/src/components/{SearchableSelect.vue → internal/SelectSearchableInternal.vue} +26 -11
  514. package/src/components/internal/WellEditPopupInternal.vue +4 -9
  515. package/src/components/internal/WorkspaceShellInternal.vue +3 -36
  516. package/src/components/internal/WorkspaceSidebarInternal.vue +4 -25
  517. package/src/{composables → components/internal}/autoGroup/classKey.ts +1 -1
  518. package/src/{composables → components/internal}/autoGroup/classify.ts +1 -1
  519. package/src/{composables → components/internal}/autoGroup/columns.ts +1 -1
  520. package/src/{composables → components/internal}/autoGroup/compose.ts +3 -3
  521. package/src/{composables → components/internal}/autoGroup/cooccurrence.ts +1 -1
  522. package/src/{composables → components/internal}/autoGroup/csv-shim.ts +1 -1
  523. package/src/{composables → components/internal}/autoGroup/fingerprint.ts +1 -1
  524. package/src/{composables → components/internal}/autoGroup/index.ts +1 -2
  525. package/src/{composables → components/internal}/autoGroup/template.ts +1 -1
  526. package/src/{composables → components/internal}/autoGroup/tokenLength.ts +1 -1
  527. package/src/components/internal/generatedJobsApi.ts +1 -1
  528. package/src/{composables → components/internal}/useAutoGroup.ts +3 -57
  529. package/src/composables/componentSpecs.ts +62 -0
  530. package/src/composables/controlComponentBindings.ts +7 -0
  531. package/src/composables/controlSchemaAdapters.ts +45 -7
  532. package/src/composables/controlSchemaDoseDesign.ts +16 -5
  533. package/src/composables/controlSchemaModel.ts +1 -1
  534. package/src/composables/controlSchemaTypes.ts +31 -22
  535. package/src/composables/{usePluginClient.ts → createClient.ts} +54 -190
  536. package/src/composables/{useEventStream.ts → eventStream.ts} +3 -3
  537. package/src/composables/experiment-utils.ts +1 -39
  538. package/src/composables/formBuilderRegistry.ts +6 -12
  539. package/src/composables/index.ts +17 -480
  540. package/src/composables/platformContextHelpers.ts +0 -57
  541. package/src/composables/pluginEndpointBuilder.ts +8 -10
  542. package/src/composables/pluginIdentity.ts +31 -0
  543. package/src/composables/pluginWorkspaceModel.ts +16 -107
  544. package/src/composables/useApi.ts +18 -30
  545. package/src/composables/useAppExperiment.ts +26 -5
  546. package/src/composables/{useAnalysisArtifacts.ts → useArtifacts.ts} +18 -19
  547. package/src/composables/useCalendarGrid.ts +4 -3
  548. package/src/composables/useControlSchema.ts +5 -9
  549. package/src/composables/useControlWorkspace.ts +4 -7
  550. package/src/composables/useExperiment.ts +49 -0
  551. package/src/composables/useExperimentData.ts +4 -4
  552. package/src/composables/useExperimentSelector.ts +82 -36
  553. package/src/composables/useFileBrowser.ts +5 -13
  554. package/src/composables/useFilePicker.ts +2 -2
  555. package/src/composables/useFormBuilder.ts +3 -4
  556. package/src/composables/useJobCenter.ts +324 -0
  557. package/src/composables/{useGeneratedAnalysis.ts → useJobsEndpoint.ts} +53 -67
  558. package/src/composables/useMenuKeyboard.ts +1 -1
  559. package/src/composables/usePlatform.ts +95 -0
  560. package/src/composables/usePlatformFilePickerAdapter.ts +2 -1
  561. package/src/composables/usePluginWorkspace.ts +62 -107
  562. package/src/composables/usePresence.ts +110 -0
  563. package/src/composables/useRackEditor.ts +3 -3
  564. package/src/composables/useRealtime.ts +194 -0
  565. package/src/composables/{useRequestSyncState.ts → useRequest.ts} +25 -48
  566. package/src/composables/useScheduleCalendarLayout.ts +1 -1
  567. package/src/composables/useToast.ts +14 -11
  568. package/src/composables/useVersionedSave.ts +165 -0
  569. package/src/data.ts +130 -0
  570. package/src/deprecatedRootExports.ts +226 -0
  571. package/src/generated/schema.ts +1 -0
  572. package/src/host.ts +27 -0
  573. package/src/index.ts +2 -71
  574. package/src/install.ts +15 -2
  575. package/src/instrument.ts +1 -6
  576. package/src/lab.ts +128 -0
  577. package/src/permissions.ts +0 -27
  578. package/src/runtime.ts +145 -0
  579. package/src/shell.ts +103 -0
  580. package/src/stores/auth.ts +26 -162
  581. package/src/stores/experiment.ts +27 -1
  582. package/src/styles/components/action-menu.css +0 -5
  583. package/src/styles/components/adduct-text.css +13 -5
  584. package/src/styles/components/alert-box.css +39 -40
  585. package/src/styles/components/app-layout.css +6 -5
  586. package/src/styles/components/app-page-selector.css +3 -1
  587. package/src/styles/components/app-pill-nav.css +11 -12
  588. package/src/styles/components/app-sidebar.css +9 -18
  589. package/src/styles/components/app-top-bar.css +64 -103
  590. package/src/styles/components/artifact-save-dialog.css +153 -2
  591. package/src/styles/components/audit-trail.css +16 -19
  592. package/src/styles/components/avatar.css +6 -4
  593. package/src/styles/components/batch-progress-list.css +38 -36
  594. package/src/styles/components/button.css +40 -59
  595. package/src/styles/components/calendar.css +12 -12
  596. package/src/styles/components/chart-container.css +34 -23
  597. package/src/styles/components/checkbox.css +3 -13
  598. package/src/styles/components/collapsible-card.css +28 -30
  599. package/src/styles/components/confirm-dialog.css +31 -16
  600. package/src/styles/components/dataframe.css +12 -4
  601. package/src/styles/components/date-picker.css +80 -92
  602. package/src/styles/components/datetime-picker.css +31 -43
  603. package/src/styles/components/divider.css +20 -20
  604. package/src/styles/components/dose-calculator.css +3 -3
  605. package/src/styles/components/empty-state.css +23 -18
  606. package/src/styles/components/experiment-code-badge.css +2 -0
  607. package/src/styles/components/experiment-popover.css +174 -329
  608. package/src/styles/components/experiment-selector-modal.css +75 -56
  609. package/src/styles/components/file-picker.css +4 -4
  610. package/src/styles/components/file-uploader.css +38 -49
  611. package/src/styles/components/form-builder.css +3 -3
  612. package/src/styles/components/formula-input.css +1 -1
  613. package/src/styles/components/icon-button.css +19 -25
  614. package/src/styles/components/input.css +5 -4
  615. package/src/styles/components/instrument-monitor.css +13 -15
  616. package/src/styles/components/jobs-status-tray.css +31 -25
  617. package/src/styles/components/loading-spinner.css +9 -12
  618. package/src/styles/components/modal.css +2 -4
  619. package/src/styles/components/molecule-input.css +2 -2
  620. package/src/styles/components/multi-select.css +65 -112
  621. package/src/styles/components/number-input.css +26 -19
  622. package/src/styles/components/pill.css +43 -37
  623. package/src/styles/components/plate-editor.css +0 -1
  624. package/src/styles/components/plugin-icon.css +34 -22
  625. package/src/styles/components/popover.css +2 -2
  626. package/src/styles/components/presence-avatars.css +194 -0
  627. package/src/styles/components/progress-bar.css +2 -0
  628. package/src/styles/components/protocol-step-editor.css +1 -3
  629. package/src/styles/components/resource-card.css +2 -2
  630. package/src/styles/components/resource-picker-list.css +6 -57
  631. package/src/styles/components/sample-hierarchy-tree.css +4 -4
  632. package/src/styles/components/sample-selector.css +95 -79
  633. package/src/styles/components/schedule-calendar.css +8 -8
  634. package/src/styles/components/searchable-select.css +15 -12
  635. package/src/styles/components/section-card.css +28 -47
  636. package/src/styles/components/segmented-control.css +18 -15
  637. package/src/styles/components/select.css +3 -3
  638. package/src/styles/components/sequence-input.css +2 -2
  639. package/src/styles/components/sequence-progress-bar.css +17 -8
  640. package/src/styles/components/smart-group.css +19 -24
  641. package/src/styles/components/step-wizard.css +52 -16
  642. package/src/styles/components/tabs.css +2 -2
  643. package/src/styles/components/textarea.css +4 -4
  644. package/src/styles/components/time-picker.css +36 -21
  645. package/src/styles/components/toast.css +12 -10
  646. package/src/styles/components/toggle.css +3 -13
  647. package/src/styles/components/tooltip.css +10 -9
  648. package/src/styles/components/unit-input.css +8 -7
  649. package/src/styles/components/version-conflict.css +122 -0
  650. package/src/styles/components/well-plate.css +8 -8
  651. package/src/styles/index.css +2 -11
  652. package/src/styles/variables.css +107 -602
  653. package/src/types/analysisArtifactTypes.ts +1 -1
  654. package/src/types/auth.ts +0 -10
  655. package/src/types/componentLabTypes.ts +103 -53
  656. package/src/types/componentWorkflowTypes.ts +4 -33
  657. package/src/types/components.ts +148 -114
  658. package/src/types/form-builder.ts +4 -0
  659. package/src/types/generated/platformContext.ts +60 -0
  660. package/src/types/generated-ui.ts +6 -2
  661. package/src/types/index.ts +15 -53
  662. package/src/types/instrument.ts +27 -0
  663. package/src/types/platform.ts +25 -89
  664. package/src/utils/color.ts +1 -12
  665. package/src/utils/dose.ts +335 -0
  666. package/src/utils/experimentStatus.ts +43 -0
  667. package/src/utils/formula.ts +292 -0
  668. package/src/utils/integrationHost.ts +27 -0
  669. package/src/utils/plotlyTemplate.ts +6 -0
  670. package/src/utils/pluginSecrets.ts +23 -23
  671. package/src/utils/presenceAvatars.ts +53 -0
  672. package/src/utils/records.ts +0 -5
  673. package/src/{composables/useTimeUtils.ts → utils/time.ts} +21 -21
  674. package/dist/ResourcePickerListInternal-CFAw4vTZ.js +0 -605
  675. package/dist/ResourcePickerListInternal-CFAw4vTZ.js.map +0 -1
  676. package/dist/__tests__/composables/useBioTemplatePackWorkspace.test.d.ts +0 -1
  677. package/dist/__tests__/composables/useBioTemplatePresetWorkspace.test.d.ts +0 -1
  678. package/dist/__tests__/composables/useBioTemplateWorkspace.test.d.ts +0 -1
  679. package/dist/__tests__/composables/useChemicalFormula.test.d.ts +0 -1
  680. package/dist/__tests__/composables/useEventStream.test.d.ts +0 -1
  681. package/dist/__tests__/composables/useExperimentSave.test.d.ts +0 -1
  682. package/dist/__tests__/composables/useGeneratedAnalysis.test.d.ts +0 -1
  683. package/dist/__tests__/composables/useGroupAssignment.test.d.ts +0 -1
  684. package/dist/__tests__/composables/useJobsStatusTray.test.d.ts +0 -1
  685. package/dist/__tests__/composables/useMobileSupportGate.test.d.ts +0 -1
  686. package/dist/__tests__/composables/usePlatformContext.test.d.ts +0 -1
  687. package/dist/__tests__/composables/usePluginClient.test.d.ts +0 -1
  688. package/dist/__tests__/composables/usePresenceHeartbeat.test.d.ts +0 -1
  689. package/dist/__tests__/composables/useRequestSyncState.test.d.ts +0 -1
  690. package/dist/__tests__/composables/useRuntimeAlignment.test.d.ts +0 -1
  691. package/dist/__tests__/composables/useTemplateCollection.test.d.ts +0 -1
  692. package/dist/__tests__/composables/useTimeUtils.test.d.ts +0 -1
  693. package/dist/__tests__/docs/extractDocsTemplates.test.d.ts +0 -1
  694. package/dist/__tests__/templates/templates.test.d.ts +0 -1
  695. package/dist/__tests__/templates/templatesDeprecation.test.d.ts +0 -1
  696. package/dist/__tests__/utils/lcms.test.d.ts +0 -1
  697. package/dist/__tests__/utils/rack.test.d.ts +0 -1
  698. package/dist/components/AppAvatarMenu.vue.d.ts +0 -47
  699. package/dist/components/AppTopBar.navigation.d.ts +0 -10
  700. package/dist/components/BaseTextarea.vue.d.ts +0 -31
  701. package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +0 -112
  702. package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +0 -86
  703. package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +0 -80
  704. package/dist/components/BioTemplateRenderer.vue.d.ts +0 -30
  705. package/dist/components/ControlWorkspaceView.vue.d.ts +0 -138
  706. package/dist/components/DoseDesignWorkspaceView.vue.d.ts +0 -140
  707. package/dist/components/ExperimentDataViewer.vue.d.ts +0 -54
  708. package/dist/components/ExperimentTimeline.vue.d.ts +0 -70
  709. package/dist/components/FitPanel.vue.d.ts +0 -56
  710. package/dist/components/GroupAssigner.vue.d.ts +0 -26
  711. package/dist/components/IconButton.vue.d.ts +0 -30
  712. package/dist/components/MobileSupportGate.vue.d.ts +0 -32
  713. package/dist/components/ReagentEditor.vue.d.ts +0 -31
  714. package/dist/components/ReagentList.presentation.d.ts +0 -17
  715. package/dist/components/ReagentList.vue.d.ts +0 -58
  716. package/dist/components/SampleLegend.vue.d.ts +0 -33
  717. package/dist/components/SmartGroupModal.vue.d.ts +0 -29
  718. package/dist/components/index.js +0 -5
  719. package/dist/components-BOA5e7kb.js +0 -23137
  720. package/dist/components-BOA5e7kb.js.map +0 -1
  721. package/dist/composables/flattenWorkspaceBindings.d.ts +0 -61
  722. package/dist/composables/index.js +0 -7
  723. package/dist/composables/useBioTemplateComponents.d.ts +0 -34
  724. package/dist/composables/useBioTemplateControls.d.ts +0 -10
  725. package/dist/composables/useBioTemplatePackWorkspace.d.ts +0 -56
  726. package/dist/composables/useBioTemplatePresetWorkspace.d.ts +0 -79
  727. package/dist/composables/useBioTemplateWorkspace.d.ts +0 -39
  728. package/dist/composables/useExperimentSave.d.ts +0 -69
  729. package/dist/composables/useGroupAssignment.d.ts +0 -35
  730. package/dist/composables/useJobsStatusTray.d.ts +0 -87
  731. package/dist/composables/useMobileSupportGate.d.ts +0 -14
  732. package/dist/composables/usePlatformContext.d.ts +0 -218
  733. package/dist/composables/usePresenceHeartbeat.d.ts +0 -49
  734. package/dist/composables/useRuntimeAlignment.d.ts +0 -44
  735. package/dist/composables/useTemplateCollection.d.ts +0 -62
  736. package/dist/composables/workspaceRecipes.d.ts +0 -189
  737. package/dist/composables-izSQH8Ky.js +0 -591
  738. package/dist/composables-izSQH8Ky.js.map +0 -1
  739. package/dist/experiment-D49y_Kro.js +0 -459
  740. package/dist/experiment-D49y_Kro.js.map +0 -1
  741. package/dist/experiment-utils-DTANyVKV.js.map +0 -1
  742. package/dist/install.js.map +0 -1
  743. package/dist/lcms.d.ts +0 -38
  744. package/dist/settings-BG6v13Zq.js +0 -341
  745. package/dist/settings-BG6v13Zq.js.map +0 -1
  746. package/dist/tailwind.preset.d.ts +0 -63
  747. package/dist/tailwind.preset.js +0 -71
  748. package/dist/tailwind.preset.js.map +0 -1
  749. package/dist/templates/adapters.d.ts +0 -19
  750. package/dist/templates/assayLookups.d.ts +0 -3
  751. package/dist/templates/assayMatrixAdapters.d.ts +0 -13
  752. package/dist/templates/assayMatrixBuilder.d.ts +0 -3
  753. package/dist/templates/assayNormalizers.d.ts +0 -4
  754. package/dist/templates/builderIdUtils.d.ts +0 -4
  755. package/dist/templates/builderPresetControls.d.ts +0 -11
  756. package/dist/templates/builderReadUtils.d.ts +0 -8
  757. package/dist/templates/builders.d.ts +0 -26
  758. package/dist/templates/calibrationCurveAdapters.d.ts +0 -7
  759. package/dist/templates/calibrationCurveBuilder.d.ts +0 -3
  760. package/dist/templates/calibrationNormalizers.d.ts +0 -5
  761. package/dist/templates/catalog.d.ts +0 -192
  762. package/dist/templates/componentBindingCatalog.d.ts +0 -25
  763. package/dist/templates/componentBindingHelpers.d.ts +0 -17
  764. package/dist/templates/componentBindings.d.ts +0 -97
  765. package/dist/templates/componentDoseResponseProps.d.ts +0 -3
  766. package/dist/templates/componentGenericProps.d.ts +0 -8
  767. package/dist/templates/componentPlateHelpers.d.ts +0 -11
  768. package/dist/templates/componentPlateMapProps.d.ts +0 -3
  769. package/dist/templates/componentPropsFactory.d.ts +0 -3
  770. package/dist/templates/componentQpcrPlateProps.d.ts +0 -3
  771. package/dist/templates/componentTargetResolvers.d.ts +0 -5
  772. package/dist/templates/componentTemplateProps.d.ts +0 -3
  773. package/dist/templates/controlSchemaClone.d.ts +0 -4
  774. package/dist/templates/controlSchemaConstants.d.ts +0 -10
  775. package/dist/templates/controlSchemaMerge.d.ts +0 -3
  776. package/dist/templates/controlSchemaTargets.d.ts +0 -17
  777. package/dist/templates/controlSchemaTypes.d.ts +0 -4
  778. package/dist/templates/controlSchemas.d.ts +0 -34
  779. package/dist/templates/defaultBioTemplateBuilder.d.ts +0 -3
  780. package/dist/templates/doseResponseAdapters.d.ts +0 -6
  781. package/dist/templates/doseResponseBuilder.d.ts +0 -3
  782. package/dist/templates/elisaAssayCollectionBuilder.d.ts +0 -3
  783. package/dist/templates/flowCytometryAssayCollectionBuilder.d.ts +0 -3
  784. package/dist/templates/flowCytometryPanelBuilder.d.ts +0 -3
  785. package/dist/templates/flowNormalizers.d.ts +0 -8
  786. package/dist/templates/flowPanelAdapters.d.ts +0 -7
  787. package/dist/templates/index.d.ts +0 -15
  788. package/dist/templates/index.js +0 -2
  789. package/dist/templates/instrumentRunAdapterHelpers.d.ts +0 -8
  790. package/dist/templates/instrumentRunAdapters.d.ts +0 -19
  791. package/dist/templates/instrumentRunBuilder.d.ts +0 -3
  792. package/dist/templates/lcmsBatchCollectionBuilder.d.ts +0 -3
  793. package/dist/templates/lookup.d.ts +0 -4
  794. package/dist/templates/packs.d.ts +0 -21
  795. package/dist/templates/plateMapAdapters.d.ts +0 -5
  796. package/dist/templates/plateMapBuilder.d.ts +0 -3
  797. package/dist/templates/presetControlSchemas.d.ts +0 -534
  798. package/dist/templates/presets.d.ts +0 -106
  799. package/dist/templates/protocolAdapters.d.ts +0 -9
  800. package/dist/templates/protocolNormalizers.d.ts +0 -6
  801. package/dist/templates/protocolStepsBuilder.d.ts +0 -3
  802. package/dist/templates/qpcrAdapters.d.ts +0 -9
  803. package/dist/templates/qpcrExpressionCollectionBuilder.d.ts +0 -3
  804. package/dist/templates/qpcrPlateBuilder.d.ts +0 -3
  805. package/dist/templates/reagentAdapters.d.ts +0 -9
  806. package/dist/templates/reagentListBuilder.d.ts +0 -3
  807. package/dist/templates/runNormalizers.d.ts +0 -10
  808. package/dist/templates/sampleNormalizers.d.ts +0 -4
  809. package/dist/templates/samplePrepAdapters.d.ts +0 -7
  810. package/dist/templates/samplePrepBuilder.d.ts +0 -3
  811. package/dist/templates/sampleSheetAdapters.d.ts +0 -9
  812. package/dist/templates/sampleSheetBuilder.d.ts +0 -3
  813. package/dist/templates/targetedMetabolomicsCollectionBuilder.d.ts +0 -3
  814. package/dist/templates/targetedMetabolomicsHelpers.d.ts +0 -5
  815. package/dist/templates/templateAdapterTypes.d.ts +0 -48
  816. package/dist/templates/templateControlSchemas.d.ts +0 -400
  817. package/dist/templates/templateCreateOptions.d.ts +0 -165
  818. package/dist/templates/templateEnvelopes.d.ts +0 -17
  819. package/dist/templates/templatePackCollectionBuilder.d.ts +0 -3
  820. package/dist/templates/templatePresetCollectionBuilder.d.ts +0 -20
  821. package/dist/templates/templateQpcrTypes.d.ts +0 -42
  822. package/dist/templates/templateValidators.d.ts +0 -25
  823. package/dist/templates/timeCourseAdapters.d.ts +0 -9
  824. package/dist/templates/timeCourseBuilder.d.ts +0 -3
  825. package/dist/templates/types.d.ts +0 -304
  826. package/dist/templates/wellPlateScreenCollectionBuilder.d.ts +0 -3
  827. package/dist/templates/westernBlotAssayCollectionBuilder.d.ts +0 -3
  828. package/dist/templates-B2DB0MCM.js +0 -12304
  829. package/dist/templates-B2DB0MCM.js.map +0 -1
  830. package/dist/utils/rack.d.ts +0 -63
  831. package/dist/validation-C_eH_vIg.js +0 -7999
  832. package/dist/validation-C_eH_vIg.js.map +0 -1
  833. package/src/__tests__/components/AppAvatarMenu.test.ts +0 -186
  834. package/src/__tests__/components/AppTopBar.navigation.test.ts +0 -68
  835. package/src/__tests__/components/AppTopBarPresence.test.ts +0 -47
  836. package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +0 -159
  837. package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +0 -192
  838. package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +0 -307
  839. package/src/__tests__/components/BioTemplateRenderer.test.ts +0 -96
  840. package/src/__tests__/components/ControlWorkspaceView.test.ts +0 -1100
  841. package/src/__tests__/components/DoseDesignWorkspaceView.test.ts +0 -183
  842. package/src/__tests__/components/ExperimentTimeline.test.ts +0 -108
  843. package/src/__tests__/components/FitPanel.test.ts +0 -96
  844. package/src/__tests__/components/GroupAssigner.test.ts +0 -101
  845. package/src/__tests__/components/MobileSupportGate.test.ts +0 -120
  846. package/src/__tests__/components/MultiSelect.test.ts +0 -54
  847. package/src/__tests__/components/ReagentList.presentation.test.ts +0 -73
  848. package/src/__tests__/components/ReagentList.test.ts +0 -167
  849. package/src/__tests__/components/SampleLegend.test.ts +0 -18
  850. package/src/__tests__/components/SmartGroupModal.test.ts +0 -69
  851. package/src/__tests__/components/WellPlate.sampleTypeIndicator.test.ts +0 -58
  852. package/src/__tests__/components/iconButtonIconSizing.test.ts +0 -18
  853. package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +0 -125
  854. package/src/__tests__/composables/useBioTemplatePresetWorkspace.test.ts +0 -199
  855. package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +0 -104
  856. package/src/__tests__/composables/useExperimentSave.test.ts +0 -542
  857. package/src/__tests__/composables/useGroupAssignment.test.ts +0 -73
  858. package/src/__tests__/composables/useMobileSupportGate.test.ts +0 -74
  859. package/src/__tests__/composables/usePlatformContext.test.ts +0 -148
  860. package/src/__tests__/composables/usePresenceHeartbeat.test.ts +0 -164
  861. package/src/__tests__/composables/useRuntimeAlignment.test.ts +0 -145
  862. package/src/__tests__/composables/useTemplateCollection.test.ts +0 -147
  863. package/src/__tests__/docs/extractDocsTemplates.test.ts +0 -53
  864. package/src/__tests__/fixtures/templates/dose-response.json +0 -81
  865. package/src/__tests__/fixtures/templates/plate-map.json +0 -54
  866. package/src/__tests__/fixtures/templates/qpcr-plate.json +0 -96
  867. package/src/__tests__/fixtures/templates/sample-sheet.json +0 -71
  868. package/src/__tests__/templates/templates.test.ts +0 -1235
  869. package/src/__tests__/templates/templatesDeprecation.test.ts +0 -78
  870. package/src/__tests__/utils/lcms.test.ts +0 -73
  871. package/src/__tests__/utils/rack.test.ts +0 -120
  872. package/src/components/AppAvatarMenu.story.vue +0 -155
  873. package/src/components/AppAvatarMenu.vue +0 -154
  874. package/src/components/AppTopBar.navigation.ts +0 -60
  875. package/src/components/AutoGroupModal.story.vue +0 -458
  876. package/src/components/BaseTextarea.vue +0 -58
  877. package/src/components/BioTemplateExperimentWorkspaceView.story.vue +0 -123
  878. package/src/components/BioTemplateExperimentWorkspaceView.vue +0 -339
  879. package/src/components/BioTemplatePackWorkspaceView.story.vue +0 -107
  880. package/src/components/BioTemplatePackWorkspaceView.vue +0 -180
  881. package/src/components/BioTemplatePresetWorkspaceView.story.vue +0 -163
  882. package/src/components/BioTemplatePresetWorkspaceView.vue +0 -403
  883. package/src/components/BioTemplateRenderer.story.vue +0 -57
  884. package/src/components/BioTemplateRenderer.vue +0 -64
  885. package/src/components/ControlWorkspaceView.story.vue +0 -347
  886. package/src/components/ControlWorkspaceView.vue +0 -370
  887. package/src/components/DoseDesignWorkspaceView.story.vue +0 -77
  888. package/src/components/DoseDesignWorkspaceView.vue +0 -243
  889. package/src/components/ExperimentDataViewer.story.vue +0 -177
  890. package/src/components/ExperimentDataViewer.vue +0 -313
  891. package/src/components/ExperimentTimeline.story.vue +0 -208
  892. package/src/components/ExperimentTimeline.vue +0 -383
  893. package/src/components/FitPanel.story.vue +0 -191
  894. package/src/components/FitPanel.vue +0 -168
  895. package/src/components/FormActions.story.vue +0 -96
  896. package/src/components/GroupAssigner.story.vue +0 -83
  897. package/src/components/GroupAssigner.vue +0 -319
  898. package/src/components/IconButton.story.vue +0 -140
  899. package/src/components/IconButton.vue +0 -69
  900. package/src/components/MobileSupportGate.story.vue +0 -52
  901. package/src/components/MobileSupportGate.vue +0 -111
  902. package/src/components/MultiSelect.vue +0 -119
  903. package/src/components/ReagentEditor.story.vue +0 -153
  904. package/src/components/ReagentEditor.vue +0 -414
  905. package/src/components/ReagentList.presentation.ts +0 -106
  906. package/src/components/ReagentList.story.vue +0 -155
  907. package/src/components/ReagentList.vue +0 -438
  908. package/src/components/SampleLegend.story.vue +0 -91
  909. package/src/components/SampleLegend.vue +0 -121
  910. package/src/components/SmartGroupModal.story.vue +0 -61
  911. package/src/components/SmartGroupModal.vue +0 -61
  912. package/src/components/StatusIndicator.story.vue +0 -99
  913. package/src/components/StatusIndicator.vue +0 -36
  914. package/src/components/UnitInput.story.vue +0 -194
  915. package/src/composables/flattenWorkspaceBindings.ts +0 -104
  916. package/src/composables/useBioTemplateComponents.ts +0 -117
  917. package/src/composables/useBioTemplateControls.ts +0 -45
  918. package/src/composables/useBioTemplatePackWorkspace.ts +0 -201
  919. package/src/composables/useBioTemplatePresetWorkspace.ts +0 -329
  920. package/src/composables/useBioTemplateWorkspace.ts +0 -120
  921. package/src/composables/useChemicalFormula.ts +0 -301
  922. package/src/composables/useDoseCalculator.ts +0 -370
  923. package/src/composables/useExperimentSave.ts +0 -348
  924. package/src/composables/useGroupAssignment.ts +0 -152
  925. package/src/composables/useJobsStatusTray.ts +0 -493
  926. package/src/composables/useMobileSupportGate.ts +0 -80
  927. package/src/composables/usePlatformContext.ts +0 -299
  928. package/src/composables/usePresenceHeartbeat.ts +0 -201
  929. package/src/composables/useRuntimeAlignment.ts +0 -184
  930. package/src/composables/useTemplateCollection.ts +0 -233
  931. package/src/composables/workspaceRecipes.ts +0 -268
  932. package/src/lcms.ts +0 -119
  933. package/src/styles/components/app-avatar-menu.css +0 -121
  934. package/src/styles/components/experiment-data-viewer.css +0 -138
  935. package/src/styles/components/experiment-timeline.css +0 -572
  936. package/src/styles/components/fit-panel.css +0 -153
  937. package/src/styles/components/group-assigner.css +0 -198
  938. package/src/styles/components/mobile-support-gate.css +0 -117
  939. package/src/styles/components/reagent-editor.css +0 -501
  940. package/src/styles/components/reagent-list.css +0 -408
  941. package/src/styles/components/sample-legend.css +0 -212
  942. package/src/styles/components/status-indicator.css +0 -66
  943. package/src/styles/components/theme-toggle.css +0 -6
  944. package/src/tailwind.preset.ts +0 -66
  945. package/src/templates/adapters.ts +0 -141
  946. package/src/templates/assayLookups.ts +0 -33
  947. package/src/templates/assayMatrixAdapters.ts +0 -85
  948. package/src/templates/assayMatrixBuilder.ts +0 -60
  949. package/src/templates/assayNormalizers.ts +0 -34
  950. package/src/templates/builderIdUtils.ts +0 -20
  951. package/src/templates/builderPresetControls.ts +0 -166
  952. package/src/templates/builderReadUtils.ts +0 -55
  953. package/src/templates/builders.ts +0 -122
  954. package/src/templates/calibrationCurveAdapters.ts +0 -62
  955. package/src/templates/calibrationCurveBuilder.ts +0 -100
  956. package/src/templates/calibrationNormalizers.ts +0 -60
  957. package/src/templates/catalog.ts +0 -249
  958. package/src/templates/componentBindingCatalog.ts +0 -90
  959. package/src/templates/componentBindingHelpers.ts +0 -93
  960. package/src/templates/componentBindings.ts +0 -279
  961. package/src/templates/componentDoseResponseProps.ts +0 -41
  962. package/src/templates/componentGenericProps.ts +0 -77
  963. package/src/templates/componentPlateHelpers.ts +0 -52
  964. package/src/templates/componentPlateMapProps.ts +0 -34
  965. package/src/templates/componentPropsFactory.ts +0 -21
  966. package/src/templates/componentQpcrPlateProps.ts +0 -27
  967. package/src/templates/componentTargetResolvers.ts +0 -67
  968. package/src/templates/componentTemplateProps.ts +0 -78
  969. package/src/templates/controlSchemaClone.ts +0 -32
  970. package/src/templates/controlSchemaConstants.ts +0 -11
  971. package/src/templates/controlSchemaMerge.ts +0 -40
  972. package/src/templates/controlSchemaTargets.ts +0 -85
  973. package/src/templates/controlSchemaTypes.ts +0 -20
  974. package/src/templates/controlSchemas.ts +0 -113
  975. package/src/templates/defaultBioTemplateBuilder.ts +0 -125
  976. package/src/templates/doseResponseAdapters.ts +0 -36
  977. package/src/templates/doseResponseBuilder.ts +0 -45
  978. package/src/templates/elisaAssayCollectionBuilder.ts +0 -63
  979. package/src/templates/flowCytometryAssayCollectionBuilder.ts +0 -42
  980. package/src/templates/flowCytometryPanelBuilder.ts +0 -54
  981. package/src/templates/flowNormalizers.ts +0 -58
  982. package/src/templates/flowPanelAdapters.ts +0 -61
  983. package/src/templates/index.ts +0 -330
  984. package/src/templates/instrumentRunAdapterHelpers.ts +0 -94
  985. package/src/templates/instrumentRunAdapters.ts +0 -174
  986. package/src/templates/instrumentRunBuilder.ts +0 -98
  987. package/src/templates/lcmsBatchCollectionBuilder.ts +0 -39
  988. package/src/templates/lookup.ts +0 -18
  989. package/src/templates/packs.ts +0 -166
  990. package/src/templates/plateMapAdapters.ts +0 -38
  991. package/src/templates/plateMapBuilder.ts +0 -44
  992. package/src/templates/presetControlSchemas.ts +0 -258
  993. package/src/templates/presets.ts +0 -183
  994. package/src/templates/protocolAdapters.ts +0 -73
  995. package/src/templates/protocolNormalizers.ts +0 -37
  996. package/src/templates/protocolStepsBuilder.ts +0 -37
  997. package/src/templates/qpcrAdapters.ts +0 -108
  998. package/src/templates/qpcrExpressionCollectionBuilder.ts +0 -34
  999. package/src/templates/qpcrPlateBuilder.ts +0 -97
  1000. package/src/templates/reagentAdapters.ts +0 -81
  1001. package/src/templates/reagentListBuilder.ts +0 -31
  1002. package/src/templates/runNormalizers.ts +0 -63
  1003. package/src/templates/sampleNormalizers.ts +0 -58
  1004. package/src/templates/samplePrepAdapters.ts +0 -66
  1005. package/src/templates/samplePrepBuilder.ts +0 -52
  1006. package/src/templates/sampleSheetAdapters.ts +0 -79
  1007. package/src/templates/sampleSheetBuilder.ts +0 -24
  1008. package/src/templates/targetedMetabolomicsCollectionBuilder.ts +0 -80
  1009. package/src/templates/targetedMetabolomicsHelpers.ts +0 -102
  1010. package/src/templates/templateAdapterTypes.ts +0 -58
  1011. package/src/templates/templateControlSchemas.ts +0 -320
  1012. package/src/templates/templateCreateOptions.ts +0 -208
  1013. package/src/templates/templateEnvelopes.ts +0 -145
  1014. package/src/templates/templatePackCollectionBuilder.ts +0 -24
  1015. package/src/templates/templatePresetCollectionBuilder.ts +0 -141
  1016. package/src/templates/templateQpcrTypes.ts +0 -48
  1017. package/src/templates/templateValidators.ts +0 -426
  1018. package/src/templates/timeCourseAdapters.ts +0 -77
  1019. package/src/templates/timeCourseBuilder.ts +0 -65
  1020. package/src/templates/types.ts +0 -493
  1021. package/src/templates/wellPlateScreenCollectionBuilder.ts +0 -37
  1022. package/src/templates/westernBlotAssayCollectionBuilder.ts +0 -69
  1023. package/src/utils/rack.ts +0 -225
  1024. /package/dist/__tests__/components/{AppAvatarMenu.test.d.ts → BaseButton.test.d.ts} +0 -0
  1025. /package/dist/__tests__/components/{AppTopBar.navigation.test.d.ts → BaseCheckbox.switch.test.d.ts} +0 -0
  1026. /package/dist/__tests__/components/{AppTopBarPresence.test.d.ts → BaseSelect.multiple.test.d.ts} +0 -0
  1027. /package/dist/__tests__/components/{BaseToggle.test.d.ts → BaseSelect.searchable.test.d.ts} +0 -0
  1028. /package/dist/__tests__/components/{BioTemplateExperimentWorkspaceView.test.d.ts → ConfirmDialog.test.d.ts} +0 -0
  1029. /package/dist/__tests__/components/{BioTemplatePackWorkspaceView.test.d.ts → DatePicker.datetime.test.d.ts} +0 -0
  1030. /package/dist/__tests__/components/{BioTemplatePresetWorkspaceView.test.d.ts → DatePicker.time.test.d.ts} +0 -0
  1031. /package/dist/__tests__/components/{BioTemplateRenderer.test.d.ts → FormSchemaInternal.test.d.ts} +0 -0
  1032. /package/dist/__tests__/components/{ControlWorkspaceView.test.d.ts → InstrumentStatusPanels.test.d.ts} +0 -0
  1033. /package/dist/__tests__/components/{DateTimePicker.test.d.ts → NumberInput.units.test.d.ts} +0 -0
  1034. /package/dist/__tests__/components/{DoseDesignWorkspaceView.test.d.ts → PresenceAvatars.test.d.ts} +0 -0
  1035. /package/dist/__tests__/components/{ExperimentTimeline.test.d.ts → StaleFormBanner.test.d.ts} +0 -0
  1036. /package/dist/__tests__/components/{FitPanel.test.d.ts → deprecationTags.test.d.ts} +0 -0
  1037. /package/dist/__tests__/{components/GroupAssigner.test.d.ts → composables/createClient.test.d.ts} +0 -0
  1038. /package/dist/__tests__/{components/MobileSupportGate.test.d.ts → composables/eventStream.test.d.ts} +0 -0
  1039. /package/dist/__tests__/{components/MultiSelect.test.d.ts → composables/useArtifacts.test.d.ts} +0 -0
  1040. /package/dist/__tests__/{components/ReagentList.presentation.test.d.ts → composables/useExperiment.test.d.ts} +0 -0
  1041. /package/dist/__tests__/{components/ReagentList.test.d.ts → composables/useJobCenter.test.d.ts} +0 -0
  1042. /package/dist/__tests__/{components/SampleLegend.test.d.ts → composables/useJobsEndpoint.test.d.ts} +0 -0
  1043. /package/dist/__tests__/{components/SearchableSelect.test.d.ts → composables/usePlatform.test.d.ts} +0 -0
  1044. /package/dist/__tests__/{components/SmartGroupModal.test.d.ts → composables/usePresence.test.d.ts} +0 -0
  1045. /package/dist/__tests__/{components/TimePicker.test.d.ts → composables/useRealtime.test.d.ts} +0 -0
  1046. /package/dist/__tests__/{components/UnitInput.test.d.ts → composables/useRequest.test.d.ts} +0 -0
  1047. /package/dist/__tests__/{components/WellPlate.sampleTypeIndicator.test.d.ts → composables/useVersionedSave.test.d.ts} +0 -0
  1048. /package/dist/__tests__/{components/iconButtonIconSizing.test.d.ts → utils/formula.test.d.ts} +0 -0
  1049. /package/dist/__tests__/{composables/useAnalysisArtifacts.test.d.ts → utils/time.test.d.ts} +0 -0
  1050. /package/dist/components/{FormActions.vue.d.ts → internal/FormActionsInternal.vue.d.ts} +0 -0
  1051. /package/dist/{composables → components/internal}/autoGroup/colors.d.ts +0 -0
  1052. /package/dist/{composables → components/internal}/autoGroup/index.d.ts +0 -0
  1053. /package/dist/{composables → components/internal}/autoGroup/tokenize.d.ts +0 -0
  1054. /package/src/{composables → components/internal}/autoGroup/colors.ts +0 -0
  1055. /package/src/{composables → components/internal}/autoGroup/tokenize.ts +0 -0
  1056. /package/src/{composables → components/internal}/autoGroup/vocab.json +0 -0
@@ -1,13 +1,13 @@
1
1
  import { effectScope } from 'vue'
2
2
  import { describe, expect, it, vi } from 'vitest'
3
3
 
4
- import { useGeneratedAnalysis } from '../../composables/useGeneratedAnalysis'
4
+ import { useJobsEndpoint } from '../../composables/useJobsEndpoint'
5
5
  import { MintApiError } from '../../apiErrors'
6
6
  import {
7
7
  createGeneratedAnalysisTransport,
8
8
  type GeneratedAnalysisTransport,
9
- } from '../../composables/useGeneratedAnalysis'
10
- import type { PluginJobCenterSource } from '../../composables/useJobsStatusTray'
9
+ } from '../../composables/useJobsEndpoint'
10
+ import type { PluginJobCenterSource } from '../../composables/useJobCenter'
11
11
  import type {
12
12
  GeneratedAnalysisJob,
13
13
  GeneratedAnalysisManifest,
@@ -149,10 +149,11 @@ function streamingJobTransport(): ReturnType<typeof vi.fn<GeneratedAnalysisTrans
149
149
  })
150
150
  }
151
151
 
152
- describe('useGeneratedAnalysis', () => {
152
+ describe('useJobsEndpoint', () => {
153
153
  it('is directly usable as a job center source', () => {
154
154
  const scope = effectScope()
155
- const generated = scope.run(() => useGeneratedAnalysis({
155
+ const generated = scope.run(() => useJobsEndpoint({
156
+ manifest: true,
156
157
  baseUrl: '/api/demo',
157
158
  transport: vi.fn<GeneratedAnalysisTransport>(),
158
159
  storage: memoryStorage(),
@@ -166,7 +167,8 @@ describe('useGeneratedAnalysis', () => {
166
167
 
167
168
  it('should report an immediate initialization failure without an unhandled rejection', async () => {
168
169
  const scope = effectScope()
169
- const generated = scope.run(() => useGeneratedAnalysis({
170
+ const generated = scope.run(() => useJobsEndpoint({
171
+ manifest: true,
170
172
  baseUrl: '/api/demo',
171
173
  transport: vi.fn<GeneratedAnalysisTransport>()
172
174
  .mockRejectedValue(new TypeError('offline')),
@@ -200,7 +202,8 @@ describe('useGeneratedAnalysis', () => {
200
202
  }))
201
203
  .mockResolvedValueOnce(response({ jobs: [] }))
202
204
  const scope = effectScope()
203
- const generated = scope.run(() => useGeneratedAnalysis({
205
+ const generated = scope.run(() => useJobsEndpoint({
206
+ manifest: true,
204
207
  baseUrl: '/api/demo',
205
208
  transport,
206
209
  storage: unavailableStorage,
@@ -209,7 +212,7 @@ describe('useGeneratedAnalysis', () => {
209
212
  }))!
210
213
 
211
214
  try {
212
- await generated.initialize()
215
+ await generated.refresh()
213
216
 
214
217
  expect(generated.session.value?.id).toBe('session-1')
215
218
  } finally {
@@ -217,6 +220,39 @@ describe('useGeneratedAnalysis', () => {
217
220
  }
218
221
  })
219
222
 
223
+ it('should open one job session when runtimes for the same plugin start together', async () => {
224
+ const storage = memoryStorage()
225
+ let created = 0
226
+ const transport = vi.fn<GeneratedAnalysisTransport>(async (input, init) => {
227
+ const url = String(input)
228
+ if (url.endsWith('/jobs/sessions') && init?.method === 'GET') return response({ sessions: [] })
229
+ if (url.endsWith('/jobs/sessions') && init?.method === 'POST') {
230
+ created += 1
231
+ return response({
232
+ id: `session-${created}`, tab_id: 'tab-1', created_at: '', last_seen_at: '', active_job_ids: [],
233
+ })
234
+ }
235
+ if (url.endsWith('/jobs')) return response({ jobs: [] })
236
+ throw new Error(`Unexpected request: ${url}`)
237
+ })
238
+ const scope = effectScope()
239
+ const runtimes = scope.run(() => [1, 2].map(() => useJobsEndpoint({
240
+ baseUrl: '/api/demo',
241
+ transport,
242
+ storage,
243
+ createId: () => 'tab-1',
244
+ stream: false,
245
+ })))!
246
+
247
+ try {
248
+ await Promise.all(runtimes.map(runtime => runtime.refresh()))
249
+
250
+ expect(runtimes.map(runtime => runtime.session.value?.id)).toEqual(['session-1', 'session-1'])
251
+ } finally {
252
+ scope.stop()
253
+ }
254
+ })
255
+
220
256
  it('should add the current bearer token to JSON and event-stream requests', async () => {
221
257
  const fetcher = vi.fn().mockResolvedValue(response({ ok: true }))
222
258
  const transport = createGeneratedAnalysisTransport({
@@ -269,7 +305,8 @@ describe('useGeneratedAnalysis', () => {
269
305
  })
270
306
  vi.stubGlobal('EventSource', eventSource)
271
307
  const scope = effectScope()
272
- const generated = scope.run(() => useGeneratedAnalysis({
308
+ const generated = scope.run(() => useJobsEndpoint({
309
+ manifest: true,
273
310
  baseUrl: '/api/demo',
274
311
  transport,
275
312
  storage,
@@ -278,12 +315,12 @@ describe('useGeneratedAnalysis', () => {
278
315
  }))!
279
316
 
280
317
  try {
281
- await generated.initialize()
318
+ await generated.refresh()
282
319
  await vi.waitFor(() => expect(generated.jobs.value[0]?.status).toBe('completed'))
283
320
 
284
321
  expect(transport.mock.calls.some(call => String(call[0]).endsWith('/result'))).toBe(false)
285
322
 
286
- await generated.loadResult(generated.jobs.value[0]!)
323
+ await generated.result(generated.jobs.value[0]!)
287
324
 
288
325
  const streamCall = transport.mock.calls.find(call => String(call[0]).endsWith('/jobs/events'))
289
326
  const resultCall = transport.mock.calls.find(call => String(call[0]).endsWith('/jobs/job-1/result'))
@@ -310,17 +347,18 @@ describe('useGeneratedAnalysis', () => {
310
347
  vi.useFakeTimers()
311
348
  const transport = streamingJobTransport()
312
349
  const scope = effectScope()
313
- const generated = scope.run(() => useGeneratedAnalysis({
350
+ const generated = scope.run(() => useJobsEndpoint({
351
+ manifest: true,
314
352
  baseUrl: '/api/demo',
315
353
  transport,
316
354
  storage: memoryStorage(),
317
355
  createId: () => 'tab-1',
318
- pollInterval: 5,
356
+ poll: 5,
319
357
  streamReconnectDelay: 1_000,
320
358
  }))!
321
359
 
322
360
  try {
323
- await generated.initialize()
361
+ await generated.refresh()
324
362
  await vi.advanceTimersByTimeAsync(5)
325
363
 
326
364
  expect(transport.mock.calls.filter(([input]) => String(input).endsWith('/jobs'))).toHaveLength(2)
@@ -335,17 +373,18 @@ describe('useGeneratedAnalysis', () => {
335
373
  vi.useFakeTimers()
336
374
  const transport = streamingJobTransport()
337
375
  const scope = effectScope()
338
- const generated = scope.run(() => useGeneratedAnalysis({
376
+ const generated = scope.run(() => useJobsEndpoint({
377
+ manifest: true,
339
378
  baseUrl: '/api/demo',
340
379
  transport,
341
380
  storage: memoryStorage(),
342
381
  createId: () => 'tab-1',
343
- pollInterval: 5,
382
+ poll: 5,
344
383
  streamReconnectDelay: 10,
345
384
  }))!
346
385
 
347
386
  try {
348
- await generated.initialize()
387
+ await generated.refresh()
349
388
  await vi.advanceTimersByTimeAsync(0)
350
389
  generated.pause()
351
390
  await vi.advanceTimersByTimeAsync(20)
@@ -365,16 +404,17 @@ describe('useGeneratedAnalysis', () => {
365
404
  vi.useFakeTimers()
366
405
  const transport = streamingJobTransport()
367
406
  const scope = effectScope()
368
- const generated = scope.run(() => useGeneratedAnalysis({
407
+ const generated = scope.run(() => useJobsEndpoint({
408
+ manifest: true,
369
409
  baseUrl: '/api/demo',
370
410
  transport,
371
411
  storage: memoryStorage(),
372
412
  createId: () => 'tab-1',
373
- pollInterval: 5,
413
+ poll: 5,
374
414
  streamReconnectDelay: 10,
375
415
  }))!
376
416
 
377
- await generated.initialize()
417
+ await generated.refresh()
378
418
  await vi.advanceTimersByTimeAsync(0)
379
419
  generated.dispose()
380
420
  await vi.advanceTimersByTimeAsync(20)
@@ -402,7 +442,8 @@ describe('useGeneratedAnalysis', () => {
402
442
  ))
403
443
  .mockResolvedValueOnce(response(lateQueued))
404
444
  const scope = effectScope()
405
- const generated = scope.run(() => useGeneratedAnalysis({
445
+ const generated = scope.run(() => useJobsEndpoint({
446
+ manifest: true,
406
447
  baseUrl: '/api/demo',
407
448
  transport,
408
449
  storage: memoryStorage(),
@@ -411,7 +452,7 @@ describe('useGeneratedAnalysis', () => {
411
452
  }))!
412
453
 
413
454
  try {
414
- await generated.initialize()
455
+ await generated.refresh()
415
456
  await vi.waitFor(() => expect(generated.jobs.value[0]?.status).toBe('completed'))
416
457
 
417
458
  const submitted = await generated.submit('run', {})
@@ -440,19 +481,20 @@ describe('useGeneratedAnalysis', () => {
440
481
  }))
441
482
  .mockResolvedValueOnce(response({ kind: 'text', text: 'done' }))
442
483
  const scope = effectScope()
443
- const generated = scope.run(() => useGeneratedAnalysis({
484
+ const generated = scope.run(() => useJobsEndpoint({
485
+ manifest: true,
444
486
  baseUrl: '/api/demo',
445
487
  transport: fetcher,
446
488
  storage,
447
489
  createId: () => 'tab-1',
448
- pollInterval: 60_000,
490
+ poll: 60_000,
449
491
  stream: false,
450
492
  }))!
451
493
 
452
- await generated.initialize()
494
+ await generated.refresh()
453
495
  await generated.submit('run', { threshold: 2.5 })
454
- await generated.refreshJobs()
455
- await generated.loadResult(generated.jobs.value[0]!)
496
+ await generated.refresh()
497
+ await generated.result(generated.jobs.value[0]!)
456
498
  scope.stop()
457
499
 
458
500
  expect({
@@ -486,7 +528,8 @@ describe('useGeneratedAnalysis', () => {
486
528
  .mockResolvedValueOnce(response({ token: 'upload-token', kind: 'file', name: 'data.csv', size: 4 }))
487
529
  .mockResolvedValueOnce(response(activeJob('job-1')))
488
530
  const scope = effectScope()
489
- const generated = scope.run(() => useGeneratedAnalysis({
531
+ const generated = scope.run(() => useJobsEndpoint({
532
+ manifest: true,
490
533
  baseUrl: '/api/demo',
491
534
  transport,
492
535
  storage: memoryStorage(),
@@ -495,7 +538,7 @@ describe('useGeneratedAnalysis', () => {
495
538
  }))!
496
539
 
497
540
  try {
498
- await generated.initialize()
541
+ await generated.refresh()
499
542
  await generated.submit('run', {
500
543
  source: {
501
544
  kind: 'path',
@@ -540,7 +583,8 @@ describe('useGeneratedAnalysis', () => {
540
583
  .mockResolvedValueOnce(response({ token: 'artifact-token', kind: 'file', name: 'matrix.csv', size: 4 }))
541
584
  .mockResolvedValueOnce(response(activeJob('job-1')))
542
585
  const scope = effectScope()
543
- const generated = scope.run(() => useGeneratedAnalysis({
586
+ const generated = scope.run(() => useJobsEndpoint({
587
+ manifest: true,
544
588
  baseUrl: '/api/demo',
545
589
  transport,
546
590
  storage: memoryStorage(),
@@ -549,7 +593,7 @@ describe('useGeneratedAnalysis', () => {
549
593
  }))!
550
594
 
551
595
  try {
552
- await generated.initialize()
596
+ await generated.refresh()
553
597
  await generated.submit('run', {
554
598
  source: {
555
599
  kind: 'artifact-path',
@@ -618,7 +662,8 @@ describe('useGeneratedAnalysis', () => {
618
662
  .mockResolvedValueOnce(response(staging))
619
663
  .mockResolvedValueOnce(response(sealedJob))
620
664
  const scope = effectScope()
621
- const generated = scope.run(() => useGeneratedAnalysis({
665
+ const generated = scope.run(() => useJobsEndpoint({
666
+ manifest: true,
622
667
  baseUrl: '/api/demo',
623
668
  transport,
624
669
  storage: memoryStorage(),
@@ -627,7 +672,7 @@ describe('useGeneratedAnalysis', () => {
627
672
  }))!
628
673
 
629
674
  try {
630
- await generated.initialize()
675
+ await generated.refresh()
631
676
  const uploaded = await generated.uploadStagedPart({
632
677
  job: 'staged/job',
633
678
  key: 'sample one/chunk#1',
@@ -701,7 +746,8 @@ describe('useGeneratedAnalysis', () => {
701
746
  .mockReturnValueOnce(sealRequest.promise)
702
747
  .mockResolvedValueOnce(response({ jobs: [awaiting] }))
703
748
  const scope = effectScope()
704
- const generated = scope.run(() => useGeneratedAnalysis({
749
+ const generated = scope.run(() => useJobsEndpoint({
750
+ manifest: true,
705
751
  baseUrl: '/api/demo',
706
752
  transport,
707
753
  storage: memoryStorage(),
@@ -710,10 +756,10 @@ describe('useGeneratedAnalysis', () => {
710
756
  }))!
711
757
 
712
758
  try {
713
- await generated.initialize()
759
+ await generated.refresh()
714
760
  const sealing = generated.sealJob('seal-race')
715
761
  await vi.waitFor(() => expect(transport).toHaveBeenCalledTimes(5))
716
- await generated.refreshJobs()
762
+ await generated.refresh()
717
763
  sealRequest.resolve(response(queued))
718
764
 
719
765
  await expect(sealing).resolves.toMatchObject({ status: 'queued' })
@@ -736,7 +782,8 @@ describe('useGeneratedAnalysis', () => {
736
782
  }))
737
783
  .mockResolvedValueOnce(response({ jobs: [] }))
738
784
  const scope = effectScope()
739
- const generated = scope.run(() => useGeneratedAnalysis({
785
+ const generated = scope.run(() => useJobsEndpoint({
786
+ manifest: true,
740
787
  baseUrl: '/api/demo',
741
788
  transport: fetcher,
742
789
  storage,
@@ -744,7 +791,7 @@ describe('useGeneratedAnalysis', () => {
744
791
  stream: false,
745
792
  }))!
746
793
 
747
- await generated.initialize()
794
+ await generated.refresh()
748
795
  scope.stop()
749
796
 
750
797
  expect(fetcher.mock.calls.map(call => [call[0], call[1]?.method])).toEqual([
@@ -776,7 +823,8 @@ describe('useGeneratedAnalysis', () => {
776
823
  }))
777
824
  .mockResolvedValueOnce(response({ ...activeJob('job-1'), session_id: 'session-2' }))
778
825
  const scope = effectScope()
779
- const generated = scope.run(() => useGeneratedAnalysis({
826
+ const generated = scope.run(() => useJobsEndpoint({
827
+ manifest: true,
780
828
  baseUrl: '/api/demo',
781
829
  transport,
782
830
  storage,
@@ -785,7 +833,7 @@ describe('useGeneratedAnalysis', () => {
785
833
  }))!
786
834
 
787
835
  try {
788
- await generated.initialize()
836
+ await generated.refresh()
789
837
  const job = await generated.submit('run', { threshold: 2.5 })
790
838
  const jobBodies = transport.mock.calls
791
839
  .filter(call => String(call[0]).endsWith('/jobs') && call[1]?.method === 'POST')
@@ -834,7 +882,8 @@ describe('useGeneratedAnalysis', () => {
834
882
  .mockResolvedValueOnce(response({ jobs: [] }))
835
883
  .mockResolvedValueOnce(response({ detail }, status))
836
884
  const scope = effectScope()
837
- const generated = scope.run(() => useGeneratedAnalysis({
885
+ const generated = scope.run(() => useJobsEndpoint({
886
+ manifest: true,
838
887
  baseUrl: '/api/demo',
839
888
  transport,
840
889
  storage,
@@ -844,7 +893,7 @@ describe('useGeneratedAnalysis', () => {
844
893
  let caught: unknown
845
894
 
846
895
  try {
847
- await generated.initialize()
896
+ await generated.refresh()
848
897
  await generated.submit('run', {})
849
898
  } catch (error) {
850
899
  caught = error
@@ -883,17 +932,18 @@ describe('useGeneratedAnalysis', () => {
883
932
  .mockResolvedValueOnce(response({ jobs: [completedJob('job-1')] }))
884
933
  .mockResolvedValueOnce(response({ kind: 'text', text: 'done' }))
885
934
  const scope = effectScope()
886
- const generated = scope.run(() => useGeneratedAnalysis({
935
+ const generated = scope.run(() => useJobsEndpoint({
936
+ manifest: true,
887
937
  baseUrl: '/api/demo',
888
938
  transport: fetcher,
889
939
  storage,
890
940
  createId: () => 'tab-1',
891
- pollInterval: 10,
941
+ poll: 10,
892
942
  stream: false,
893
943
  }))!
894
944
 
895
945
  try {
896
- await generated.initialize()
946
+ await generated.refresh()
897
947
  await vi.advanceTimersByTimeAsync(20)
898
948
 
899
949
  expect({
@@ -928,7 +978,8 @@ describe('useGeneratedAnalysis', () => {
928
978
  .mockResolvedValueOnce(response({ jobs: [newJob, oldJob] }))
929
979
  .mockReturnValueOnce(newResult.promise)
930
980
  const scope = effectScope()
931
- const generated = scope.run(() => useGeneratedAnalysis({
981
+ const generated = scope.run(() => useJobsEndpoint({
982
+ manifest: true,
932
983
  baseUrl: '/api/demo',
933
984
  transport,
934
985
  storage,
@@ -937,13 +988,13 @@ describe('useGeneratedAnalysis', () => {
937
988
  }))!
938
989
 
939
990
  try {
940
- await generated.initialize()
941
- await generated.refreshJobs()
942
- const oldLoad = generated.loadResult(oldJob)
943
- const duplicateOldLoad = generated.loadResult(oldJob)
991
+ await generated.refresh()
992
+ await generated.refresh()
993
+ const oldLoad = generated.result(oldJob)
994
+ const duplicateOldLoad = generated.result(oldJob)
944
995
  await vi.waitFor(() => expect(transport).toHaveBeenCalledTimes(6))
945
- await generated.refreshJobs()
946
- const newLoad = generated.loadResult(newJob)
996
+ await generated.refresh()
997
+ const newLoad = generated.result(newJob)
947
998
  await vi.waitFor(() => expect(transport).toHaveBeenCalledTimes(8))
948
999
 
949
1000
  newResult.resolve(response({ kind: 'text', text: 'new' }))
@@ -1001,7 +1052,8 @@ describe('useGeneratedAnalysis', () => {
1001
1052
  download_expires_at: '2026-07-21T10:09:30Z',
1002
1053
  }))
1003
1054
  const scope = effectScope()
1004
- const generated = scope.run(() => useGeneratedAnalysis({
1055
+ const generated = scope.run(() => useJobsEndpoint({
1056
+ manifest: true,
1005
1057
  baseUrl: '/api/demo',
1006
1058
  transport,
1007
1059
  storage: memoryStorage(),
@@ -1010,8 +1062,8 @@ describe('useGeneratedAnalysis', () => {
1010
1062
  }))!
1011
1063
 
1012
1064
  try {
1013
- await generated.initialize()
1014
- await generated.loadResult(completed)
1065
+ await generated.refresh()
1066
+ await generated.result(completed)
1015
1067
  await vi.advanceTimersByTimeAsync(270_000)
1016
1068
 
1017
1069
  expect({
@@ -1053,7 +1105,8 @@ describe('useGeneratedAnalysis', () => {
1053
1105
  }))
1054
1106
  .mockResolvedValueOnce(response({ detail: 'Job result expired' }, 410))
1055
1107
  const scope = effectScope()
1056
- const generated = scope.run(() => useGeneratedAnalysis({
1108
+ const generated = scope.run(() => useJobsEndpoint({
1109
+ manifest: true,
1057
1110
  baseUrl: '/api/demo',
1058
1111
  transport,
1059
1112
  storage: memoryStorage(),
@@ -1062,8 +1115,8 @@ describe('useGeneratedAnalysis', () => {
1062
1115
  }))!
1063
1116
 
1064
1117
  try {
1065
- await generated.initialize()
1066
- await generated.loadResult(completed)
1118
+ await generated.refresh()
1119
+ await generated.result(completed)
1067
1120
  await vi.advanceTimersByTimeAsync(270_000)
1068
1121
  await vi.advanceTimersByTimeAsync(60_000)
1069
1122
 
@@ -1106,7 +1159,8 @@ describe('useGeneratedAnalysis', () => {
1106
1159
  }))
1107
1160
  .mockResolvedValueOnce(response({ detail: 'Job result expired' }, 410))
1108
1161
  const scope = effectScope()
1109
- const generated = scope.run(() => useGeneratedAnalysis({
1162
+ const generated = scope.run(() => useJobsEndpoint({
1163
+ manifest: true,
1110
1164
  baseUrl: '/api/demo',
1111
1165
  transport,
1112
1166
  storage: memoryStorage(),
@@ -1115,8 +1169,8 @@ describe('useGeneratedAnalysis', () => {
1115
1169
  }))!
1116
1170
 
1117
1171
  try {
1118
- await generated.initialize()
1119
- await generated.loadResult(completed)
1172
+ await generated.refresh()
1173
+ await generated.result(completed)
1120
1174
  await vi.advanceTimersByTimeAsync(19_999)
1121
1175
  expect(transport.mock.calls.filter(call => String(call[0]).endsWith('/result'))).toHaveLength(1)
1122
1176
 
@@ -1152,7 +1206,8 @@ describe('useGeneratedAnalysis', () => {
1152
1206
  .mockResolvedValueOnce(response(managedResult('token-1', '2026-07-21T10:05:00Z')))
1153
1207
  .mockResolvedValueOnce(response(managedResult('token-2', '2026-07-21T10:10:01Z')))
1154
1208
  const scope = effectScope()
1155
- const generated = scope.run(() => useGeneratedAnalysis({
1209
+ const generated = scope.run(() => useJobsEndpoint({
1210
+ manifest: true,
1156
1211
  baseUrl: '/api/demo',
1157
1212
  transport,
1158
1213
  storage: memoryStorage(),
@@ -1161,8 +1216,8 @@ describe('useGeneratedAnalysis', () => {
1161
1216
  }))!
1162
1217
 
1163
1218
  try {
1164
- await generated.initialize()
1165
- await generated.loadResult(completed)
1219
+ await generated.refresh()
1220
+ await generated.result(completed)
1166
1221
  generated.pause()
1167
1222
  await vi.advanceTimersByTimeAsync(301_000)
1168
1223
  expect(transport.mock.calls.filter(call => String(call[0]).endsWith('/result'))).toHaveLength(1)
@@ -1193,18 +1248,19 @@ describe('useGeneratedAnalysis', () => {
1193
1248
  .mockRejectedValueOnce(new TypeError('temporary result failure'))
1194
1249
  .mockResolvedValueOnce(response({ kind: 'text', text: 'recovered' }))
1195
1250
  const scope = effectScope()
1196
- const generated = scope.run(() => useGeneratedAnalysis({
1251
+ const generated = scope.run(() => useJobsEndpoint({
1252
+ manifest: true,
1197
1253
  baseUrl: '/api/demo',
1198
1254
  transport,
1199
1255
  storage,
1200
1256
  createId: () => 'tab-1',
1201
- pollInterval: 10,
1257
+ poll: 10,
1202
1258
  stream: false,
1203
1259
  }))!
1204
1260
 
1205
1261
  try {
1206
- await generated.initialize()
1207
- await generated.loadResult(completed)
1262
+ await generated.refresh()
1263
+ await generated.result(completed)
1208
1264
 
1209
1265
  expect(generated.error.value).toBe('temporary result failure')
1210
1266
 
@@ -1240,7 +1296,8 @@ describe('useGeneratedAnalysis', () => {
1240
1296
  .mockResolvedValueOnce(response({ jobs: [sharedJob] }))
1241
1297
  .mockResolvedValueOnce(response({ kind: 'text', text: 'shared' }))
1242
1298
  const scope = effectScope()
1243
- const generated = scope.run(() => useGeneratedAnalysis({
1299
+ const generated = scope.run(() => useJobsEndpoint({
1300
+ manifest: true,
1244
1301
  baseUrl: '/api/demo',
1245
1302
  transport,
1246
1303
  storage,
@@ -1249,8 +1306,8 @@ describe('useGeneratedAnalysis', () => {
1249
1306
  }))!
1250
1307
 
1251
1308
  try {
1252
- await generated.initialize()
1253
- const result = await generated.loadResult(sharedJob)
1309
+ await generated.refresh()
1310
+ const result = await generated.result(sharedJob)
1254
1311
 
1255
1312
  expect(result).toEqual({ kind: 'text', text: 'shared' })
1256
1313
  } finally {
@@ -1278,22 +1335,23 @@ describe('useGeneratedAnalysis', () => {
1278
1335
  .mockRejectedValueOnce(new TypeError('failure-after-return'))
1279
1336
  .mockResolvedValueOnce(response({ kind: 'text', text: 'recovered' }))
1280
1337
  const scope = effectScope()
1281
- const generated = scope.run(() => useGeneratedAnalysis({
1338
+ const generated = scope.run(() => useJobsEndpoint({
1339
+ manifest: true,
1282
1340
  baseUrl: '/api/demo',
1283
1341
  transport,
1284
1342
  storage,
1285
1343
  createId: () => 'tab-1',
1286
- pollInterval: 10,
1344
+ poll: 10,
1287
1345
  stream: false,
1288
1346
  }))!
1289
1347
 
1290
1348
  try {
1291
- await generated.initialize()
1292
- await generated.loadResult(completed)
1349
+ await generated.refresh()
1350
+ await generated.result(completed)
1293
1351
  await vi.advanceTimersByTimeAsync(70)
1294
- await generated.refreshJobs()
1295
- await generated.refreshJobs()
1296
- await generated.loadResult(completed)
1352
+ await generated.refresh()
1353
+ await generated.refresh()
1354
+ await generated.result(completed)
1297
1355
  await vi.advanceTimersByTimeAsync(10)
1298
1356
 
1299
1357
  expect(generated.resultForJob('retry-job')).toEqual({
@@ -1321,7 +1379,8 @@ describe('useGeneratedAnalysis', () => {
1321
1379
  .mockResolvedValueOnce(response({ jobs: completedJobs }))
1322
1380
  .mockImplementation(async input => response({ kind: 'text', text: String(input) }))
1323
1381
  const scope = effectScope()
1324
- const generated = scope.run(() => useGeneratedAnalysis({
1382
+ const generated = scope.run(() => useJobsEndpoint({
1383
+ manifest: true,
1325
1384
  baseUrl: '/api/demo',
1326
1385
  transport,
1327
1386
  storage,
@@ -1330,8 +1389,8 @@ describe('useGeneratedAnalysis', () => {
1330
1389
  }))!
1331
1390
 
1332
1391
  try {
1333
- await generated.initialize()
1334
- for (const job of completedJobs) await generated.loadResult(job)
1392
+ await generated.refresh()
1393
+ for (const job of completedJobs) await generated.result(job)
1335
1394
 
1336
1395
  expect({
1337
1396
  evicted: generated.resultForJob('job-0'),
@@ -1362,26 +1421,27 @@ describe('useGeneratedAnalysis', () => {
1362
1421
  .mockResolvedValueOnce(response(running))
1363
1422
  .mockResolvedValueOnce(response({ jobs: [completed] }))
1364
1423
  const scope = effectScope()
1365
- const generated = scope.run(() => useGeneratedAnalysis({
1424
+ const generated = scope.run(() => useJobsEndpoint({
1425
+ manifest: true,
1366
1426
  baseUrl: '/api/demo',
1367
1427
  transport,
1368
1428
  storage: memoryStorage(),
1369
1429
  createId: () => 'tab-1',
1370
- pollInterval: 60_000,
1430
+ poll: 60_000,
1371
1431
  stream: false,
1372
1432
  }))!
1373
1433
 
1374
1434
  try {
1375
- await generated.initialize()
1376
- const waiting = generated.waitForJob('wait-job')
1435
+ await generated.refresh()
1436
+ const waiting = generated.wait('wait-job')
1377
1437
  await vi.waitFor(() => expect(generated.jobs.value[0]?.status).toBe('running'))
1378
- await generated.refreshJobs()
1438
+ await generated.refresh()
1379
1439
 
1380
1440
  await expect(waiting).resolves.toMatchObject({
1381
1441
  job_id: 'wait-job',
1382
1442
  status: 'completed',
1383
1443
  })
1384
- await expect(generated.waitForJob(completed)).resolves.toEqual(completed)
1444
+ await expect(generated.wait(completed)).resolves.toEqual(completed)
1385
1445
  expect(transport).toHaveBeenCalledTimes(6)
1386
1446
  } finally {
1387
1447
  scope.stop()
@@ -1405,7 +1465,8 @@ describe('useGeneratedAnalysis', () => {
1405
1465
  }))
1406
1466
  .mockResolvedValueOnce(response({ jobs: [failed] }))
1407
1467
  const scope = effectScope()
1408
- const generated = scope.run(() => useGeneratedAnalysis({
1468
+ const generated = scope.run(() => useJobsEndpoint({
1469
+ manifest: true,
1409
1470
  baseUrl: '/api/demo',
1410
1471
  transport,
1411
1472
  storage: memoryStorage(),
@@ -1414,14 +1475,14 @@ describe('useGeneratedAnalysis', () => {
1414
1475
  }))!
1415
1476
 
1416
1477
  try {
1417
- await generated.initialize()
1418
- await expect(generated.waitForJob(failed)).resolves.toMatchObject({ status: 'failed' })
1419
- await expect(generated.waitForJob(failed, { rejectOnFailure: true }))
1478
+ await generated.refresh()
1479
+ await expect(generated.wait(failed)).resolves.toMatchObject({ status: 'failed' })
1480
+ await expect(generated.wait(failed, { rejectOnFailure: true }))
1420
1481
  .rejects.toThrow('analysis exploded')
1421
1482
 
1422
1483
  const controller = new AbortController()
1423
1484
  controller.abort()
1424
- await expect(generated.waitForJob(failed, { signal: controller.signal }))
1485
+ await expect(generated.wait(failed, { signal: controller.signal }))
1425
1486
  .rejects.toMatchObject({ name: 'AbortError' })
1426
1487
  expect(transport).toHaveBeenCalledTimes(4)
1427
1488
  } finally {
@@ -1441,19 +1502,20 @@ describe('useGeneratedAnalysis', () => {
1441
1502
  .mockResolvedValueOnce(response({ jobs: [queued] }))
1442
1503
  .mockReturnValueOnce(jobRequest.promise)
1443
1504
  const scope = effectScope()
1444
- const generated = scope.run(() => useGeneratedAnalysis({
1505
+ const generated = scope.run(() => useJobsEndpoint({
1506
+ manifest: true,
1445
1507
  baseUrl: '/api/demo',
1446
1508
  transport,
1447
1509
  storage: memoryStorage(),
1448
1510
  createId: () => 'tab-1',
1449
- pollInterval: 60_000,
1511
+ poll: 60_000,
1450
1512
  stream: false,
1451
1513
  }))!
1452
1514
 
1453
1515
  try {
1454
- await generated.initialize()
1516
+ await generated.refresh()
1455
1517
  const controller = new AbortController()
1456
- const waiting = generated.waitForJob('abort-job', { signal: controller.signal })
1518
+ const waiting = generated.wait('abort-job', { signal: controller.signal })
1457
1519
  expect(transport.mock.calls[4]?.[1]?.signal).toBe(controller.signal)
1458
1520
  controller.abort()
1459
1521
 
@@ -1478,20 +1540,21 @@ describe('useGeneratedAnalysis', () => {
1478
1540
  .mockResolvedValueOnce(response({ detail: 'temporarily unavailable' }, 503))
1479
1541
  .mockResolvedValueOnce(response({ jobs: [completed] }))
1480
1542
  const scope = effectScope()
1481
- const generated = scope.run(() => useGeneratedAnalysis({
1543
+ const generated = scope.run(() => useJobsEndpoint({
1544
+ manifest: true,
1482
1545
  baseUrl: '/api/demo',
1483
1546
  transport,
1484
1547
  storage: memoryStorage(),
1485
1548
  createId: () => 'tab-1',
1486
- pollInterval: 60_000,
1549
+ poll: 60_000,
1487
1550
  stream: false,
1488
1551
  }))!
1489
1552
 
1490
1553
  try {
1491
- await generated.initialize()
1492
- const waiting = generated.waitForJob('retry-wait-job')
1554
+ await generated.refresh()
1555
+ const waiting = generated.wait('retry-wait-job')
1493
1556
  await vi.waitFor(() => expect(transport).toHaveBeenCalledTimes(5))
1494
- await generated.refreshJobs()
1557
+ await generated.refresh()
1495
1558
  await expect(waiting).resolves.toMatchObject({
1496
1559
  job_id: 'retry-wait-job',
1497
1560
  status: 'completed',
@@ -1511,7 +1574,8 @@ describe('useGeneratedAnalysis', () => {
1511
1574
  }))
1512
1575
  .mockResolvedValueOnce(response({ jobs: [queued] }))
1513
1576
  const scope = effectScope()
1514
- const generated = scope.run(() => useGeneratedAnalysis({
1577
+ const generated = scope.run(() => useJobsEndpoint({
1578
+ manifest: true,
1515
1579
  baseUrl: '/api/demo',
1516
1580
  transport,
1517
1581
  storage: memoryStorage(),
@@ -1520,9 +1584,9 @@ describe('useGeneratedAnalysis', () => {
1520
1584
  }))!
1521
1585
 
1522
1586
  try {
1523
- await generated.initialize()
1587
+ await generated.refresh()
1524
1588
  generated.pause()
1525
- await expect(generated.waitForJob('paused-wait-job')).rejects.toThrow(
1589
+ await expect(generated.wait('paused-wait-job')).rejects.toThrow(
1526
1590
  'Plugin jobs runtime is paused',
1527
1591
  )
1528
1592
  expect(transport).toHaveBeenCalledTimes(4)
@@ -1545,22 +1609,23 @@ describe('useGeneratedAnalysis', () => {
1545
1609
  .mockResolvedValueOnce(response({ status: 'deleted' }))
1546
1610
  .mockReturnValueOnce(disposeJobRequest.promise)
1547
1611
  const scope = effectScope()
1548
- const generated = scope.run(() => useGeneratedAnalysis({
1612
+ const generated = scope.run(() => useJobsEndpoint({
1613
+ manifest: true,
1549
1614
  baseUrl: '/api/demo',
1550
1615
  transport,
1551
1616
  storage: memoryStorage(),
1552
1617
  createId: () => 'tab-1',
1553
- pollInterval: 60_000,
1618
+ poll: 60_000,
1554
1619
  stream: false,
1555
1620
  }))!
1556
1621
 
1557
- await generated.initialize()
1558
- const deletedWait = generated.waitForJob('delete-wait-job')
1622
+ await generated.refresh()
1623
+ const deletedWait = generated.wait('delete-wait-job')
1559
1624
  await vi.waitFor(() => expect(transport).toHaveBeenCalledTimes(5))
1560
- await generated.deleteJob('delete-wait-job')
1625
+ await generated.delete('delete-wait-job')
1561
1626
  await expect(deletedWait).rejects.toThrow('was deleted')
1562
1627
 
1563
- const disposeWait = generated.waitForJob(activeJob('dispose-wait-job'))
1628
+ const disposeWait = generated.wait(activeJob('dispose-wait-job'))
1564
1629
  scope.stop()
1565
1630
  await expect(disposeWait).rejects.toThrow('runtime is disposed')
1566
1631
  disposeJobRequest.resolve(response(activeJob('dispose-wait-job')))
@@ -1578,7 +1643,8 @@ describe('useGeneratedAnalysis', () => {
1578
1643
  .mockResolvedValueOnce(response({ jobs: [] }))
1579
1644
  .mockReturnValueOnce(refreshRequest.promise)
1580
1645
  const scope = effectScope()
1581
- const generated = scope.run(() => useGeneratedAnalysis({
1646
+ const generated = scope.run(() => useJobsEndpoint({
1647
+ manifest: true,
1582
1648
  baseUrl: '/api/demo',
1583
1649
  transport,
1584
1650
  storage: memoryStorage(),
@@ -1586,13 +1652,13 @@ describe('useGeneratedAnalysis', () => {
1586
1652
  stream: false,
1587
1653
  }))!
1588
1654
 
1589
- const firstInitialize = generated.initialize()
1590
- const secondInitialize = generated.ready()
1655
+ const firstInitialize = generated.refresh()
1656
+ const secondInitialize = generated.refresh()
1591
1657
  expect(firstInitialize).toBe(secondInitialize)
1592
1658
  manifestRequest.resolve(response(manifest))
1593
1659
  await firstInitialize
1594
1660
 
1595
- const firstRefresh = generated.refreshJobs()
1661
+ const firstRefresh = generated.refresh()
1596
1662
  const secondRefresh = generated.refresh()
1597
1663
  expect(firstRefresh).toBe(secondRefresh)
1598
1664
  refreshRequest.resolve(response({ jobs: [completedJob('coalesced')] }))
@@ -1611,7 +1677,7 @@ describe('useGeneratedAnalysis', () => {
1611
1677
  requests: 5,
1612
1678
  filtered: ['coalesced'],
1613
1679
  })
1614
- await expect(generated.initialize()).rejects.toThrow('disposed')
1680
+ await expect(generated.submit('run', {})).rejects.toThrow('disposed')
1615
1681
  })
1616
1682
 
1617
1683
  it('does not let a late list response overwrite a newer canonical job update', async () => {
@@ -1628,7 +1694,8 @@ describe('useGeneratedAnalysis', () => {
1628
1694
  .mockReturnValueOnce(staleRefresh.promise)
1629
1695
  .mockResolvedValueOnce(response(completed))
1630
1696
  const scope = effectScope()
1631
- const generated = scope.run(() => useGeneratedAnalysis({
1697
+ const generated = scope.run(() => useJobsEndpoint({
1698
+ manifest: true,
1632
1699
  baseUrl: '/api/demo',
1633
1700
  transport,
1634
1701
  storage: memoryStorage(),
@@ -1637,9 +1704,9 @@ describe('useGeneratedAnalysis', () => {
1637
1704
  }))!
1638
1705
 
1639
1706
  try {
1640
- await generated.initialize()
1641
- const refresh = generated.refreshJobs()
1642
- await generated.getJob('live-job')
1707
+ await generated.refresh()
1708
+ const refresh = generated.refresh()
1709
+ await generated.get('live-job')
1643
1710
  staleRefresh.resolve(response({ jobs: [queued] }))
1644
1711
  await refresh
1645
1712
 
@@ -1667,19 +1734,20 @@ describe('useGeneratedAnalysis', () => {
1667
1734
  .mockReturnValueOnce(staleRefresh.promise)
1668
1735
  .mockResolvedValueOnce(response({ jobs: [completed] }))
1669
1736
  const scope = effectScope()
1670
- const generated = scope.run(() => useGeneratedAnalysis({
1737
+ const generated = scope.run(() => useJobsEndpoint({
1738
+ manifest: true,
1671
1739
  baseUrl: '/api/demo',
1672
1740
  transport,
1673
1741
  storage: memoryStorage(),
1674
1742
  createId: () => 'tab-1',
1675
- pollInterval: 10,
1743
+ poll: 10,
1676
1744
  stream: false,
1677
1745
  }))!
1678
1746
  let waiting: Promise<GeneratedAnalysisJob> | undefined
1679
1747
 
1680
1748
  try {
1681
- await generated.initialize()
1682
- waiting = generated.waitForJob('live-job')
1749
+ await generated.refresh()
1750
+ waiting = generated.wait('live-job')
1683
1751
  void waiting.catch(() => undefined)
1684
1752
 
1685
1753
  vi.advanceTimersByTime(10)
@@ -1719,7 +1787,8 @@ describe('useGeneratedAnalysis', () => {
1719
1787
  .mockResolvedValueOnce(response({ jobs: [completed] }))
1720
1788
  .mockResolvedValueOnce(response({ jobs: [staleQueued] }))
1721
1789
  const scope = effectScope()
1722
- const generated = scope.run(() => useGeneratedAnalysis({
1790
+ const generated = scope.run(() => useJobsEndpoint({
1791
+ manifest: true,
1723
1792
  baseUrl: '/api/demo',
1724
1793
  transport,
1725
1794
  storage: memoryStorage(),
@@ -1728,8 +1797,8 @@ describe('useGeneratedAnalysis', () => {
1728
1797
  }))!
1729
1798
 
1730
1799
  try {
1731
- await generated.initialize()
1732
- await generated.refreshJobs()
1800
+ await generated.refresh()
1801
+ await generated.refresh()
1733
1802
 
1734
1803
  expect(generated.jobs.value[0]?.status).toBe('completed')
1735
1804
  } finally {
@@ -1746,7 +1815,8 @@ describe('useGeneratedAnalysis', () => {
1746
1815
  }))
1747
1816
  .mockResolvedValueOnce(response({ jobs: [completedJob('initial-refresh')] }))
1748
1817
  const scope = effectScope()
1749
- const generated = scope.run(() => useGeneratedAnalysis({
1818
+ const generated = scope.run(() => useJobsEndpoint({
1819
+ manifest: true,
1750
1820
  baseUrl: '/api/demo',
1751
1821
  transport,
1752
1822
  storage: memoryStorage(),
@@ -1788,7 +1858,8 @@ describe('useGeneratedAnalysis', () => {
1788
1858
  .mockResolvedValueOnce(response({ jobs: [running] }))
1789
1859
  .mockResolvedValueOnce(response(cancelled))
1790
1860
  const scope = effectScope()
1791
- const generated = scope.run(() => useGeneratedAnalysis({
1861
+ const generated = scope.run(() => useJobsEndpoint({
1862
+ manifest: true,
1792
1863
  baseUrl: '/api/demo',
1793
1864
  transport,
1794
1865
  storage: memoryStorage(),
@@ -1797,8 +1868,8 @@ describe('useGeneratedAnalysis', () => {
1797
1868
  }))!
1798
1869
 
1799
1870
  try {
1800
- await generated.initialize()
1801
- const updated = await generated.cancelJob('cancel-me')
1871
+ await generated.refresh()
1872
+ const updated = await generated.cancel('cancel-me')
1802
1873
 
1803
1874
  expect({
1804
1875
  updated,
@@ -1844,7 +1915,8 @@ describe('useGeneratedAnalysis', () => {
1844
1915
  .mockResolvedValueOnce(response({ jobs: [legacyActive] }))
1845
1916
  .mockResolvedValueOnce(response(legacyCompleted))
1846
1917
  const scope = effectScope()
1847
- const generated = scope.run(() => useGeneratedAnalysis({
1918
+ const generated = scope.run(() => useJobsEndpoint({
1919
+ manifest: true,
1848
1920
  baseUrl: '/api/demo',
1849
1921
  transport,
1850
1922
  storage: memoryStorage(),
@@ -1853,8 +1925,8 @@ describe('useGeneratedAnalysis', () => {
1853
1925
  }))!
1854
1926
 
1855
1927
  try {
1856
- await generated.initialize()
1857
- const fetched = await generated.getJob('legacy-completed')
1928
+ await generated.refresh()
1929
+ const fetched = await generated.get('legacy-completed')
1858
1930
 
1859
1931
  expect(generated.jobs.value[1]).toMatchObject({
1860
1932
  job_id: 'legacy-active',
@@ -1892,7 +1964,8 @@ describe('useGeneratedAnalysis', () => {
1892
1964
  .mockResolvedValueOnce(response({ jobs: [completed] }))
1893
1965
  .mockResolvedValueOnce(response({ status: 'deleted' }))
1894
1966
  const scope = effectScope()
1895
- const generated = scope.run(() => useGeneratedAnalysis({
1967
+ const generated = scope.run(() => useJobsEndpoint({
1968
+ manifest: true,
1896
1969
  baseUrl: '/api/demo',
1897
1970
  transport,
1898
1971
  storage: memoryStorage(),
@@ -1901,8 +1974,8 @@ describe('useGeneratedAnalysis', () => {
1901
1974
  }))!
1902
1975
 
1903
1976
  try {
1904
- await generated.initialize()
1905
- const deleted = await generated.deleteJob(completed)
1977
+ await generated.refresh()
1978
+ const deleted = await generated.delete(completed)
1906
1979
 
1907
1980
  expect({
1908
1981
  deleted,
@@ -1935,7 +2008,8 @@ describe('useGeneratedAnalysis', () => {
1935
2008
  .mockResolvedValueOnce(response({ deleted: 1 }))
1936
2009
  .mockResolvedValueOnce(response({ jobs: [otherJob] }))
1937
2010
  const scope = effectScope()
1938
- const generated = scope.run(() => useGeneratedAnalysis({
2011
+ const generated = scope.run(() => useJobsEndpoint({
2012
+ manifest: true,
1939
2013
  baseUrl: '/api/demo',
1940
2014
  transport,
1941
2015
  storage: memoryStorage(),
@@ -1944,8 +2018,8 @@ describe('useGeneratedAnalysis', () => {
1944
2018
  }))!
1945
2019
 
1946
2020
  try {
1947
- await generated.initialize()
1948
- const deleted = await generated.clearFinishedJobs('run')
2021
+ await generated.refresh()
2022
+ const deleted = await generated.clear('run')
1949
2023
 
1950
2024
  expect(deleted).toBe(1)
1951
2025
  expect(generated.jobs.value.map(job => job.job_id)).toEqual(['keep-other'])