@kosdev-code/kos-dispense-sdk 2.1.38 → 2.1.40

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 (38) hide show
  1. package/dispense-registration-manager-C6k10ipu.cjs +2698 -0
  2. package/dispense-registration-manager-C6k10ipu.cjs.map +1 -0
  3. package/dispense-registration-manager-lJlcyq5G.js +2700 -0
  4. package/dispense-registration-manager-lJlcyq5G.js.map +1 -0
  5. package/{extension-utils-DrsPfQWC.js → extension-utils-AS0Z5eod.js} +194 -157
  6. package/{extension-utils-DrsPfQWC.js.map → extension-utils-AS0Z5eod.js.map} +1 -1
  7. package/extension-utils-DNbm2KRk.cjs +500 -0
  8. package/{extension-utils-BDyaRwRN.cjs.map → extension-utils-DNbm2KRk.cjs.map} +1 -1
  9. package/index.cjs +142 -1
  10. package/index.cjs.map +1 -1
  11. package/index.js +124 -121
  12. package/index.js.map +1 -1
  13. package/kos-models.json +1 -1
  14. package/models/models/assembly/holder-utils.d.ts.map +1 -1
  15. package/models/models/holder/holder-model.d.ts.map +1 -1
  16. package/models/models/holder/types/index.d.ts +2 -0
  17. package/models/models/nozzle/nozzle-model.d.ts +1 -0
  18. package/models/models/nozzle/nozzle-model.d.ts.map +1 -1
  19. package/models/models/types/assembly.d.ts +1 -0
  20. package/models/models/types/assembly.d.ts.map +1 -1
  21. package/models.cjs +47 -1
  22. package/models.cjs.map +1 -1
  23. package/models.js +40 -40
  24. package/package.json +14 -2
  25. package/pump-provider-BSEusYig.js +1825 -0
  26. package/{pump-provider-Bytd6qXc.js.map → pump-provider-BSEusYig.js.map} +1 -1
  27. package/pump-provider-D4Ed_gH6.cjs +1824 -0
  28. package/{pump-provider-CTELJBW5.cjs.map → pump-provider-D4Ed_gH6.cjs.map} +1 -1
  29. package/ui.cjs +73 -1
  30. package/ui.cjs.map +1 -1
  31. package/ui.js +67 -67
  32. package/dispense-registration-manager-Cj0565Ze.cjs +0 -2
  33. package/dispense-registration-manager-Cj0565Ze.cjs.map +0 -1
  34. package/dispense-registration-manager-CzAqcL8D.js +0 -2044
  35. package/dispense-registration-manager-CzAqcL8D.js.map +0 -1
  36. package/extension-utils-BDyaRwRN.cjs +0 -2
  37. package/pump-provider-Bytd6qXc.js +0 -1308
  38. package/pump-provider-CTELJBW5.cjs +0 -2
package/ui.cjs CHANGED
@@ -1,2 +1,74 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./pump-provider-CTELJBW5.cjs");require("@emotion/react/jsx-runtime");require("@kosdev-code/kos-ui-sdk");require("./dispense-registration-manager-Cj0565Ze.cjs");require("react");exports.AssemblyProvider=e.AssemblyProvider;exports.AvailabilityProvider=e.AvailabilityProvider;exports.BoardContainerProvider=e.BoardContainerProvider;exports.BoardProvider=e.BoardProvider;exports.CuiKit=e.CuiKit;exports.CuiKitWrapper=e.CuiKitWrapper;exports.DISPENSE_GROUP_BEVERAGE=e.DISPENSE_GROUP_BEVERAGE;exports.DISPENSE_GROUP_BRAND=e.DISPENSE_GROUP_BRAND;exports.DISPENSE_GROUP_FLAVOR=e.DISPENSE_GROUP_FLAVOR;exports.DeviceAssemblyProvider=e.DeviceAssemblyProvider;exports.HoldToPourIntentStrategy=e.HoldToPourIntentStrategy;exports.HoldToPourStrategy=e.HoldToPourStrategy;exports.HolderContainerProvider=e.HolderContainerProvider;exports.HolderProvider=e.HolderProvider;exports.IngredientContainerProvider=e.IngredientContainerProvider;exports.IngredientProvider=e.IngredientProvider;exports.NozzleProvider=e.NozzleProvider;exports.PourContext=e.PourContext;exports.PumpProvider=e.PumpProvider;exports.TapOrHoldIntentStrategy=e.TapOrHoldIntentStrategy;exports.TapToPourIntentStrategy=e.TapToPourIntentStrategy;exports.TapToPourStrategy=e.TapToPourStrategy;exports.initializeCuiKit=e.initializeCuiKit;exports.useAssembly=e.useAssembly;exports.useAssemblyContext=e.useAssemblyContext;exports.useAvailability=e.useAvailability;exports.useAvailabilityContext=e.useAvailabilityContext;exports.useBeverages=e.useBeverages;exports.useBoard=e.useBoard;exports.useBoardContainer=e.useBoardContainer;exports.useBoardContainerContext=e.useBoardContainerContext;exports.useBoardContext=e.useBoardContext;exports.useBrands=e.useBrands;exports.useCuiKit=e.useCuiKit;exports.useCuiKitTimers=e.useCuiKitTimers;exports.useDefaultCuiKitLifecycle=e.useDefaultCuiKitLifecycle;exports.useDeviceAssembly=e.useDeviceAssembly;exports.useDeviceAssemblyContext=e.useDeviceAssemblyContext;exports.useDispenseLifecycle=e.useDispenseLifecycle;exports.useFlavors=e.useFlavors;exports.useGenericPour=e.useGenericPour;exports.useHolder=e.useHolder;exports.useHolderContainer=e.useHolderContainer;exports.useHolderContainerContext=e.useHolderContainerContext;exports.useHolderContext=e.useHolderContext;exports.useIngredient=e.useIngredient;exports.useIngredientContainer=e.useIngredientContainer;exports.useIngredientContainerContext=e.useIngredientContainerContext;exports.useIngredientContext=e.useIngredientContext;exports.useIngredientPour=e.useIngredientPour;exports.useNozzle=e.useNozzle;exports.useNozzleContext=e.useNozzleContext;exports.useNozzlePour=e.useNozzlePour;exports.usePourTarget=e.usePourTarget;exports.usePumpContext=e.usePumpContext;exports.withAssembly=e.withAssembly;exports.withBeverage=e.withBeverage;exports.withBoard=e.withBoard;exports.withBoardContainer=e.withBoardContainer;exports.withDeviceAssembly=e.withDeviceAssembly;exports.withGenericPour=e.withGenericPour;exports.withHolder=e.withHolder;exports.withHolderContainer=e.withHolderContainer;exports.withIngredient=e.withIngredient;exports.withIngredientContainer=e.withIngredientContainer;exports.withNozzle=e.withNozzle;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const pumpProvider = require("./pump-provider-D4Ed_gH6.cjs");
4
+ require("@emotion/react/jsx-runtime");
5
+ require("@kosdev-code/kos-ui-sdk");
6
+ require("./dispense-registration-manager-C6k10ipu.cjs");
7
+ require("react");
8
+ exports.AssemblyProvider = pumpProvider.AssemblyProvider;
9
+ exports.AvailabilityProvider = pumpProvider.AvailabilityProvider;
10
+ exports.BoardContainerProvider = pumpProvider.BoardContainerProvider;
11
+ exports.BoardProvider = pumpProvider.BoardProvider;
12
+ exports.CuiKit = pumpProvider.CuiKit;
13
+ exports.CuiKitWrapper = pumpProvider.CuiKitWrapper;
14
+ exports.DISPENSE_GROUP_BEVERAGE = pumpProvider.DISPENSE_GROUP_BEVERAGE;
15
+ exports.DISPENSE_GROUP_BRAND = pumpProvider.DISPENSE_GROUP_BRAND;
16
+ exports.DISPENSE_GROUP_FLAVOR = pumpProvider.DISPENSE_GROUP_FLAVOR;
17
+ exports.DeviceAssemblyProvider = pumpProvider.DeviceAssemblyProvider;
18
+ exports.HoldToPourIntentStrategy = pumpProvider.HoldToPourIntentStrategy;
19
+ exports.HoldToPourStrategy = pumpProvider.HoldToPourStrategy;
20
+ exports.HolderContainerProvider = pumpProvider.HolderContainerProvider;
21
+ exports.HolderProvider = pumpProvider.HolderProvider;
22
+ exports.IngredientContainerProvider = pumpProvider.IngredientContainerProvider;
23
+ exports.IngredientProvider = pumpProvider.IngredientProvider;
24
+ exports.NozzleProvider = pumpProvider.NozzleProvider;
25
+ exports.PourContext = pumpProvider.PourContext;
26
+ exports.PumpProvider = pumpProvider.PumpProvider;
27
+ exports.TapOrHoldIntentStrategy = pumpProvider.TapOrHoldIntentStrategy;
28
+ exports.TapToPourIntentStrategy = pumpProvider.TapToPourIntentStrategy;
29
+ exports.TapToPourStrategy = pumpProvider.TapToPourStrategy;
30
+ exports.initializeCuiKit = pumpProvider.initializeCuiKit;
31
+ exports.useAssembly = pumpProvider.useAssembly;
32
+ exports.useAssemblyContext = pumpProvider.useAssemblyContext;
33
+ exports.useAvailability = pumpProvider.useAvailability;
34
+ exports.useAvailabilityContext = pumpProvider.useAvailabilityContext;
35
+ exports.useBeverages = pumpProvider.useBeverages;
36
+ exports.useBoard = pumpProvider.useBoard;
37
+ exports.useBoardContainer = pumpProvider.useBoardContainer;
38
+ exports.useBoardContainerContext = pumpProvider.useBoardContainerContext;
39
+ exports.useBoardContext = pumpProvider.useBoardContext;
40
+ exports.useBrands = pumpProvider.useBrands;
41
+ exports.useCuiKit = pumpProvider.useCuiKit;
42
+ exports.useCuiKitTimers = pumpProvider.useCuiKitTimers;
43
+ exports.useDefaultCuiKitLifecycle = pumpProvider.useDefaultCuiKitLifecycle;
44
+ exports.useDeviceAssembly = pumpProvider.useDeviceAssembly;
45
+ exports.useDeviceAssemblyContext = pumpProvider.useDeviceAssemblyContext;
46
+ exports.useDispenseLifecycle = pumpProvider.useDispenseLifecycle;
47
+ exports.useFlavors = pumpProvider.useFlavors;
48
+ exports.useGenericPour = pumpProvider.useGenericPour;
49
+ exports.useHolder = pumpProvider.useHolder;
50
+ exports.useHolderContainer = pumpProvider.useHolderContainer;
51
+ exports.useHolderContainerContext = pumpProvider.useHolderContainerContext;
52
+ exports.useHolderContext = pumpProvider.useHolderContext;
53
+ exports.useIngredient = pumpProvider.useIngredient;
54
+ exports.useIngredientContainer = pumpProvider.useIngredientContainer;
55
+ exports.useIngredientContainerContext = pumpProvider.useIngredientContainerContext;
56
+ exports.useIngredientContext = pumpProvider.useIngredientContext;
57
+ exports.useIngredientPour = pumpProvider.useIngredientPour;
58
+ exports.useNozzle = pumpProvider.useNozzle;
59
+ exports.useNozzleContext = pumpProvider.useNozzleContext;
60
+ exports.useNozzlePour = pumpProvider.useNozzlePour;
61
+ exports.usePourTarget = pumpProvider.usePourTarget;
62
+ exports.usePumpContext = pumpProvider.usePumpContext;
63
+ exports.withAssembly = pumpProvider.withAssembly;
64
+ exports.withBeverage = pumpProvider.withBeverage;
65
+ exports.withBoard = pumpProvider.withBoard;
66
+ exports.withBoardContainer = pumpProvider.withBoardContainer;
67
+ exports.withDeviceAssembly = pumpProvider.withDeviceAssembly;
68
+ exports.withGenericPour = pumpProvider.withGenericPour;
69
+ exports.withHolder = pumpProvider.withHolder;
70
+ exports.withHolderContainer = pumpProvider.withHolderContainer;
71
+ exports.withIngredient = pumpProvider.withIngredient;
72
+ exports.withIngredientContainer = pumpProvider.withIngredientContainer;
73
+ exports.withNozzle = pumpProvider.withNozzle;
2
74
  //# sourceMappingURL=ui.cjs.map
package/ui.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"ui.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/ui.js CHANGED
@@ -1,74 +1,74 @@
1
- import { A as o, a as n, d as u, B as d, f as l, C, G as P, F as v, J as y, D as g, a4 as m, a5 as I, j as A, H as p, m as x, I as B, N as b, ab as h, P as w, a6 as z, a7 as H, a8 as S, i as c, q as D, u as E, r as N, b as T, z as G, t as K, x as R, e as _, c as O, E as f, K as L, O as U, L as F, R as V, g as W, M as j, Q as k, a9 as q, T as J, V as M, k as Q, h as X, X as Y, _ as Z, n as $, l as ee, Y as ae, a0 as se, o as re, a2 as te, a3 as ie, p as oe, w as ne, s as ue, v as de, y as le, S as Ce, aa as Pe, U as ve, W as ye, Z as ge, $ as me, a1 as Ie } from "./pump-provider-Bytd6qXc.js";
1
+ import { A, a, d, B, f, C, G, F, J, D, a4, a5, j, H, m, I, N, ab, P, a6, a7, a8, i, q, u, r, b, z, t, x, e, c, E, K, O, L, R, g, M, Q, a9, T, V, k, h, X, _, n, l, Y, a0, o, a2, a3, p, w, s, v, y, S, aa, U, W, Z, $, a1 } from "./pump-provider-BSEusYig.js";
2
2
  import "@emotion/react/jsx-runtime";
3
3
  import "@kosdev-code/kos-ui-sdk";
4
- import "./dispense-registration-manager-CzAqcL8D.js";
4
+ import "./dispense-registration-manager-lJlcyq5G.js";
5
5
  import "react";
6
6
  export {
7
- o as AssemblyProvider,
8
- n as AvailabilityProvider,
9
- u as BoardContainerProvider,
10
- d as BoardProvider,
11
- l as CuiKit,
7
+ A as AssemblyProvider,
8
+ a as AvailabilityProvider,
9
+ d as BoardContainerProvider,
10
+ B as BoardProvider,
11
+ f as CuiKit,
12
12
  C as CuiKitWrapper,
13
- P as DISPENSE_GROUP_BEVERAGE,
14
- v as DISPENSE_GROUP_BRAND,
15
- y as DISPENSE_GROUP_FLAVOR,
16
- g as DeviceAssemblyProvider,
17
- m as HoldToPourIntentStrategy,
18
- I as HoldToPourStrategy,
19
- A as HolderContainerProvider,
20
- p as HolderProvider,
21
- x as IngredientContainerProvider,
22
- B as IngredientProvider,
23
- b as NozzleProvider,
24
- h as PourContext,
25
- w as PumpProvider,
26
- z as TapOrHoldIntentStrategy,
27
- H as TapToPourIntentStrategy,
28
- S as TapToPourStrategy,
29
- c as initializeCuiKit,
30
- D as useAssembly,
31
- E as useAssemblyContext,
32
- N as useAvailability,
33
- T as useAvailabilityContext,
34
- G as useBeverages,
35
- K as useBoard,
36
- R as useBoardContainer,
37
- _ as useBoardContainerContext,
38
- O as useBoardContext,
39
- f as useBrands,
40
- L as useCuiKit,
41
- U as useCuiKitTimers,
42
- F as useDefaultCuiKitLifecycle,
43
- V as useDeviceAssembly,
44
- W as useDeviceAssemblyContext,
45
- j as useDispenseLifecycle,
46
- k as useFlavors,
47
- q as useGenericPour,
48
- J as useHolder,
49
- M as useHolderContainer,
50
- Q as useHolderContainerContext,
51
- X as useHolderContext,
52
- Y as useIngredient,
53
- Z as useIngredientContainer,
54
- $ as useIngredientContainerContext,
55
- ee as useIngredientContext,
56
- ae as useIngredientPour,
57
- se as useNozzle,
58
- re as useNozzleContext,
59
- te as useNozzlePour,
60
- ie as usePourTarget,
61
- oe as usePumpContext,
62
- ne as withAssembly,
63
- ue as withBeverage,
64
- de as withBoard,
65
- le as withBoardContainer,
66
- Ce as withDeviceAssembly,
67
- Pe as withGenericPour,
68
- ve as withHolder,
69
- ye as withHolderContainer,
70
- ge as withIngredient,
71
- me as withIngredientContainer,
72
- Ie as withNozzle
13
+ G as DISPENSE_GROUP_BEVERAGE,
14
+ F as DISPENSE_GROUP_BRAND,
15
+ J as DISPENSE_GROUP_FLAVOR,
16
+ D as DeviceAssemblyProvider,
17
+ a4 as HoldToPourIntentStrategy,
18
+ a5 as HoldToPourStrategy,
19
+ j as HolderContainerProvider,
20
+ H as HolderProvider,
21
+ m as IngredientContainerProvider,
22
+ I as IngredientProvider,
23
+ N as NozzleProvider,
24
+ ab as PourContext,
25
+ P as PumpProvider,
26
+ a6 as TapOrHoldIntentStrategy,
27
+ a7 as TapToPourIntentStrategy,
28
+ a8 as TapToPourStrategy,
29
+ i as initializeCuiKit,
30
+ q as useAssembly,
31
+ u as useAssemblyContext,
32
+ r as useAvailability,
33
+ b as useAvailabilityContext,
34
+ z as useBeverages,
35
+ t as useBoard,
36
+ x as useBoardContainer,
37
+ e as useBoardContainerContext,
38
+ c as useBoardContext,
39
+ E as useBrands,
40
+ K as useCuiKit,
41
+ O as useCuiKitTimers,
42
+ L as useDefaultCuiKitLifecycle,
43
+ R as useDeviceAssembly,
44
+ g as useDeviceAssemblyContext,
45
+ M as useDispenseLifecycle,
46
+ Q as useFlavors,
47
+ a9 as useGenericPour,
48
+ T as useHolder,
49
+ V as useHolderContainer,
50
+ k as useHolderContainerContext,
51
+ h as useHolderContext,
52
+ X as useIngredient,
53
+ _ as useIngredientContainer,
54
+ n as useIngredientContainerContext,
55
+ l as useIngredientContext,
56
+ Y as useIngredientPour,
57
+ a0 as useNozzle,
58
+ o as useNozzleContext,
59
+ a2 as useNozzlePour,
60
+ a3 as usePourTarget,
61
+ p as usePumpContext,
62
+ w as withAssembly,
63
+ s as withBeverage,
64
+ v as withBoard,
65
+ y as withBoardContainer,
66
+ S as withDeviceAssembly,
67
+ aa as withGenericPour,
68
+ U as withHolder,
69
+ W as withHolderContainer,
70
+ Z as withIngredient,
71
+ $ as withIngredientContainer,
72
+ a1 as withNozzle
73
73
  };
74
74
  //# sourceMappingURL=ui.js.map
@@ -1,2 +0,0 @@
1
- "use strict";var nt=Object.defineProperty;var st=(e,t,r)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var d=(e,t,r)=>(st(e,typeof t!="symbol"?t+"":t,r),r);const i=require("@kosdev-code/kos-ui-sdk");require("react");var h=(e=>(e.IngredientLoader="kos.ingredient.loader",e.IngredientMapper="kos.ingredient.mapper",e.IngredientIndex="kos.ingredient.index",e.IngredientTypeMapper="kos.ingredient.type.mapper",e.HolderTypeMapper="kos.holder.type.mapper",e.HolderMapper="kos.holder.mapper",e.HolderIndex="kos.holder.index",e.HolderIngredientMapper="kos.holder.ingredient.mapper",e.AvailabilityMapper="kos.availability.mapper",e.AvailabilityLoader="kos.availability.loader",e.SelectedPourableMapper="kos.selected.pourable.mapper",e.AssemblyMapper="kos.assembly.mapper",e.BoardMapper="kos.board.mapper",e.BoardIndex="kos.board.index",e.PumpIndex="kos.pump.index",e.AssemblyFeatureFlags="kos.assembly.feature.flags",e))(h||{}),E=(e=>(e.Nozzle="nozzle-model",e.Availability="availability-model",e.Holder="holder-model",e.HolderContainer="holder-container-model",e.IngredientContainer="ingredient-container-model",e.Ingredient="ingredient-model",e.Pump="pump-model",e.PumpContainer="pump-container-model",e))(E||{}),at=Object.getOwnPropertyDescriptor,ot=(e,t,r,n)=>{for(var s=n>1?void 0:n?at(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=o(s)||s);return s};const w="ingredient-model";let te=class{constructor(e,{name:t,type:r,data:n,ingredientId:s,...a}){d(this,"id");d(this,"ingredientId");d(this,"name");d(this,"type");d(this,"data");this.id=e,this.ingredientId=s,this.name=t,this.type=r,this.data=n,Object.assign(this,a)}updateModel({name:e,type:t,data:r,ingredientId:n,...s}){this.name=e,this.type=t,this.ingredientId=n,this.data=r,Object.assign(this,s)}};te=ot([i.kosModel(w)],te);const se={registration:{[w]:{class:te,singleton:!1}},type:w,predicate:i.isKosModel(w),factory:i.Kos.Factory.create(w)},{URL:Ce}=i.resolveServiceUrl("INGREDIENT_SERVICE"),{getOne:dt}=i.ServiceFactory.build({basePath:`${Ce}/api/ext/dispense/ingredients`}),Re=async()=>await dt({urlOverride:`${Ce}/api/ext/dispense/ingredients`});var lt=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,we=(e,t,r,n)=>{for(var s=n>1?void 0:n?ct(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&lt(t,r,s),s};const S="ingredient-container-model",pt=i.KosLog.createLogger({name:"ingredient-container-model"});let G=class{constructor(e,t){d(this,"id");d(this,"ingredients");this.id=e,this.ingredients=new i.KosModelContainer({indexMap:{ingredientType:"type"},extensionId:h.IngredientIndex,parentId:e})}updateModel(){}getIngredientsByType(e){return this.ingredients.getIndexByKey("ingredientType",e)}async load(e){var s;pt.debug(`loading ingredient container ${this.id}`);const t=await Re();if((t==null?void 0:t.status)!==200)throw new Error("Failed to load ingredients");const r=await i.KosExtensionUtils.executeLoaderExtension({context:e,extension:h.IngredientLoader}),n=(t==null?void 0:t.data)??{};for(const a of Object.keys(n))for(const o of((s=t==null?void 0:t.data)==null?void 0:s[a])||[]){const p=await i.KosExtensionUtils.executeDataMapperExtension({extension:h.IngredientMapper,data:o,contextData:r}),c=await i.KosExtensionUtils.executePropertyMapperExtension({extension:h.IngredientTypeMapper,data:o,contextData:r}),g={...o,type:c||o.type,...p,data:p},y=se.factory(o.id)(g);this.ingredients.addModel(y)}}};we([i.kosChild],G.prototype,"ingredients",2);G=we([i.kosModel(S)],G);const ae={registration:{[S]:{class:G,singleton:!0}},type:S,predicate:i.isKosModel(S),factory:i.Kos.Singleton.create(S)},{URL:X}=i.resolveServiceUrl("HOLDER_SERVICE"),{getAll:gt,postModel:Se,deleteModel:ht}=i.ServiceFactory.build({basePath:`${X}/api/kos/holders`}),ut=i.KosLog.createLogger({name:"holder-service",group:"Services"}),yt=async()=>await gt({}),Ae=async(e,t)=>{if(!e||!t)throw new Error("Missing holderPath or ingredientId");return await Se({model:{holderPath:e,ingredientId:t},urlOverride:`${X}/api/ext/dispense/assignments`})},Te=async e=>{if(!e)throw new Error("Missing holderPath");return await ht({id:e,urlOverride:`${X}/api/ext/dispense/assignments/${e}`})},Ne=async e=>{if(!e)throw new Error("Missing holderPath");return ut.debug(`sending POST request to /api/ext/dispense/pumpEvents/replaceLine/${e}`),await Se({model:{},urlOverride:`${X}/api/ext/dispense/pumpEvents/replaceLine/${e}`})},{URL:k}=i.resolveServiceUrl("ASSIGNMENT_SERVICE"),{getAll:Pt,postModel:De,deleteModel:It}=i.ServiceFactory.build({destinationAddress:"",basePath:`${k}/api/ext/dispense/assignments`}),F=window.kosUseFos,mt=async()=>await Pt({fos:F}),Le=async(e,t)=>{var s,a,o,p;const r=JSON.stringify(t),n=`${k}/api/ext/dispense/assignments`;try{const c=await De({model:{holderPath:e,factoryJson:r},urlOverride:n});return(c==null?void 0:c.status)===200&&((s=c==null?void 0:c.data)!=null&&s.error)?[c.data.error||"unknownError",c.data]:[void 0,c==null?void 0:c.data]}catch(c){if(c instanceof i.FetchError)return[((o=(a=c.payload)==null?void 0:a.data)==null?void 0:o.error)||"unknownError",(p=c.payload)==null?void 0:p.data]}return["unknownError",void 0]},vt=async e=>{const t=F?`${k}/api/ingredients/assignments/${e.holderPath}`:`${k}/api/ext/dispense/assignments`;return await De({model:{...e,fuelGauge:680},fos:F,urlOverride:t})},ft=async e=>await It({id:e,fos:F});var Et=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,oe=(e,t,r,n)=>{for(var s=n>1?void 0:n?bt(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&Et(t,r,s),s};const A=E.Holder,be=i.KosLog.createLogger({name:"holder-model"});i.ExtensionManager[i.EXTENSION_TROUBLE_MAPPER].register("holder",async e=>{const t=[];return t.push(...e.data.holderPaths),t});i.ExtensionManager[i.EXTENSION_TROUBLE_DATA_MAPPER].register("pump",async e=>{if(e.data.pumpPath){const{model:t}=i.getKosModelSync(e.data.pumpPath);if(t){const r=t.ingredientId?i.getKosModelSync(t.ingredientId).model:void 0;return{ingredientId:t.ingredientId,ingredientName:(r==null?void 0:r.displayName)??((r==null?void 0:r.name)||""),childPumpName:t.name}}}return{}});i.ExtensionManager[i.EXTENSION_TROUBLE_DATA_MAPPER].register("holder",async e=>e.data.holderNames.length>0?{holderName:e.data.holderNames[0]||""}:{});i.ExtensionManager[i.EXTENSION_TROUBLE_DATA_MAPPER].register("container",async e=>{if(e.data.ingredients.length>0){const t=e.data.ingredients[0],{model:r}=i.getKosModelSync(t);return{ingredientName:(r==null?void 0:r.displayName)??((r==null?void 0:r.name)||""),ingredients:e.data.ingredients?e.data.ingredients:[],unknonwnIngredientId:e.data.unknonwnIngredientId??""}}return{}});class Mt extends Error{constructor(r,n){super(n);d(this,"type");this.name="AssignmentError",this.type=r}}let B=class{constructor(e,{path:t,name:r,ingredientSource:n,ingredientId:s,ingredientType:a,slice:o,group:p,data:c,enjoyByDate:g},y){d(this,"id");d(this,"path");d(this,"name");d(this,"ingredientId");d(this,"ingredientType");d(this,"ingredientSource");d(this,"group");d(this,"slice");d(this,"logger");d(this,"data");d(this,"enjoyByDate");d(this,"pumps");d(this,"ingredientContainer");this.id=e,this.path=t,this.name=r,this.ingredientType=a,this.ingredientSource=n,this.ingredientId=s,this.group=p,this.slice=o,this.enjoyByDate=g,this.data=c,this.pumps=new i.KosModelContainer({parentId:e,sortKey:"path"}),this.logger=y.logger}updateModel({path:e,name:t,ingredientSource:r,ingredientId:n,ingredientType:s,group:a,slice:o,enjoyByDate:p,data:c}){this.path=e,this.name=t,this.ingredientId=n,this.ingredientType=s,this.ingredientSource=r,this.enjoyByDate=p,this.slice=o,this.group=a,this.data=c}get hasEnjoyByDate(){return!!this.enjoyByDate&&!this.unassigned}get hasEnjoyByWarning(){var e;return((e=this.troublesByType.EnjoyByTrouble)==null?void 0:e.length)>0}get nozzlePaths(){return this.pumps.data.map(e=>e.nozzlePath)}async cancelPour(){await Promise.all(this.pumps.data.filter(e=>e.isPouring).map(e=>e.cancelPour()))}get canPour(){return!this.shouldDefer&&this.pumps.data.every(e=>e.canPour)}get isPouring(){const e=this.pumps.data.some(t=>t.isPouring);return this.logger.debug(`isPouring: ${!!e}`),e}async performIntent(e){const t=typeof e=="string"?e:e.intent,r=typeof e=="string"?void 0:e.pumpPath,n=r?this.pumps.getModel(r):this.pumps.data[0];return n==null?void 0:n.performIntent({intent:t})}get pourState(){return this.pumps.data.reduce((t,r)=>r.pouringState?r.pouringState:t,"")}get nozzlePath(){var e;return(e=this.pumps.data[0])==null?void 0:e.nozzlePath}get pumpPaths(){return this.pumps.data.map(e=>e.id)}get sortedPumps(){return this.pumps.data.sort((e,t)=>e.virtual&&!t.virtual?-1:!e.virtual&&t.virtual?1:e.name.localeCompare(t.name))}get ingredient(){var t;return this.ingredientId?(t=this.ingredientContainer)==null?void 0:t.ingredients.getModel(this.ingredientId):void 0}get ingredientName(){return this.ingredient?this.ingredient.displayName??this.ingredient.name:this.ingredientId?"unknown":""}get previousIngredient(){var t;return this.prevIngredientId?(t=this.ingredientContainer)==null?void 0:t.ingredients.getModel(this.prevIngredientId):void 0}get previousIngredientName(){return this.previousIngredient?this.previousIngredient.displayName??this.previousIngredient.name:this.prevIngredientId?"unknown":""}get prevIngredientId(){var e,t;return(t=(e=this.pumps.data)==null?void 0:e[0])==null?void 0:t.prevIngredientId}get unassigned(){return(!this.ingredientId||this.ingredientId==="0")&&(!this.prevIngredientId||this.prevIngredientId==="0")}get removed(){return(!this.ingredientId||this.ingredientId==="0")&&this.prevIngredientId!==void 0&&this.prevIngredientId!=="0"}get maxVolume(){return this.slice.maxVolMl??0}get remainingVolume(){return this.slice.currentVolMl??0}get hasMaxVolume(){return this.slice.maxVolMl!==void 0}get hasRemainingVolume(){return this.slice.currentVolMl!==void 0}get fillPercent(){return this.remainingVolume<=0?0:Math.floor((this.remainingVolume||1)/(this.maxVolume||1)*100)}get hasFuelGuage(){return this.hasMaxVolume&&this.hasRemainingVolume}updateIngredient(e){this.ingredientId!==e&&i.kosAction(()=>{this.ingredientId=e})}async resolveIntentVolume(e){const t=this.pumps.data[0];return t?t.resolveIntentVolume(e):{volume:-1}}async overrideRfidCode(e){if(!e)throw new Error("Invalid override");try{const[t,r]=await Le(this.path,e);if(t)throw new Mt(t,`Failed to perform rfid override on holder ${this.id}`);return i.kosAction(()=>{this.ingredientId=r==null?void 0:r.ingredientId}),r}catch(t){throw be.error(`Failed to perform rfid override on holder ${this.id}`,t),t}}async assignIngredient(e){try{e?await Ae(this.path,e):await Te(this.path),i.kosAction(()=>{this.ingredientId=e})}catch(t){throw be.error(`Failed to perform assign ingredient to holder ${this.id}`,t),t}}get shouldDefer(){return this.troubles.some(e=>e.shouldDefer)}async replaceLine(){await Ne(this.path)}};oe([i.kosChild],B.prototype,"pumps",2);oe([i.kosDependency({modelType:ae.type})],B.prototype,"ingredientContainer",2);B=oe([i.kosModel(A),i.kosTroubleAware()],B);const de={registration:{[A]:{class:B,singleton:!1}},type:A,predicate:i.isKosModel(A),factory:i.Kos.Factory.create(A)},_t=async(e,t)=>{var Ee;const r=i.ExtensionManager.propertyMapper.executeMapper(h.HolderIngredientMapper,t),n=i.ExtensionManager.propertyMapper.executeMapper(h.HolderTypeMapper,t)||t.ingType,s=await i.KosExtensionUtils.executeDataMapperExtension({extension:h.HolderMapper,data:t,contextData:{}}),{name:a,path:o,ingredientId:p,ingType:c,ingSource:g,slice:y,...R}=t,u={...R,...s},v=y||{pos:0},b={name:a,path:o,ingredientId:r||p,ingredientType:n||c,ingredientSource:g,enjoyByDate:(Ee=t.container)!=null&&Ee.enjoyByDate?new Date(t.container.enjoyByDate):void 0,slice:v,group:e,data:u};return de.factory(t.path)(b)},{URL:Ot}=i.resolveServiceUrl("ASSEMBLY_SERVICE"),{getOne:Ct}=i.ServiceFactory.build({basePath:`${Ot}/api/kos/device/assemblies`}),Rt=i.KosLog.createLogger({name:"assembly-service",group:"Services"}),le=async()=>(Rt.debug("sending GET for assembly"),await Ct({}));var wt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,Z=(e,t,r,n)=>{for(var s=n>1?void 0:n?St(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&wt(t,r,s),s};const T="board-container-model",ce="/kos/hardware/board/linked",pe="/kos/hardware/board/unlinked";exports.BoardContainerModel=class{constructor(t,r,n){d(this,"id");d(this,"logger");d(this,"models");this.id=t,this.logger=n.logger,this.models=new i.KosModelContainer({parentId:t,extensionId:h.BoardIndex})}get boardList(){return this.models.data}updateModel(){}addModel(t){this.models.addModel(t)}removeModel(t){this.models.removeModel(t)}updateBoard(t){const r=t.path,n=this.models.getModel(r);if(!n){this.logger.warn(`board ${r} not found`);return}n.updateModel(t)}handleBoardLinkEvent(t){this.logger.debug(`handling ${ce} event ${t}`),t?this.updateBoard(t):this.logger.debug("- boardLinkEvent is undefined")}handleBoardUnlinkEvent(t){this.logger.debug(`handling ${pe} event ${t}`),t?this.updateBoard(t):this.logger.debug("- boardLinkEvent is undefined")}};Z([i.kosChild],exports.BoardContainerModel.prototype,"models",2);Z([i.kosTopicHandler({lifecycle:i.DependencyLifecycle.INIT,topic:ce,websocket:!0})],exports.BoardContainerModel.prototype,"handleBoardLinkEvent",1);Z([i.kosTopicHandler({lifecycle:i.DependencyLifecycle.INIT,topic:pe,websocket:!0})],exports.BoardContainerModel.prototype,"handleBoardUnlinkEvent",1);exports.BoardContainerModel=Z([i.kosModel(T)],exports.BoardContainerModel);const At=async e=>{const t=e.data.boardPath,{model:r}=i.getKosModelSync(t);return{boardName:(r==null?void 0:r.name)||""}};var Tt=Object.defineProperty,Nt=Object.getOwnPropertyDescriptor,$e=(e,t,r,n)=>{for(var s=n>1?void 0:n?Nt(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&Tt(t,r,s),s};const N=E.PumpContainer;var ge=(e=>(e.byBoard="byBoard",e.byType="byType",e.byNozzle="byNozzle",e))(ge||{});let j=class{constructor(e,t){d(this,"id");d(this,"pumps");this.id=e,this.pumps=new i.KosModelContainer({indexMap:{byNozzle:r=>r.nozzlePaths,byBoard:r=>r.boardPath,byType:"type"},parentId:e,extensionId:h.PumpIndex})}get pumpModels(){return this.pumps.data}get pumpPaths(){return this.pumpModels.map(e=>e.path)}addModel(e){this.pumps.addModel(e)}removeModel(e){this.pumps.removeModel(e)}getModel(e){return this.pumps.getModel(e)}get models(){return this.pumps}get data(){return this.pumps.data}updateModel(){}async load(){}};$e([i.kosChild],j.prototype,"pumps",2);j=$e([i.kosModel(N)],j);const q={registration:{[N]:{class:j,singleton:!0}},type:N,predicate:i.isKosModel(N),factory:i.Kos.Singleton.create(N)},Ue=async e=>{const t=[],{model:r}=await i.getKosModel(e);return r&&(t.push(r.boardPath),t.push(r.nozzlePath),t.push(r.holderPath)),t},Dt=async e=>{const t=[],r=e.data.pumpPath;t.push(r);const n=await Ue(r);return[...t,...n]},Lt=async e=>{const t=[],r=e.data.boardPath;t.push(e.data.boardPath);const n=await i.getKosModel(q.type);if(n!=null&&n.model){const a=n.model.models.getIndexByKey(ge.byBoard,r).map(p=>Ue(p.path));(await Promise.allSettled(a)).forEach(p=>{p.status==="fulfilled"&&p.value.forEach(c=>t.push(c))})}return Array.from(new Set(t))};var $t=Object.getOwnPropertyDescriptor,Ut=(e,t,r,n)=>{for(var s=n>1?void 0:n?$t(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=o(s)||s);return s};const D="board-model",Me=(e,t)=>{const{type:r,name:n,path:s,linked:a,instanceId:o,link:p,...c}=e;t.type=r,t.name=n,t.path=s,t.linked=a,t.link=Object.freeze(p),t.instanceId=o,Object.assign(t,c)};i.ExtensionManager[i.EXTENSION_TROUBLE_MAPPER].register("board",Lt);i.ExtensionManager[i.EXTENSION_TROUBLE_DATA_MAPPER].register("board",At);let re=class{constructor(e,t,r){d(this,"id");d(this,"type");d(this,"name");d(this,"path");d(this,"linked");d(this,"instanceId");d(this,"logger");this.id=e,this.logger=r.logger,Me(t,this)}updateModel(e){Me(e,this)}async init(){this.logger.debug(`initializing board ${this.id}`)}async load(){this.logger.debug(`loading board ${this.id}`)}};re=Ut([i.kosModel(D)],re);const he={registration:{[D]:{class:re,singleton:!1}},type:D,predicate:i.isKosModel(D),factory:i.Kos.Factory.create(D)},ue={registration:{[T]:{class:exports.BoardContainerModel,singleton:!0},...he.registration},type:T,predicate:i.isKosModel(T),factory:i.Kos.Singleton.create(T)};var xt=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,J=(e,t,r,n)=>{for(var s=n>1?void 0:n?zt(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&xt(t,r,s),s};const L=E.HolderContainer,Bt="/kos/insertion/insert/start",Kt="/kos/insertion/insert/complete",Gt="/kos/insertion/insert/update",kt="/kos/insertion/remove",Ft="/kos/pumpEvent/replaceLine",jt="/kos/handle/*";let O=class{constructor(e,t,r){d(this,"id");d(this,"holders");d(this,"logger");this.id=e,this.holders=new i.KosModelContainer({indexMap:{nozzle:n=>n.nozzlePaths,group:"group"},parentId:e,extensionId:h.HolderIndex}),this.logger=r.logger}updateModel(){}handleHolderEvents(e){var r,n,s;i.KosLog.ifDebug(()=>this.logger.debug("Received holder change event",JSON.stringify(e)));const t=this.holders.getModel(e.path);t&&(this.logger.info(`Received change event for holder ${t.path}. Updating fuel gauge data.`),t.slice.currentVolMl=(r=e.slice)==null?void 0:r.currentVolMl,t.slice.maxVolMl=(n=e.slice)==null?void 0:n.maxVolMl,(s=e==null?void 0:e.container)!=null&&s.enjoyByDate?t.enjoyByDate=new Date(e.container.enjoyByDate):t.enjoyByDate=void 0)}handleInsertion(e){i.KosLog.ifDebug(()=>this.logger.debug("Received insertion event",JSON.stringify(e))),(Array.isArray(e)?e:[e]).forEach(r=>{i.kosAction(()=>{var a,o,p;const n=r.ingredientId,s=this.holders.getModel(r.path);s&&(this.logger.info(`Received insertion event for holder ${s.path}`),s.updateIngredient(n),s.slice.currentVolMl=(a=r.slice)==null?void 0:a.currentVolMl,s.slice.maxVolMl=(o=r.slice)==null?void 0:o.maxVolMl,(p=r==null?void 0:r.container)!=null&&p.enjoyByDate?s.enjoyByDate=new Date(r.container.enjoyByDate):s.enjoyByDate=void 0,r.pumps.forEach(c=>{i.kosAction(()=>{const g=s.pumps.getModel(c.path);g&&(g.ingredientId=c.ingredientId,g.inserted=c.inserted,g.prevIngredientId=c.prevIngredientId)})}))})})}};J([i.kosChild],O.prototype,"holders",2);J([i.kosTopicHandler({topic:jt,websocket:!0,condition:(e,t)=>t.holders.getModel(e.path)!==void 0})],O.prototype,"handleHolderEvents",1);J([i.kosTopicHandler({topic:[Bt,Kt,Gt,kt,Ft],websocket:!0})],O.prototype,"handleInsertion",1);O=J([i.kosModel(L)],O);const ye={registration:{[L]:{class:O,singleton:!0}},type:L,predicate:i.isKosModel(L),factory:i.Kos.Singleton.create(L)},Ht=i.KosLog.createLogger({name:"board-utils"}),Vt=async e=>{const t=await i.KosExtensionUtils.executeDataMapperExtension({extension:h.BoardMapper,data:e,contextData:{}}),{type:r,name:n,path:s,linked:a,instanceId:o,...p}=e,c={...p,...t},g={type:r,name:n,path:s,linked:a,instanceId:o,...c},y=he.factory(e.path)(g);return y.updateModel(g),y},Yt=e=>async t=>{Ht.debug(`adding board ${t.name}`);const r=await Vt(t);e.addModel(r)};var l=(e=>(e.IDLE="IDLE",e.POURING="POURING",e.POUR_STARTING="POUR_STARTING",e.POUR_CANCELING="POUR_CANCELING",e))(l||{});const{URL:Pe}=i.resolveServiceUrl("PUMP_SERVICE"),{postModel:Xt,getOne:Zt}=i.ServiceFactory.build({basePath:`${Pe}/api/kos/holders`});i.KosLog.createLogger({name:"pump-service",group:"Services"});const xe=async({intent:e,pumpId:t,tracker:r})=>{const n=`${Pe}/api/ext/dispense/nozzle/nozzle/pipeline/ingredient/pour/${t}/${e}`,s=await Xt({model:{},urlOverride:n,tracker:r});return s!=null&&s.data&&i.FutureManager.initiateFuture(s.data),s},ze=async(e,t)=>{const r=`${Pe}/api/ext/dispense/nozzle/nozzle/pipeline/ingredient/intent/${e}/${t}/volume`,n=await Zt({urlOverride:r});return n!=null&&n.data?n.data:{volume:-1}};var qt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,Be=(e,t,r,n)=>{for(var s=n>1?void 0:n?Jt(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&qt(t,r,s),s};const $=E.Pump;i.ExtensionManager[i.EXTENSION_TROUBLE_MAPPER].register("pump",Dt);let H=class{constructor(e,t){d(this,"id");d(this,"inserted");d(this,"type");d(this,"virtual");d(this,"ingredientId");d(this,"holderPath");d(this,"boardPath");d(this,"nozzlePath");d(this,"childPump");d(this,"name");d(this,"path");d(this,"prevIngredientId");d(this,"state");d(this,"futureHandler");d(this,"currentState",l.IDLE);this.id=e;const{inserted:r,holderPath:n,boardPath:s,nozzlePath:a,name:o,path:p,childPump:c,virtual:g,prevIngredientId:y,state:R,...u}=t;this.inserted=r,this.type=t.type,this.ingredientId=t.ingredientId,this.holderPath=n,this.boardPath=s,this.nozzlePath=a,this.name=o,this.path=p,this.childPump=!!c,this.virtual=!!g,this.prevIngredientId=y,this.state=R,Object.assign(this,u),this.futureHandler=new i.FutureHandler(this)}updateModel(e){const{inserted:t,holderPath:r,boardPath:n,nozzlePath:s,childPump:a,name:o,path:p,...c}=e;this.inserted=t,this.type=e.type,this.ingredientId=e.ingredientId,this.holderPath=r,this.boardPath=n,this.nozzlePath=s,this.childPump=this.childPump?this.childPump:!!a,this.name=o,this.path=p,this.prevIngredientId=e.prevIngredientId,Object.assign(this,c)}get pouringState(){var e;return((e=this.future)==null?void 0:e.endState)||""}get isPouring(){var e;return!!(this.future&&!((e=this.future)!=null&&e.endState))||this.currentState===l.POUR_STARTING||this.currentState===l.POURING}get canPour(){return!!this.ingredientId&&!this.isPouring}onFutureUpdate(e){e.endState&&i.kosAction(()=>{this.currentState=l.IDLE})}async cancelPour(){var e;this.currentState===l.POURING||this.currentState===l.POUR_STARTING?(this.currentState=l.POUR_CANCELING,await((e=this.future)==null?void 0:e.cancelFuture()),i.kosAction(()=>{this.currentState=l.IDLE})):i.KosLog.warn(`Cannot cancel pour in state ${this.currentState}`)}get future(){return this.futureHandler.future}async resolveIntentVolume(e){return await ze(this.path,e)}async performIntent(e,t){const r=typeof e=="string"?e:e.intent;if(!r)throw new Error("No intent provided");try{if(this.currentState===l.IDLE){if(this.currentState=l.POUR_STARTING,!t)throw new Error("No tracker provided");const n=await xe({tracker:t,intent:r,pumpId:this.path});return this.currentState===l.POUR_STARTING&&i.kosAction(()=>{this.currentState=l.POURING}),n==null?void 0:n.data}else throw new Error(`Cannot pour in state ${this.currentState}`)}catch(n){throw i.KosLog.error(n),this.currentState=l.IDLE,n}}};Be([i.kosFuture()],H.prototype,"performIntent",1);H=Be([i.kosModel($)],H);const Ie={registration:{[$]:{class:H,singleton:!1}},type:$,predicate:i.isKosModel($),factory:i.Kos.Factory.create($)},_e=i.KosLog.createLogger({name:"pump-utils"}),Wt=(e,t)=>{const r=(t.pumps??[]).length>1,n={boardPath:t.boardPath,holderPath:t.holderPath,ingredientId:t.ingredientId,childPump:!!t.childPump,virtual:r,inserted:t.inserted,name:t.name,path:t.path,type:t.type,nozzlePath:e,prevIngredientId:t.prevIngredientId,state:t.state},s=Ie.factory(t.path)(n);return s.updateModel(n),s},Ke=e=>t=>r=>n=>{var s;try{_e.debug(`adding pump ${n.name}`);const a=Wt(r.path,n);e.addModel(a);const o=a.holderPath,p=t.holders.getModel(o);p==null||p.pumps.addModel(a),p!=null&&p.nozzlePaths.includes(r.path)||p==null||p.nozzlePaths.push(r.path),(s=n==null?void 0:n.pumps)==null||s.forEach(c=>{const g=a.holderPath,y={...c,childPump:!0,holderPath:g,ingredientId:a.ingredientId};Ke(e)(t)(r)(y)})}catch(a){throw _e.error(`Error mapping assembly pump: ${a}`),a}};var Qt=Object.defineProperty,er=Object.getOwnPropertyDescriptor,K=(e,t,r,n)=>{for(var s=n>1?void 0:n?er(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&Qt(t,r,s),s};const U="assembly-model",Ge="assembly-data",ke="assembly-raw-data";let M=class{constructor(e,t,r){d(this,"id");d(this,"_nozzlePaths",new Set);d(this,"troubleContainer");d(this,"holderContainer");d(this,"boardContainer");d(this,"pumpContainer");d(this,"logger");this.id=e,this.holderContainer=ye.factory({}),this.boardContainer=ue.factory({}),this.pumpContainer=q.factory({}),this.logger=r.logger}updateModel(e){}get allHolders(){return this.holderContainer.holders.data}get holderGroups(){return this.holderContainer.holders.getIndexKeys("group")}get nozzlePaths(){return Array.from(this._nozzlePaths)}getHoldersByGroup(e){return this.holderContainer.holders.getIndexByKey("group",e)}getHoldersByNozzle(e){return this.holderContainer.holders.getIndexByKey("nozzle",e)}get pumpsByNozzle(){return this.pumpContainer.models.idx.byNozzle}get pumpPaths(){return this.pumpContainer.models.data.map(e=>e.path)}get boards(){return this.boardContainer.boardList}async init(){this.logger.debug(`initializing assembly ${this.id}`)}async ready(){var e;(e=this.troubleContainer)==null||e.troubles.increment(),i.ExtensionManager[i.EXTENSION_FEATURE_FLAG_RESOLVER].execute(h.AssemblyFeatureFlags,this)}async load(e){this.logger.debug(`loading assembly ${this.id}`);const t=await le();if((t==null?void 0:t.status)===200){const r=await i.KosExtensionUtils.executeDataMapperExtension({extension:h.AssemblyMapper,data:t.data,contextData:{}});e.set(Ge,r),Object.assign(this,r),Object.entries(r).forEach(([n,s])=>{i.isKosDataModel(s)&&(this.logger.debug(`adding child model ${n} from extension data`),this[i.ChildModels][n]=!0)}),e.set(ke,t.data);for await(const n of t.data.assemblies){const{boards:s=[],holders:a={},nozzles:o=[],core:p,name:c,path:g,...y}=n;this.logger.debug(`adding assembly ${c}`),this.logger.warn(`Assembly rest keys: ${Object.keys(y).join(", ")}`),Object.keys(y).forEach(u=>{var v;if(this.logger.warn(`Enabling feature flag: ${u}`),i.KosFeatureFlags.enableFeature(u),e.set(`assembly-feature-${u}`,y[u]),((v=y[u].state)==null?void 0:v.path)!==void 0){const b=y[u].state.path;this.logger.warn(`Feature flag ${u} state path: ${b}`),e.set(`assembly-state-path-${u}`,b)}});for await(const u of s)this.logger.debug(`adding board ${u.name}`),await Yt(this.boardContainer)(u);for await(const[u,v]of Object.entries(a??{}))for await(const b of v){this.logger.debug(`adding holder ${b.name}`);const fe=await _t(u,b);this.holderContainer.holders.addModel(fe)}const R=Ke(this.pumpContainer)(this.holderContainer);o.forEach(u=>{this._nozzlePaths.add(u.path);const v=R(u);u.pumps.forEach(v)})}}}};K([i.kosDependency({modelType:"trouble-container-model"})],M.prototype,"troubleContainer",2);K([i.kosChild],M.prototype,"holderContainer",2);K([i.kosChild],M.prototype,"boardContainer",2);K([i.kosChild],M.prototype,"pumpContainer",2);M=K([i.kosModel(U)],M);const me={registration:{[U]:{class:M,singleton:!0}},type:U,predicate:i.isKosModel(U),factory:i.Kos.Singleton.create(U)};var tr=Object.getOwnPropertyDescriptor,rr=(e,t,r,n)=>{for(var s=n>1?void 0:n?tr(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=o(s)||s);return s};const x=E.Availability;let ie=class{constructor(e,t,r){d(this,"id");d(this,"data");d(this,"properties");d(this,"available");d(this,"visible");d(this,"groupId");d(this,"rawId");d(this,"altId");d(this,"type");d(this,"note");d(this,"taggedIds");d(this,"parentId");d(this,"logger");this.id=e,this.taggedIds=t.taggedIds||[],this.logger=r.logger,this.available=t.available,this.visible=t.visible,this.groupId=t.groupId,this.rawId=t.rawId,this.altId=t.altId,this.type=t.type,this.parentId=t.kosParentId,this.data=t.data,this.note=t.note,this.properties=t.properties||{}}updateModel(e){this.taggedIds=e.taggedIds||[],this.available=e.available,this.visible=e.visible,this.groupId=e.groupId,this.rawId=e.rawId,this.altId=e.altId,this.type=e.type,this.data=e.data}updateAvailability(e){this.available=e}};ie=rr([i.kosParentAware(),i.kosModel(x)],ie);const V={registration:{[x]:{class:ie,singleton:!1}},type:x,predicate:i.isKosModel(x),factory:i.Kos.Factory.create(x)},{URL:C}=i.resolveServiceUrl("NOZZLE_SERVICE"),{postModel:ve,deleteModel:ir,getOne:nr}=i.ServiceFactory.build({basePath:`${C}/api/nozzle`}),Fe=async(e,t)=>{const r=await ve({model:{},urlOverride:`${C}/api/ext/dispense/nozzle/${e}/pipeline/beverage/pour`,ordered:!0,tracker:t});return r!=null&&r.data&&i.FutureManager.initiateFuture(r.data),r},je=async(e,t,r)=>{const n=await ve({model:{},urlOverride:`${C}/api/ext/dispense/nozzle/${t}/pipeline/beverage/fixed/${e}`,ordered:!0,tracker:r});return n!=null&&n.data&&i.FutureManager.initiateFuture(n.data),n},He=async e=>await nr({urlOverride:`${C}${e}/pipeline/beverage/availability`}),Ve=async(e,t)=>await ve({model:t,urlOverride:`${C}/api/ext/dispense/nozzle/${e}/pipeline/beverage/select`}),Ye=async e=>await ir({id:e,urlOverride:`${C}/api/ext/dispense/nozzle/${e}/pipeline/beverage/select`});var sr=Object.defineProperty,ar=Object.getOwnPropertyDescriptor,m=(e,t,r,n)=>{for(var s=n>1?void 0:n?ar(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&sr(t,r,s),s};const z=E.Nozzle,or=i.createPropKey("beverageTopicPrefix"),Q=e=>e.onPourStart!==void 0&&e.onPourCancel!==void 0&&e.onPourProgress!==void 0,Oe="/kos/nozzle/pour/started",dr="/kos/nozzle/pour/progress",lr="/kos/nozzle/pour/cancel";let P=class{constructor(e,t){d(this,"id");d(this,"path");d(this,"name");d(this,"_selectedBeverage");d(this,"_selectedBrand");d(this,"_additionalItems");d(this,"_availabilityItems");d(this,"futureHandler");d(this,"beverageTopicPrefix");d(this,"topicPrefix");d(this,"urlPrefix");this.id=e,this.path=t.path,this.name=t.name,this.beverageTopicPrefix=t.beverageTopicPrefix,this.topicPrefix=t.topicPrefix,this.urlPrefix=t.urlPrefix,this._selectedBeverage=void 0,this._selectedBrand=void 0,this._additionalItems=[],this.futureHandler=new i.MultipleFutureHandler(this),this._availabilityItems=new i.KosModelContainer({indexMap:{byGroup:"groupId",byParent:"parentId"},parentId:e})}get beverages(){return this._availabilityItems.getIndexByKey("byGroup","beverages")}get brands(){return this._availabilityItems.getIndexByKey("byGroup","brands")}get visibleBrands(){return this.brands.filter(e=>e.visible)}get visibleBeverages(){return this.beverages.filter(e=>e.visible)}get isPouring(){var e;return!!(this.futureHandler.getFuture()&&!((e=this.futureHandler.getFuture())!=null&&e.endState))||this.currentState===l.POUR_STARTING||this.currentState===l.POURING||this.currentState===l.POUR_CANCELING}get canPour(){return!!this._selectedBeverage&&this._selectedBeverage.available&&this.currentState===l.IDLE}get selectedPourable(){return{beverage:this._selectedBeverage,additional:this._additionalItems}}get future(){return this.futureHandler.getFuture()}get pourProgress(){var e;return((e=this.future)==null?void 0:e.progress)??0}updateModel(){}setSelectedBrand(e,t){t&&this.logger.debug("context is currenty being ignored when setting brand"),this._selectedBrand=e,this._selectedBeverage=void 0}get selectedBrand(){return this._selectedBrand}async setSelectedPourable({beverage:e,additional:t,context:r},n=!1){if(!e){const c=await Ye(this.name);if((c==null?void 0:c.status)!==200)throw new Error("Failed to clear pourable");this._selectedBeverage=void 0;return}if(!n&&e===this._selectedBeverage&&i.arraysEqual(this._additionalItems,t)){this.logger.info("No change in selected pourable");return}this._selectedBeverage=e,this._additionalItems=t;let s;try{s=await i.ExtensionManager.dataMapper.executeMapper(h.SelectedPourableMapper,{beverage:e,additional:t,context:r})}catch(c){this.logger.error(`Error executing SelectedPourableMapper, falling back to default payload. Error: ${c}`),s=void 0}const a={bevId:e.rawId};(!s||Object.keys(s).length===0)&&(this.logger.info(`No selected pourable mapper defined, using the default payload ${a}`),s=a);const o=s??a,p=await Ve(this.name,o);if((p==null?void 0:p.status)!==200)throw new Error("Failed to select pourable")}getGroupAvailabilityItems(e){return this._availabilityItems.getIndexByKey("byGroup",e)}getAvailabilityByParent(e){return this._availabilityItems.getIndexByKey("byParent",e)}handlePouringStart(){this.logger.info("Pour started"),i.getAllKosCompanionModels(this).forEach(e=>{var t;Q(e)&&((t=e.onPourStart)==null||t.call(e))})}handlePouringEnd(){this.logger.info("Pour ended")}handleCancelStart(){this.logger.info("Pour canceling")}handleCanceled(){this.logger.info("Pour canceled"),i.getAllKosCompanionModels(this).forEach(t=>{var r;Q(t)&&((r=t.onPourCancel)==null||r.call(t))});const e={nozzleId:this.id};i.EventBus.publish(lr,e)}onFutureUpdate(e){i.getAllKosCompanionModels(this).forEach(n=>{Q(n)&&n.onPourProgress(e)});const r={nozzleId:this.id,progress:e.progress,status:e.status,clientData:e.clientData,futureId:e.futureId,remainingTimeMs:e.remainingTimeMs,endState:e.endState,reason:e.reason,timeRemaining:e.timeRemaining};i.EventBus.publish(dr,r),e.endState&&i.kosAction(()=>{this.currentState===l.POURING&&this.transition("POUR_COMPLETED")})}async pour(e){var t;try{if(this.transition("START_POUR"),!e)throw new Error("No tracker provided");const r=await Fe(this.name,e);this.transition("POUR_ACTIVE");const n={nozzleId:this.id,type:"free"};return i.EventBus.publish(Oe,n),(t=r==null?void 0:r.data)!=null&&t.endState&&this.transition("POUR_COMPLETED"),r}catch(r){throw this.logger.error(r),this.currentState!==l.IDLE&&this.transition("POUR_COMPLETED"),r}}async fixedPour(e,t){var r;try{if(this.transition("START_POUR"),!t)throw new Error("No tracker provided");const n=await je(e,this.name,t);this.transition("POUR_ACTIVE");const s={nozzleId:this.id,type:"fixed"};return i.EventBus.publish(Oe,s),(r=n==null?void 0:n.data)!=null&&r.endState&&this.transition("POUR_COMPLETED"),n}catch(n){throw this.logger.error(n),this.currentState!==l.IDLE&&this.transition("POUR_COMPLETED"),n}}async cancelPour(){var e;this.transition("CANCEL_POUR"),await((e=this.futureHandler.getFuture())==null?void 0:e.cancelFuture()),this.transition("POUR_CANCELED")}updateGroupMembers(){this._availabilityItems.data.forEach(e=>{(e.taggedIds||[]).forEach(r=>{const n=this._availabilityItems.data.find(s=>s.rawId===r);n&&n.parentId!==e.id&&(n.parentId=e.id,this._availabilityItems.updateModel(n))})})}async load(e){var n,s;this.logger.debug(`loading nozzle ${this.id}`);const t=await He(this.urlPrefix);if((t==null?void 0:t.status)!==200)throw new Error("Failed to load nozzle availability");const r=await i.ExtensionManager.loader.executeLoader(h.AvailabilityLoader,{});e==null||e.set(h.AvailabilityLoader,r),e==null||e.set(W.type,this);for(const a of Object.keys((n=t.data)==null?void 0:n.groups)||[])for(const o of((s=t.data)==null?void 0:s.groups[a])||[]){const p=await i.ExtensionManager.dataMapper.executeMapper(h.AvailabilityMapper,{...o,groupId:a},r),c={...o,note:o.note??void 0,kosParentId:this.id,rawId:o.id,groupId:a,data:p,properties:o.properties||{}},g=V.factory(`${this.id}-${a}-${o.id}`)(c);this._availabilityItems.addModel(g)}this.updateGroupMembers()}async updateAvailability(e){const t=i.KosContextManager.getContext(this.id),r=(t==null?void 0:t.get(h.AvailabilityLoader))||{};if(e.rebuild)for(const n of Object.keys(e==null?void 0:e.groups)||[]){this._availabilityItems.getIndexByKey("group",n).filter(a=>!e.groups[n].find(o=>`${this.id}-${n}-${o.id}`===a.id)).forEach(a=>{this._availabilityItems.removeModel(a.id),i.destroyKosModel(a)});for(const a of(e==null?void 0:e.groups[n])||[]){const o=await i.ExtensionManager.dataMapper.executeMapper(h.AvailabilityMapper,{...a,groupId:n},r),p={...a,note:a.note??void 0,kosParentId:this.id,groupId:n,rawId:a.id,data:o,taggedIds:a.taggedIds,properties:a.properties||{}},c=this._availabilityItems.getModel(`${this.id}-${n}-${a.id}`);if(c)c.updateModel(p);else{const g=V.factory(`${this.id}-${n}-${a.id}`)(p);this._availabilityItems.addModel(g)}}}else for(const n of Object.keys(e==null?void 0:e.groups)||[])for(const s of(e==null?void 0:e.groups[n])||[]){const a=await i.ExtensionManager.dataMapper.executeMapper(h.AvailabilityMapper,{...s,groupId:n},r),o={...s,note:s.note??void 0,kosParentId:this.id,groupId:n,rawId:s.id,data:a,type:s.type,taggedIds:s.taggedIds,properties:s.properties||{}},p=this._availabilityItems.getModel(`${this.id}-${n}-${s.id}`);p&&p.updateModel(o)}this.updateGroupMembers()}};m([i.kosChild],P.prototype,"_availabilityItems",2);m([i.kosStateEntry(l.POURING)],P.prototype,"handlePouringStart",1);m([i.kosStateExit(l.POURING)],P.prototype,"handlePouringEnd",1);m([i.kosStateEntry(l.POUR_CANCELING)],P.prototype,"handleCancelStart",1);m([i.kosStateExit(l.POUR_CANCELING)],P.prototype,"handleCanceled",1);m([i.kosFuture(),i.kosStateGuard({allowedStates:[l.IDLE]})],P.prototype,"pour",1);m([i.kosFuture(),i.kosStateGuard({allowedStates:[l.IDLE]})],P.prototype,"fixedPour",1);m([i.kosStateGuard({allowedStates:[l.POUR_STARTING,l.POURING]})],P.prototype,"cancelPour",1);m([i.kosTopicHandler({topic:`${or}/availability`,websocket:!0})],P.prototype,"updateAvailability",1);P=m([i.kosModel({modelTypeId:z,singleton:!1}),i.kosLoggerAware(),i.kosStateMachine({initial:l.IDLE,initializeAt:i.DependencyLifecycle.READY,states:{[l.IDLE]:{on:{START_POUR:l.POUR_STARTING}},[l.POUR_STARTING]:{on:{POUR_ACTIVE:l.POURING,CANCEL_POUR:l.POUR_CANCELING,POUR_COMPLETED:l.IDLE}},[l.POURING]:{on:{CANCEL_POUR:l.POUR_CANCELING,POUR_COMPLETED:l.IDLE}},[l.POUR_CANCELING]:{on:{POUR_CANCELED:l.IDLE}}}},{trackHistory:!1,throwOnInvalid:!1})],P);const W={registration:{[z]:{class:P,singleton:!1}},type:z,predicate:i.isKosModel(z),factory:i.Kos.Factory.create(z)};var cr=Object.defineProperty,pr=Object.getOwnPropertyDescriptor,Xe=(e,t,r,n)=>{for(var s=n>1?void 0:n?pr(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&cr(t,r,s),s};const Ze="device-assembly-model";let Y=class{constructor(e,t,r){d(this,"id");d(this,"deviceNozzles");d(this,"logger");this.id=e,this.logger=r.logger,this.deviceNozzles=new i.KosModelContainer}async init(){this.logger.debug(`initializing device-assembly ${this.id}`)}getNozzle(e){return this.deviceNozzles.getModel(e)}get nozzlePaths(){return this.deviceNozzles.data.map(e=>e.path)}async load(){this.logger.debug(`loading device-assembly ${this.id}`);const e=await le();(e==null?void 0:e.status)===200&&e.data.assemblies.map(r=>r.nozzles??[]).flat().forEach(r=>{var o;const n=r.path,s=((o=r.pipelines.find(p=>p.name==="beverage"))==null?void 0:o.topicPrefix)||"",a=W.factory(n)({path:r.path,name:r.name,urlPrefix:r.urlPrefix,topicPrefix:r.topicPrefix,beverageTopicPrefix:s});this.deviceNozzles.addModel(a)})}};Xe([i.kosChild],Y.prototype,"deviceNozzles",2);Y=Xe([i.kosModel(Ze)],Y);const qe=new i.SingletonKosModelRegistrationFactory({class:Y,type:Ze}),{URL:Je}=i.resolveServiceUrl("GENERIC_POUR_SERVICE"),{postModel:gr}=i.ServiceFactory.build({basePath:`${Je}/api/nozzle`}),We=async(e,t)=>{const r=await gr({model:{},urlOverride:`${Je}${e}`,ordered:!0,tracker:t});return r!=null&&r.data&&i.FutureManager.initiateFuture(r.data),r};var hr=Object.defineProperty,ur=Object.getOwnPropertyDescriptor,_=(e,t,r,n)=>{for(var s=n>1?void 0:n?ur(t,r):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&hr(t,r,s),s};const Qe="generic-pour-model",et="/kos/generic/pour/started",tt="/kos/generic/pour/progress",rt="/kos/generic/pour/cancel",ee=e=>e.onPourStart!==void 0&&e.onPourCancel!==void 0&&e.onPourProgress!==void 0;let f=class{constructor(e,t){d(this,"id");d(this,"servicePathFactory");d(this,"pourType");d(this,"selectedId");d(this,"state");this.id=e,this.futureHandler=new i.FutureHandler(this),this.servicePathFactory=t.servicePathFactory,this.pourType=t.pourType||"free",this.selectedId=t.selectedId,this.state=i.ObservableData(t.initialData||{})}get servicePath(){return this.selectedId?this.servicePathFactory(this.selectedId,this.state):""}updateContextData(e,t){this.state[e]=t}removeContextData(e){delete this.state[e]}clearContextData(){this.state=i.ObservableData()}updateModel(e){e.pourType&&(this.pourType=e.pourType),e.initialData&&this.state.setValues(e.initialData)}handlePouringStart(){this.logger.info("Pour started"),i.getAllKosCompanionModels(this).forEach(t=>{var r;ee(t)&&((r=t.onPourStart)==null||r.call(t))});const e={pourTarget:this.id,type:this.pourType};i.EventBus.publish(et,e)}handlePouringEnd(){this.logger.info("Pour ended")}handleCancelStart(){this.logger.info("Pour canceling")}handleCanceled(){this.logger.info("Pour canceled"),i.getAllKosCompanionModels(this).forEach(t=>{var r;ee(t)&&((r=t.onPourCancel)==null||r.call(t))});const e={pourTarget:this.id};i.EventBus.publish(rt,e)}async pour(e){var t;try{if(this.transition("START_POUR"),!e)throw new Error("No tracker provided");const r=await We(this.servicePath,e);return this.transition("POUR_ACTIVE"),(t=r==null?void 0:r.data)!=null&&t.endState&&this.transition("POUR_COMPLETED"),r}catch(r){throw this.logger.error(r),this.currentState!==l.IDLE&&this.transition("POUR_COMPLETED"),r}}async cancelPour(){var e;this.transition("CANCEL_POUR"),await((e=this.futureHandler.getFuture())==null?void 0:e.cancelFuture()),this.transition("POUR_CANCELED")}get isPouring(){var e;return!!(this.future&&!((e=this.future)!=null&&e.endState))||this.currentState===l.POUR_STARTING||this.currentState===l.POURING||this.currentState===l.POUR_CANCELING}get canPour(){return this.currentState===l.IDLE}get pourProgress(){return this.progress??0}onFutureUpdate(e){i.getAllKosCompanionModels(this).forEach(r=>{ee(r)&&r.onPourProgress(e)});const t={pourTarget:this.id,progress:e.progress,status:e.status,clientData:e.clientData,futureId:e.futureId,remainingTimeMs:e.remainingTimeMs,endState:e.endState,reason:e.reason,timeRemaining:e.timeRemaining};i.EventBus.publish(tt,t),e.endState&&i.kosAction(()=>{this.currentState===l.POURING&&this.transition("POUR_COMPLETED")})}};_([i.kosStateEntry(l.POURING)],f.prototype,"handlePouringStart",1);_([i.kosStateExit(l.POURING)],f.prototype,"handlePouringEnd",1);_([i.kosStateEntry(l.POUR_CANCELING)],f.prototype,"handleCancelStart",1);_([i.kosStateExit(l.POUR_CANCELING)],f.prototype,"handleCanceled",1);_([i.kosFuture(),i.kosStateGuard({allowedStates:[l.IDLE]})],f.prototype,"pour",1);_([i.kosStateGuard({allowedStates:[l.POUR_STARTING,l.POURING]})],f.prototype,"cancelPour",1);f=_([i.kosModel(Qe),i.kosLoggerAware(),i.kosFutureAware(),i.kosStateMachine({initial:l.IDLE,initializeAt:i.DependencyLifecycle.READY,states:{[l.IDLE]:{on:{START_POUR:l.POUR_STARTING}},[l.POUR_STARTING]:{on:{POUR_ACTIVE:l.POURING,CANCEL_POUR:l.POUR_CANCELING,POUR_COMPLETED:l.IDLE}},[l.POURING]:{on:{CANCEL_POUR:l.POUR_CANCELING,POUR_COMPLETED:l.IDLE}},[l.POUR_CANCELING]:{on:{POUR_CANCELED:l.IDLE}}}},{trackHistory:!1,throwOnInvalid:!1})],f);const yr=new i.KosModelRegistrationFactory({class:f,type:Qe}),ne={...ae.registration,...se.registration,...ye.registration,...de.registration,...W.registration,...Ie.registration,...q.registration,...V.registration,...me.registration,...ue.registration},it=e=>()=>(i.registerCoreModels(e)(),qe.register(),Object.keys(ne).forEach(t=>{const r=ne[t];i.registerLegacyModel(e)(t,r)}),i.ExtensionManager[i.EXTENSION_TROUBLE_DATA_MAPPER].register("FirmwareUpdateInProgressTrouble",async t=>{var r;if((r=t.data)!=null&&r.deviceId){const{model:n}=i.getKosModelSync(me.type);if(n){const s=n.boards.find(a=>a.id===t.data.deviceId)?i.getKosModelSync(t.data.deviceId).model:void 0;return{devices:s?s.name:""}}}return{}}),{preload:i.RegistrationManager.model.preloadModel(e),model:i.RegistrationManager.model.register(e),companion:i.RegistrationManager.companion.register(e),legacy:i.RegistrationManager.model.registerLegacyModel(e)}),I={...i.KosModelRegistry};I.dispense={models:it(I)};I.preload=i.RegistrationManager.model.preloadModel(I);I.model=i.RegistrationManager.model.register(I);I.companion=i.RegistrationManager.companion.register(I);I.legacy=i.RegistrationManager.model.registerLegacyModel(I);const Pr=I;exports.Assembly=me;exports.Availability=V;exports.Board=he;exports.BoardContainer=ue;exports.CONTEXT_ASSEMBLY_DATA=Ge;exports.CONTEXT_ASSEMBLY_RAW_DATA=ke;exports.DeviceAssembly=qe;exports.DispenseModelType=E;exports.ExtensionType=h;exports.GenericPour=yr;exports.Holder=de;exports.HolderContainer=ye;exports.Ingredient=se;exports.IngredientContainer=ae;exports.KosModelRegistry=Pr;exports.Nozzle=W;exports.PourState=l;exports.Pump=Ie;exports.PumpContainer=q;exports.PumpIndex=ge;exports.TOPIC_BOARD_LINKED=ce;exports.TOPIC_BOARD_UNLINKED=pe;exports.TOPIC_GENERIC_POUR_CANCEL=rt;exports.TOPIC_GENERIC_POUR_PROGRESS=tt;exports.TOPIC_GENERIC_POUR_STARTED=et;exports.addAssignment=vt;exports.assignHolderIngredient=Ae;exports.clearPourable=Ye;exports.deleteAssignment=ft;exports.getAssembly=le;exports.getAssignments=mt;exports.getAvailability=He;exports.getHolders=yt;exports.getIngredients=Re;exports.getIntentVolume=ze;exports.kosModels=ne;exports.pourNamedPourable=je;exports.pourOnTarget=We;exports.pourPourable=Fe;exports.registerDispenseModels=it;exports.replaceLine=Ne;exports.selectPourable=Ve;exports.sendIntent=xe;exports.sendRfidOverride=Le;exports.unassignHolderIngredient=Te;
2
- //# sourceMappingURL=dispense-registration-manager-Cj0565Ze.cjs.map