@kosdev-code/kos-dispense-sdk 2.0.40 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/control-pour-extension-Byiwjyzw.js +1547 -0
- package/control-pour-extension-Byiwjyzw.js.map +1 -0
- package/control-pour-extension-DGztqLxi.cjs +2 -0
- package/control-pour-extension-DGztqLxi.cjs.map +1 -0
- package/dispense-registration-manager-DauhdXxX.cjs +2 -0
- package/dispense-registration-manager-DauhdXxX.cjs.map +1 -0
- package/{dispense-registration-manager-eOOE05xT.js → dispense-registration-manager-pB5e_YT1.js} +584 -615
- package/dispense-registration-manager-pB5e_YT1.js.map +1 -0
- package/{extension-utils-DcOOx69a.cjs → extension-utils-BcdtSKJM.cjs} +2 -2
- package/{extension-utils-DcOOx69a.cjs.map → extension-utils-BcdtSKJM.cjs.map} +1 -1
- package/{extension-utils-B9gziKDQ.js → extension-utils-siWT4ZuD.js} +2 -2
- package/{extension-utils-B9gziKDQ.js.map → extension-utils-siWT4ZuD.js.map} +1 -1
- package/extensions/control-pour-extension.d.ts +80 -0
- package/extensions/control-pour-extension.d.ts.map +1 -0
- package/extensions/index.d.ts +2 -0
- package/extensions/index.d.ts.map +1 -0
- package/index.cjs +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +97 -94
- package/index.js.map +1 -1
- package/models/models/holder/holder-model.d.ts.map +1 -1
- package/models/models/pump/pump-model.d.ts.map +1 -1
- package/models/models/pump/types/index.d.ts +3 -2
- package/models/utils/dispense-registration-manager.d.ts +2 -2
- package/models/utils/service.d.ts +8 -8
- package/models.cjs +1 -1
- package/models.js +2 -2
- package/package.json +3 -3
- package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts +1 -0
- package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts.map +1 -1
- package/ui.cjs +1 -1
- package/ui.js +67 -66
- package/ui.js.map +1 -1
- package/dispense-registration-manager-BZeOXyYn.cjs +0 -2
- package/dispense-registration-manager-BZeOXyYn.cjs.map +0 -1
- package/dispense-registration-manager-eOOE05xT.js.map +0 -1
- package/pump-provider--hQGuh_w.js +0 -1239
- package/pump-provider--hQGuh_w.js.map +0 -1
- package/pump-provider-5w04Zi8j.cjs +0 -2
- package/pump-provider-5w04Zi8j.cjs.map +0 -1
|
@@ -2,7 +2,7 @@ import { KosModelRegistry as CoreKosModelRegistration, RegistrationManager, Regi
|
|
|
2
2
|
|
|
3
3
|
export declare const registerDispenseModels: <R>(root: R) => () => {
|
|
4
4
|
preload: (type: string) => RegistrationResult<R>;
|
|
5
|
-
model: <T extends import('@kosdev-code/kos-ui-sdk').BaseKosModelRegistrationBean<any, any> | import('
|
|
5
|
+
model: <T extends import('@kosdev-code/kos-ui-sdk').BaseKosModelRegistrationBean<any, any> | import('@kosdev-code/kos-ui-sdk').KosModelRegistrationType<any, any>>(registration: T, preload?: boolean | undefined) => RegistrationResult<R>;
|
|
6
6
|
companion: (parentType: string, companion: import('@kosdev-code/kos-ui-sdk').KosCompanionModelType<any>) => RegistrationResult<R>;
|
|
7
7
|
legacy: <T_1 extends import('@kosdev-code/kos-ui-sdk').IKosModelRegistration>(type: string, registration: T_1) => RegistrationResult<R>;
|
|
8
8
|
};
|
|
@@ -19,7 +19,7 @@ declare const _KosModelRegistry: {
|
|
|
19
19
|
models: () => RegistrationResult<{}>;
|
|
20
20
|
};
|
|
21
21
|
preload: (type: string) => RegistrationResult<unknown>;
|
|
22
|
-
model: <T extends import('@kosdev-code/kos-ui-sdk').BaseKosModelRegistrationBean<any, any> | import('
|
|
22
|
+
model: <T extends import('@kosdev-code/kos-ui-sdk').BaseKosModelRegistrationBean<any, any> | import('@kosdev-code/kos-ui-sdk').KosModelRegistrationType<any, any>>(registration: T, preload?: boolean | undefined) => RegistrationResult<unknown>;
|
|
23
23
|
companion: (parentType: string, companion: import('@kosdev-code/kos-ui-sdk').KosCompanionModelType<any>) => RegistrationResult<unknown>;
|
|
24
24
|
};
|
|
25
25
|
type KosModelRegistryType = DispenseKosModelRegistration<typeof _KosModelRegistry>;
|
|
@@ -9,10 +9,10 @@ export declare const api: {
|
|
|
9
9
|
tracker?: string | undefined;
|
|
10
10
|
timeout?: number | undefined;
|
|
11
11
|
destinationAddress?: string | undefined;
|
|
12
|
-
studio?: boolean | undefined;
|
|
13
|
-
fos?: boolean | undefined;
|
|
14
12
|
bridge?: boolean | undefined;
|
|
15
13
|
headers?: Record<string, string> | undefined;
|
|
14
|
+
fos?: boolean | undefined;
|
|
15
|
+
studio?: boolean | undefined;
|
|
16
16
|
signal?: AbortSignal | undefined;
|
|
17
17
|
stream?: boolean | undefined;
|
|
18
18
|
responseType?: "text" | "json" | "arraybuffer" | "blob" | undefined;
|
|
@@ -28,10 +28,10 @@ export declare const api: {
|
|
|
28
28
|
tracker?: string | undefined;
|
|
29
29
|
timeout?: number | undefined;
|
|
30
30
|
destinationAddress?: string | undefined;
|
|
31
|
-
studio?: boolean | undefined;
|
|
32
|
-
fos?: boolean | undefined;
|
|
33
31
|
bridge?: boolean | undefined;
|
|
34
32
|
headers?: Record<string, string> | undefined;
|
|
33
|
+
fos?: boolean | undefined;
|
|
34
|
+
studio?: boolean | undefined;
|
|
35
35
|
signal?: AbortSignal | undefined;
|
|
36
36
|
stream?: boolean | undefined;
|
|
37
37
|
responseType?: "text" | "json" | "arraybuffer" | "blob" | undefined;
|
|
@@ -47,10 +47,10 @@ export declare const api: {
|
|
|
47
47
|
tracker?: string | undefined;
|
|
48
48
|
timeout?: number | undefined;
|
|
49
49
|
destinationAddress?: string | undefined;
|
|
50
|
-
studio?: boolean | undefined;
|
|
51
|
-
fos?: boolean | undefined;
|
|
52
50
|
bridge?: boolean | undefined;
|
|
53
51
|
headers?: Record<string, string> | undefined;
|
|
52
|
+
fos?: boolean | undefined;
|
|
53
|
+
studio?: boolean | undefined;
|
|
54
54
|
signal?: AbortSignal | undefined;
|
|
55
55
|
stream?: boolean | undefined;
|
|
56
56
|
responseType?: "text" | "json" | "arraybuffer" | "blob" | undefined;
|
|
@@ -66,10 +66,10 @@ export declare const api: {
|
|
|
66
66
|
tracker?: string | undefined;
|
|
67
67
|
timeout?: number | undefined;
|
|
68
68
|
destinationAddress?: string | undefined;
|
|
69
|
-
studio?: boolean | undefined;
|
|
70
|
-
fos?: boolean | undefined;
|
|
71
69
|
bridge?: boolean | undefined;
|
|
72
70
|
headers?: Record<string, string> | undefined;
|
|
71
|
+
fos?: boolean | undefined;
|
|
72
|
+
studio?: boolean | undefined;
|
|
73
73
|
signal?: AbortSignal | undefined;
|
|
74
74
|
stream?: boolean | undefined;
|
|
75
75
|
responseType?: "text" | "json" | "arraybuffer" | "blob" | undefined;
|
package/models.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dispense-registration-manager-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dispense-registration-manager-DauhdXxX.cjs"),n=require("./extension-utils-BcdtSKJM.cjs");require("@kosdev-code/kos-ui-sdk");require("react");exports.Assembly=e.Assembly;exports.Availability=e.Availability;exports.Board=e.Board;exports.BoardContainer=e.BoardContainer;Object.defineProperty(exports,"BoardContainerModel",{enumerable:!0,get:()=>e.BoardContainerModel});exports.CONTEXT_ASSEMBLY_DATA=e.CONTEXT_ASSEMBLY_DATA;exports.CONTEXT_ASSEMBLY_RAW_DATA=e.CONTEXT_ASSEMBLY_RAW_DATA;exports.DeviceAssembly=e.DeviceAssembly;exports.DispenseModelType=e.DispenseModelType;exports.ExtensionType=e.ExtensionType;exports.GenericPour=e.GenericPour;exports.Holder=e.Holder;exports.HolderContainer=e.HolderContainer;exports.Ingredient=e.Ingredient;exports.IngredientContainer=e.IngredientContainer;exports.KosModelRegistry=e.KosModelRegistry;exports.Nozzle=e.Nozzle;exports.PourState=e.PourState;exports.Pump=e.Pump;exports.PumpContainer=e.PumpContainer;exports.PumpIndex=e.PumpIndex;exports.TOPIC_BOARD_LINKED=e.TOPIC_BOARD_LINKED;exports.TOPIC_BOARD_UNLINKED=e.TOPIC_BOARD_UNLINKED;exports.kosModels=e.kosModels;exports.registerDispenseModels=e.registerDispenseModels;exports.AssemblyServices=n.index;exports.AssemblyTypes=n.assembly;exports.DispenseExtensionManager=n.DispenseExtensionManager;exports.GenericPourServices=n.index$1;exports.HolderServices=n.index$2;exports.IngredientServices=n.index$3;exports.KosExtensionManager=n.KosExtensionManager;exports.NozzleServices=n.index$4;exports.PumpServices=n.index$5;exports.getFuelGaugeValue=n.getFuelGaugeValue;
|
|
2
2
|
//# sourceMappingURL=models.cjs.map
|
package/models.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as o, b as i, e as n, d as t, B as l, C as d, a as A, f as p, D as m, E as D, G as T, H as c, g, I as S, h as u, K as C, N as E, l as P, P as y, i as I, j as M, T as _, c as v, k as B, r as N } from "./dispense-registration-manager-
|
|
2
|
-
import { i as x, f as K, D as O, a as f, b as z, c as G, K as H, d as L, e as R, g as k } from "./extension-utils-
|
|
1
|
+
import { A as o, b as i, e as n, d as t, B as l, C as d, a as A, f as p, D as m, E as D, G as T, H as c, g, I as S, h as u, K as C, N as E, l as P, P as y, i as I, j as M, T as _, c as v, k as B, r as N } from "./dispense-registration-manager-pB5e_YT1.js";
|
|
2
|
+
import { i as x, f as K, D as O, a as f, b as z, c as G, K as H, d as L, e as R, g as k } from "./extension-utils-siWT4ZuD.js";
|
|
3
3
|
import "@kosdev-code/kos-ui-sdk";
|
|
4
4
|
import "react";
|
|
5
5
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kosdev-code/kos-dispense-sdk",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./index.d.ts",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"./package.json": "./package.json"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@kosdev-code/kos-ui-sdk": "~2.0
|
|
26
|
+
"@kosdev-code/kos-ui-sdk": "~2.1.0"
|
|
27
27
|
},
|
|
28
28
|
"publishConfig": {
|
|
29
29
|
"registry": "https://registry.npmjs.org/"
|
|
30
30
|
},
|
|
31
31
|
"kos": {
|
|
32
32
|
"build": {
|
|
33
|
-
"gitHash": "
|
|
33
|
+
"gitHash": "82fe4f624fff667405f0cd0cc6eb874031e807f4"
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-nozzle-pour.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-dispense-sdk/src/ui/hooks/nozzle-pour/use-nozzle-pour.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,kBAAkB,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"use-nozzle-pour.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-dispense-sdk/src/ui/hooks/nozzle-pour/use-nozzle-pour.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,kBAAkB,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,SAAS,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BI;AACJ,eAAO,MAAM,aAAa,4EAMvB,eAAe,KAAG,kBA2CpB,CAAC"}
|
package/ui.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./control-pour-extension-DGztqLxi.cjs");require("@emotion/react/jsx-runtime");require("./dispense-registration-manager-DauhdXxX.cjs");require("@kosdev-code/kos-ui-sdk");require("react");require("zod");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.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;
|
|
2
2
|
//# sourceMappingURL=ui.cjs.map
|
package/ui.js
CHANGED
|
@@ -1,73 +1,74 @@
|
|
|
1
|
-
import { A as
|
|
1
|
+
import { A as n, a as u, d, B as l, f as C, C as P, G as v, F as y, J as g, D as m, a4 as I, a5 as p, j as A, H as B, m as x, I as b, N 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 "./control-pour-extension-Byiwjyzw.js";
|
|
2
2
|
import "@emotion/react/jsx-runtime";
|
|
3
|
-
import "./dispense-registration-manager-
|
|
3
|
+
import "./dispense-registration-manager-pB5e_YT1.js";
|
|
4
4
|
import "@kosdev-code/kos-ui-sdk";
|
|
5
5
|
import "react";
|
|
6
|
+
import "zod";
|
|
6
7
|
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
n as AssemblyProvider,
|
|
9
|
+
u as AvailabilityProvider,
|
|
10
|
+
d as BoardContainerProvider,
|
|
11
|
+
l as BoardProvider,
|
|
12
|
+
C as CuiKit,
|
|
13
|
+
P as CuiKitWrapper,
|
|
14
|
+
v as DISPENSE_GROUP_BEVERAGE,
|
|
15
|
+
y as DISPENSE_GROUP_BRAND,
|
|
16
|
+
g as DISPENSE_GROUP_FLAVOR,
|
|
17
|
+
m as DeviceAssemblyProvider,
|
|
18
|
+
I as HoldToPourIntentStrategy,
|
|
19
|
+
p as HoldToPourStrategy,
|
|
19
20
|
A as HolderContainerProvider,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
21
|
+
B as HolderProvider,
|
|
22
|
+
x as IngredientContainerProvider,
|
|
23
|
+
b as IngredientProvider,
|
|
24
|
+
h as NozzleProvider,
|
|
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
|
|
72
73
|
};
|
|
73
74
|
//# sourceMappingURL=ui.js.map
|
package/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var rt=Object.defineProperty;var nt=(e,t,r)=>t in e?rt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var d=(e,t,r)=>(nt(e,typeof t!="symbol"?t+"":t,r),r);const s=require("@kosdev-code/kos-ui-sdk");require("react");var g=(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))(g||{}),m=(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))(m||{}),it=Object.defineProperty,st=Object.getOwnPropertyDescriptor,ot=(e,t,r,i)=>{for(var n=i>1?void 0:i?st(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&it(t,r,n),n};const O="ingredient-model";let re=class{constructor(e,{name:t,type:r,data:i,ingredientId:n,...o}){d(this,"id");d(this,"ingredientId");d(this,"name");d(this,"type");d(this,"data");this.id=e,this.ingredientId=n,this.name=t,this.type=r,this.data=i,Object.assign(this,o)}updateModel({name:e,type:t,data:r,ingredientId:i,...n}){this.name=e,this.type=t,this.ingredientId=i,this.data=r,Object.assign(this,n)}};re=ot([s.kosModel(O)],re);const oe={registration:{[O]:{class:re,singleton:!1}},type:O,predicate:s.isKosModel(O),factory:s.Kos.Factory.create(O)},{URL:Ce}=s.resolveServiceUrl("INGREDIENT_SERVICE"),{getOne:at}=s.ServiceFactory.build({basePath:`${Ce}/api/ext/dispense/ingredients`}),Se=async()=>await at({urlOverride:`${Ce}/api/ext/dispense/ingredients`});var dt=Object.defineProperty,lt=Object.getOwnPropertyDescriptor,Re=(e,t,r,i)=>{for(var n=i>1?void 0:i?lt(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&dt(t,r,n),n};const w="ingredient-container-model",ct=s.KosLog.createLogger({name:"ingredient-container-model"});let F=class{constructor(e,t){d(this,"id");d(this,"ingredients");this.id=e,this.ingredients=new s.KosModelContainer({indexMap:{ingredientType:"type"},extensionId:g.IngredientIndex,parentId:e})}updateModel(){}getIngredientsByType(e){return this.ingredients.getIndexByKey("ingredientType",e)}async load(e){var n;ct.debug(`loading ingredient container ${this.id}`);const t=await Se();if((t==null?void 0:t.status)!==200)throw new Error("Failed to load ingredients");const r=await s.KosExtensionUtils.executeLoaderExtension({context:e,extension:g.IngredientLoader}),i=(t==null?void 0:t.data)??{};for(const o of Object.keys(i))for(const a of((n=t==null?void 0:t.data)==null?void 0:n[o])||[]){const p=await s.KosExtensionUtils.executeDataMapperExtension({extension:g.IngredientMapper,data:a,contextData:r}),c=await s.KosExtensionUtils.executePropertyMapperExtension({extension:g.IngredientTypeMapper,data:a,contextData:r}),u={...a,type:c||a.type,...p,data:p},h=oe.factory(a.id)(u);this.ingredients.addModel(h)}}};Re([s.kosChild],F.prototype,"ingredients",2);F=Re([s.kosModel(w)],F);const ae={registration:{[w]:{class:F,singleton:!0}},type:w,predicate:s.isKosModel(w),factory:s.Kos.Singleton.create(w)},{URL:X}=s.resolveServiceUrl("HOLDER_SERVICE"),{getAll:pt,postModel:$e,deleteModel:ut}=s.ServiceFactory.build({basePath:`${X}/api/kos/holders`}),gt=s.KosLog.createLogger({name:"holder-service",group:"Services"}),ht=async()=>await pt({}),Te=async(e,t)=>{if(!e||!t)throw new Error("Missing holderPath or ingredientId");return await $e({model:{holderPath:e,ingredientId:t},urlOverride:`${X}/api/ext/dispense/assignments`})},Ae=async e=>{if(!e)throw new Error("Missing holderPath");return await ut({id:e,urlOverride:`${X}/api/ext/dispense/assignments/${e}`})},Ne=async e=>{if(!e)throw new Error("Missing holderPath");return gt.debug(`sending POST request to /api/ext/dispense/pumpEvents/replaceLine/${e}`),await $e({model:{},urlOverride:`${X}/api/ext/dispense/pumpEvents/replaceLine/${e}`})},{URL:G}=s.resolveServiceUrl("ASSIGNMENT_SERVICE"),{getAll:yt,postModel:De,deleteModel:It}=s.ServiceFactory.build({destinationAddress:"",basePath:`${G}/api/ext/dispense/assignments`}),j=window.kosUseFos,mt=async()=>await yt({fos:j}),Le=async(e,t)=>{var n,o,a,p;const r=JSON.stringify(t),i=`${G}/api/ext/dispense/assignments`;try{const c=await De({model:{holderPath:e,factoryJson:r},urlOverride:i});return(c==null?void 0:c.status)===200&&((n=c==null?void 0:c.data)!=null&&n.error)?[c.data.error||"unknownError",c.data]:[void 0,c==null?void 0:c.data]}catch(c){if(c instanceof s.FetchError)return[((a=(o=c.payload)==null?void 0:o.data)==null?void 0:a.error)||"unknownError",(p=c.payload)==null?void 0:p.data]}return["unknownError",void 0]},Pt=async e=>{const t=j?`${G}/api/ingredients/assignments/${e.holderPath}`:`${G}/api/ext/dispense/assignments`;return await De({model:{...e,fuelGauge:680},fos:j,urlOverride:t})},vt=async e=>await It({id:e,fos:j});var ft=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,Z=(e,t,r,i)=>{for(var n=i>1?void 0:i?bt(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&ft(t,r,n),n};const C=m.Holder,Ee=s.KosLog.createLogger({name:"holder-model"});s.ExtensionManager[s.EXTENSION_TROUBLE_MAPPER].register("holder",async e=>{const t=[];return t.push(...e.data.holderPaths),t});s.ExtensionManager[s.EXTENSION_TROUBLE_DATA_MAPPER].register("pump",async e=>{if(e.data.pumpPath){const{model:t}=s.getKosModelSync(e.data.pumpPath);if(t){const r=t.ingredientId?s.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{}});s.ExtensionManager[s.EXTENSION_TROUBLE_DATA_MAPPER].register("holder",async e=>e.data.holderNames.length>0?{holderName:e.data.holderNames[0]||""}:{});s.ExtensionManager[s.EXTENSION_TROUBLE_DATA_MAPPER].register("container",async e=>{if(e.data.ingredients.length>0){const t=e.data.ingredients[0],{model:r}=s.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,i){super(i);d(this,"type");this.name="AssignmentError",this.type=r}}let b=class{constructor(e,{path:t,name:r,ingredientSource:i,ingredientId:n,ingredientType:o,slice:a,group:p,data:c,enjoyByDate:u},h){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");d(this,"troubleContainer");this.id=e,this.path=t,this.name=r,this.ingredientType=o,this.ingredientSource=i,this.ingredientId=n,this.group=p,this.slice=a,this.enjoyByDate=u,this.data=c,this.pumps=new s.KosModelContainer({parentId:e,sortKey:"path"}),this.logger=h.logger}updateModel({path:e,name:t,ingredientSource:r,ingredientId:i,ingredientType:n,group:o,slice:a,enjoyByDate:p,data:c}){this.path=e,this.name=t,this.ingredientId=i,this.ingredientType=n,this.ingredientSource=r,this.enjoyByDate=p,this.slice=a,this.group=o,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,i=r?this.pumps.getModel(r):this.pumps.data[0];return i==null?void 0:i.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 troubles(){return this.troubleContainer.troubles.getIndexByKey("byIface",this.path).sort((e,t)=>t.rank-e.rank)}get troubleStatus(){return""}get troublesByType(){return this.troubles.reduce(s.troubleByTypeReducer,{})}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&&s.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 s.kosAction(()=>{this.ingredientId=r==null?void 0:r.ingredientId}),r}catch(t){throw Ee.error(`Failed to perform rfid override on holder ${this.id}`,t),t}}async assignIngredient(e){try{e?await Te(this.path,e):await Ae(this.path),s.kosAction(()=>{this.ingredientId=e})}catch(t){throw Ee.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)}};Z([s.kosChild],b.prototype,"pumps",2);Z([s.kosDependency({modelType:ae.type})],b.prototype,"ingredientContainer",2);Z([s.kosDependency({modelType:s.TroubleContainer.type})],b.prototype,"troubleContainer",2);b=Z([s.kosModel(C)],b);const de={registration:{[C]:{class:b,singleton:!1}},type:C,predicate:s.isKosModel(C),factory:s.Kos.Factory.create(C)},Et=async(e,t)=>{var Me;const r=s.ExtensionManager.propertyMapper.executeMapper(g.HolderIngredientMapper,t),i=s.ExtensionManager.propertyMapper.executeMapper(g.HolderTypeMapper,t)||t.ingType,n=await s.KosExtensionUtils.executeDataMapperExtension({extension:g.HolderMapper,data:t,contextData:{}}),{name:o,path:a,ingredientId:p,ingType:c,ingSource:u,slice:h,..._}=t,y={..._,...n},f=h||{pos:0},U={name:o,path:a,ingredientId:r||p,ingredientType:i||c,ingredientSource:u,enjoyByDate:(Me=t.container)!=null&&Me.enjoyByDate?new Date(t.container.enjoyByDate):void 0,slice:f,group:e,data:y};return de.factory(t.path)(U)},{URL:_t}=s.resolveServiceUrl("ASSEMBLY_SERVICE"),{getOne:Ot}=s.ServiceFactory.build({basePath:`${_t}/api/kos/device/assemblies`}),wt=s.KosLog.createLogger({name:"assembly-service",group:"Services"}),le=async()=>(wt.debug("sending GET for assembly"),await Ot({}));var Ct=Object.defineProperty,St=Object.getOwnPropertyDescriptor,q=(e,t,r,i)=>{for(var n=i>1?void 0:i?St(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&Ct(t,r,n),n};const S="board-container-model",ce="/kos/hardware/board/linked",pe="/kos/hardware/board/unlinked";exports.BoardContainerModel=class{constructor(t,r,i){d(this,"id");d(this,"logger");d(this,"models");this.id=t,this.logger=i.logger,this.models=new s.KosModelContainer({parentId:t,extensionId:g.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,i=this.models.getModel(r);if(!i){this.logger.warn(`board ${r} not found`);return}i.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")}};q([s.kosChild],exports.BoardContainerModel.prototype,"models",2);q([s.kosTopicHandler({lifecycle:s.DependencyLifecycle.INIT,topic:ce,websocket:!0})],exports.BoardContainerModel.prototype,"handleBoardLinkEvent",1);q([s.kosTopicHandler({lifecycle:s.DependencyLifecycle.INIT,topic:pe,websocket:!0})],exports.BoardContainerModel.prototype,"handleBoardUnlinkEvent",1);exports.BoardContainerModel=q([s.kosModel(S)],exports.BoardContainerModel);const Rt=async e=>{const t=e.data.boardPath,{model:r}=s.getKosModelSync(t);return{boardName:(r==null?void 0:r.name)||""}};var $t=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,xe=(e,t,r,i)=>{for(var n=i>1?void 0:i?Tt(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&$t(t,r,n),n};const R=m.PumpContainer;var ue=(e=>(e.byBoard="byBoard",e.byType="byType",e.byNozzle="byNozzle",e))(ue||{});let k=class{constructor(e,t){d(this,"id");d(this,"pumps");this.id=e,this.pumps=new s.KosModelContainer({indexMap:{byNozzle:r=>r.nozzlePaths,byBoard:r=>r.boardPath,byType:"type"},parentId:e,extensionId:g.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(){}};xe([s.kosChild],k.prototype,"pumps",2);k=xe([s.kosModel(R)],k);const J={registration:{[R]:{class:k,singleton:!0}},type:R,predicate:s.isKosModel(R),factory:s.Kos.Singleton.create(R)},ze=async e=>{const t=[],{model:r}=await s.getKosModel(e);return r&&(t.push(r.boardPath),t.push(r.nozzlePath),t.push(r.holderPath)),t},At=async e=>{const t=[],r=e.data.pumpPath;t.push(r);const i=await ze(r);return[...t,...i]},Nt=async e=>{const t=[],r=e.data.boardPath;t.push(e.data.boardPath);const i=await s.getKosModel(J.type);if(i!=null&&i.model){const o=i.model.models.getIndexByKey(ue.byBoard,r).map(p=>ze(p.path));(await Promise.allSettled(o)).forEach(p=>{p.status==="fulfilled"&&p.value.forEach(c=>t.push(c))})}return Array.from(new Set(t))};var Dt=Object.defineProperty,Lt=Object.getOwnPropertyDescriptor,xt=(e,t,r,i)=>{for(var n=i>1?void 0:i?Lt(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&Dt(t,r,n),n};const $="board-model",_e=(e,t)=>{const{type:r,name:i,path:n,linked:o,instanceId:a,link:p,...c}=e;t.type=r,t.name=i,t.path=n,t.linked=o,t.link=Object.freeze(p),t.instanceId=a,Object.assign(t,c)};s.ExtensionManager[s.EXTENSION_TROUBLE_MAPPER].register("board",Nt);s.ExtensionManager[s.EXTENSION_TROUBLE_DATA_MAPPER].register("board",Rt);let ne=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,_e(t,this)}updateModel(e){_e(e,this)}async init(){this.logger.debug(`initializing board ${this.id}`)}async load(){this.logger.debug(`loading board ${this.id}`)}};ne=xt([s.kosModel($)],ne);const ge={registration:{[$]:{class:ne,singleton:!1}},type:$,predicate:s.isKosModel($),factory:s.Kos.Factory.create($)},he={registration:{[S]:{class:exports.BoardContainerModel,singleton:!0},...ge.registration},type:S,predicate:s.isKosModel(S),factory:s.Kos.Singleton.create(S)};var zt=Object.defineProperty,Bt=Object.getOwnPropertyDescriptor,W=(e,t,r,i)=>{for(var n=i>1?void 0:i?Bt(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&zt(t,r,n),n};const T=m.HolderContainer,Ut="/kos/insertion/insert/start",Kt="/kos/insertion/insert/complete",Ft="/kos/insertion/insert/update",Gt="/kos/insertion/remove",jt="/kos/pumpEvent/replaceLine",kt="/kos/handle/*";let M=class{constructor(e,t,r){d(this,"id");d(this,"holders");d(this,"logger");this.id=e,this.holders=new s.KosModelContainer({indexMap:{nozzle:i=>i.nozzlePaths,group:"group"},parentId:e,extensionId:g.HolderIndex}),this.logger=r.logger}updateModel(){}handleHolderEvents(e){var r,i,n;s.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=(i=e.slice)==null?void 0:i.maxVolMl,(n=e==null?void 0:e.container)!=null&&n.enjoyByDate?t.enjoyByDate=new Date(e.container.enjoyByDate):t.enjoyByDate=void 0)}handleInsertion(e){s.KosLog.ifDebug(()=>this.logger.debug("Received insertion event",JSON.stringify(e))),(Array.isArray(e)?e:[e]).forEach(r=>{s.kosAction(()=>{var o,a,p;const i=r.ingredientId,n=this.holders.getModel(r.path);n&&(this.logger.info(`Received insertion event for holder ${n.path}`),n.updateIngredient(i),n.slice.currentVolMl=(o=r.slice)==null?void 0:o.currentVolMl,n.slice.maxVolMl=(a=r.slice)==null?void 0:a.maxVolMl,(p=r==null?void 0:r.container)!=null&&p.enjoyByDate?n.enjoyByDate=new Date(r.container.enjoyByDate):n.enjoyByDate=void 0,r.pumps.forEach(c=>{s.kosAction(()=>{const u=n.pumps.getModel(c.path);u&&(u.ingredientId=c.ingredientId,u.inserted=c.inserted,u.prevIngredientId=c.prevIngredientId)})}))})})}};W([s.kosChild],M.prototype,"holders",2);W([s.kosTopicHandler({topic:kt,websocket:!0,condition:(e,t)=>t.holders.getModel(e.path)!==void 0})],M.prototype,"handleHolderEvents",1);W([s.kosTopicHandler({topic:[Ut,Kt,Ft,Gt,jt],websocket:!0})],M.prototype,"handleInsertion",1);M=W([s.kosModel(T)],M);const ye={registration:{[T]:{class:M,singleton:!0}},type:T,predicate:s.isKosModel(T),factory:s.Kos.Singleton.create(T)},Ht=s.KosLog.createLogger({name:"board-utils"}),Vt=async e=>{const t=await s.KosExtensionUtils.executeDataMapperExtension({extension:g.BoardMapper,data:e,contextData:{}}),{type:r,name:i,path:n,linked:o,instanceId:a,...p}=e,c={...p,...t},u={type:r,name:i,path:n,linked:o,instanceId:a,...c},h=ge.factory(e.path)(u);return h.updateModel(u),h},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.POUR_CANCELED="POUR_CANCELED",e.POUR_COMPLETE="POUR_COMPLETE",e))(l||{});const{URL:Ie}=s.resolveServiceUrl("PUMP_SERVICE"),{postModel:Xt,getOne:Zt}=s.ServiceFactory.build({basePath:`${Ie}/api/kos/holders`});s.KosLog.createLogger({name:"pump-service",group:"Services"});const Be=async({intent:e,pumpId:t,tracker:r})=>{const i=`${Ie}/api/ext/dispense/nozzle/nozzle/pipeline/ingredient/pour/${t}/${e}`,n=await Xt({model:{},urlOverride:i,tracker:r});return n!=null&&n.data&&s.FutureManager.initiateFuture(n.data),n},Ue=async(e,t)=>{const r=`${Ie}/api/ext/dispense/nozzle/nozzle/pipeline/ingredient/intent/${e}/${t}/volume`,i=await Zt({urlOverride:r});return i!=null&&i.data?i.data:{volume:-1}};var qt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,me=(e,t,r,i)=>{for(var n=i>1?void 0:i?Jt(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&qt(t,r,n),n};const A=m.Pump;s.ExtensionManager[s.EXTENSION_TROUBLE_MAPPER].register("pump",At);let x=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,"troubleContainer");d(this,"futureHandler");d(this,"currentState",l.IDLE);this.id=e;const{inserted:r,holderPath:i,boardPath:n,nozzlePath:o,name:a,path:p,childPump:c,virtual:u,prevIngredientId:h,..._}=t;this.inserted=r,this.type=t.type,this.ingredientId=t.ingredientId,this.holderPath=i,this.boardPath=n,this.nozzlePath=o,this.name=a,this.path=p,this.childPump=!!c,this.virtual=!!u,this.prevIngredientId=h,Object.assign(this,_),this.futureHandler=new s.FutureHandler(this)}updateModel(e){const{inserted:t,holderPath:r,boardPath:i,nozzlePath:n,childPump:o,name:a,path:p,...c}=e;this.inserted=t,this.type=e.type,this.ingredientId=e.ingredientId,this.holderPath=r,this.boardPath=i,this.nozzlePath=n,this.childPump=this.childPump?this.childPump:!!o,this.name=a,this.path=p,this.prevIngredientId=e.prevIngredientId,Object.assign(this,c)}get troubles(){return this.troubleContainer.troubles.getIndexByKey("byIface",this.path).sort((e,t)=>t.rank-e.rank)}get troubleStatus(){return""}get troublesByType(){return this.troubles.reduce(s.troubleByTypeReducer,{})}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&&s.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()),s.kosAction(()=>{this.currentState=l.IDLE})):s.KosLog.warn(`Cannot cancel pour in state ${this.currentState}`)}get future(){return this.futureHandler.future}async resolveIntentVolume(e){return await Ue(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 i=await Be({tracker:t,intent:r,pumpId:this.path});return this.currentState===l.POUR_STARTING&&s.kosAction(()=>{this.currentState=l.POURING}),i==null?void 0:i.data}else throw new Error(`Cannot pour in state ${this.currentState}`)}catch(i){throw s.KosLog.error(i),this.currentState=l.IDLE,i}}};me([s.kosDependency({modelType:s.TroubleContainer.type})],x.prototype,"troubleContainer",2);me([s.kosFuture()],x.prototype,"performIntent",1);x=me([s.kosModel(A)],x);const Pe={registration:{[A]:{class:x,singleton:!1}},type:A,predicate:s.isKosModel(A),factory:s.Kos.Factory.create(A)},Wt=s.KosLog.createLogger({name:"pump-utils"}),Qt=(e,t)=>{const r=(t.pumps??[]).length>1,i={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},n=Pe.factory(t.path)(i);return n.updateModel(i),n},Ke=e=>t=>r=>i=>{var p;Wt.debug(`adding pump ${i.name}`);const n=Qt(r.path,i);e.addModel(n);const o=n.holderPath,a=t.holders.getModel(o);a==null||a.pumps.addModel(n),a!=null&&a.nozzlePaths.includes(r.path)||a==null||a.nozzlePaths.push(r.path),(p=i==null?void 0:i.pumps)==null||p.forEach(c=>{const u=n.holderPath,h={...c,childPump:!0,holderPath:u,ingredientId:n.ingredientId};Ke(e)(t)(r)(h)})};var er=Object.defineProperty,tr=Object.getOwnPropertyDescriptor,z=(e,t,r,i)=>{for(var n=i>1?void 0:i?tr(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&er(t,r,n),n};const N="assembly-model",Fe="assembly-data",Ge="assembly-raw-data";let P=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=he.factory({}),this.pumpContainer=J.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(),s.ExtensionManager[s.EXTENSION_FEATURE_FLAG_RESOLVER].execute(g.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 s.KosExtensionUtils.executeDataMapperExtension({extension:g.AssemblyMapper,data:t.data,contextData:{}});e.set(Fe,r),Object.assign(this,r),Object.entries(r).forEach(([i,n])=>{s.isKosDataModel(n)&&(this.logger.debug(`adding child model ${i} from extension data`),this[s.ChildModels][i]=!0)}),e.set(Ge,t.data);for await(const i of t.data.assemblies){const{boards:n=[],holders:o={},nozzles:a=[],core:p,name:c,path:u,...h}=i;this.logger.debug(`adding assembly ${c}`),Object.keys(h).forEach(y=>{s.KosFeatureFlags.enableFeature(y)});for await(const y of n)this.logger.debug(`adding board ${y.name}`),await Yt(this.boardContainer)(y);for await(const[y,f]of Object.entries(o??{}))for await(const U of f){this.logger.debug(`adding holder ${U.name}`);const be=await Et(y,U);this.holderContainer.holders.addModel(be)}const _=Ke(this.pumpContainer)(this.holderContainer);a.forEach(y=>{this._nozzlePaths.add(y.path);const f=_(y);y.pumps.forEach(f)})}}}};z([s.kosDependency({modelType:"trouble-container-model"})],P.prototype,"troubleContainer",2);z([s.kosChild],P.prototype,"holderContainer",2);z([s.kosChild],P.prototype,"boardContainer",2);z([s.kosChild],P.prototype,"pumpContainer",2);P=z([s.kosModel(N)],P);const ve={registration:{[N]:{class:P,singleton:!0}},type:N,predicate:s.isKosModel(N),factory:s.Kos.Singleton.create(N)};var rr=Object.defineProperty,nr=Object.getOwnPropertyDescriptor,ir=(e,t,r,i)=>{for(var n=i>1?void 0:i?nr(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&rr(t,r,n),n};const D=m.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=ir([s.kosParentAware(),s.kosModel(D)],ie);const H={registration:{[D]:{class:ie,singleton:!1}},type:D,predicate:s.isKosModel(D),factory:s.Kos.Factory.create(D)},{URL:E}=s.resolveServiceUrl("NOZZLE_SERVICE"),{postModel:fe,deleteModel:sr,getOne:or}=s.ServiceFactory.build({basePath:`${E}/api/nozzle`}),je=async(e,t)=>{const r=await fe({model:{},urlOverride:`${E}/api/ext/dispense/nozzle/${e}/pipeline/beverage/pour`,ordered:!0,tracker:t});return r!=null&&r.data&&s.FutureManager.initiateFuture(r.data),r},ke=async(e,t,r)=>{const i=await fe({model:{},urlOverride:`${E}/api/ext/dispense/nozzle/${t}/pipeline/beverage/fixed/${e}`,ordered:!0,tracker:r});return i!=null&&i.data&&s.FutureManager.initiateFuture(i.data),i},He=async e=>await or({urlOverride:`${E}${e}/pipeline/beverage/availability`}),Ve=async(e,t)=>await fe({model:t,urlOverride:`${E}/api/ext/dispense/nozzle/${e}/pipeline/beverage/select`}),Ye=async e=>await sr({id:e,urlOverride:`${E}/api/ext/dispense/nozzle/${e}/pipeline/beverage/select`});var ar=Object.defineProperty,dr=Object.getOwnPropertyDescriptor,B=(e,t,r,i)=>{for(var n=i>1?void 0:i?dr(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&ar(t,r,n),n};const L=m.Nozzle,lr=s.createPropKey("beverageTopicPrefix"),K=e=>e.onPourStart!==void 0&&e.onPourCancel!==void 0&&e.onPourProgress!==void 0,Oe="/kos/nozzle/pour/started",cr="/kos/nozzle/pour/progress",ee="/kos/nozzle/pour/cancel";let v=class{constructor(e,t,r){d(this,"id");d(this,"path");d(this,"logger");d(this,"name");d(this,"_selectedBeverage");d(this,"_selectedBrand");d(this,"_additionalItems");d(this,"_availabilityItems");d(this,"futureHandler");d(this,"currentState",l.IDLE);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 s.MultipleFutureHandler(this),this._availabilityItems=new s.KosModelContainer({indexMap:{byGroup:"groupId",byParent:"parentId"},parentId:e}),this.logger=r.logger}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){this._selectedBrand=e,this._selectedBeverage=void 0}get selectedBrand(){return this._selectedBrand}async setSelectedPourable({beverage:e,additional:t,context:r}){if(!e){const p=await Ye(this.name);if((p==null?void 0:p.status)!==200)throw new Error("Failed to clear pourable");this._selectedBeverage=void 0;return}if(e===this._selectedBeverage&&s.arraysEqual(this._additionalItems,t)){this.logger.info("No change in selected pourable");return}this._selectedBeverage=e,this._additionalItems=t;let i=await s.ExtensionManager.dataMapper.executeMapper(g.SelectedPourableMapper,{beverage:e,additional:t,context:r});const n={bevId:e.rawId};(!i||Object.keys(i).length===0)&&(this.logger.info(`No selected pourable mapper defined, using the default payload ${n}`),i=n);const o=i??n,a=await Ve(this.name,o);if((a==null?void 0:a.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)}updateIfCurrent(e,t){this.currentState===e&&s.kosAction(()=>{this.currentState=t})}onFutureUpdate(e){s.getAllKosCompanionModels(this).forEach(i=>{K(i)&&i.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};s.EventBus.publish(cr,r),e.endState&&s.kosAction(()=>{this.currentState=l.IDLE})}async pour(e){var t;try{if(this.currentState===l.IDLE){if(this.updateIfCurrent(l.IDLE,l.POUR_STARTING),!e)throw new Error("No tracker provided");const r=await je(this.name,e);this.updateIfCurrent(l.POUR_STARTING,l.POURING),s.getAllKosCompanionModels(this).forEach(n=>{var o;K(n)&&((o=n.onPourStart)==null||o.call(n))});const i={nozzleId:this.id,type:"free"};if(s.EventBus.publish(Oe,i),(t=r==null?void 0:r.data)!=null&&t.endState){this.updateIfCurrent(l.POURING,l.IDLE);const n={nozzleId:this.id};s.EventBus.publish(ee,n)}return r}else throw new Error(`Cannot pour in state ${this.currentState}`)}catch(r){throw this.logger.error(r),this.currentState=l.IDLE,r}}async fixedPour(e,t){var r;try{if(this.currentState===l.IDLE){if(this.currentState=l.POUR_STARTING,!t)throw new Error("No tracker provided");const i=await ke(e,this.name,t);this.currentState===l.POUR_STARTING&&s.kosAction(()=>{this.currentState=l.POURING}),s.getAllKosCompanionModels(this).forEach(o=>{var a;K(o)&&((a=o.onPourStart)==null||a.call(o))});const n={nozzleId:this.id,type:"fixed"};if(s.EventBus.publish(Oe,n),(r=i==null?void 0:i.data)!=null&&r.endState){this.updateIfCurrent(l.POURING,l.IDLE);const o={nozzleId:this.id};s.EventBus.publish(ee,o)}return i}else throw new Error(`Cannot pour in state ${this.currentState}`)}catch(i){throw this.logger.error(i),this.currentState=l.IDLE,i}}async cancelPour(){var e;if(this.currentState===l.POURING||this.currentState===l.POUR_STARTING){this.currentState=l.POUR_CANCELING,await((e=this.futureHandler.getFuture())==null?void 0:e.cancelFuture()),s.kosAction(()=>{this.currentState=l.IDLE}),s.getAllKosCompanionModels(this).forEach(r=>{var i;K(r)&&((i=r.onPourCancel)==null||i.call(r))});const t={nozzleId:this.id};s.EventBus.publish(ee,t)}else this.logger.warn(`Cannot cancel pour in state ${this.currentState}`)}updateGroupMembers(){this._availabilityItems.data.forEach(e=>{(e.taggedIds||[]).forEach(r=>{const i=this._availabilityItems.data.find(n=>n.rawId===r);i&&i.parentId!==e.id&&(i.parentId=e.id,this._availabilityItems.updateModel(i))})})}async load(e){var i,n;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 s.ExtensionManager.loader.executeLoader(g.AvailabilityLoader,{});e==null||e.set(g.AvailabilityLoader,r),e==null||e.set(Q.type,this);for(const o of Object.keys((i=t.data)==null?void 0:i.groups)||[])for(const a of((n=t.data)==null?void 0:n.groups[o])||[]){const p=await s.ExtensionManager.dataMapper.executeMapper(g.AvailabilityMapper,{...a,groupId:o},r),c={...a,note:a.note??void 0,kosParentId:this.id,rawId:a.id,groupId:o,data:p,properties:a.properties||{}},u=H.factory(`${this.id}-${o}-${a.id}`)(c);this._availabilityItems.addModel(u)}this.updateGroupMembers()}async updateAvailability(e){const t=s.KosContextManager.getContext(this.id),r=(t==null?void 0:t.get(g.AvailabilityLoader))||{};if(e.rebuild)for(const i of Object.keys(e==null?void 0:e.groups)||[]){this._availabilityItems.getIndexByKey("group",i).filter(o=>!e.groups[i].find(a=>`${this.id}-${i}-${a.id}`===o.id)).forEach(o=>{this._availabilityItems.removeModel(o.id),s.destroyKosModel(o)});for(const o of(e==null?void 0:e.groups[i])||[]){const a=await s.ExtensionManager.dataMapper.executeMapper(g.AvailabilityMapper,{...o,groupId:i},r),p={...o,note:o.note??void 0,kosParentId:this.id,groupId:i,rawId:o.id,data:a,taggedIds:o.taggedIds,properties:o.properties||{}},c=this._availabilityItems.getModel(`${this.id}-${i}-${o.id}`);if(c)c.updateModel(p);else{const u=H.factory(`${this.id}-${i}-${o.id}`)(p);this._availabilityItems.addModel(u)}}}else for(const i of Object.keys(e==null?void 0:e.groups)||[])for(const n of(e==null?void 0:e.groups[i])||[]){const o=await s.ExtensionManager.dataMapper.executeMapper(g.AvailabilityMapper,{...n,groupId:i},r),a={...n,note:n.note??void 0,kosParentId:this.id,groupId:i,rawId:n.id,data:o,type:n.type,taggedIds:n.taggedIds,properties:n.properties||{}},p=this._availabilityItems.getModel(`${this.id}-${i}-${n.id}`);p&&p.updateModel(a)}this.updateGroupMembers()}};B([s.kosChild],v.prototype,"_availabilityItems",2);B([s.kosFuture()],v.prototype,"pour",1);B([s.kosFuture()],v.prototype,"fixedPour",1);B([s.kosTopicHandler({topic:`${lr}/availability`,websocket:!0})],v.prototype,"updateAvailability",1);v=B([s.kosModel(L)],v);const Q={registration:{[L]:{class:v,singleton:!1}},type:L,predicate:s.isKosModel(L),factory:s.Kos.Factory.create(L)};var pr=Object.defineProperty,ur=Object.getOwnPropertyDescriptor,Xe=(e,t,r,i)=>{for(var n=i>1?void 0:i?ur(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&pr(t,r,n),n};const Ze="device-assembly-model";let V=class{constructor(e,t,r){d(this,"id");d(this,"deviceNozzles");d(this,"logger");this.id=e,this.logger=r.logger,this.deviceNozzles=new s.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 a;const i=r.path,n=((a=r.pipelines.find(p=>p.name==="beverage"))==null?void 0:a.topicPrefix)||"",o=Q.factory(i)({path:r.path,name:r.name,urlPrefix:r.urlPrefix,topicPrefix:r.topicPrefix,beverageTopicPrefix:n});this.deviceNozzles.addModel(o)})}};Xe([s.kosChild],V.prototype,"deviceNozzles",2);V=Xe([s.kosModel(Ze)],V);const qe=new s.SingletonKosModelRegistrationFactory({class:V,type:Ze}),{URL:Je}=s.resolveServiceUrl("GENERIC_POUR_SERVICE"),{postModel:gr}=s.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&&s.FutureManager.initiateFuture(r.data),r};var hr=Object.defineProperty,yr=Object.getOwnPropertyDescriptor,Qe=(e,t,r,i)=>{for(var n=i>1?void 0:i?yr(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(i?a(t,r,n):a(n))||n);return i&&n&&hr(t,r,n),n};const et="generic-pour-model",Ir="/kos/generic/pour/started",mr="/kos/generic/pour/progress",we="/kos/generic/pour/cancel",te=e=>e.onPourStart!==void 0&&e.onPourCancel!==void 0&&e.onPourProgress!==void 0;let Y=class{constructor(e,t,r){d(this,"id");d(this,"currentState",l.IDLE);d(this,"servicePathFactory");d(this,"pourType");d(this,"logger");d(this,"futureHandler");d(this,"selectedId");this.id=e,this.logger=r.logger,this.futureHandler=new s.FutureHandler(this),this.servicePathFactory=t.servicePathFactory,this.pourType=t.pourType||"free",this.selectedId=t.selectedId}get servicePath(){return this.selectedId?this.servicePathFactory(this.selectedId):""}async pour(e){var t;try{if(this.currentState===l.IDLE){if(this.updateIfCurrent(l.IDLE,l.POUR_STARTING),!e)throw new Error("No tracker provided");const r=await We(this.servicePath,e);this.updateIfCurrent(l.POUR_STARTING,l.POURING),s.getAllKosCompanionModels(this).forEach(n=>{var o;te(n)&&((o=n.onPourStart)==null||o.call(n))});const i={pourTarget:this.id,type:this.pourType};if(s.EventBus.publish(Ir,i),(t=r==null?void 0:r.data)!=null&&t.endState){this.updateIfCurrent(l.POURING,l.IDLE);const n={pourTarget:this.id};s.EventBus.publish(we,n)}return r}else throw new Error(`Cannot pour in state ${this.currentState}`)}catch(r){throw this.logger.error(r),this.currentState=l.IDLE,r}}async cancelPour(){var e;if(this.currentState===l.POURING||this.currentState===l.POUR_STARTING){this.currentState=l.POUR_CANCELING,await((e=this.futureHandler.getFuture())==null?void 0:e.cancelFuture()),s.kosAction(()=>{this.currentState=l.IDLE}),s.getAllKosCompanionModels(this).forEach(r=>{var i;te(r)&&((i=r.onPourCancel)==null||i.call(r))});const t={pourTarget:this.id};s.EventBus.publish(we,t)}this.currentState===l.IDLE?this.logger.info("Pour already idle, nothing to cancel."):this.logger.warn(`Cannot cancel pour in state ${this.currentState}`)}updateIfCurrent(e,t){this.currentState===e&&s.kosAction(()=>{this.currentState=t})}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.currentState===l.IDLE}get future(){return this.futureHandler.getFuture()}get pourProgress(){var e;return((e=this.future)==null?void 0:e.progress)??0}onFutureUpdate(e){s.getAllKosCompanionModels(this).forEach(r=>{te(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};s.EventBus.publish(mr,t),e.endState&&s.kosAction(()=>{this.currentState=l.IDLE})}async init(){this.logger.debug(`initializing generic-pour ${this.id}`)}async load(){this.logger.debug(`loading generic-pour ${this.id}`)}};Qe([s.kosFuture()],Y.prototype,"pour",1);Y=Qe([s.kosModel(et)],Y);const Pr=new s.KosModelRegistrationFactory({class:Y,type:et}),se={...ae.registration,...oe.registration,...ye.registration,...de.registration,...Q.registration,...Pe.registration,...J.registration,...H.registration,...ve.registration,...he.registration},tt=e=>()=>(s.registerCoreModels(e)(),qe.register(),Object.keys(se).forEach(t=>{const r=se[t];s.registerLegacyModel(e)(t,r)}),s.ExtensionManager[s.EXTENSION_TROUBLE_DATA_MAPPER].register("FirmwareUpdateInProgressTrouble",async t=>{var r;if((r=t.data)!=null&&r.deviceId){const{model:i}=s.getKosModelSync(ve.type);if(i){const n=i.boards.find(o=>o.id===t.data.deviceId)?s.getKosModelSync(t.data.deviceId).model:void 0;return{devices:n?n.name:""}}}return{}}),{preload:s.RegistrationManager.model.preloadModel(e),model:s.RegistrationManager.model.register(e),companion:s.RegistrationManager.companion.register(e),legacy:s.RegistrationManager.model.registerLegacyModel(e)}),I={...s.KosModelRegistry};I.dispense={models:tt(I)};I.preload=s.RegistrationManager.model.preloadModel(I);I.model=s.RegistrationManager.model.register(I);I.companion=s.RegistrationManager.companion.register(I);I.legacy=s.RegistrationManager.model.registerLegacyModel(I);const vr=I;exports.Assembly=ve;exports.Availability=H;exports.Board=ge;exports.BoardContainer=he;exports.CONTEXT_ASSEMBLY_DATA=Fe;exports.CONTEXT_ASSEMBLY_RAW_DATA=Ge;exports.DeviceAssembly=qe;exports.DispenseModelType=m;exports.ExtensionType=g;exports.GenericPour=Pr;exports.Holder=de;exports.HolderContainer=ye;exports.Ingredient=oe;exports.IngredientContainer=ae;exports.KosModelRegistry=vr;exports.Nozzle=Q;exports.PourState=l;exports.Pump=Pe;exports.PumpContainer=J;exports.PumpIndex=ue;exports.TOPIC_BOARD_LINKED=ce;exports.TOPIC_BOARD_UNLINKED=pe;exports.addAssignment=Pt;exports.assignHolderIngredient=Te;exports.clearPourable=Ye;exports.deleteAssignment=vt;exports.getAssembly=le;exports.getAssignments=mt;exports.getAvailability=He;exports.getHolders=ht;exports.getIngredients=Se;exports.getIntentVolume=Ue;exports.kosModels=se;exports.pourNamedPourable=ke;exports.pourOnTarget=We;exports.pourPourable=je;exports.registerDispenseModels=tt;exports.replaceLine=Ne;exports.selectPourable=Ve;exports.sendIntent=Be;exports.sendRfidOverride=Le;exports.unassignHolderIngredient=Ae;
|
|
2
|
-
//# sourceMappingURL=dispense-registration-manager-BZeOXyYn.cjs.map
|