@kosdev-code/kos-dispense-sdk 0.1.0-dev.5840 → 0.1.0-next.719

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 (295) hide show
  1. package/{dispense-registration-manager-C7GGaZ47.js → dispense-registration-manager-DNibbp5F.js} +218 -266
  2. package/dispense-registration-manager-DNibbp5F.js.map +1 -0
  3. package/{dispense-registration-manager-lQhkTFKW.cjs → dispense-registration-manager-FTLZRpFt.cjs} +201 -249
  4. package/dispense-registration-manager-FTLZRpFt.cjs.map +1 -0
  5. package/{extension-utils-50g2ril2.cjs → extension-utils-Bh989x8z.cjs} +14 -25
  6. package/extension-utils-Bh989x8z.cjs.map +1 -0
  7. package/{extension-utils-Dt00FOJq.js → extension-utils-DkeldSBo.js} +20 -31
  8. package/extension-utils-DkeldSBo.js.map +1 -0
  9. package/extensions/control-pour-extension.d.ts +8 -9
  10. package/extensions/control-pour-extension.d.ts.map +1 -1
  11. package/extensions/index.d.ts.map +1 -1
  12. package/index.cjs +3 -6
  13. package/index.cjs.map +1 -1
  14. package/index.d.ts.map +1 -1
  15. package/index.js +89 -92
  16. package/index.js.map +1 -1
  17. package/models/constants/constants.d.ts.map +1 -1
  18. package/models/constants/index.d.ts.map +1 -1
  19. package/models/index.d.ts.map +1 -1
  20. package/models/models/assembly/assembly-model.d.ts +4 -5
  21. package/models/models/assembly/assembly-model.d.ts.map +1 -1
  22. package/models/models/assembly/assembly-registration.d.ts +1 -2
  23. package/models/models/assembly/assembly-registration.d.ts.map +1 -1
  24. package/models/models/assembly/board-utils.d.ts +1 -2
  25. package/models/models/assembly/board-utils.d.ts.map +1 -1
  26. package/models/models/assembly/holder-utils.d.ts +1 -2
  27. package/models/models/assembly/holder-utils.d.ts.map +1 -1
  28. package/models/models/assembly/index.d.ts.map +1 -1
  29. package/models/models/assembly/nozzle-utils.d.ts +1 -2
  30. package/models/models/assembly/nozzle-utils.d.ts.map +1 -1
  31. package/models/models/assembly/pump-utils.d.ts +2 -3
  32. package/models/models/assembly/pump-utils.d.ts.map +1 -1
  33. package/models/models/assembly/services/assembly-services.d.ts +0 -1
  34. package/models/models/assembly/services/assembly-services.d.ts.map +1 -1
  35. package/models/models/assembly/services/index.d.ts.map +1 -1
  36. package/models/models/assembly/types/index.d.ts +2 -3
  37. package/models/models/availability/availability-model.d.ts +1 -2
  38. package/models/models/availability/availability-model.d.ts.map +1 -1
  39. package/models/models/availability/index.d.ts.map +1 -1
  40. package/models/models/availability/types/index.d.ts +0 -1
  41. package/models/models/board/board-container-model.d.ts +2 -3
  42. package/models/models/board/board-container-model.d.ts.map +1 -1
  43. package/models/models/board/board-container-registration.d.ts +2 -3
  44. package/models/models/board/board-container-registration.d.ts.map +1 -1
  45. package/models/models/board/board-model.d.ts +1 -2
  46. package/models/models/board/board-model.d.ts.map +1 -1
  47. package/models/models/board/board-registration.d.ts +1 -2
  48. package/models/models/board/board-registration.d.ts.map +1 -1
  49. package/models/models/board/index.d.ts.map +1 -1
  50. package/models/models/board/types/index.d.ts +0 -2
  51. package/models/models/board/types/services.d.ts.map +1 -1
  52. package/models/models/board/utils/board-trouble-data-mapper.d.ts +1 -2
  53. package/models/models/board/utils/board-trouble-data-mapper.d.ts.map +1 -1
  54. package/models/models/board/utils/board-trouble-resolver.d.ts +0 -1
  55. package/models/models/board/utils/board-trouble-resolver.d.ts.map +1 -1
  56. package/models/models/device-assembly/device-assembly-model.d.ts +2 -3
  57. package/models/models/device-assembly/device-assembly-model.d.ts.map +1 -1
  58. package/models/models/device-assembly/device-assembly-registration.d.ts +2 -3
  59. package/models/models/device-assembly/device-assembly-registration.d.ts.map +1 -1
  60. package/models/models/device-assembly/index.d.ts.map +1 -1
  61. package/models/models/generic-pour/generic-pour-model.d.ts +3 -4
  62. package/models/models/generic-pour/generic-pour-model.d.ts.map +1 -1
  63. package/models/models/generic-pour/generic-pour-registration.d.ts +2 -3
  64. package/models/models/generic-pour/generic-pour-registration.d.ts.map +1 -1
  65. package/models/models/generic-pour/index.d.ts.map +1 -1
  66. package/models/models/generic-pour/services/generic-pour-services.d.ts.map +1 -1
  67. package/models/models/generic-pour/services/index.d.ts.map +1 -1
  68. package/models/models/holder/holder-model.d.ts +1 -2
  69. package/models/models/holder/holder-model.d.ts.map +1 -1
  70. package/models/models/holder/index.d.ts.map +1 -1
  71. package/models/models/holder/services/assignment-services.d.ts.map +1 -1
  72. package/models/models/holder/services/holder-services.d.ts.map +1 -1
  73. package/models/models/holder/services/index.d.ts.map +1 -1
  74. package/models/models/holder/types/index.d.ts +5 -7
  75. package/models/models/holder/utils/holder-utils.d.ts +0 -1
  76. package/models/models/holder/utils/holder-utils.d.ts.map +1 -1
  77. package/models/models/holder-container/holder-container-model.d.ts +1 -2
  78. package/models/models/holder-container/holder-container-model.d.ts.map +1 -1
  79. package/models/models/holder-container/index.d.ts.map +1 -1
  80. package/models/models/holder-container/types/index.d.ts +1 -3
  81. package/models/models/index.d.ts.map +1 -1
  82. package/models/models/ingredient/index.d.ts.map +1 -1
  83. package/models/models/ingredient/ingredient-model.d.ts +1 -2
  84. package/models/models/ingredient/ingredient-model.d.ts.map +1 -1
  85. package/models/models/ingredient/services/index.d.ts.map +1 -1
  86. package/models/models/ingredient/services/ingredient-services.d.ts.map +1 -1
  87. package/models/models/ingredient/types/index.d.ts +0 -2
  88. package/models/models/ingredient-container/index.d.ts.map +1 -1
  89. package/models/models/ingredient-container/ingredient-container-model.d.ts +1 -2
  90. package/models/models/ingredient-container/ingredient-container-model.d.ts.map +1 -1
  91. package/models/models/ingredient-container/types/index.d.ts +1 -3
  92. package/models/models/nozzle/index.d.ts.map +1 -1
  93. package/models/models/nozzle/nozzle-model.d.ts +6 -7
  94. package/models/models/nozzle/nozzle-model.d.ts.map +1 -1
  95. package/models/models/nozzle/services/index.d.ts.map +1 -1
  96. package/models/models/nozzle/services/nozzle-services.d.ts.map +1 -1
  97. package/models/models/nozzle/types/index.d.ts +1 -3
  98. package/models/models/pump/index.d.ts.map +1 -1
  99. package/models/models/pump/pump-model.d.ts +1 -2
  100. package/models/models/pump/pump-model.d.ts.map +1 -1
  101. package/models/models/pump/services/index.d.ts.map +1 -1
  102. package/models/models/pump/services/pump-services.d.ts +3 -5
  103. package/models/models/pump/services/pump-services.d.ts.map +1 -1
  104. package/models/models/pump/types/index.d.ts +1 -3
  105. package/models/models/pump/utils/pump-trouble-resolver.d.ts +0 -1
  106. package/models/models/pump/utils/pump-trouble-resolver.d.ts.map +1 -1
  107. package/models/models/pump-container/index.d.ts.map +1 -1
  108. package/models/models/pump-container/pump-container-model.d.ts +1 -2
  109. package/models/models/pump-container/pump-container-model.d.ts.map +1 -1
  110. package/models/models/pump-container/types/index.d.ts +1 -3
  111. package/models/models/types/assembly.d.ts.map +1 -1
  112. package/models/models/types/index.d.ts.map +1 -1
  113. package/models/models/types/intent.d.ts +0 -1
  114. package/models/models/types/intent.d.ts.map +1 -1
  115. package/models/models/types/pouring.d.ts.map +1 -1
  116. package/models/utils/dispense-registration-manager.d.ts +5 -6
  117. package/models/utils/dispense-registration-manager.d.ts.map +1 -1
  118. package/models/utils/extension-utils.d.ts +6 -7
  119. package/models/utils/extension-utils.d.ts.map +1 -1
  120. package/models/utils/openapi-index.d.ts.map +1 -1
  121. package/models/utils/registration.d.ts +0 -1
  122. package/models/utils/registration.d.ts.map +1 -1
  123. package/models/utils/service.d.ts +34 -35
  124. package/models/utils/service.d.ts.map +1 -1
  125. package/models/utils/services/dispense/1.6.5/service.d.ts +34 -35
  126. package/models/utils/services/dispense/1.6.5/service.d.ts.map +1 -1
  127. package/models/utils/services/dispense/1.8.1/service.d.ts +34 -35
  128. package/models/utils/services/dispense/1.8.1/service.d.ts.map +1 -1
  129. package/models/utils/services/dispense/daily/service.d.ts +34 -35
  130. package/models/utils/services/dispense/daily/service.d.ts.map +1 -1
  131. package/models/utils/services-index.d.ts.map +1 -1
  132. package/models.cjs +2 -4
  133. package/models.cjs.map +1 -1
  134. package/models.d.ts +1 -0
  135. package/models.js +25 -27
  136. package/models.js.map +1 -1
  137. package/package.json +10 -11
  138. package/{pump-provider-CBFev3qg.cjs → pump-provider-Coy43LDF.cjs} +154 -175
  139. package/pump-provider-Coy43LDF.cjs.map +1 -0
  140. package/{pump-provider-DyxEmFRT.js → pump-provider-DEbqbOnK.js} +217 -238
  141. package/pump-provider-DEbqbOnK.js.map +1 -0
  142. package/ui/contexts/assembly/assembly-provider.d.ts +1 -2
  143. package/ui/contexts/assembly/assembly-provider.d.ts.map +1 -1
  144. package/ui/contexts/assembly/index.d.ts.map +1 -1
  145. package/ui/contexts/availability/availability-provider.d.ts +1 -2
  146. package/ui/contexts/availability/availability-provider.d.ts.map +1 -1
  147. package/ui/contexts/availability/index.d.ts.map +1 -1
  148. package/ui/contexts/board/board-provider.d.ts +1 -2
  149. package/ui/contexts/board/board-provider.d.ts.map +1 -1
  150. package/ui/contexts/board/index.d.ts.map +1 -1
  151. package/ui/contexts/board-container/board-container-provider.d.ts +1 -2
  152. package/ui/contexts/board-container/board-container-provider.d.ts.map +1 -1
  153. package/ui/contexts/board-container/index.d.ts.map +1 -1
  154. package/ui/contexts/cui-kit/cui-kit.d.ts +1 -2
  155. package/ui/contexts/cui-kit/cui-kit.d.ts.map +1 -1
  156. package/ui/contexts/cui-kit/index.d.ts.map +1 -1
  157. package/ui/contexts/device-assembly/device-assembly-provider.d.ts +1 -2
  158. package/ui/contexts/device-assembly/device-assembly-provider.d.ts.map +1 -1
  159. package/ui/contexts/device-assembly/index.d.ts.map +1 -1
  160. package/ui/contexts/holder/holder-provider.d.ts +1 -2
  161. package/ui/contexts/holder/holder-provider.d.ts.map +1 -1
  162. package/ui/contexts/holder/index.d.ts.map +1 -1
  163. package/ui/contexts/holder-container/holder-container-provider.d.ts +1 -2
  164. package/ui/contexts/holder-container/holder-container-provider.d.ts.map +1 -1
  165. package/ui/contexts/holder-container/index.d.ts.map +1 -1
  166. package/ui/contexts/index.d.ts.map +1 -1
  167. package/ui/contexts/ingredient/index.d.ts.map +1 -1
  168. package/ui/contexts/ingredient/ingredient-provider.d.ts +1 -2
  169. package/ui/contexts/ingredient/ingredient-provider.d.ts.map +1 -1
  170. package/ui/contexts/ingredient-container/index.d.ts.map +1 -1
  171. package/ui/contexts/ingredient-container/ingredient-container-provider.d.ts +1 -2
  172. package/ui/contexts/ingredient-container/ingredient-container-provider.d.ts.map +1 -1
  173. package/ui/contexts/nozzle/index.d.ts.map +1 -1
  174. package/ui/contexts/nozzle/nozzle-provider.d.ts +1 -2
  175. package/ui/contexts/nozzle/nozzle-provider.d.ts.map +1 -1
  176. package/ui/contexts/pump/index.d.ts.map +1 -1
  177. package/ui/contexts/pump/pump-provider.d.ts +1 -2
  178. package/ui/contexts/pump/pump-provider.d.ts.map +1 -1
  179. package/ui/hooks/assembly/index.d.ts.map +1 -1
  180. package/ui/hooks/assembly/use-assembly.d.ts +1 -2
  181. package/ui/hooks/assembly/use-assembly.d.ts.map +1 -1
  182. package/ui/hooks/assembly/with-assembly.d.ts +0 -1
  183. package/ui/hooks/assembly/with-assembly.d.ts.map +1 -1
  184. package/ui/hooks/availability/index.d.ts.map +1 -1
  185. package/ui/hooks/availability/use-availability.d.ts +1 -2
  186. package/ui/hooks/availability/use-availability.d.ts.map +1 -1
  187. package/ui/hooks/availability/with-availability.d.ts +0 -1
  188. package/ui/hooks/availability/with-availability.d.ts.map +1 -1
  189. package/ui/hooks/board/index.d.ts.map +1 -1
  190. package/ui/hooks/board/use-board.d.ts +1 -2
  191. package/ui/hooks/board/use-board.d.ts.map +1 -1
  192. package/ui/hooks/board/with-board.d.ts +0 -1
  193. package/ui/hooks/board/with-board.d.ts.map +1 -1
  194. package/ui/hooks/board-container/index.d.ts.map +1 -1
  195. package/ui/hooks/board-container/use-board-container.d.ts +1 -2
  196. package/ui/hooks/board-container/use-board-container.d.ts.map +1 -1
  197. package/ui/hooks/board-container/with-board-container.d.ts +0 -1
  198. package/ui/hooks/board-container/with-board-container.d.ts.map +1 -1
  199. package/ui/hooks/cui-kit/dispense-topics.d.ts +0 -1
  200. package/ui/hooks/cui-kit/dispense-topics.d.ts.map +1 -1
  201. package/ui/hooks/cui-kit/index.d.ts.map +1 -1
  202. package/ui/hooks/cui-kit/use-ambient-attract-timers.d.ts +0 -1
  203. package/ui/hooks/cui-kit/use-ambient-attract-timers.d.ts.map +1 -1
  204. package/ui/hooks/cui-kit/use-beverages.d.ts +1 -2
  205. package/ui/hooks/cui-kit/use-beverages.d.ts.map +1 -1
  206. package/ui/hooks/cui-kit/use-brands.d.ts +1 -2
  207. package/ui/hooks/cui-kit/use-brands.d.ts.map +1 -1
  208. package/ui/hooks/cui-kit/use-cui-kit.d.ts +3 -4
  209. package/ui/hooks/cui-kit/use-cui-kit.d.ts.map +1 -1
  210. package/ui/hooks/cui-kit/use-default-cui-kit-lifecycle.d.ts +0 -1
  211. package/ui/hooks/cui-kit/use-default-cui-kit-lifecycle.d.ts.map +1 -1
  212. package/ui/hooks/cui-kit/use-dispense-lifecycle.d.ts +0 -1
  213. package/ui/hooks/cui-kit/use-dispense-lifecycle.d.ts.map +1 -1
  214. package/ui/hooks/cui-kit/use-dispense-timers.d.ts +0 -1
  215. package/ui/hooks/cui-kit/use-dispense-timers.d.ts.map +1 -1
  216. package/ui/hooks/cui-kit/use-flavors.d.ts +1 -2
  217. package/ui/hooks/cui-kit/use-flavors.d.ts.map +1 -1
  218. package/ui/hooks/device-assembly/index.d.ts.map +1 -1
  219. package/ui/hooks/device-assembly/use-device-assembly.d.ts +1 -2
  220. package/ui/hooks/device-assembly/use-device-assembly.d.ts.map +1 -1
  221. package/ui/hooks/device-assembly/with-device-assembly.d.ts +0 -1
  222. package/ui/hooks/device-assembly/with-device-assembly.d.ts.map +1 -1
  223. package/ui/hooks/generic-pour/index.d.ts.map +1 -1
  224. package/ui/hooks/generic-pour/use-generic-pour.d.ts +2 -3
  225. package/ui/hooks/generic-pour/use-generic-pour.d.ts.map +1 -1
  226. package/ui/hooks/generic-pour/with-generic-pour.d.ts +0 -1
  227. package/ui/hooks/generic-pour/with-generic-pour.d.ts.map +1 -1
  228. package/ui/hooks/holder/index.d.ts.map +1 -1
  229. package/ui/hooks/holder/use-holder.d.ts +1 -2
  230. package/ui/hooks/holder/use-holder.d.ts.map +1 -1
  231. package/ui/hooks/holder/with-holder.d.ts +0 -1
  232. package/ui/hooks/holder/with-holder.d.ts.map +1 -1
  233. package/ui/hooks/holder-container/index.d.ts.map +1 -1
  234. package/ui/hooks/holder-container/use-holder-container.d.ts +1 -2
  235. package/ui/hooks/holder-container/use-holder-container.d.ts.map +1 -1
  236. package/ui/hooks/holder-container/with-holder-container.d.ts +0 -1
  237. package/ui/hooks/holder-container/with-holder-container.d.ts.map +1 -1
  238. package/ui/hooks/index.d.ts.map +1 -1
  239. package/ui/hooks/ingredient/index.d.ts.map +1 -1
  240. package/ui/hooks/ingredient/use-ingredient-pour.d.ts +2 -3
  241. package/ui/hooks/ingredient/use-ingredient-pour.d.ts.map +1 -1
  242. package/ui/hooks/ingredient/use-ingredient.d.ts +1 -2
  243. package/ui/hooks/ingredient/use-ingredient.d.ts.map +1 -1
  244. package/ui/hooks/ingredient/with-ingredient.d.ts +0 -1
  245. package/ui/hooks/ingredient/with-ingredient.d.ts.map +1 -1
  246. package/ui/hooks/ingredient-container/index.d.ts.map +1 -1
  247. package/ui/hooks/ingredient-container/use-ingredient-container.d.ts +1 -2
  248. package/ui/hooks/ingredient-container/use-ingredient-container.d.ts.map +1 -1
  249. package/ui/hooks/ingredient-container/with-ingredient-container.d.ts +0 -1
  250. package/ui/hooks/ingredient-container/with-ingredient-container.d.ts.map +1 -1
  251. package/ui/hooks/nozzle/index.d.ts.map +1 -1
  252. package/ui/hooks/nozzle/use-dispense-kit.d.ts +0 -1
  253. package/ui/hooks/nozzle/use-dispense-kit.d.ts.map +1 -1
  254. package/ui/hooks/nozzle/use-nozzle.d.ts +1 -2
  255. package/ui/hooks/nozzle/use-nozzle.d.ts.map +1 -1
  256. package/ui/hooks/nozzle/with-nozzle.d.ts +0 -1
  257. package/ui/hooks/nozzle/with-nozzle.d.ts.map +1 -1
  258. package/ui/hooks/nozzle-pour/index.d.ts.map +1 -1
  259. package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts +3 -4
  260. package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts.map +1 -1
  261. package/ui/hooks/pour/index.d.ts.map +1 -1
  262. package/ui/hooks/pour/use-pour.d.ts +4 -5
  263. package/ui/hooks/pour/use-pour.d.ts.map +1 -1
  264. package/ui/hooks/pump/index.d.ts.map +1 -1
  265. package/ui/hooks/pump/use-pump.d.ts +1 -2
  266. package/ui/hooks/pump/use-pump.d.ts.map +1 -1
  267. package/ui/hooks/pump/with-pump.d.ts +0 -1
  268. package/ui/hooks/pump/with-pump.d.ts.map +1 -1
  269. package/ui/hooks/utils/pour-strategy/hold-to-pour-intent-strategy.d.ts +1 -2
  270. package/ui/hooks/utils/pour-strategy/hold-to-pour-intent-strategy.d.ts.map +1 -1
  271. package/ui/hooks/utils/pour-strategy/hold-to-pour-strategy.d.ts +0 -1
  272. package/ui/hooks/utils/pour-strategy/hold-to-pour-strategy.d.ts.map +1 -1
  273. package/ui/hooks/utils/pour-strategy/index.d.ts.map +1 -1
  274. package/ui/hooks/utils/pour-strategy/pour-strategy.d.ts +1 -2
  275. package/ui/hooks/utils/pour-strategy/pour-strategy.d.ts.map +1 -1
  276. package/ui/hooks/utils/pour-strategy/tap-or-hold-to-pour-intent-strategy.d.ts +1 -2
  277. package/ui/hooks/utils/pour-strategy/tap-or-hold-to-pour-intent-strategy.d.ts.map +1 -1
  278. package/ui/hooks/utils/pour-strategy/tap-to-pour-intent-strategy.d.ts +1 -2
  279. package/ui/hooks/utils/pour-strategy/tap-to-pour-intent-strategy.d.ts.map +1 -1
  280. package/ui/hooks/utils/pour-strategy/tap-to-pour-strategy.d.ts +0 -1
  281. package/ui/hooks/utils/pour-strategy/tap-to-pour-strategy.d.ts.map +1 -1
  282. package/ui/index.d.ts.map +1 -1
  283. package/ui/utils/pour-context.d.ts.map +1 -1
  284. package/ui.cjs +1 -5
  285. package/ui.cjs.map +1 -1
  286. package/ui.d.ts +1 -0
  287. package/ui.js +64 -68
  288. package/ui.js.map +1 -1
  289. package/dispense-registration-manager-C7GGaZ47.js.map +0 -1
  290. package/dispense-registration-manager-lQhkTFKW.cjs.map +0 -1
  291. package/extension-utils-50g2ril2.cjs.map +0 -1
  292. package/extension-utils-Dt00FOJq.js.map +0 -1
  293. package/kos-models.json +0 -180
  294. package/pump-provider-CBFev3qg.cjs.map +0 -1
  295. package/pump-provider-DyxEmFRT.js.map +0 -1
@@ -1,9 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  import { kosModel, Kos, isKosModel, resolveServiceUrl, ServiceFactory, KosLog, KosModelContainer, KosExtensionUtils, kosChild, FetchError, ExtensionManager, EXTENSION_TROUBLE_MAPPER, EXTENSION_TROUBLE_DATA_MAPPER, getKosModelSync, kosDependency, kosTroubleAware, kosAction, kosTopicHandler, DependencyLifecycle, getKosModel, FutureManager, kosFuture, FutureHandler, EXTENSION_FEATURE_FLAG_RESOLVER, isKosDataModel, ChildModels, KosFeatureFlags, kosParentAware, createPropKey, kosStateEntry, kosStateExit, kosStateGuard, kosLoggerAware, kosStateMachine, MultipleFutureHandler, arraysEqual, getAllKosCompanionModels, EventBus, KosContextManager, destroyKosModel, SingletonKosModelRegistrationFactory, kosFutureAware, ObservableData, KosModelRegistrationFactory, KosModelRegistry as KosModelRegistry$1, RegistrationManager, registerCoreModels, registerLegacyModel } from "@kosdev-code/kos-ui-sdk";
8
2
  import "react";
9
3
  var ExtensionType = /* @__PURE__ */ ((ExtensionType2) => {
@@ -46,6 +40,11 @@ var __decorateClass$c = (decorators, target, key, kind) => {
46
40
  };
47
41
  const MODEL_TYPE$c = "ingredient-model";
48
42
  let IngredientModelImpl = class {
43
+ id;
44
+ ingredientId;
45
+ name;
46
+ type;
47
+ data;
49
48
  constructor(modelId, {
50
49
  name,
51
50
  type,
@@ -53,11 +52,6 @@ let IngredientModelImpl = class {
53
52
  ingredientId,
54
53
  ...rest
55
54
  }) {
56
- __publicField(this, "id");
57
- __publicField(this, "ingredientId");
58
- __publicField(this, "name");
59
- __publicField(this, "type");
60
- __publicField(this, "data");
61
55
  this.id = modelId;
62
56
  this.ingredientId = ingredientId;
63
57
  this.name = name;
@@ -112,16 +106,15 @@ var __decorateClass$b = (decorators, target, key, kind) => {
112
106
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
113
107
  if (decorator = decorators[i])
114
108
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
115
- if (kind && result)
116
- __defProp$9(target, key, result);
109
+ if (kind && result) __defProp$9(target, key, result);
117
110
  return result;
118
111
  };
119
112
  const MODEL_TYPE$b = "ingredient-container-model";
120
113
  const log$3 = KosLog.createLogger({ name: "ingredient-container-model" });
121
114
  let IngredientContainerModelImpl = class {
115
+ id;
116
+ ingredients;
122
117
  constructor(modelId, options) {
123
- __publicField(this, "id");
124
- __publicField(this, "ingredients");
125
118
  this.id = modelId;
126
119
  this.ingredients = new KosModelContainer({
127
120
  indexMap: {
@@ -138,19 +131,18 @@ let IngredientContainerModelImpl = class {
138
131
  return this.ingredients.getIndexByKey("ingredientType", type);
139
132
  }
140
133
  async load(context) {
141
- var _a;
142
134
  log$3.debug(`loading ingredient container ${this.id}`);
143
135
  const allIngredients = await getIngredients();
144
- if ((allIngredients == null ? void 0 : allIngredients.status) !== 200) {
136
+ if (allIngredients?.status !== 200) {
145
137
  throw new Error("Failed to load ingredients");
146
138
  }
147
139
  const ingredientContext = await KosExtensionUtils.executeLoaderExtension({
148
140
  context,
149
141
  extension: ExtensionType.IngredientLoader
150
142
  });
151
- const ingredientData = (allIngredients == null ? void 0 : allIngredients.data) ?? {};
143
+ const ingredientData = allIngredients?.data ?? {};
152
144
  for (const key of Object.keys(ingredientData)) {
153
- for (const ingredientData2 of ((_a = allIngredients == null ? void 0 : allIngredients.data) == null ? void 0 : _a[key]) || []) {
145
+ for (const ingredientData2 of allIngredients?.data?.[key] || []) {
154
146
  const data = await KosExtensionUtils.executeDataMapperExtension({
155
147
  extension: ExtensionType.IngredientMapper,
156
148
  data: ingredientData2,
@@ -226,8 +218,7 @@ const unassignHolderIngredient = async (holderPath) => {
226
218
  return response;
227
219
  };
228
220
  const replaceLine = async (holderPath) => {
229
- if (!holderPath)
230
- throw new Error("Missing holderPath");
221
+ if (!holderPath) throw new Error("Missing holderPath");
231
222
  log$2.debug(
232
223
  `sending POST request to /api/ext/dispense/pumpEvents/replaceLine/${holderPath}`
233
224
  );
@@ -248,7 +239,6 @@ const getAssignments = async () => {
248
239
  return response;
249
240
  };
250
241
  const sendRfidOverride = async (holderPath, overrides) => {
251
- var _a, _b, _c, _d;
252
242
  const factoryJson = JSON.stringify(overrides);
253
243
  const url = `${URL$4}/api/ext/dispense/assignments`;
254
244
  try {
@@ -256,15 +246,15 @@ const sendRfidOverride = async (holderPath, overrides) => {
256
246
  model: { holderPath, factoryJson },
257
247
  urlOverride: url
258
248
  });
259
- if ((response == null ? void 0 : response.status) === 200 && ((_a = response == null ? void 0 : response.data) == null ? void 0 : _a.error)) {
249
+ if (response?.status === 200 && response?.data?.error) {
260
250
  return [response.data.error || "unknownError", response.data];
261
251
  }
262
- return [void 0, response == null ? void 0 : response.data];
252
+ return [void 0, response?.data];
263
253
  } catch (error) {
264
254
  if (error instanceof FetchError) {
265
255
  return [
266
- ((_c = (_b = error.payload) == null ? void 0 : _b.data) == null ? void 0 : _c.error) || "unknownError",
267
- (_d = error.payload) == null ? void 0 : _d.data
256
+ error.payload?.data?.error || "unknownError",
257
+ error.payload?.data
268
258
  ];
269
259
  }
270
260
  }
@@ -290,8 +280,7 @@ var __decorateClass$a = (decorators, target, key, kind) => {
290
280
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
291
281
  if (decorator = decorators[i])
292
282
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
293
- if (kind && result)
294
- __defProp$8(target, key, result);
283
+ if (kind && result) __defProp$8(target, key, result);
295
284
  return result;
296
285
  };
297
286
  const MODEL_TYPE$a = DispenseModelType.Holder;
@@ -315,7 +304,7 @@ ExtensionManager[EXTENSION_TROUBLE_DATA_MAPPER].register(
315
304
  const ingredientModel = pumpModel.ingredientId ? getKosModelSync(pumpModel.ingredientId).model : void 0;
316
305
  return {
317
306
  ingredientId: pumpModel.ingredientId,
318
- ingredientName: (ingredientModel == null ? void 0 : ingredientModel.displayName) ?? ((ingredientModel == null ? void 0 : ingredientModel.name) || ""),
307
+ ingredientName: ingredientModel?.displayName ?? (ingredientModel?.name || ""),
319
308
  childPumpName: pumpModel.name
320
309
  };
321
310
  }
@@ -342,7 +331,7 @@ ExtensionManager[EXTENSION_TROUBLE_DATA_MAPPER].register(
342
331
  const ingredientId = trouble.data.ingredients[0];
343
332
  const { model } = getKosModelSync(ingredientId);
344
333
  return {
345
- ingredientName: (model == null ? void 0 : model.displayName) ?? ((model == null ? void 0 : model.name) || ""),
334
+ ingredientName: model?.displayName ?? (model?.name || ""),
346
335
  ingredients: trouble.data.ingredients ? trouble.data.ingredients : [],
347
336
  unknonwnIngredientId: trouble.data.unknonwnIngredientId ?? ""
348
337
  };
@@ -351,14 +340,27 @@ ExtensionManager[EXTENSION_TROUBLE_DATA_MAPPER].register(
351
340
  }
352
341
  );
353
342
  class AssignmentError extends Error {
343
+ type;
354
344
  constructor(type, message) {
355
345
  super(message);
356
- __publicField(this, "type");
357
346
  this.name = "AssignmentError";
358
347
  this.type = type;
359
348
  }
360
349
  }
361
350
  let HolderModelImpl = class {
351
+ id;
352
+ path;
353
+ name;
354
+ ingredientId;
355
+ ingredientType;
356
+ ingredientSource;
357
+ group;
358
+ slice;
359
+ logger;
360
+ data;
361
+ enjoyByDate;
362
+ pumps;
363
+ ingredientContainer;
362
364
  constructor(modelId, {
363
365
  path,
364
366
  name,
@@ -370,19 +372,6 @@ let HolderModelImpl = class {
370
372
  data,
371
373
  enjoyByDate
372
374
  }, context) {
373
- __publicField(this, "id");
374
- __publicField(this, "path");
375
- __publicField(this, "name");
376
- __publicField(this, "ingredientId");
377
- __publicField(this, "ingredientType");
378
- __publicField(this, "ingredientSource");
379
- __publicField(this, "group");
380
- __publicField(this, "slice");
381
- __publicField(this, "logger");
382
- __publicField(this, "data");
383
- __publicField(this, "enjoyByDate");
384
- __publicField(this, "pumps");
385
- __publicField(this, "ingredientContainer");
386
375
  this.id = modelId;
387
376
  this.path = path;
388
377
  this.name = name;
@@ -424,8 +413,7 @@ let HolderModelImpl = class {
424
413
  return !!this.enjoyByDate && !this.unassigned;
425
414
  }
426
415
  get hasEnjoyByWarning() {
427
- var _a;
428
- return ((_a = this.troublesByType["EnjoyByTrouble"]) == null ? void 0 : _a.length) > 0;
416
+ return this.troublesByType["EnjoyByTrouble"]?.length > 0;
429
417
  }
430
418
  get nozzlePaths() {
431
419
  return this.pumps.data.map((pump) => pump.nozzlePath);
@@ -447,7 +435,7 @@ let HolderModelImpl = class {
447
435
  const intent = typeof props === "string" ? props : props.intent;
448
436
  const pumpPath = typeof props === "string" ? void 0 : props.pumpPath;
449
437
  const pump = pumpPath ? this.pumps.getModel(pumpPath) : this.pumps.data[0];
450
- return pump == null ? void 0 : pump.performIntent({ intent });
438
+ return pump?.performIntent({ intent });
451
439
  }
452
440
  get pourState() {
453
441
  const state = this.pumps.data.reduce((resolvedState, pump) => {
@@ -459,8 +447,7 @@ let HolderModelImpl = class {
459
447
  return state;
460
448
  }
461
449
  get nozzlePath() {
462
- var _a;
463
- return (_a = this.pumps.data[0]) == null ? void 0 : _a.nozzlePath;
450
+ return this.pumps.data[0]?.nozzlePath;
464
451
  }
465
452
  get pumpPaths() {
466
453
  return this.pumps.data.map((pump) => pump.id);
@@ -477,11 +464,10 @@ let HolderModelImpl = class {
477
464
  });
478
465
  }
479
466
  get ingredient() {
480
- var _a;
481
467
  if (!this.ingredientId) {
482
468
  return void 0;
483
469
  }
484
- const ingredient = (_a = this.ingredientContainer) == null ? void 0 : _a.ingredients.getModel(
470
+ const ingredient = this.ingredientContainer?.ingredients.getModel(
485
471
  this.ingredientId
486
472
  );
487
473
  return ingredient;
@@ -496,11 +482,10 @@ let HolderModelImpl = class {
496
482
  }
497
483
  }
498
484
  get previousIngredient() {
499
- var _a;
500
485
  if (!this.prevIngredientId) {
501
486
  return void 0;
502
487
  }
503
- const ingredient = (_a = this.ingredientContainer) == null ? void 0 : _a.ingredients.getModel(
488
+ const ingredient = this.ingredientContainer?.ingredients.getModel(
504
489
  this.prevIngredientId
505
490
  );
506
491
  return ingredient;
@@ -515,8 +500,7 @@ let HolderModelImpl = class {
515
500
  }
516
501
  }
517
502
  get prevIngredientId() {
518
- var _a, _b;
519
- return (_b = (_a = this.pumps.data) == null ? void 0 : _a[0]) == null ? void 0 : _b.prevIngredientId;
503
+ return this.pumps.data?.[0]?.prevIngredientId;
520
504
  }
521
505
  get unassigned() {
522
506
  return (!this.ingredientId || this.ingredientId === "0") && (!this.prevIngredientId || this.prevIngredientId === "0");
@@ -570,7 +554,7 @@ let HolderModelImpl = class {
570
554
  );
571
555
  }
572
556
  kosAction(() => {
573
- this.ingredientId = result == null ? void 0 : result.ingredientId;
557
+ this.ingredientId = result?.ingredientId;
574
558
  });
575
559
  return result;
576
560
  } catch (e) {
@@ -645,7 +629,6 @@ const Holder = {
645
629
  factory: Kos.Factory.create(MODEL_TYPE$a)
646
630
  };
647
631
  const mapAssemblyHolderToModel = async (group, holderData) => {
648
- var _a;
649
632
  const _ingredientId = ExtensionManager.propertyMapper.executeMapper(
650
633
  ExtensionType.HolderIngredientMapper,
651
634
  holderData
@@ -668,7 +651,7 @@ const mapAssemblyHolderToModel = async (group, holderData) => {
668
651
  ingredientId: _ingredientId || ingredientId,
669
652
  ingredientType: type || ingType,
670
653
  ingredientSource: ingSource,
671
- enjoyByDate: ((_a = holderData.container) == null ? void 0 : _a.enjoyByDate) ? new Date(holderData.container.enjoyByDate) : void 0,
654
+ enjoyByDate: holderData.container?.enjoyByDate ? new Date(holderData.container.enjoyByDate) : void 0,
672
655
  slice: sliceData,
673
656
  group,
674
657
  data: extData
@@ -696,18 +679,17 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
696
679
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
697
680
  if (decorator = decorators[i])
698
681
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
699
- if (kind && result)
700
- __defProp$7(target, key, result);
682
+ if (kind && result) __defProp$7(target, key, result);
701
683
  return result;
702
684
  };
703
685
  const MODEL_TYPE$9 = "board-container-model";
704
686
  const TOPIC_BOARD_LINKED = "/kos/hardware/board/linked";
705
687
  const TOPIC_BOARD_UNLINKED = "/kos/hardware/board/unlinked";
706
688
  let BoardContainerModel = class {
689
+ id;
690
+ logger;
691
+ models;
707
692
  constructor(modelId, options, context) {
708
- __publicField(this, "id");
709
- __publicField(this, "logger");
710
- __publicField(this, "models");
711
693
  this.id = modelId;
712
694
  this.logger = context.logger;
713
695
  this.models = new KosModelContainer({
@@ -778,7 +760,7 @@ const boardTroubleDataMapper = async (trouble) => {
778
760
  const boardPath = trouble.data.boardPath;
779
761
  const { model } = getKosModelSync(boardPath);
780
762
  return {
781
- boardName: (model == null ? void 0 : model.name) || ""
763
+ boardName: model?.name || ""
782
764
  };
783
765
  };
784
766
  var __defProp$6 = Object.defineProperty;
@@ -788,8 +770,7 @@ var __decorateClass$8 = (decorators, target, key, kind) => {
788
770
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
789
771
  if (decorator = decorators[i])
790
772
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
791
- if (kind && result)
792
- __defProp$6(target, key, result);
773
+ if (kind && result) __defProp$6(target, key, result);
793
774
  return result;
794
775
  };
795
776
  const MODEL_TYPE$8 = DispenseModelType.PumpContainer;
@@ -800,9 +781,9 @@ var PumpIndex = /* @__PURE__ */ ((PumpIndex2) => {
800
781
  return PumpIndex2;
801
782
  })(PumpIndex || {});
802
783
  let PumpContainerModelImpl = class {
784
+ id;
785
+ pumps;
803
786
  constructor(modelId, options) {
804
- __publicField(this, "id");
805
- __publicField(this, "pumps");
806
787
  this.id = modelId;
807
788
  this.pumps = new KosModelContainer({
808
789
  indexMap: {
@@ -891,7 +872,7 @@ const boardTroubleResolver = async (trouble) => {
891
872
  const pumpContainer = await getKosModel(
892
873
  PumpContainer.type
893
874
  );
894
- if (pumpContainer == null ? void 0 : pumpContainer.model) {
875
+ if (pumpContainer?.model) {
895
876
  const boardPumps = pumpContainer.model.models.getIndexByKey(
896
877
  PumpIndex.byBoard,
897
878
  boardPath
@@ -936,14 +917,14 @@ ExtensionManager[EXTENSION_TROUBLE_DATA_MAPPER].register(
936
917
  boardTroubleDataMapper
937
918
  );
938
919
  let BoardModelImpl = class {
920
+ id;
921
+ type;
922
+ name;
923
+ path;
924
+ linked;
925
+ instanceId;
926
+ logger;
939
927
  constructor(modelId, options, context) {
940
- __publicField(this, "id");
941
- __publicField(this, "type");
942
- __publicField(this, "name");
943
- __publicField(this, "path");
944
- __publicField(this, "linked");
945
- __publicField(this, "instanceId");
946
- __publicField(this, "logger");
947
928
  this.id = modelId;
948
929
  this.logger = context.logger;
949
930
  mapOptionsToModel(options, this);
@@ -994,8 +975,7 @@ var __decorateClass$6 = (decorators, target, key, kind) => {
994
975
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
995
976
  if (decorator = decorators[i])
996
977
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
997
- if (kind && result)
998
- __defProp$5(target, key, result);
978
+ if (kind && result) __defProp$5(target, key, result);
999
979
  return result;
1000
980
  };
1001
981
  const MODEL_TYPE$6 = DispenseModelType.HolderContainer;
@@ -1006,10 +986,10 @@ const TOPIC_REMOVE = "/kos/insertion/remove";
1006
986
  const TOPIC_REPLACE_LINE = "/kos/pumpEvent/replaceLine";
1007
987
  const TOPIC_HOLDER_CHANGED = "/kos/handle/*";
1008
988
  let HolderContainerModelImpl = class {
989
+ id;
990
+ holders;
991
+ logger;
1009
992
  constructor(modelId, _options, context) {
1010
- __publicField(this, "id");
1011
- __publicField(this, "holders");
1012
- __publicField(this, "logger");
1013
993
  this.id = modelId;
1014
994
  this.holders = new KosModelContainer({
1015
995
  indexMap: {
@@ -1024,7 +1004,6 @@ let HolderContainerModelImpl = class {
1024
1004
  updateModel() {
1025
1005
  }
1026
1006
  handleHolderEvents(event) {
1027
- var _a, _b, _c;
1028
1007
  KosLog.ifDebug(
1029
1008
  () => this.logger.debug("Received holder change event", JSON.stringify(event))
1030
1009
  );
@@ -1033,9 +1012,9 @@ let HolderContainerModelImpl = class {
1033
1012
  this.logger.info(
1034
1013
  `Received change event for holder ${holder.path}. Updating fuel gauge data.`
1035
1014
  );
1036
- holder.slice.currentVolMl = (_a = event.slice) == null ? void 0 : _a.currentVolMl;
1037
- holder.slice.maxVolMl = (_b = event.slice) == null ? void 0 : _b.maxVolMl;
1038
- if ((_c = event == null ? void 0 : event.container) == null ? void 0 : _c.enjoyByDate) {
1015
+ holder.slice.currentVolMl = event.slice?.currentVolMl;
1016
+ holder.slice.maxVolMl = event.slice?.maxVolMl;
1017
+ if (event?.container?.enjoyByDate) {
1039
1018
  holder.enjoyByDate = new Date(event.container.enjoyByDate);
1040
1019
  } else {
1041
1020
  holder.enjoyByDate = void 0;
@@ -1049,7 +1028,6 @@ let HolderContainerModelImpl = class {
1049
1028
  const wrappedData = Array.isArray(data) ? data : [data];
1050
1029
  wrappedData.forEach((event) => {
1051
1030
  kosAction(() => {
1052
- var _a, _b, _c;
1053
1031
  const ingredientId = event.ingredientId;
1054
1032
  const holder = this.holders.getModel(event.path);
1055
1033
  if (holder) {
@@ -1057,9 +1035,9 @@ let HolderContainerModelImpl = class {
1057
1035
  `Received insertion event for holder ${holder.path}`
1058
1036
  );
1059
1037
  holder.updateIngredient(ingredientId);
1060
- holder.slice.currentVolMl = (_a = event.slice) == null ? void 0 : _a.currentVolMl;
1061
- holder.slice.maxVolMl = (_b = event.slice) == null ? void 0 : _b.maxVolMl;
1062
- if ((_c = event == null ? void 0 : event.container) == null ? void 0 : _c.enjoyByDate) {
1038
+ holder.slice.currentVolMl = event.slice?.currentVolMl;
1039
+ holder.slice.maxVolMl = event.slice?.maxVolMl;
1040
+ if (event?.container?.enjoyByDate) {
1063
1041
  holder.enjoyByDate = new Date(event.container.enjoyByDate);
1064
1042
  } else {
1065
1043
  holder.enjoyByDate = void 0;
@@ -1166,7 +1144,7 @@ const sendIntent = async ({
1166
1144
  }) => {
1167
1145
  const url = `${URL$2}/api/ext/dispense/nozzle/nozzle/pipeline/ingredient/pour/${pumpId}/${intent}`;
1168
1146
  const response = await postModel$2({ model: {}, urlOverride: url, tracker });
1169
- if (response == null ? void 0 : response.data) {
1147
+ if (response?.data) {
1170
1148
  FutureManager.initiateFuture(response.data);
1171
1149
  }
1172
1150
  return response;
@@ -1174,7 +1152,7 @@ const sendIntent = async ({
1174
1152
  const getIntentVolume = async (pumpId, intent) => {
1175
1153
  const url = `${URL$2}/api/ext/dispense/nozzle/nozzle/pipeline/ingredient/intent/${pumpId}/${intent}/volume`;
1176
1154
  const response = await getOne$1({ urlOverride: url });
1177
- if (!(response == null ? void 0 : response.data)) {
1155
+ if (!response?.data) {
1178
1156
  return { volume: -1 };
1179
1157
  }
1180
1158
  return response.data;
@@ -1186,8 +1164,7 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
1186
1164
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
1187
1165
  if (decorator = decorators[i])
1188
1166
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1189
- if (kind && result)
1190
- __defProp$4(target, key, result);
1167
+ if (kind && result) __defProp$4(target, key, result);
1191
1168
  return result;
1192
1169
  };
1193
1170
  const MODEL_TYPE$5 = DispenseModelType.Pump;
@@ -1196,25 +1173,25 @@ ExtensionManager[EXTENSION_TROUBLE_MAPPER].register(
1196
1173
  pumpTroubleResolver
1197
1174
  );
1198
1175
  let PumpModelImpl = class {
1176
+ id;
1177
+ inserted;
1178
+ type;
1179
+ virtual;
1180
+ ingredientId;
1181
+ holderPath;
1182
+ boardPath;
1183
+ nozzlePath;
1184
+ childPump;
1185
+ name;
1186
+ path;
1187
+ prevIngredientId;
1188
+ /**
1189
+ * @kosApiLevel 12
1190
+ */
1191
+ state;
1192
+ futureHandler;
1193
+ currentState = PourState.IDLE;
1199
1194
  constructor(modelId, options) {
1200
- __publicField(this, "id");
1201
- __publicField(this, "inserted");
1202
- __publicField(this, "type");
1203
- __publicField(this, "virtual");
1204
- __publicField(this, "ingredientId");
1205
- __publicField(this, "holderPath");
1206
- __publicField(this, "boardPath");
1207
- __publicField(this, "nozzlePath");
1208
- __publicField(this, "childPump");
1209
- __publicField(this, "name");
1210
- __publicField(this, "path");
1211
- __publicField(this, "prevIngredientId");
1212
- /**
1213
- * @kosApiLevel 12
1214
- */
1215
- __publicField(this, "state");
1216
- __publicField(this, "futureHandler");
1217
- __publicField(this, "currentState", PourState.IDLE);
1218
1195
  this.id = modelId;
1219
1196
  const {
1220
1197
  inserted,
@@ -1269,12 +1246,10 @@ let PumpModelImpl = class {
1269
1246
  }
1270
1247
  // -------------------LIFECYCLE----------------------------
1271
1248
  get pouringState() {
1272
- var _a;
1273
- return ((_a = this.future) == null ? void 0 : _a.endState) || "";
1249
+ return this.future?.endState || "";
1274
1250
  }
1275
1251
  get isPouring() {
1276
- var _a;
1277
- return !!(this.future && !((_a = this.future) == null ? void 0 : _a.endState)) || this.currentState === PourState.POUR_STARTING || this.currentState === PourState.POURING;
1252
+ return !!(this.future && !this.future?.endState) || this.currentState === PourState.POUR_STARTING || this.currentState === PourState.POURING;
1278
1253
  }
1279
1254
  get canPour() {
1280
1255
  return !!this.ingredientId && !this.isPouring;
@@ -1287,10 +1262,9 @@ let PumpModelImpl = class {
1287
1262
  }
1288
1263
  }
1289
1264
  async cancelPour() {
1290
- var _a;
1291
1265
  if (this.currentState === PourState.POURING || this.currentState === PourState.POUR_STARTING) {
1292
1266
  this.currentState = PourState.POUR_CANCELING;
1293
- await ((_a = this.future) == null ? void 0 : _a.cancelFuture());
1267
+ await this.future?.cancelFuture();
1294
1268
  kosAction(() => {
1295
1269
  this.currentState = PourState.IDLE;
1296
1270
  });
@@ -1325,7 +1299,7 @@ let PumpModelImpl = class {
1325
1299
  this.currentState = PourState.POURING;
1326
1300
  });
1327
1301
  }
1328
- return result == null ? void 0 : result.data;
1302
+ return result?.data;
1329
1303
  } else {
1330
1304
  throw new Error(`Cannot pour in state ${this.currentState}`);
1331
1305
  }
@@ -1376,18 +1350,17 @@ const mapAssemblyPumpToModel = (nozzlePath, pump) => {
1376
1350
  return pumpModel;
1377
1351
  };
1378
1352
  const assemblyPumpMap = (pumpContainer) => (holderContainer) => (nozzle) => (assemblyPump) => {
1379
- var _a;
1380
1353
  try {
1381
1354
  Logger.debug(`adding pump ${assemblyPump.name}`);
1382
1355
  const pump = mapAssemblyPumpToModel(nozzle.path, assemblyPump);
1383
1356
  pumpContainer.addModel(pump);
1384
1357
  const holderPath = pump.holderPath;
1385
1358
  const holder = holderContainer.holders.getModel(holderPath);
1386
- holder == null ? void 0 : holder.pumps.addModel(pump);
1387
- if (!(holder == null ? void 0 : holder.nozzlePaths.includes(nozzle.path))) {
1388
- holder == null ? void 0 : holder.nozzlePaths.push(nozzle.path);
1359
+ holder?.pumps.addModel(pump);
1360
+ if (!holder?.nozzlePaths.includes(nozzle.path)) {
1361
+ holder?.nozzlePaths.push(nozzle.path);
1389
1362
  }
1390
- (_a = assemblyPump == null ? void 0 : assemblyPump.pumps) == null ? void 0 : _a.forEach((subPump) => {
1363
+ assemblyPump?.pumps?.forEach((subPump) => {
1391
1364
  const subHolderPath = pump.holderPath;
1392
1365
  const subPumpData = {
1393
1366
  ...subPump,
@@ -1409,22 +1382,21 @@ var __decorateClass$4 = (decorators, target, key, kind) => {
1409
1382
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
1410
1383
  if (decorator = decorators[i])
1411
1384
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1412
- if (kind && result)
1413
- __defProp$3(target, key, result);
1385
+ if (kind && result) __defProp$3(target, key, result);
1414
1386
  return result;
1415
1387
  };
1416
1388
  const MODEL_TYPE$4 = "assembly-model";
1417
1389
  const CONTEXT_ASSEMBLY_DATA = "assembly-data";
1418
1390
  const CONTEXT_ASSEMBLY_RAW_DATA = "assembly-raw-data";
1419
1391
  let AssemblyModelImpl = class {
1392
+ id;
1393
+ _nozzlePaths = /* @__PURE__ */ new Set();
1394
+ troubleContainer;
1395
+ holderContainer;
1396
+ boardContainer;
1397
+ pumpContainer;
1398
+ logger;
1420
1399
  constructor(modelId, _options, context) {
1421
- __publicField(this, "id");
1422
- __publicField(this, "_nozzlePaths", /* @__PURE__ */ new Set());
1423
- __publicField(this, "troubleContainer");
1424
- __publicField(this, "holderContainer");
1425
- __publicField(this, "boardContainer");
1426
- __publicField(this, "pumpContainer");
1427
- __publicField(this, "logger");
1428
1400
  this.id = modelId;
1429
1401
  this.holderContainer = HolderContainer.factory({});
1430
1402
  this.boardContainer = BoardContainer.factory({});
@@ -1471,8 +1443,7 @@ let AssemblyModelImpl = class {
1471
1443
  this.logger.debug(`initializing assembly ${this.id}`);
1472
1444
  }
1473
1445
  async ready() {
1474
- var _a;
1475
- (_a = this.troubleContainer) == null ? void 0 : _a.troubles.increment();
1446
+ this.troubleContainer?.troubles.increment();
1476
1447
  ExtensionManager[EXTENSION_FEATURE_FLAG_RESOLVER].execute(
1477
1448
  ExtensionType.AssemblyFeatureFlags,
1478
1449
  this
@@ -1481,7 +1452,7 @@ let AssemblyModelImpl = class {
1481
1452
  async load(context) {
1482
1453
  this.logger.debug(`loading assembly ${this.id}`);
1483
1454
  const result = await getAssembly();
1484
- if ((result == null ? void 0 : result.status) === 200) {
1455
+ if (result?.status === 200) {
1485
1456
  const data = await KosExtensionUtils.executeDataMapperExtension({
1486
1457
  extension: ExtensionType.AssemblyMapper,
1487
1458
  data: result.data,
@@ -1509,11 +1480,10 @@ let AssemblyModelImpl = class {
1509
1480
  this.logger.debug(`adding assembly ${name}`);
1510
1481
  this.logger.warn(`Assembly rest keys: ${Object.keys(rest).join(", ")}`);
1511
1482
  Object.keys(rest).forEach((key) => {
1512
- var _a;
1513
1483
  this.logger.warn(`Enabling feature flag: ${key}`);
1514
1484
  KosFeatureFlags.enableFeature(key);
1515
1485
  context.set(`assembly-feature-${key}`, rest[key]);
1516
- if (((_a = rest[key]["state"]) == null ? void 0 : _a["path"]) !== void 0) {
1486
+ if (rest[key]["state"]?.["path"] !== void 0) {
1517
1487
  const statePath = rest[key]["state"]["path"];
1518
1488
  this.logger.warn(`Feature flag ${key} state path: ${statePath}`);
1519
1489
  context.set(`assembly-state-path-${key}`, statePath);
@@ -1583,20 +1553,20 @@ var __decorateClass$3 = (decorators, target, key, kind) => {
1583
1553
  };
1584
1554
  const MODEL_TYPE$3 = DispenseModelType.Availability;
1585
1555
  let AvailabilityModelImpl = class {
1556
+ id;
1557
+ data;
1558
+ properties;
1559
+ available;
1560
+ visible;
1561
+ groupId;
1562
+ rawId;
1563
+ altId;
1564
+ type;
1565
+ note;
1566
+ taggedIds;
1567
+ parentId;
1568
+ logger;
1586
1569
  constructor(modelId, options, context) {
1587
- __publicField(this, "id");
1588
- __publicField(this, "data");
1589
- __publicField(this, "properties");
1590
- __publicField(this, "available");
1591
- __publicField(this, "visible");
1592
- __publicField(this, "groupId");
1593
- __publicField(this, "rawId");
1594
- __publicField(this, "altId");
1595
- __publicField(this, "type");
1596
- __publicField(this, "note");
1597
- __publicField(this, "taggedIds");
1598
- __publicField(this, "parentId");
1599
- __publicField(this, "logger");
1600
1570
  this.id = modelId;
1601
1571
  this.taggedIds = options.taggedIds || [];
1602
1572
  this.logger = context.logger;
@@ -1651,11 +1621,11 @@ const { postModel: postModel$1, deleteModel, getOne } = ServiceFactory.build({
1651
1621
  const pourPourable = async (nozzleId, tracker) => {
1652
1622
  const response = await postModel$1({
1653
1623
  model: {},
1654
- urlOverride: `${URL$1}/api/ext/dispense/nozzle/${nozzleId}/pipeline/beverage/pour`,
1624
+ urlOverride: `${URL$1}/api/ext/dispense/nozzle/${nozzleId}/pipeline/beverage/pour/selected/maxVolume`,
1655
1625
  ordered: true,
1656
1626
  tracker
1657
1627
  });
1658
- if (response == null ? void 0 : response.data) {
1628
+ if (response?.data) {
1659
1629
  FutureManager.initiateFuture(response.data);
1660
1630
  }
1661
1631
  return response;
@@ -1667,7 +1637,7 @@ const pourNamedPourable = async (name, nozzleId, tracker) => {
1667
1637
  ordered: true,
1668
1638
  tracker
1669
1639
  });
1670
- if (response == null ? void 0 : response.data) {
1640
+ if (response?.data) {
1671
1641
  FutureManager.initiateFuture(response.data);
1672
1642
  }
1673
1643
  return response;
@@ -1699,8 +1669,7 @@ var __decorateClass$2 = (decorators, target, key, kind) => {
1699
1669
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
1700
1670
  if (decorator = decorators[i])
1701
1671
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1702
- if (kind && result)
1703
- __defProp$2(target, key, result);
1672
+ if (kind && result) __defProp$2(target, key, result);
1704
1673
  return result;
1705
1674
  };
1706
1675
  const MODEL_TYPE$2 = DispenseModelType.Nozzle;
@@ -1712,37 +1681,18 @@ const TOPIC_NOZZLE_POUR_STARTED = "/kos/nozzle/pour/started";
1712
1681
  const TOPIC_NOZZLE_POUR_PROGRESS = "/kos/nozzle/pour/progress";
1713
1682
  const TOPIC_NOZZLE_POUR_CANCEL = "/kos/nozzle/pour/cancel";
1714
1683
  let NozzleModelImpl = class {
1715
- constructor(modelId, options) {
1716
- /** the unique identifier for this nozzle.*/
1717
- __publicField(this, "id");
1718
- __publicField(this, "path");
1719
- __publicField(this, "name");
1720
- __publicField(this, "_selectedBeverage");
1721
- __publicField(this, "_selectedBrand");
1722
- __publicField(this, "_additionalItems");
1723
- __publicField(this, "_availabilityItems");
1724
- __publicField(this, "futureHandler");
1725
- __publicField(this, "beverageTopicPrefix");
1726
- __publicField(this, "topicPrefix");
1727
- __publicField(this, "urlPrefix");
1728
- this.id = modelId;
1729
- this.path = options.path;
1730
- this.name = options.name;
1731
- this.beverageTopicPrefix = options.beverageTopicPrefix;
1732
- this.topicPrefix = options.topicPrefix;
1733
- this.urlPrefix = options.urlPrefix;
1734
- this._selectedBeverage = void 0;
1735
- this._selectedBrand = void 0;
1736
- this._additionalItems = [];
1737
- this.futureHandler = new MultipleFutureHandler(this);
1738
- this._availabilityItems = new KosModelContainer({
1739
- indexMap: {
1740
- byGroup: "groupId",
1741
- byParent: "parentId"
1742
- },
1743
- parentId: modelId
1744
- });
1745
- }
1684
+ /** the unique identifier for this nozzle.*/
1685
+ id;
1686
+ path;
1687
+ name;
1688
+ _selectedBeverage;
1689
+ _selectedBrand;
1690
+ _additionalItems;
1691
+ _availabilityItems;
1692
+ futureHandler;
1693
+ beverageTopicPrefix;
1694
+ topicPrefix;
1695
+ urlPrefix;
1746
1696
  /**
1747
1697
  * The availability nodes that can be dispensed from this nozzle.
1748
1698
  * This is a subset of the availability for the entire dispenser
@@ -1769,8 +1719,7 @@ let NozzleModelImpl = class {
1769
1719
  * @readonly
1770
1720
  */
1771
1721
  get isPouring() {
1772
- var _a;
1773
- return !!(this.futureHandler.getFuture() && !((_a = this.futureHandler.getFuture()) == null ? void 0 : _a.endState)) || this.currentState === PourState.POUR_STARTING || this.currentState === PourState.POURING || this.currentState === PourState.POUR_CANCELING;
1722
+ return !!(this.futureHandler.getFuture() && !this.futureHandler.getFuture()?.endState) || this.currentState === PourState.POUR_STARTING || this.currentState === PourState.POURING || this.currentState === PourState.POUR_CANCELING;
1774
1723
  }
1775
1724
  /**
1776
1725
  * A derived value that indicates if the nozzle is currently available to pour a beverage.
@@ -1801,8 +1750,26 @@ let NozzleModelImpl = class {
1801
1750
  return this.futureHandler.getFuture();
1802
1751
  }
1803
1752
  get pourProgress() {
1804
- var _a;
1805
- return ((_a = this.future) == null ? void 0 : _a.progress) ?? 0;
1753
+ return this.future?.progress ?? 0;
1754
+ }
1755
+ constructor(modelId, options) {
1756
+ this.id = modelId;
1757
+ this.path = options.path;
1758
+ this.name = options.name;
1759
+ this.beverageTopicPrefix = options.beverageTopicPrefix;
1760
+ this.topicPrefix = options.topicPrefix;
1761
+ this.urlPrefix = options.urlPrefix;
1762
+ this._selectedBeverage = void 0;
1763
+ this._selectedBrand = void 0;
1764
+ this._additionalItems = [];
1765
+ this.futureHandler = new MultipleFutureHandler(this);
1766
+ this._availabilityItems = new KosModelContainer({
1767
+ indexMap: {
1768
+ byGroup: "groupId",
1769
+ byParent: "parentId"
1770
+ },
1771
+ parentId: modelId
1772
+ });
1806
1773
  }
1807
1774
  updateModel() {
1808
1775
  }
@@ -1828,7 +1795,7 @@ let NozzleModelImpl = class {
1828
1795
  async setSelectedPourable({ beverage, additional, context }, forceUpdate = false) {
1829
1796
  if (!beverage) {
1830
1797
  const response2 = await clearPourable(this.name);
1831
- if ((response2 == null ? void 0 : response2.status) !== 200) {
1798
+ if (response2?.status !== 200) {
1832
1799
  throw new Error("Failed to clear pourable");
1833
1800
  }
1834
1801
  this._selectedBeverage = void 0;
@@ -1867,7 +1834,7 @@ let NozzleModelImpl = class {
1867
1834
  }
1868
1835
  const payload = selectedPayload ?? defaultPayload;
1869
1836
  const response = await selectPourable(this.name, payload);
1870
- if ((response == null ? void 0 : response.status) !== 200) {
1837
+ if (response?.status !== 200) {
1871
1838
  throw new Error("Failed to select pourable");
1872
1839
  }
1873
1840
  }
@@ -1904,9 +1871,8 @@ let NozzleModelImpl = class {
1904
1871
  handlePouringStart() {
1905
1872
  this.logger.info("Pour started");
1906
1873
  getAllKosCompanionModels(this).forEach((model) => {
1907
- var _a;
1908
1874
  if (isPourAware$1(model)) {
1909
- (_a = model.onPourStart) == null ? void 0 : _a.call(model);
1875
+ model.onPourStart?.();
1910
1876
  }
1911
1877
  });
1912
1878
  }
@@ -1919,9 +1885,8 @@ let NozzleModelImpl = class {
1919
1885
  handleCanceled() {
1920
1886
  this.logger.info("Pour canceled");
1921
1887
  getAllKosCompanionModels(this).forEach((model) => {
1922
- var _a;
1923
1888
  if (isPourAware$1(model)) {
1924
- (_a = model.onPourCancel) == null ? void 0 : _a.call(model);
1889
+ model.onPourCancel?.();
1925
1890
  }
1926
1891
  });
1927
1892
  const evt = {
@@ -1961,7 +1926,6 @@ let NozzleModelImpl = class {
1961
1926
  }
1962
1927
  // Inherits throwOnInvalid: false from class
1963
1928
  async pour(tracker) {
1964
- var _a;
1965
1929
  try {
1966
1930
  this.transition("START_POUR");
1967
1931
  if (!tracker) {
@@ -1974,7 +1938,7 @@ let NozzleModelImpl = class {
1974
1938
  type: "free"
1975
1939
  };
1976
1940
  EventBus.publish(TOPIC_NOZZLE_POUR_STARTED, evt);
1977
- if ((_a = result == null ? void 0 : result.data) == null ? void 0 : _a.endState) {
1941
+ if (result?.data?.endState) {
1978
1942
  this.transition("POUR_COMPLETED");
1979
1943
  }
1980
1944
  return result;
@@ -1988,7 +1952,6 @@ let NozzleModelImpl = class {
1988
1952
  }
1989
1953
  // Inherits throwOnInvalid: false from class
1990
1954
  async fixedPour(name, tracker) {
1991
- var _a;
1992
1955
  try {
1993
1956
  this.transition("START_POUR");
1994
1957
  if (!tracker) {
@@ -2001,7 +1964,7 @@ let NozzleModelImpl = class {
2001
1964
  type: "fixed"
2002
1965
  };
2003
1966
  EventBus.publish(TOPIC_NOZZLE_POUR_STARTED, evt);
2004
- if ((_a = result == null ? void 0 : result.data) == null ? void 0 : _a.endState) {
1967
+ if (result?.data?.endState) {
2005
1968
  this.transition("POUR_COMPLETED");
2006
1969
  }
2007
1970
  return result;
@@ -2015,9 +1978,8 @@ let NozzleModelImpl = class {
2015
1978
  }
2016
1979
  // Inherits throwOnInvalid: false - silently ignore if already idle
2017
1980
  async cancelPour() {
2018
- var _a;
2019
1981
  this.transition("CANCEL_POUR");
2020
- await ((_a = this.futureHandler.getFuture()) == null ? void 0 : _a.cancelFuture());
1982
+ await this.futureHandler.getFuture()?.cancelFuture();
2021
1983
  this.transition("POUR_CANCELED");
2022
1984
  }
2023
1985
  updateGroupMembers() {
@@ -2036,20 +1998,19 @@ let NozzleModelImpl = class {
2036
1998
  }
2037
1999
  /** @internal */
2038
2000
  async load(context) {
2039
- var _a, _b;
2040
2001
  this.logger.debug(`loading nozzle ${this.id}`);
2041
2002
  const availability = await getAvailability(this.urlPrefix);
2042
- if ((availability == null ? void 0 : availability.status) !== 200) {
2003
+ if (availability?.status !== 200) {
2043
2004
  throw new Error("Failed to load nozzle availability");
2044
2005
  }
2045
2006
  const beverageContext = await ExtensionManager.loader.executeLoader(
2046
2007
  ExtensionType.AvailabilityLoader,
2047
2008
  {}
2048
2009
  );
2049
- context == null ? void 0 : context.set(ExtensionType.AvailabilityLoader, beverageContext);
2050
- context == null ? void 0 : context.set(Nozzle.type, this);
2051
- for (const group of Object.keys((_a = availability.data) == null ? void 0 : _a.groups) || []) {
2052
- for (const beverageData of ((_b = availability.data) == null ? void 0 : _b.groups[group]) || []) {
2010
+ context?.set(ExtensionType.AvailabilityLoader, beverageContext);
2011
+ context?.set(Nozzle.type, this);
2012
+ for (const group of Object.keys(availability.data?.groups) || []) {
2013
+ for (const beverageData of availability.data?.groups[group] || []) {
2053
2014
  const extensionData = await ExtensionManager.dataMapper.executeMapper(
2054
2015
  ExtensionType.AvailabilityMapper,
2055
2016
  { ...beverageData, groupId: group },
@@ -2074,9 +2035,9 @@ let NozzleModelImpl = class {
2074
2035
  }
2075
2036
  async updateAvailability(update) {
2076
2037
  const context = KosContextManager.getContext(this.id);
2077
- const beverageContext = (context == null ? void 0 : context.get(ExtensionType.AvailabilityLoader)) || {};
2038
+ const beverageContext = context?.get(ExtensionType.AvailabilityLoader) || {};
2078
2039
  if (update.rebuild) {
2079
- for (const group of Object.keys(update == null ? void 0 : update.groups) || []) {
2040
+ for (const group of Object.keys(update?.groups) || []) {
2080
2041
  const deletedBeverages = this._availabilityItems.getIndexByKey("group", group).filter(
2081
2042
  (beverage) => !update.groups[group].find(
2082
2043
  (b) => `${this.id}-${group}-${b.id}` === beverage.id
@@ -2086,7 +2047,7 @@ let NozzleModelImpl = class {
2086
2047
  this._availabilityItems.removeModel(beverage.id);
2087
2048
  destroyKosModel(beverage);
2088
2049
  });
2089
- for (const beverageData of (update == null ? void 0 : update.groups[group]) || []) {
2050
+ for (const beverageData of update?.groups[group] || []) {
2090
2051
  const extensionData = await ExtensionManager.dataMapper.executeMapper(
2091
2052
  ExtensionType.AvailabilityMapper,
2092
2053
  { ...beverageData, groupId: group },
@@ -2116,8 +2077,8 @@ let NozzleModelImpl = class {
2116
2077
  }
2117
2078
  }
2118
2079
  } else {
2119
- for (const group of Object.keys(update == null ? void 0 : update.groups) || []) {
2120
- for (const beverageData of (update == null ? void 0 : update.groups[group]) || []) {
2080
+ for (const group of Object.keys(update?.groups) || []) {
2081
+ for (const beverageData of update?.groups[group] || []) {
2121
2082
  const extensionData = await ExtensionManager.dataMapper.executeMapper(
2122
2083
  ExtensionType.AvailabilityMapper,
2123
2084
  { ...beverageData, groupId: group },
@@ -2239,16 +2200,15 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
2239
2200
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2240
2201
  if (decorator = decorators[i])
2241
2202
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2242
- if (kind && result)
2243
- __defProp$1(target, key, result);
2203
+ if (kind && result) __defProp$1(target, key, result);
2244
2204
  return result;
2245
2205
  };
2246
2206
  const MODEL_TYPE$1 = "device-assembly-model";
2247
2207
  let DeviceAssemblyModelImpl = class {
2208
+ id;
2209
+ deviceNozzles;
2210
+ logger;
2248
2211
  constructor(modelId, _options, context) {
2249
- __publicField(this, "id");
2250
- __publicField(this, "deviceNozzles");
2251
- __publicField(this, "logger");
2252
2212
  this.id = modelId;
2253
2213
  this.logger = context.logger;
2254
2214
  this.deviceNozzles = new KosModelContainer();
@@ -2266,12 +2226,11 @@ let DeviceAssemblyModelImpl = class {
2266
2226
  async load() {
2267
2227
  this.logger.debug(`loading device-assembly ${this.id}`);
2268
2228
  const result = await getAssembly();
2269
- if ((result == null ? void 0 : result.status) === 200) {
2229
+ if (result?.status === 200) {
2270
2230
  const nozzles = result.data.assemblies.map((assembly) => assembly.nozzles ?? []).flat();
2271
2231
  nozzles.forEach((nozzleData) => {
2272
- var _a;
2273
2232
  const nozzleId = nozzleData.path;
2274
- const beverageTopicPrefix = ((_a = nozzleData.pipelines.find((pipeline) => pipeline.name === "beverage")) == null ? void 0 : _a.topicPrefix) || "";
2233
+ const beverageTopicPrefix = nozzleData.pipelines.find((pipeline) => pipeline.name === "beverage")?.topicPrefix || "";
2275
2234
  const nozzle = Nozzle.factory(nozzleId)({
2276
2235
  path: nozzleData.path,
2277
2236
  name: nozzleData.name,
@@ -2305,20 +2264,19 @@ const pourOnTarget = async (path, tracker) => {
2305
2264
  ordered: true,
2306
2265
  tracker
2307
2266
  });
2308
- if (response == null ? void 0 : response.data) {
2267
+ if (response?.data) {
2309
2268
  FutureManager.initiateFuture(response.data);
2310
2269
  }
2311
2270
  return response;
2312
2271
  };
2313
- var __defProp2 = Object.defineProperty;
2272
+ var __defProp = Object.defineProperty;
2314
2273
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
2315
2274
  var __decorateClass = (decorators, target, key, kind) => {
2316
2275
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
2317
2276
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2318
2277
  if (decorator = decorators[i])
2319
2278
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2320
- if (kind && result)
2321
- __defProp2(target, key, result);
2279
+ if (kind && result) __defProp(target, key, result);
2322
2280
  return result;
2323
2281
  };
2324
2282
  const MODEL_TYPE = "generic-pour-model";
@@ -2327,18 +2285,18 @@ const TOPIC_GENERIC_POUR_PROGRESS = "/kos/generic/pour/progress";
2327
2285
  const TOPIC_GENERIC_POUR_CANCEL = "/kos/generic/pour/cancel";
2328
2286
  const isPourAware = (model) => model.onPourStart !== void 0 && model.onPourCancel !== void 0 && model.onPourProgress !== void 0;
2329
2287
  let GenericPourModelImpl = class {
2288
+ id;
2289
+ /**
2290
+ * @kosApiLevel 5
2291
+ */
2292
+ servicePathFactory;
2293
+ pourType;
2294
+ /**
2295
+ * @kosApiLevel 5
2296
+ */
2297
+ selectedId;
2298
+ state;
2330
2299
  constructor(modelId, options) {
2331
- __publicField(this, "id");
2332
- /**
2333
- * @kosApiLevel 5
2334
- */
2335
- __publicField(this, "servicePathFactory");
2336
- __publicField(this, "pourType");
2337
- /**
2338
- * @kosApiLevel 5
2339
- */
2340
- __publicField(this, "selectedId");
2341
- __publicField(this, "state");
2342
2300
  this.id = modelId;
2343
2301
  this.futureHandler = new FutureHandler(this);
2344
2302
  this.servicePathFactory = options.servicePathFactory;
@@ -2384,9 +2342,8 @@ let GenericPourModelImpl = class {
2384
2342
  handlePouringStart() {
2385
2343
  this.logger.info("Pour started");
2386
2344
  getAllKosCompanionModels(this).forEach((model) => {
2387
- var _a;
2388
2345
  if (isPourAware(model)) {
2389
- (_a = model.onPourStart) == null ? void 0 : _a.call(model);
2346
+ model.onPourStart?.();
2390
2347
  }
2391
2348
  });
2392
2349
  const evt = {
@@ -2404,9 +2361,8 @@ let GenericPourModelImpl = class {
2404
2361
  handleCanceled() {
2405
2362
  this.logger.info("Pour canceled");
2406
2363
  getAllKosCompanionModels(this).forEach((model) => {
2407
- var _a;
2408
2364
  if (isPourAware(model)) {
2409
- (_a = model.onPourCancel) == null ? void 0 : _a.call(model);
2365
+ model.onPourCancel?.();
2410
2366
  }
2411
2367
  });
2412
2368
  const evt = {
@@ -2416,7 +2372,6 @@ let GenericPourModelImpl = class {
2416
2372
  }
2417
2373
  // Inherits throwOnInvalid: false from class
2418
2374
  async pour(tracker) {
2419
- var _a;
2420
2375
  try {
2421
2376
  this.transition("START_POUR");
2422
2377
  if (!tracker) {
@@ -2424,7 +2379,7 @@ let GenericPourModelImpl = class {
2424
2379
  }
2425
2380
  const result = await pourOnTarget(this.servicePath, tracker);
2426
2381
  this.transition("POUR_ACTIVE");
2427
- if ((_a = result == null ? void 0 : result.data) == null ? void 0 : _a.endState) {
2382
+ if (result?.data?.endState) {
2428
2383
  this.transition("POUR_COMPLETED");
2429
2384
  }
2430
2385
  return result;
@@ -2438,9 +2393,8 @@ let GenericPourModelImpl = class {
2438
2393
  }
2439
2394
  // Inherits throwOnInvalid: false - silently ignore if already idle
2440
2395
  async cancelPour() {
2441
- var _a;
2442
2396
  this.transition("CANCEL_POUR");
2443
- await ((_a = this.futureHandler.getFuture()) == null ? void 0 : _a.cancelFuture());
2397
+ await this.futureHandler.getFuture()?.cancelFuture();
2444
2398
  this.transition("POUR_CANCELED");
2445
2399
  }
2446
2400
  // ============================================================================
@@ -2451,8 +2405,7 @@ let GenericPourModelImpl = class {
2451
2405
  * @readonly
2452
2406
  */
2453
2407
  get isPouring() {
2454
- var _a;
2455
- return !!(this.future && !((_a = this.future) == null ? void 0 : _a.endState)) || this.currentState === PourState.POUR_STARTING || this.currentState === PourState.POURING || this.currentState === PourState.POUR_CANCELING;
2408
+ return !!(this.future && !this.future?.endState) || this.currentState === PourState.POUR_STARTING || this.currentState === PourState.POURING || this.currentState === PourState.POUR_CANCELING;
2456
2409
  }
2457
2410
  /**
2458
2411
  * A derived value that indicates if the pour target is currently available to pour a beverage.
@@ -2587,8 +2540,7 @@ const registerDispenseModels = (root) => () => {
2587
2540
  ExtensionManager[EXTENSION_TROUBLE_DATA_MAPPER].register(
2588
2541
  "FirmwareUpdateInProgressTrouble",
2589
2542
  async (trouble) => {
2590
- var _a;
2591
- if ((_a = trouble.data) == null ? void 0 : _a.deviceId) {
2543
+ if (trouble.data?.deviceId) {
2592
2544
  const { model: assemblyModel } = getKosModelSync(
2593
2545
  Assembly.type
2594
2546
  );
@@ -2624,9 +2576,9 @@ _KosModelRegistry.legacy = RegistrationManager.model.registerLegacyModel(_KosMod
2624
2576
  const KosModelRegistry = _KosModelRegistry;
2625
2577
  export {
2626
2578
  Assembly as A,
2627
- BoardContainerModel as B,
2579
+ Board as B,
2628
2580
  CONTEXT_ASSEMBLY_DATA as C,
2629
- DispenseModelType as D,
2581
+ DeviceAssembly as D,
2630
2582
  ExtensionType as E,
2631
2583
  getIntentVolume as F,
2632
2584
  GenericPour as G,
@@ -2638,25 +2590,25 @@ export {
2638
2590
  getAvailability as M,
2639
2591
  Nozzle as N,
2640
2592
  pourNamedPourable as O,
2641
- Pump as P,
2593
+ PourState as P,
2642
2594
  pourPourable as Q,
2643
2595
  selectPourable as R,
2644
2596
  pourOnTarget as S,
2645
2597
  TOPIC_BOARD_LINKED as T,
2646
- CONTEXT_ASSEMBLY_RAW_DATA as a,
2647
- Availability as b,
2648
- TOPIC_BOARD_UNLINKED as c,
2649
- BoardContainer as d,
2650
- Board as e,
2651
- DeviceAssembly as f,
2652
- TOPIC_GENERIC_POUR_CANCEL as g,
2653
- TOPIC_GENERIC_POUR_PROGRESS as h,
2654
- TOPIC_GENERIC_POUR_STARTED as i,
2655
- HolderContainer as j,
2656
- IngredientContainer as k,
2657
- PumpContainer as l,
2658
- PumpIndex as m,
2659
- PourState as n,
2598
+ Availability as a,
2599
+ BoardContainer as b,
2600
+ BoardContainerModel as c,
2601
+ CONTEXT_ASSEMBLY_RAW_DATA as d,
2602
+ DispenseModelType as e,
2603
+ HolderContainer as f,
2604
+ IngredientContainer as g,
2605
+ Pump as h,
2606
+ PumpContainer as i,
2607
+ PumpIndex as j,
2608
+ TOPIC_BOARD_UNLINKED as k,
2609
+ TOPIC_GENERIC_POUR_CANCEL as l,
2610
+ TOPIC_GENERIC_POUR_PROGRESS as m,
2611
+ TOPIC_GENERIC_POUR_STARTED as n,
2660
2612
  kosModels as o,
2661
2613
  getIngredients as p,
2662
2614
  addAssignment as q,
@@ -2670,4 +2622,4 @@ export {
2670
2622
  unassignHolderIngredient as y,
2671
2623
  getAssembly as z
2672
2624
  };
2673
- //# sourceMappingURL=dispense-registration-manager-C7GGaZ47.js.map
2625
+ //# sourceMappingURL=dispense-registration-manager-DNibbp5F.js.map