@wandelbots/nova-js 3.13.0-pr.307.8728cb4 → 3.13.0-pr.307.dd54f61
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/dist/Nova--8gozkLR.d.mts +85 -0
- package/dist/Nova--8gozkLR.d.mts.map +1 -0
- package/dist/Nova-B1o5iTQ6.d.cts +85 -0
- package/dist/Nova-B1o5iTQ6.d.cts.map +1 -0
- package/dist/experimental/nats/index.cjs +20 -3
- package/dist/experimental/nats/index.cjs.map +1 -1
- package/dist/experimental/nats/index.d.cts +77 -7
- package/dist/experimental/nats/index.d.cts.map +1 -1
- package/dist/experimental/nats/index.d.mts +77 -7
- package/dist/experimental/nats/index.d.mts.map +1 -1
- package/dist/experimental/nats/index.mjs +20 -3
- package/dist/experimental/nats/index.mjs.map +1 -1
- package/dist/v2/index.d.cts +5 -83
- package/dist/v2/index.d.cts.map +1 -1
- package/dist/v2/index.d.mts +4 -82
- package/dist/v2/index.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/experimental/nats/index.ts +2 -0
- package/src/lib/experimental/nats/NovaNatsClient.ts +43 -4
- package/src/lib/experimental/nats/generated/operations.ts +64 -4
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { n as MockNovaInstance, t as AutoReconnectingWebsocket } from "./AutoReconnectingWebsocket-1K2J1NA4.mjs";
|
|
2
|
+
import { AxiosInstance } from "axios";
|
|
3
|
+
import { ApplicationApi, BUSInputsOutputsApi, CellApi, Configuration, ControllerApi, ControllerInputsOutputsApi, JoggingApi, KinematicsApi, LicenseApi, MotionGroupApi, MotionGroupModelsApi, NOVACloudApi, ProgramApi, RobotConfigurationsApi, SessionApi, StoreCollisionComponentsApi, StoreCollisionSetupsApi, StoreObjectApi, SystemApi, TrajectoryCachingApi, TrajectoryExecutionApi, TrajectoryPlanningApi, VersionApi, VirtualControllerApi, VirtualControllerBehaviorApi, VirtualControllerInputsOutputsApi } from "@wandelbots/nova-api/v2";
|
|
4
|
+
|
|
5
|
+
//#region src/lib/NovaAPIClient.d.ts
|
|
6
|
+
type UnwrapAxiosResponseReturn<T> = T extends ((...a: any[]) => any) ? (...a: Parameters<T>) => Promise<Awaited<ReturnType<T>> extends {
|
|
7
|
+
data: infer D;
|
|
8
|
+
} ? D : never> : never;
|
|
9
|
+
type WithUnwrappedAxiosResponse<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<T[P]> };
|
|
10
|
+
type NovaAPIClientOpts = Configuration & {
|
|
11
|
+
axiosInstance?: AxiosInstance;
|
|
12
|
+
mock?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* API client providing type-safe access to all the endpoints of a NOVA
|
|
16
|
+
* instance.
|
|
17
|
+
*/
|
|
18
|
+
declare class NovaAPIClient {
|
|
19
|
+
readonly opts: NovaAPIClientOpts;
|
|
20
|
+
readonly application: WithUnwrappedAxiosResponse<ApplicationApi>;
|
|
21
|
+
readonly busIOs: WithUnwrappedAxiosResponse<BUSInputsOutputsApi>;
|
|
22
|
+
readonly cell: WithUnwrappedAxiosResponse<CellApi>;
|
|
23
|
+
readonly controller: WithUnwrappedAxiosResponse<ControllerApi>;
|
|
24
|
+
readonly controllerIOs: WithUnwrappedAxiosResponse<ControllerInputsOutputsApi>;
|
|
25
|
+
readonly jogging: WithUnwrappedAxiosResponse<JoggingApi>;
|
|
26
|
+
readonly kinematics: WithUnwrappedAxiosResponse<KinematicsApi>;
|
|
27
|
+
readonly license: WithUnwrappedAxiosResponse<LicenseApi>;
|
|
28
|
+
readonly motionGroup: WithUnwrappedAxiosResponse<MotionGroupApi>;
|
|
29
|
+
readonly motionGroupModels: WithUnwrappedAxiosResponse<MotionGroupModelsApi>;
|
|
30
|
+
readonly novaCloud: WithUnwrappedAxiosResponse<NOVACloudApi>;
|
|
31
|
+
readonly program: WithUnwrappedAxiosResponse<ProgramApi>;
|
|
32
|
+
readonly robotConfigurations: WithUnwrappedAxiosResponse<RobotConfigurationsApi>;
|
|
33
|
+
readonly session: WithUnwrappedAxiosResponse<SessionApi>;
|
|
34
|
+
readonly storeCollisionComponents: WithUnwrappedAxiosResponse<StoreCollisionComponentsApi>;
|
|
35
|
+
readonly storeCollisionSetups: WithUnwrappedAxiosResponse<StoreCollisionSetupsApi>;
|
|
36
|
+
readonly storeObject: WithUnwrappedAxiosResponse<StoreObjectApi>;
|
|
37
|
+
readonly system: WithUnwrappedAxiosResponse<SystemApi>;
|
|
38
|
+
readonly trajectoryCaching: WithUnwrappedAxiosResponse<TrajectoryCachingApi>;
|
|
39
|
+
readonly trajectoryExecution: WithUnwrappedAxiosResponse<TrajectoryExecutionApi>;
|
|
40
|
+
readonly trajectoryPlanning: WithUnwrappedAxiosResponse<TrajectoryPlanningApi>;
|
|
41
|
+
readonly version: WithUnwrappedAxiosResponse<VersionApi>;
|
|
42
|
+
readonly virtualController: WithUnwrappedAxiosResponse<VirtualControllerApi>;
|
|
43
|
+
readonly virtualControllerBehavior: WithUnwrappedAxiosResponse<VirtualControllerBehaviorApi>;
|
|
44
|
+
readonly virtualControllerIOs: WithUnwrappedAxiosResponse<VirtualControllerInputsOutputsApi>;
|
|
45
|
+
constructor(opts: NovaAPIClientOpts);
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/lib/Nova.d.ts
|
|
49
|
+
type NovaConfig = {
|
|
50
|
+
/**
|
|
51
|
+
* Url of the deployed NOVA instance to connect to
|
|
52
|
+
* e.g. https://saeattii.instance.wandelbots.io
|
|
53
|
+
*/
|
|
54
|
+
instanceUrl: string;
|
|
55
|
+
/**
|
|
56
|
+
* Access token for Bearer authentication.
|
|
57
|
+
* If running on a NOVA instance, this can be automatically retrieved from
|
|
58
|
+
* the current session when omitted.
|
|
59
|
+
*/
|
|
60
|
+
accessToken?: string;
|
|
61
|
+
} & Omit<Configuration, "isJsonMime" | "basePath">;
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* Client for connecting to a NOVA instance and controlling robots.
|
|
65
|
+
*/
|
|
66
|
+
declare class Nova {
|
|
67
|
+
readonly api: NovaAPIClient;
|
|
68
|
+
readonly config: NovaConfig;
|
|
69
|
+
readonly mock?: MockNovaInstance;
|
|
70
|
+
readonly instanceUrl: URL;
|
|
71
|
+
authPromise: Promise<string | null> | null;
|
|
72
|
+
accessToken: string | null;
|
|
73
|
+
constructor(config: NovaConfig);
|
|
74
|
+
renewAuthentication(): Promise<void>;
|
|
75
|
+
makeWebsocketURL(path: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Retrieve an AutoReconnectingWebsocket to the given path on the Nova instance.
|
|
78
|
+
* If you explicitly want to reconnect an existing websocket, call `reconnect`
|
|
79
|
+
* on the returned object.
|
|
80
|
+
*/
|
|
81
|
+
openReconnectingWebsocket(path: string): AutoReconnectingWebsocket;
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { NovaConfig as n, NovaAPIClient as r, Nova as t };
|
|
85
|
+
//# sourceMappingURL=Nova--8gozkLR.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nova--8gozkLR.d.mts","names":[],"sources":["../src/lib/NovaAPIClient.ts","../src/lib/Nova.ts"],"mappings":";;;;;KAmCK,yBAAA,MAA+B,CAAA,cAAc,CAAA,uBAEzC,CAAA,EAAG,UAAA,CAAW,CAAA,MACd,OAAA,CAAQ,OAAA,CAAQ,UAAA,CAAW,CAAA;EAAc,IAAA;AAAA,IAAkB,CAAA;AAAA,KAG/D,0BAAA,oBACS,CAAA,GAAI,yBAAA,CAA0B,CAAA,CAAE,CAAA;AAAA,KAGzC,iBAAA,GAAoB,aAAA;EACvB,aAAA,GAAgB,aAAa;EAC7B,IAAA;AAAA;;;;;cAuCW,aAAA;EAAA,SACF,IAAA,EAAM,iBAAA;EAAA,SAEN,WAAA,EAAa,0BAAA,CAA2B,cAAA;EAAA,SACxC,MAAA,EAAQ,0BAAA,CAA2B,mBAAA;EAAA,SACnC,IAAA,EAAM,0BAAA,CAA2B,OAAA;EAAA,SACjC,UAAA,EAAY,0BAAA,CAA2B,aAAA;EAAA,SACvC,aAAA,EAAe,0BAAA,CAA2B,0BAAA;EAAA,SAC1C,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,UAAA,EAAY,0BAAA,CAA2B,aAAA;EAAA,SACvC,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,WAAA,EAAa,0BAAA,CAA2B,cAAA;EAAA,SACxC,iBAAA,EAAmB,0BAAA,CAA2B,oBAAA;EAAA,SAC9C,SAAA,EAAW,0BAAA,CAA2B,YAAA;EAAA,SACtC,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,mBAAA,EAAqB,0BAAA,CAA2B,sBAAA;EAAA,SAChD,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,wBAAA,EAA0B,0BAAA,CAA2B,2BAAA;EAAA,SACrD,oBAAA,EAAsB,0BAAA,CAA2B,uBAAA;EAAA,SACjD,WAAA,EAAa,0BAAA,CAA2B,cAAA;EAAA,SACxC,MAAA,EAAQ,0BAAA,CAA2B,SAAA;EAAA,SACnC,iBAAA,EAAmB,0BAAA,CAA2B,oBAAA;EAAA,SAC9C,mBAAA,EAAqB,0BAAA,CAA2B,sBAAA;EAAA,SAChD,kBAAA,EAAoB,0BAAA,CAA2B,qBAAA;EAAA,SAC/C,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,iBAAA,EAAmB,0BAAA,CAA2B,oBAAA;EAAA,SAC9C,yBAAA,EAA2B,0BAAA,CAA2B,4BAAA;EAAA,SACtD,oBAAA,EAAsB,0BAAA,CAA2B,iCAAA;cAE9C,IAAA,EAAM,iBAAA;AAAA;;;KCvGR,UAAA;EDuBP;;;;EClBH,WAAA;EDoBU;;;;;ECbV,WAAA;AAAA,IACE,IAAI,CAAC,aAAA;;;;;cAMI,IAAA;EAAA,SACF,GAAA,EAAK,aAAA;EAAA,SACL,MAAA,EAAQ,UAAA;EAAA,SACR,IAAA,GAAO,gBAAA;EAAA,SACP,WAAA,EAAa,GAAA;EACtB,WAAA,EAAa,OAAA;EACb,WAAA;cAEY,MAAA,EAAQ,UAAA;EAqId,mBAAA,IAAuB,OAAA;EA4B7B,gBAAA,CAAiB,IAAA;EDlKkD;AAAA;;;;ECmLnE,yBAAA,CAA0B,IAAA,WAAY,yBAAA;AAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { n as MockNovaInstance, t as AutoReconnectingWebsocket } from "./AutoReconnectingWebsocket-1K2J1NA4.cjs";
|
|
2
|
+
import { ApplicationApi, BUSInputsOutputsApi, CellApi, Configuration, ControllerApi, ControllerInputsOutputsApi, JoggingApi, KinematicsApi, LicenseApi, MotionGroupApi, MotionGroupModelsApi, NOVACloudApi, ProgramApi, RobotConfigurationsApi, SessionApi, StoreCollisionComponentsApi, StoreCollisionSetupsApi, StoreObjectApi, SystemApi, TrajectoryCachingApi, TrajectoryExecutionApi, TrajectoryPlanningApi, VersionApi, VirtualControllerApi, VirtualControllerBehaviorApi, VirtualControllerInputsOutputsApi } from "@wandelbots/nova-api/v2";
|
|
3
|
+
import { AxiosInstance } from "axios";
|
|
4
|
+
|
|
5
|
+
//#region src/lib/NovaAPIClient.d.ts
|
|
6
|
+
type UnwrapAxiosResponseReturn<T> = T extends ((...a: any[]) => any) ? (...a: Parameters<T>) => Promise<Awaited<ReturnType<T>> extends {
|
|
7
|
+
data: infer D;
|
|
8
|
+
} ? D : never> : never;
|
|
9
|
+
type WithUnwrappedAxiosResponse<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<T[P]> };
|
|
10
|
+
type NovaAPIClientOpts = Configuration & {
|
|
11
|
+
axiosInstance?: AxiosInstance;
|
|
12
|
+
mock?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* API client providing type-safe access to all the endpoints of a NOVA
|
|
16
|
+
* instance.
|
|
17
|
+
*/
|
|
18
|
+
declare class NovaAPIClient {
|
|
19
|
+
readonly opts: NovaAPIClientOpts;
|
|
20
|
+
readonly application: WithUnwrappedAxiosResponse<ApplicationApi>;
|
|
21
|
+
readonly busIOs: WithUnwrappedAxiosResponse<BUSInputsOutputsApi>;
|
|
22
|
+
readonly cell: WithUnwrappedAxiosResponse<CellApi>;
|
|
23
|
+
readonly controller: WithUnwrappedAxiosResponse<ControllerApi>;
|
|
24
|
+
readonly controllerIOs: WithUnwrappedAxiosResponse<ControllerInputsOutputsApi>;
|
|
25
|
+
readonly jogging: WithUnwrappedAxiosResponse<JoggingApi>;
|
|
26
|
+
readonly kinematics: WithUnwrappedAxiosResponse<KinematicsApi>;
|
|
27
|
+
readonly license: WithUnwrappedAxiosResponse<LicenseApi>;
|
|
28
|
+
readonly motionGroup: WithUnwrappedAxiosResponse<MotionGroupApi>;
|
|
29
|
+
readonly motionGroupModels: WithUnwrappedAxiosResponse<MotionGroupModelsApi>;
|
|
30
|
+
readonly novaCloud: WithUnwrappedAxiosResponse<NOVACloudApi>;
|
|
31
|
+
readonly program: WithUnwrappedAxiosResponse<ProgramApi>;
|
|
32
|
+
readonly robotConfigurations: WithUnwrappedAxiosResponse<RobotConfigurationsApi>;
|
|
33
|
+
readonly session: WithUnwrappedAxiosResponse<SessionApi>;
|
|
34
|
+
readonly storeCollisionComponents: WithUnwrappedAxiosResponse<StoreCollisionComponentsApi>;
|
|
35
|
+
readonly storeCollisionSetups: WithUnwrappedAxiosResponse<StoreCollisionSetupsApi>;
|
|
36
|
+
readonly storeObject: WithUnwrappedAxiosResponse<StoreObjectApi>;
|
|
37
|
+
readonly system: WithUnwrappedAxiosResponse<SystemApi>;
|
|
38
|
+
readonly trajectoryCaching: WithUnwrappedAxiosResponse<TrajectoryCachingApi>;
|
|
39
|
+
readonly trajectoryExecution: WithUnwrappedAxiosResponse<TrajectoryExecutionApi>;
|
|
40
|
+
readonly trajectoryPlanning: WithUnwrappedAxiosResponse<TrajectoryPlanningApi>;
|
|
41
|
+
readonly version: WithUnwrappedAxiosResponse<VersionApi>;
|
|
42
|
+
readonly virtualController: WithUnwrappedAxiosResponse<VirtualControllerApi>;
|
|
43
|
+
readonly virtualControllerBehavior: WithUnwrappedAxiosResponse<VirtualControllerBehaviorApi>;
|
|
44
|
+
readonly virtualControllerIOs: WithUnwrappedAxiosResponse<VirtualControllerInputsOutputsApi>;
|
|
45
|
+
constructor(opts: NovaAPIClientOpts);
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/lib/Nova.d.ts
|
|
49
|
+
type NovaConfig = {
|
|
50
|
+
/**
|
|
51
|
+
* Url of the deployed NOVA instance to connect to
|
|
52
|
+
* e.g. https://saeattii.instance.wandelbots.io
|
|
53
|
+
*/
|
|
54
|
+
instanceUrl: string;
|
|
55
|
+
/**
|
|
56
|
+
* Access token for Bearer authentication.
|
|
57
|
+
* If running on a NOVA instance, this can be automatically retrieved from
|
|
58
|
+
* the current session when omitted.
|
|
59
|
+
*/
|
|
60
|
+
accessToken?: string;
|
|
61
|
+
} & Omit<Configuration, "isJsonMime" | "basePath">;
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* Client for connecting to a NOVA instance and controlling robots.
|
|
65
|
+
*/
|
|
66
|
+
declare class Nova {
|
|
67
|
+
readonly api: NovaAPIClient;
|
|
68
|
+
readonly config: NovaConfig;
|
|
69
|
+
readonly mock?: MockNovaInstance;
|
|
70
|
+
readonly instanceUrl: URL;
|
|
71
|
+
authPromise: Promise<string | null> | null;
|
|
72
|
+
accessToken: string | null;
|
|
73
|
+
constructor(config: NovaConfig);
|
|
74
|
+
renewAuthentication(): Promise<void>;
|
|
75
|
+
makeWebsocketURL(path: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Retrieve an AutoReconnectingWebsocket to the given path on the Nova instance.
|
|
78
|
+
* If you explicitly want to reconnect an existing websocket, call `reconnect`
|
|
79
|
+
* on the returned object.
|
|
80
|
+
*/
|
|
81
|
+
openReconnectingWebsocket(path: string): AutoReconnectingWebsocket;
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { NovaConfig as n, NovaAPIClient as r, Nova as t };
|
|
85
|
+
//# sourceMappingURL=Nova-B1o5iTQ6.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nova-B1o5iTQ6.d.cts","names":[],"sources":["../src/lib/NovaAPIClient.ts","../src/lib/Nova.ts"],"mappings":";;;;;KAmCK,yBAAA,MAA+B,CAAA,cAAc,CAAA,uBAEzC,CAAA,EAAG,UAAA,CAAW,CAAA,MACd,OAAA,CAAQ,OAAA,CAAQ,UAAA,CAAW,CAAA;EAAc,IAAA;AAAA,IAAkB,CAAA;AAAA,KAG/D,0BAAA,oBACS,CAAA,GAAI,yBAAA,CAA0B,CAAA,CAAE,CAAA;AAAA,KAGzC,iBAAA,GAAoB,aAAA;EACvB,aAAA,GAAgB,aAAa;EAC7B,IAAA;AAAA;;;;;cAuCW,aAAA;EAAA,SACF,IAAA,EAAM,iBAAA;EAAA,SAEN,WAAA,EAAa,0BAAA,CAA2B,cAAA;EAAA,SACxC,MAAA,EAAQ,0BAAA,CAA2B,mBAAA;EAAA,SACnC,IAAA,EAAM,0BAAA,CAA2B,OAAA;EAAA,SACjC,UAAA,EAAY,0BAAA,CAA2B,aAAA;EAAA,SACvC,aAAA,EAAe,0BAAA,CAA2B,0BAAA;EAAA,SAC1C,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,UAAA,EAAY,0BAAA,CAA2B,aAAA;EAAA,SACvC,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,WAAA,EAAa,0BAAA,CAA2B,cAAA;EAAA,SACxC,iBAAA,EAAmB,0BAAA,CAA2B,oBAAA;EAAA,SAC9C,SAAA,EAAW,0BAAA,CAA2B,YAAA;EAAA,SACtC,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,mBAAA,EAAqB,0BAAA,CAA2B,sBAAA;EAAA,SAChD,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,wBAAA,EAA0B,0BAAA,CAA2B,2BAAA;EAAA,SACrD,oBAAA,EAAsB,0BAAA,CAA2B,uBAAA;EAAA,SACjD,WAAA,EAAa,0BAAA,CAA2B,cAAA;EAAA,SACxC,MAAA,EAAQ,0BAAA,CAA2B,SAAA;EAAA,SACnC,iBAAA,EAAmB,0BAAA,CAA2B,oBAAA;EAAA,SAC9C,mBAAA,EAAqB,0BAAA,CAA2B,sBAAA;EAAA,SAChD,kBAAA,EAAoB,0BAAA,CAA2B,qBAAA;EAAA,SAC/C,OAAA,EAAS,0BAAA,CAA2B,UAAA;EAAA,SACpC,iBAAA,EAAmB,0BAAA,CAA2B,oBAAA;EAAA,SAC9C,yBAAA,EAA2B,0BAAA,CAA2B,4BAAA;EAAA,SACtD,oBAAA,EAAsB,0BAAA,CAA2B,iCAAA;cAE9C,IAAA,EAAM,iBAAA;AAAA;;;KCvGR,UAAA;EDuBP;;;;EClBH,WAAA;EDoBU;;;;;ECbV,WAAA;AAAA,IACE,IAAI,CAAC,aAAA;;;;;cAMI,IAAA;EAAA,SACF,GAAA,EAAK,aAAA;EAAA,SACL,MAAA,EAAQ,UAAA;EAAA,SACR,IAAA,GAAO,gBAAA;EAAA,SACP,WAAA,EAAa,GAAA;EACtB,WAAA,EAAa,OAAA;EACb,WAAA;cAEY,MAAA,EAAQ,UAAA;EAqId,mBAAA,IAAuB,OAAA;EA4B7B,gBAAA,CAAiB,IAAA;EDlKkD;AAAA;;;;ECmLnE,yBAAA,CAA0B,IAAA,WAAY,yBAAA;AAAA"}
|
|
@@ -65,8 +65,11 @@ function buildSubject(template, params) {
|
|
|
65
65
|
var NovaNatsClient = class {
|
|
66
66
|
config;
|
|
67
67
|
connectionPromise = null;
|
|
68
|
-
constructor(config) {
|
|
69
|
-
this.config =
|
|
68
|
+
constructor(nova, config = {}) {
|
|
69
|
+
this.config = {
|
|
70
|
+
servers: buildNatsServerUrl(nova.instanceUrl.href),
|
|
71
|
+
...config
|
|
72
|
+
};
|
|
70
73
|
}
|
|
71
74
|
/**
|
|
72
75
|
* Connects to NATS if not already connected or connecting, and returns the
|
|
@@ -99,7 +102,8 @@ var NovaNatsClient = class {
|
|
|
99
102
|
*
|
|
100
103
|
* Returns a function that unsubscribes when called.
|
|
101
104
|
*/
|
|
102
|
-
async subscribe(subject,
|
|
105
|
+
async subscribe(subject, ...args) {
|
|
106
|
+
const [params, handler] = args.length === 1 ? [{}, args[0]] : [args[0], args[1]];
|
|
103
107
|
const nc = await this.connect();
|
|
104
108
|
const resolvedSubject = buildSubject(subject, params);
|
|
105
109
|
const sub = nc.subscribe(resolvedSubject);
|
|
@@ -123,6 +127,19 @@ var NovaNatsClient = class {
|
|
|
123
127
|
const resolvedSubject = buildSubject(subject, params);
|
|
124
128
|
return (await nc.request(resolvedSubject, JSON.stringify(payload), { timeout: opts.timeout ?? 5e3 })).json();
|
|
125
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Publishes a JSON payload to any NATS subject defined in the spec,
|
|
132
|
+
* without waiting for a reply.
|
|
133
|
+
*
|
|
134
|
+
* `subject` is the subject template as it appears on the wire, e.g.
|
|
135
|
+
* `"nova.v2.cells.{cell}.bus-ios.ios.set"`, with `{param}` placeholders
|
|
136
|
+
* filled in from `params`.
|
|
137
|
+
*/
|
|
138
|
+
async publish(subject, params, payload) {
|
|
139
|
+
const nc = await this.connect();
|
|
140
|
+
const resolvedSubject = buildSubject(subject, params);
|
|
141
|
+
nc.publish(resolvedSubject, JSON.stringify(payload));
|
|
142
|
+
}
|
|
126
143
|
};
|
|
127
144
|
//#endregion
|
|
128
145
|
exports.NovaNatsClient = NovaNatsClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["parseNovaInstanceUrl"],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\" ||\n char === \"*\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(config: NovaNatsClientConfig) {\n this.config = config\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n params: NatsOperationParams[K],\n handler: (payload: NatsSubscribePayloads[K], msg: Msg) => void,\n ): Promise<() => void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n }\n })().catch((err: unknown) => {\n console.error(\n `Error handling NATS subscription for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n}\n"],"mappings":";;;;;;;;;;;;AAUA,SAAgB,mBAAmB,aAA6B;CAC9D,MAAM,MAAMA,mBAAAA,qBAAqB,WAAW;CAE5C,OAAO,GADU,IAAI,aAAa,WAAW,SAAS,MACnC,IAAI,IAAI,KAAK;AAClC;;;;;;;;ACRA,SAAS,mBAAmB,MAAuB;CACjD,MAAM,OAAO,KAAK,WAAW,CAAC;CAC9B,OACG,QAAQ,MAAM,QAAQ,MACtB,QAAQ,MAAM,QAAQ,MACtB,QAAQ,MAAM,QAAQ,OACvB,SAAS,OACT,SAAS,OACT,SAAS;AAEb;AAEA,SAAS,oBAAoB,OAAwB;CACnD,IAAI,MAAM,WAAW,GAAG,OAAO;CAC/B,KAAK,MAAM,QAAQ,OACjB,IAAI,CAAC,mBAAmB,IAAI,GAAG,OAAO;CAExC,OAAO;AACT;AAEA,SAAgB,aACd,UACA,QACQ;CAIR,IAAI,SAAS;CACb,IAAI,SAAS;CAEb,OAAO,SAAS,SAAS,QAAQ;EAC/B,MAAM,YAAY,SAAS,QAAQ,KAAK,MAAM;EAC9C,IAAI,cAAc,IAAI;GACpB,UAAU,SAAS,MAAM,MAAM;GAC/B;EACF;EAEA,MAAM,aAAa,SAAS,QAAQ,KAAK,YAAY,CAAC;EACtD,IAAI,eAAe,IAAI;GACrB,UAAU,SAAS,MAAM,MAAM;GAC/B;EACF;EAEA,UAAU,SAAS,MAAM,QAAQ,SAAS;EAC1C,MAAM,YAAY,SAAS,MAAM,YAAY,GAAG,UAAU;EAC1D,MAAM,QAAQ,OAAO;EACrB,IAAI,UAAU,KAAA,GACZ,MAAM,IAAI,MACR,wCAAwC,UAAU,iBAAiB,SAAS,EAC9E;EAEF,IAAI,CAAC,oBAAoB,KAAK,GAC5B,MAAM,IAAI,MACR,wCAAwC,UAAU,MAAM,MAAM,qEAChE;EAEF,UAAU;EAEV,SAAS,aAAa;CACxB;CAEA,OAAO;AACT;;;;;;;;;AC5CA,IAAa,iBAAb,MAA4B;CAC1B;CACA,oBAA4D;CAE5D,YAAY,QAA8B;EACxC,KAAK,SAAS;CAChB;;;;;;CAOA,UAAmC;EACjC,IAAI,CAAC,KAAK,mBACR,KAAK,qBAAA,GAAA,mBAAA,WAA8B,KAAK,MAAM,EAAE,OAAO,QAAiB;GAEtE,KAAK,oBAAoB;GACzB,MAAM;EACR,CAAC;EAEH,OAAO,KAAK;CACd;;CAGA,MAAM,QAAuB;EAC3B,MAAM,oBAAoB,KAAK;EAC/B,KAAK,oBAAoB;EACzB,IAAI,CAAC,mBAAmB;EACxB,IAAI;GAEF,OAAM,MADW,mBACR,MAAM;EACjB,QAAQ,CAER;CACF;;;;;;;;;;;CAYA,MAAM,UACJ,SACA,QACA,SACqB;EACrB,MAAM,KAAK,MAAM,KAAK,QAAQ;EAC9B,MAAM,kBAAkB,aAAa,SAAS,MAAM;EACpD,MAAM,MAAM,GAAG,UAAU,eAAe;EAEvC,CAAC,YAAY;GACZ,WAAW,MAAM,OAAO,KACtB,QAAQ,IAAI,KAA+B,GAAG,GAAG;EAErD,GAAG,EAAE,OAAO,QAAiB;GAC3B,QAAQ,MACN,yCAAyC,gBAAgB,IACzD,GACF;EACF,CAAC;EAED,aAAa,IAAI,YAAY;CAC/B;;;;;;;;;CAUA,MAAM,QACJ,SACA,QACA,SACA,OAA6B,CAAC,GACC;EAC/B,MAAM,KAAK,MAAM,KAAK,QAAQ;EAC9B,MAAM,kBAAkB,aAAa,SAAS,MAAM;EAIpD,QAAO,MAHW,GAAG,QAAQ,iBAAiB,KAAK,UAAU,OAAO,GAAG,EACrE,SAAS,KAAK,WAAW,IAC3B,CAAC,GACU,KAA2B;CACxC;AACF"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["parseNovaInstanceUrl"],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\" ||\n char === \"*\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport type { Nova } from \"../../Nova.ts\"\nimport { buildNatsServerUrl } from \"./buildNatsServerUrl.ts\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsPublishPayloads,\n NatsPublishSubject,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\ntype NatsMessageHandler<K extends NatsSubscribeSubject> = (\n payload: NatsSubscribePayloads[K],\n msg: Msg,\n) => void\n\ntype SubscribeArgs<K extends NatsSubscribeSubject> =\n keyof NatsOperationParams[K] extends never\n ? [handler: NatsMessageHandler<K>]\n : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>]\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(nova: Nova, config: NovaNatsClientConfig = {}) {\n this.config = {\n servers: buildNatsServerUrl(nova.instanceUrl.href),\n ...config,\n }\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n ...args: SubscribeArgs<K>\n ): Promise<() => void> {\n const [params, handler] =\n args.length === 1\n ? ([{}, args[0]] as const)\n : ([args[0], args[1]] as const)\n\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n }\n })().catch((err: unknown) => {\n console.error(\n `Error handling NATS subscription for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n\n /**\n * Publishes a JSON payload to any NATS subject defined in the spec,\n * without waiting for a reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async publish<K extends NatsPublishSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsPublishPayloads[K],\n ): Promise<void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n nc.publish(resolvedSubject, JSON.stringify(payload))\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { t as Nova } from "../../Nova-B1o5iTQ6.cjs";
|
|
1
2
|
import { ConnectionOptions, Msg, NatsConnection } from "@nats-io/nats-core";
|
|
2
3
|
|
|
3
4
|
//#region src/lib/experimental/nats/buildNatsServerUrl.d.ts
|
|
@@ -2032,7 +2033,7 @@ interface NatsOperationParams {
|
|
|
2032
2033
|
cell: string;
|
|
2033
2034
|
};
|
|
2034
2035
|
/** publishSystemStatus */
|
|
2035
|
-
"nova.v2.system.status": Record<
|
|
2036
|
+
"nova.v2.system.status": Record<never, never>;
|
|
2036
2037
|
/** publishCollisionSetup */
|
|
2037
2038
|
"nova.v2.cells.{cell}.collision.setups.{setup}": {
|
|
2038
2039
|
cell: string;
|
|
@@ -2072,11 +2073,11 @@ interface NatsOperationParams {
|
|
|
2072
2073
|
"motion-group": string;
|
|
2073
2074
|
};
|
|
2074
2075
|
/** eventSystemUpdateStarted */
|
|
2075
|
-
"nova.v2.events.system.update.started": Record<
|
|
2076
|
+
"nova.v2.events.system.update.started": Record<never, never>;
|
|
2076
2077
|
/** eventSystemUpdateCompleted */
|
|
2077
|
-
"nova.v2.events.system.update.completed": Record<
|
|
2078
|
+
"nova.v2.events.system.update.completed": Record<never, never>;
|
|
2078
2079
|
/** eventSystemNetworkStatusChanged */
|
|
2079
|
-
"nova.v2.events.system.network.status.changed": Record<
|
|
2080
|
+
"nova.v2.events.system.network.status.changed": Record<never, never>;
|
|
2080
2081
|
/** eventCellCreated */
|
|
2081
2082
|
"nova.v2.events.cells.{cell}.created": {
|
|
2082
2083
|
cell: string;
|
|
@@ -2189,9 +2190,69 @@ interface NatsReplyPayloads {
|
|
|
2189
2190
|
"nova.v2.cells.{cell}.controllers.{controller}.ios.select": NatsErrorPayload;
|
|
2190
2191
|
}
|
|
2191
2192
|
type NatsRequestSubject = keyof NatsRequestPayloads;
|
|
2193
|
+
/** Payload types for every subject defined in the spec, publishable via NovaNatsClient#publish. */
|
|
2194
|
+
interface NatsPublishPayloads {
|
|
2195
|
+
/** publishCell */
|
|
2196
|
+
"nova.v2.cells.{cell}": Cell;
|
|
2197
|
+
/** publishApp */
|
|
2198
|
+
"nova.v2.cells.{cell}.apps.{app}": App;
|
|
2199
|
+
/** publishProgramStatus */
|
|
2200
|
+
"nova.v2.cells.{cell}.programs": ProgramStatus;
|
|
2201
|
+
/** publishRobotController */
|
|
2202
|
+
"nova.v2.cells.{cell}.controllers.{controller}": RobotController;
|
|
2203
|
+
/** publishCellStatus */
|
|
2204
|
+
"nova.v2.cells.{cell}.status": ServiceStatusList;
|
|
2205
|
+
/** publishCellCycle */
|
|
2206
|
+
"nova.v2.cells.{cell}.cycle": CellCycleEvent;
|
|
2207
|
+
/** publishSystemStatus */
|
|
2208
|
+
"nova.v2.system.status": ServiceStatusList;
|
|
2209
|
+
/** publishCollisionSetup */
|
|
2210
|
+
"nova.v2.cells.{cell}.collision.setups.{setup}": CollisionSetup;
|
|
2211
|
+
/** publishBUSIOStatus */
|
|
2212
|
+
"nova.v2.cells.{cell}.bus-ios.status": BusIOsState;
|
|
2213
|
+
/** publishBUSIOsIOs */
|
|
2214
|
+
"nova.v2.cells.{cell}.bus-ios.ios": ListIOValuesResponse;
|
|
2215
|
+
/** setBUSIOsIOs */
|
|
2216
|
+
"nova.v2.cells.{cell}.bus-ios.ios.set": ListIOValuesResponse;
|
|
2217
|
+
/** selectRobotControllerIOs */
|
|
2218
|
+
"nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs;
|
|
2219
|
+
/** publishRobotControllerIOs */
|
|
2220
|
+
"nova.v2.cells.{cell}.controllers.{controller}.ios": StreamIOValuesResponse;
|
|
2221
|
+
/** publishRobotControllersState */
|
|
2222
|
+
"nova.v2.cells.{cell}.controllers.{controller}.state": RobotControllerState;
|
|
2223
|
+
/** publishMotionGroupDescription */
|
|
2224
|
+
"nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": MotionGroupDescription;
|
|
2225
|
+
/** eventSystemUpdateStarted */
|
|
2226
|
+
"nova.v2.events.system.update.started": SystemUpdateStartedEvent;
|
|
2227
|
+
/** eventSystemUpdateCompleted */
|
|
2228
|
+
"nova.v2.events.system.update.completed": SystemUpdateCompletedEvent;
|
|
2229
|
+
/** eventSystemNetworkStatusChanged */
|
|
2230
|
+
"nova.v2.events.system.network.status.changed": NetworkStatusChangedEvent;
|
|
2231
|
+
/** eventCellCreated */
|
|
2232
|
+
"nova.v2.events.cells.{cell}.created": CellCreatedEvent;
|
|
2233
|
+
/** eventCellUpdated */
|
|
2234
|
+
"nova.v2.events.cells.{cell}.updated": CellUpdatedEvent;
|
|
2235
|
+
/** eventCellDeleted */
|
|
2236
|
+
"nova.v2.events.cells.{cell}.deleted": CellDeletedEvent;
|
|
2237
|
+
/** eventAppCreated */
|
|
2238
|
+
"nova.v2.events.cells.{cell}.apps.{app}.created": AppCreatedEvent;
|
|
2239
|
+
/** eventAppUpdated */
|
|
2240
|
+
"nova.v2.events.cells.{cell}.apps.{app}.updated": AppUpdatedEvent;
|
|
2241
|
+
/** eventAppDeleted */
|
|
2242
|
+
"nova.v2.events.cells.{cell}.apps.{app}.deleted": AppDeletedEvent;
|
|
2243
|
+
/** eventRobotControllerCreated */
|
|
2244
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.created": RobotControllerCreatedEvent;
|
|
2245
|
+
/** eventRobotControllerUpdated */
|
|
2246
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.updated": RobotControllerUpdatedEvent;
|
|
2247
|
+
/** eventRobotControllerDeleted */
|
|
2248
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent;
|
|
2249
|
+
}
|
|
2250
|
+
type NatsPublishSubject = keyof NatsPublishPayloads;
|
|
2192
2251
|
//#endregion
|
|
2193
2252
|
//#region src/lib/experimental/nats/NovaNatsClient.d.ts
|
|
2194
2253
|
type NovaNatsClientConfig = ConnectionOptions;
|
|
2254
|
+
type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void;
|
|
2255
|
+
type SubscribeArgs<K extends NatsSubscribeSubject> = keyof NatsOperationParams[K] extends never ? [handler: NatsMessageHandler<K>] : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>];
|
|
2195
2256
|
/**
|
|
2196
2257
|
* Typed NATS client for the Wandelbots NOVA messaging API, generated from
|
|
2197
2258
|
* src/asyncapi.yaml (see scripts/generate-nats-client.ts).
|
|
@@ -2201,7 +2262,7 @@ type NovaNatsClientConfig = ConnectionOptions;
|
|
|
2201
2262
|
declare class NovaNatsClient {
|
|
2202
2263
|
readonly config: NovaNatsClientConfig;
|
|
2203
2264
|
private connectionPromise;
|
|
2204
|
-
constructor(
|
|
2265
|
+
constructor(nova: Nova, config?: NovaNatsClientConfig);
|
|
2205
2266
|
/**
|
|
2206
2267
|
* Connects to NATS if not already connected or connecting, and returns the
|
|
2207
2268
|
* connection. Safe to call concurrently: all callers share the same
|
|
@@ -2220,7 +2281,7 @@ declare class NovaNatsClient {
|
|
|
2220
2281
|
*
|
|
2221
2282
|
* Returns a function that unsubscribes when called.
|
|
2222
2283
|
*/
|
|
2223
|
-
subscribe<K extends NatsSubscribeSubject>(subject: K,
|
|
2284
|
+
subscribe<K extends NatsSubscribeSubject>(subject: K, ...args: SubscribeArgs<K>): Promise<() => void>;
|
|
2224
2285
|
/**
|
|
2225
2286
|
* Sends a request payload for a NATS subject the server receives, and
|
|
2226
2287
|
* waits for the JSON-decoded reply.
|
|
@@ -2232,7 +2293,16 @@ declare class NovaNatsClient {
|
|
|
2232
2293
|
request<K extends NatsRequestSubject>(subject: K, params: NatsOperationParams[K], payload: NatsRequestPayloads[K], opts?: {
|
|
2233
2294
|
timeout?: number;
|
|
2234
2295
|
}): Promise<NatsReplyPayloads[K]>;
|
|
2296
|
+
/**
|
|
2297
|
+
* Publishes a JSON payload to any NATS subject defined in the spec,
|
|
2298
|
+
* without waiting for a reply.
|
|
2299
|
+
*
|
|
2300
|
+
* `subject` is the subject template as it appears on the wire, e.g.
|
|
2301
|
+
* `"nova.v2.cells.{cell}.bus-ios.ios.set"`, with `{param}` placeholders
|
|
2302
|
+
* filled in from `params`.
|
|
2303
|
+
*/
|
|
2304
|
+
publish<K extends NatsPublishSubject>(subject: K, params: NatsOperationParams[K], payload: NatsPublishPayloads[K]): Promise<void>;
|
|
2235
2305
|
}
|
|
2236
2306
|
//#endregion
|
|
2237
|
-
export { type NatsOperationParams, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig, buildNatsServerUrl };
|
|
2307
|
+
export { type NatsOperationParams, type NatsPublishPayloads, type NatsPublishSubject, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig, buildNatsServerUrl };
|
|
2238
2308
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { t as Nova } from "../../Nova--8gozkLR.mjs";
|
|
1
2
|
import { ConnectionOptions, Msg, NatsConnection } from "@nats-io/nats-core";
|
|
2
3
|
|
|
3
4
|
//#region src/lib/experimental/nats/buildNatsServerUrl.d.ts
|
|
@@ -2032,7 +2033,7 @@ interface NatsOperationParams {
|
|
|
2032
2033
|
cell: string;
|
|
2033
2034
|
};
|
|
2034
2035
|
/** publishSystemStatus */
|
|
2035
|
-
"nova.v2.system.status": Record<
|
|
2036
|
+
"nova.v2.system.status": Record<never, never>;
|
|
2036
2037
|
/** publishCollisionSetup */
|
|
2037
2038
|
"nova.v2.cells.{cell}.collision.setups.{setup}": {
|
|
2038
2039
|
cell: string;
|
|
@@ -2072,11 +2073,11 @@ interface NatsOperationParams {
|
|
|
2072
2073
|
"motion-group": string;
|
|
2073
2074
|
};
|
|
2074
2075
|
/** eventSystemUpdateStarted */
|
|
2075
|
-
"nova.v2.events.system.update.started": Record<
|
|
2076
|
+
"nova.v2.events.system.update.started": Record<never, never>;
|
|
2076
2077
|
/** eventSystemUpdateCompleted */
|
|
2077
|
-
"nova.v2.events.system.update.completed": Record<
|
|
2078
|
+
"nova.v2.events.system.update.completed": Record<never, never>;
|
|
2078
2079
|
/** eventSystemNetworkStatusChanged */
|
|
2079
|
-
"nova.v2.events.system.network.status.changed": Record<
|
|
2080
|
+
"nova.v2.events.system.network.status.changed": Record<never, never>;
|
|
2080
2081
|
/** eventCellCreated */
|
|
2081
2082
|
"nova.v2.events.cells.{cell}.created": {
|
|
2082
2083
|
cell: string;
|
|
@@ -2189,9 +2190,69 @@ interface NatsReplyPayloads {
|
|
|
2189
2190
|
"nova.v2.cells.{cell}.controllers.{controller}.ios.select": NatsErrorPayload;
|
|
2190
2191
|
}
|
|
2191
2192
|
type NatsRequestSubject = keyof NatsRequestPayloads;
|
|
2193
|
+
/** Payload types for every subject defined in the spec, publishable via NovaNatsClient#publish. */
|
|
2194
|
+
interface NatsPublishPayloads {
|
|
2195
|
+
/** publishCell */
|
|
2196
|
+
"nova.v2.cells.{cell}": Cell;
|
|
2197
|
+
/** publishApp */
|
|
2198
|
+
"nova.v2.cells.{cell}.apps.{app}": App;
|
|
2199
|
+
/** publishProgramStatus */
|
|
2200
|
+
"nova.v2.cells.{cell}.programs": ProgramStatus;
|
|
2201
|
+
/** publishRobotController */
|
|
2202
|
+
"nova.v2.cells.{cell}.controllers.{controller}": RobotController;
|
|
2203
|
+
/** publishCellStatus */
|
|
2204
|
+
"nova.v2.cells.{cell}.status": ServiceStatusList;
|
|
2205
|
+
/** publishCellCycle */
|
|
2206
|
+
"nova.v2.cells.{cell}.cycle": CellCycleEvent;
|
|
2207
|
+
/** publishSystemStatus */
|
|
2208
|
+
"nova.v2.system.status": ServiceStatusList;
|
|
2209
|
+
/** publishCollisionSetup */
|
|
2210
|
+
"nova.v2.cells.{cell}.collision.setups.{setup}": CollisionSetup;
|
|
2211
|
+
/** publishBUSIOStatus */
|
|
2212
|
+
"nova.v2.cells.{cell}.bus-ios.status": BusIOsState;
|
|
2213
|
+
/** publishBUSIOsIOs */
|
|
2214
|
+
"nova.v2.cells.{cell}.bus-ios.ios": ListIOValuesResponse;
|
|
2215
|
+
/** setBUSIOsIOs */
|
|
2216
|
+
"nova.v2.cells.{cell}.bus-ios.ios.set": ListIOValuesResponse;
|
|
2217
|
+
/** selectRobotControllerIOs */
|
|
2218
|
+
"nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs;
|
|
2219
|
+
/** publishRobotControllerIOs */
|
|
2220
|
+
"nova.v2.cells.{cell}.controllers.{controller}.ios": StreamIOValuesResponse;
|
|
2221
|
+
/** publishRobotControllersState */
|
|
2222
|
+
"nova.v2.cells.{cell}.controllers.{controller}.state": RobotControllerState;
|
|
2223
|
+
/** publishMotionGroupDescription */
|
|
2224
|
+
"nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": MotionGroupDescription;
|
|
2225
|
+
/** eventSystemUpdateStarted */
|
|
2226
|
+
"nova.v2.events.system.update.started": SystemUpdateStartedEvent;
|
|
2227
|
+
/** eventSystemUpdateCompleted */
|
|
2228
|
+
"nova.v2.events.system.update.completed": SystemUpdateCompletedEvent;
|
|
2229
|
+
/** eventSystemNetworkStatusChanged */
|
|
2230
|
+
"nova.v2.events.system.network.status.changed": NetworkStatusChangedEvent;
|
|
2231
|
+
/** eventCellCreated */
|
|
2232
|
+
"nova.v2.events.cells.{cell}.created": CellCreatedEvent;
|
|
2233
|
+
/** eventCellUpdated */
|
|
2234
|
+
"nova.v2.events.cells.{cell}.updated": CellUpdatedEvent;
|
|
2235
|
+
/** eventCellDeleted */
|
|
2236
|
+
"nova.v2.events.cells.{cell}.deleted": CellDeletedEvent;
|
|
2237
|
+
/** eventAppCreated */
|
|
2238
|
+
"nova.v2.events.cells.{cell}.apps.{app}.created": AppCreatedEvent;
|
|
2239
|
+
/** eventAppUpdated */
|
|
2240
|
+
"nova.v2.events.cells.{cell}.apps.{app}.updated": AppUpdatedEvent;
|
|
2241
|
+
/** eventAppDeleted */
|
|
2242
|
+
"nova.v2.events.cells.{cell}.apps.{app}.deleted": AppDeletedEvent;
|
|
2243
|
+
/** eventRobotControllerCreated */
|
|
2244
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.created": RobotControllerCreatedEvent;
|
|
2245
|
+
/** eventRobotControllerUpdated */
|
|
2246
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.updated": RobotControllerUpdatedEvent;
|
|
2247
|
+
/** eventRobotControllerDeleted */
|
|
2248
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent;
|
|
2249
|
+
}
|
|
2250
|
+
type NatsPublishSubject = keyof NatsPublishPayloads;
|
|
2192
2251
|
//#endregion
|
|
2193
2252
|
//#region src/lib/experimental/nats/NovaNatsClient.d.ts
|
|
2194
2253
|
type NovaNatsClientConfig = ConnectionOptions;
|
|
2254
|
+
type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void;
|
|
2255
|
+
type SubscribeArgs<K extends NatsSubscribeSubject> = keyof NatsOperationParams[K] extends never ? [handler: NatsMessageHandler<K>] : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>];
|
|
2195
2256
|
/**
|
|
2196
2257
|
* Typed NATS client for the Wandelbots NOVA messaging API, generated from
|
|
2197
2258
|
* src/asyncapi.yaml (see scripts/generate-nats-client.ts).
|
|
@@ -2201,7 +2262,7 @@ type NovaNatsClientConfig = ConnectionOptions;
|
|
|
2201
2262
|
declare class NovaNatsClient {
|
|
2202
2263
|
readonly config: NovaNatsClientConfig;
|
|
2203
2264
|
private connectionPromise;
|
|
2204
|
-
constructor(
|
|
2265
|
+
constructor(nova: Nova, config?: NovaNatsClientConfig);
|
|
2205
2266
|
/**
|
|
2206
2267
|
* Connects to NATS if not already connected or connecting, and returns the
|
|
2207
2268
|
* connection. Safe to call concurrently: all callers share the same
|
|
@@ -2220,7 +2281,7 @@ declare class NovaNatsClient {
|
|
|
2220
2281
|
*
|
|
2221
2282
|
* Returns a function that unsubscribes when called.
|
|
2222
2283
|
*/
|
|
2223
|
-
subscribe<K extends NatsSubscribeSubject>(subject: K,
|
|
2284
|
+
subscribe<K extends NatsSubscribeSubject>(subject: K, ...args: SubscribeArgs<K>): Promise<() => void>;
|
|
2224
2285
|
/**
|
|
2225
2286
|
* Sends a request payload for a NATS subject the server receives, and
|
|
2226
2287
|
* waits for the JSON-decoded reply.
|
|
@@ -2232,7 +2293,16 @@ declare class NovaNatsClient {
|
|
|
2232
2293
|
request<K extends NatsRequestSubject>(subject: K, params: NatsOperationParams[K], payload: NatsRequestPayloads[K], opts?: {
|
|
2233
2294
|
timeout?: number;
|
|
2234
2295
|
}): Promise<NatsReplyPayloads[K]>;
|
|
2296
|
+
/**
|
|
2297
|
+
* Publishes a JSON payload to any NATS subject defined in the spec,
|
|
2298
|
+
* without waiting for a reply.
|
|
2299
|
+
*
|
|
2300
|
+
* `subject` is the subject template as it appears on the wire, e.g.
|
|
2301
|
+
* `"nova.v2.cells.{cell}.bus-ios.ios.set"`, with `{param}` placeholders
|
|
2302
|
+
* filled in from `params`.
|
|
2303
|
+
*/
|
|
2304
|
+
publish<K extends NatsPublishSubject>(subject: K, params: NatsOperationParams[K], payload: NatsPublishPayloads[K]): Promise<void>;
|
|
2235
2305
|
}
|
|
2236
2306
|
//#endregion
|
|
2237
|
-
export { type NatsOperationParams, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig, buildNatsServerUrl };
|
|
2307
|
+
export { type NatsOperationParams, type NatsPublishPayloads, type NatsPublishSubject, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig, buildNatsServerUrl };
|
|
2238
2308
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/generated/types.ts","../../../src/lib/experimental/nats/generated/operations.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"mappings":";;;;;;;;AAUA;;;;iBAAgB,kBAAA,CAAmB,WAAmB;;;;;ACY3B;AAK3B;;;;KALY,eAAA;AAoBZ;;;;AAAA,KAfY,YAAA;AA0BZ;;;;AAEuB;AASvB;;;AAXA,KAXY,gBAAA;AAwBL;AAwBP;;;;AAA4B;AAU5B;;;;AAlCO,KAbK,sCAAA,GACR,oBAAA,GACA,mBAAmB;AAsDvB;;;;AAAiC;AAKjC;;;AALA,KA7CY,oBAAA;EACV,IAAA;EACA,KAAK;AAAA;;;;KAwBK,gBAAA;AAsGZ;;;;AAAA,KA5FY,YAAA;AAqGZ;;;;AAAA,KA5FY,qBAAA;;;;;KAKA,kBAAA;;;AAuFwD;AAOpE;KA3EY,iBAAA,GAAoB,aAAa;;;AA2EH;AA+D1C;;;;AAAyB;AAsBzB;;KArJY,QAAA;;AAqJe;AA4C3B;;;;AAAmB;AAMnB;;;;AAAmB;AAMnB;KA/LY,cAAA;;;;AA2Na;AAKzB;;KAtMY,UAAA,GAAa,wBAAwB;;;;;;;;KAQrC,eAAA;;;;;KASA,OAAA,GAAU,cAAA,GAAiB,cAAA,GAAiB,YAAA;AAsNxD;;;;;;AAAA,KA/MY,oBAAA,GAAuB,OAAO;AAiS1C;;;;;;;;;;;;;AAAA,KAlOY,aAAA;AAkPE;AAKd;;;;;;;;;;AALc,KA5NF,eAAA;;;;;;KA4CA,OAAA;;;;;;KAMA,OAAA;AA8OZ;;;;;AAAA,KAxOY,OAAA;;;;;;;KAOA,iBAAA,GAAoB,gBAAgB;;AAiPlC;AAKd;;;;;KA9OY,SAAA;;;;;;;;KAQA,SAAA;AAsPE;AAKd;;;AALc,KAjPF,aAAA;;;;;KAKA,wBAAA,GAA2B,UAAU;EAC/C,IAAA;EACA,MAAA;EA8PM;;;EA1PN,EAAA;IAAA,CACG,CAAA;EAAA;;;;EAKH,IAAA;IAAA,CACG,CAAA;EAAA;EAkQD;;;EA7PF,IAAA;IA4Qe;;;IAxQb,UAAA;IAsRA;AAQJ;;IA1RI,UAAA;EAAA;AAAA;;;;;KAOQ,0BAAA,GAA6B,UAAU;EACjD,IAAA;EACA,MAAA;;;;EAIA,EAAA;IAAA,CACG,CAAA;EAAA;EAkSD;;;EA7RF,IAAA;IAAA,CACG,CAAA;EAAA;EA2SqC;;;EAtSxC,IAAA;IA8Se;;;IA1Sb,UAAA;IA8SF;;;IA1SE,KAAA;EAAA;AAAA;AA0TJ;;;;;;AAAA,KAjTY,cAAA;;;AAyUY;AAUxB;KA9UY,gBAAA;EACV,IAAA;EACA,MAAA;EAwXK;;;EApXL,EAAA;IAAA,CACG,CAAA;EAAA;EA8XG;;;EAzXN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,aAAA;AAAA,IACJ,UAAU;;;;;KAKF,gBAAA;EACV,IAAA;EACA,MAAA;EAmYM;;;EA/XN,EAAA;IAAA,CACG,CAAA;EAAA;EAoYG;;;EA/XN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,aAAA;AAAA,IACJ,UAAU;;;;;KAKF,gBAAA;EACV,IAAA;EACA,MAAA;EAuYM;;;EAnYN,EAAA;IAAA,CACG,CAAA;EAAA;EA0YG;;;EArYN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,aAAA;AAAA,IACJ,UAAU;;;;;KAKF,eAAA;EACV,IAAA;EACA,MAAA;EAuTA;;;EAnTA,EAAA;IAAA,CACG,CAAA;EAAA;EA4TG;;;EAvTN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,YAAA;AAAA,IACJ,UAAU;;;;;KAKF,eAAA;EACV,IAAA;EACA,MAAA;EAiUM;;;EA7TN,EAAA;IAAA,CACG,CAAA;EAAA;EAoUG;;;EA/TN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,YAAA;AAAA,IACJ,UAAU;;;;;KAKF,eAAA;EACV,IAAA;EACA,MAAA;EAuUM;;;EAnUN,EAAA;IAAA,CACG,CAAA;EAAA;EA0UG;;;EArUN,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,YAAA;AAAA,IACJ,UAAU;;AAwUgC;AAS9C;;KA5UY,2BAAA;EACV,IAAA;EACA,MAAA;EAoVe;;;EAhVf,EAAA;IAAA,CACG,CAAA;EAAA;EA0VC;;;EArVJ,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,wBAAA;AAAA,IACJ,UAAU;;;;;KAKF,2BAAA;EACV,IAAA;EACA,MAAA;EAqVe;;;EAjVf,EAAA;IAAA,CACG,CAAA;EAAA;EAmVH;;AAAQ;EA9UR,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,wBAAA;AAAA,IACJ,UAAU;;;;;KAKF,2BAAA;EACV,IAAA;EACA,MAAA;EAkW+B;;;EA9V/B,EAAA;IAAA,CACG,CAAA;EAAA;;;AAqXS;EAhXZ,IAAA;IAAA,CACG,CAAA;EAAA;EAEH,IAAA,EAAM,wBAAA;AAAA,IACJ,UAAU;AAAA,UAEG,aAAA;EACf,IAAA;EACA,aAAA;EAwY8B;;;;EAnY9B,eAAA;EAgYA;;;EA5XA,UAAA;IACE,EAAA;IACA,IAAA;EAAA;AAAA;;;AAmZY;AAWhB;;;;;;;;UAhZiB,0BAAA;EA4Zf;;;;;;EArZA,OAAA;EAyZC;;AAAS;AAMZ;;;EAxZE,EAAE;AAAA;;;;;;;UAQa,eAAA;EACf,IAAA;EACA,aAAA;EACA,iBAAA,GAAoB,0BAA0B;AAAA;;;;;;;;;;UAW/B,cAAA;EACf,IAAA;EACA,aAAA;EACA,eAAA;EAuaE;;;EAnaF,UAAA;IACE,EAAA;IACA,IAAA;EAAA;;;;;EAMF,eAAA;AAAA;;;;;;;UAQe,yBAAA;EACf,IAAA;EACA,aAAa;AAAA;;AA2cP;AAaR;;UAldiB,oBAAA;EAkdG;;;EA9clB,YAAA;EACA,kBAAA,EAAoB,gBAAgB;EA8dpC;;AAAQ;AAQV;;;;;EA7dE,sBAAA;AAAA;;AAseM;AAQR;;UAxeiB,mBAAA;EAyeL;AAAA;AAYZ;EAjfE,YAAA;;;;;;EAMA,SAAA;EAofM;AAUR;;;EAzfE,yBAAA;EA0fA;;;;AAQe;AAWjB;;;EApgBE,sBAAA;AAAA;;;;;AAihBwB;AAQ1B;;;UA/gBiB,iBAAA;EACf,IAAA;EACA,YAAA,EAAc,YAAA;EAkhBJ;;AAAQ;AAWpB;;EAvhBE,IAAA;EAyhB4B;;;;;;EAlhB5B,IAAA;EAmiBe;;;;;;;;EA1hBf,sBAAA;EAkiBI;;;;;;;;;;;;;;;;;EAhhBJ,aAAA,SAEK,sCAAA,KAEC,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,KAGA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA,EACA,sCAAA;AAAA;AAgkBI;AAMZ;;;;;AANY,UAvjBK,iBAAA;EACf,IAAA;EACA,aAAa;AAAA;AA2kBf;;;;AAWa;AAQb;AAnBA,UAnkBiB,eAAA;;;;;;EAMf,IAAA;EACA,aAAA,EACI,aAAA,GACA,eAAA,GACA,cAAA,GACA,yBAAA,GACA,iBAAA,GACA,iBAAA;AAAA;AA2mBN;;;;AACM;AASN;;AAVA,UAlmBiB,gBAAA;EACf,QAAA;EACA,IAAA;EACA,QAAA;AAAA;;;AAonBI;AASN;;;;UApnBiB,cAAA;EA+nBA;;;EA3nBf,KAAA;EACA,WAAA,GAAc,gBAAgB;EAqoBf;;;EAjoBf,OAAA;IACE,IAAA;EAAA;AAAA;;;;;;;;;;UAYa,gBAAA;EACf,UAAA;EAyoBI;;;;;;EAloBJ,QAAQ;AAAA;AAipBJ;AASN;;;;AAKa;AAdP,UAzoBW,kBAAA;EAgqBsB;;;EA5pBrC,SAAA;EAsqBe;;;EAlqBf,YAAY;AAAA;AA4qBd;;;;AACM;AASN;;AAVA,UAnqBiB,GAAA;EA8qBX;AAAA;AAgBN;;;;;;;;EAnrBE,IAAA;EAmsBwB;;;EA/rBxB,QAAA;EACA,eAAA,EAAiB,cAAA;EA2rBb;;;EAvrBJ,IAAA;EACA,WAAA,GAAc,oBAAA;EACd,OAAA,GAAU,gBAAA;EACV,SAAA,GAAY,kBAAA;EAstBG;;;;;;;;;;;;EAzsBf,WAAA;EAmtBA;;;;;;;;EA1sBA,cAAA;AAAA;;;;;;;;;;UAWe,IAAA;EAuuBL;;;AAQU;AAMtB;EA/uBE,IAAA;;;AAmvBa;AAQf;;EArvBE,OAAA;EACA,WAAA,GAAc,eAAA;EACd,WAAA,GAAc,eAAA;EACd,IAAA,GAAO,GAAA;EAAA,CACN,CAAA;AAAA;;AAmvB2B;AAQ9B;;UArvBiB,aAAA;EAuvBa;;;EAnvB5B,GAAA;EAmvBc;;AAAc;EA/uB5B,OAAA;EAuvBuB;;;EAnvBvB,GAAA;EACA,KAAA,EAAO,gBAAgB;EAyvBb;;;EArvBV,KAAA;EA6vBe;;;EAzvBf,UAAA;EA6xBc;;;EAzxBd,QAAA;EAyvBA;;;EArvBA,SAAA;AAAA;;;;;UAMe,aAAA;EACf,OAAA;EACA,KAAA,EAAO,YAAA;EACP,MAAA;IACE,QAAA,EAAU,qBAAA;IACV,IAAA,EAAM,kBAAA;IACN,MAAA;EAAA;AAAA;;;;;AA4xBQ;AAQZ;;UA1xBiB,cAAA;EA2xBf;AACW;AAMb;EA9xBE,UAAA;;;;EAIA,EAAA;EA4xBA;;;EAxxBA,QAAA;EAiyBM;AAAA;AAMR;EAnyBE,SAAA;;;;EAIA,IAAA;EAwyBA;;;EApyBA,KAAA;IAAA,CACG,CAAA;EAAA;EAkzBY;;;EA7yBf,WAAA;EA+yBM;;;EA3yBN,MAAA;AAAA;;;;;;;UAQe,MAAA;EACf,UAAA;EAoyBS;;;EAhyBT,MAAM;AAAA;AAuyBR;;;;;;;;;;;AAAA,UA1xBiB,GAAA;EACf,UAAA;EA4xBA;;;EAxxBA,MAAA;EA6xBA;;AAA0C;EAzxB1C,MAAA;EA+xBsB;;;EA3xBtB,MAAA;EAgyBA;;;EA5xBA,QAAA;AAAA;;AA8xB6B;AAQ/B;;;;UA9xBiB,SAAA;EACf,UAAA;EAyyBA;;;EAryBA,MAAA;EA8yBO;;AAAa;EA1yBpB,MAAA;AAAA;;;;;;;UAQe,KAAA;EACf,UAAU;AAAA;;;;;;;;;;;UAYK,QAAA;EACf,UAAA;EAqyBe;;;EAjyBf,MAAA;EAwyBwB;;;EApyBxB,MAAA;AAAA;;;;;;;;;UAUe,OAAA;EACf,UAAA;EAkzBoB;AAQtB;;EAtzBE,MAAA;EAwzB4B;;;EApzB5B,eAAA;AAAA;;AAozB4B;AAO9B;;;;AACwB;AAOxB;;UAxzBiB,kBAAA;EACf,UAAA;EAwzBqB;AAOvB;;EA3zBE,MAAA;EA4zBC;AAA8B;AAOjC;EA/zBE,wBAAA;;;AAg0BoB;EA5zBpB,wBAAA;AAAA;;;;;;;UAQe,UAAA;EACf,UAAA;EAq0Be;;;EAj0Bf,QAAA,EAAU,QAAQ;AAAA;;;;;AAm0BU;AAU9B;;;;UAl0BiB,IAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;;AAq2BhB;AAOd;;;;;;;UA31BiB,QAAA;EACf,KAAA,EACI,MAAA,GACA,GAAA,GACA,SAAA,GACA,KAAA,GACA,QAAA,GACA,OAAA,GACA,kBAAA,GACA,UAAA;EACJ,IAAA,GAAO,IAAA;EA+2BO;AAAA;AAUhB;EAr3BE,MAAA;AAAA;;;;;;;UAQe,kBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;AAq4BH;AAQpB;;UAv4BiB,wBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;UAoBN,cAAA;EACf,SAAA,GAAY,mBAAA;EACZ,UAAA,GAAa,UAAA;EACb,IAAA,GAAO,yBAAA;EA+4BwB;AAAA;AAMjC;;;;AAES;;;;EA54BP,wBAAA;AAAA;;;;;UAMe,mBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;UAMN,yBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;UAMN,WAAA;EACf,KAAA,EAAO,eAAe;ECz2CU;;;;;ED+2ChC,OAAA;AAAA;;;;;;;UAQe,cAAA;ECt2Cb;;;ED02CF,EAAA;ECl2CA;;;;EDu2CA,KAAA;EACA,UAAA;AAAA;;;;;UAMe,cAAA;EC/1CiC;;;EDm2ChD,EAAA;EC/1CyC;;;;;;;;EDw2CzC,KAAA;EACA,UAAA;AAAA;;;;;UAMe,YAAA;ECt1Cb;;;ED01CF,EAAA;ECp1CE;;AAAU;AAKd;EDo1CE,KAAA;EACA,UAAA;AAAA;;;;;UAMe,SAAA;EC70CU;;;EDi1CzB,GAAA;ECz0CqD;;;;;;EDg1CrD,WAAW;AAAA;;;;;;;UAQI,sBAAA;EACf,SAAA,EAAW,OAAO;EC7zCyE;;;EDi0C3F,SAAA;EC/2CmC;;;;;EDq3CnC,eAAA;AAAA;;;;;;;;UAuBe,cAAA;EACf,IAAI;AAAA;;;;;;;;UASW,mBAAA;EACf,IAAI;AAAA;;;;;;;;UASW,iBAAA;EACf,IAAI;AAAA;;;ACh3CwD;AAG9D;;;;UDs3CiB,2BAAA;EACf,IAAA;EACA,aAAa;AAAA;;ACp3CwD;AAIvE;;;;;UDy3CiB,0BAAA;EACf,IAAA;EACA,WAAW;AAAA;ACv3CiE;AAG9E;;;;AAA0D;AAG1D;AAN8E,UDg4C7D,4BAAA;EACf,IAAA;EACA,WAAW;AAAA;;;;;;;;;;;;;;;;UAiBI,cAAA;EACf,KAAA,EACI,cAAA,GACA,mBAAA,GACA,iBAAA,GACA,2BAAA,GACA,0BAAA,GACA,4BAAA;EC52CmC;;;;;;;;;EDs3CvC,2BAAA;EACA,IAAA;AAAA;;;;;;;;UASe,iBAAA;EACf,IAAA;EC75C8B;;;EDi6C9B,WAAW;AAAA;;;;;;;;UASI,sBAAA;EACf,IAAI;AAAA;;;;;;;;UASW,eAAA;EACf,IAAI;AAAA;;;;;;;;UASW,mBAAA;EACf,IAAI;AAAA;;;;;;;;UASW,oBAAA;EACf,IAAI;AAAA;AC55CN;;;;AAA0D;;;;AClP1D;;;;AAAoD;AAAA;ADkPpD,UD46CiB,iBAAA;EE5pDM;;;;EFiqDrB,UAAA;EE/pDQ;;;;EFoqDR,QAAA;EACA,KAAA,EACI,iBAAA,GACA,sBAAA,GACA,eAAA,GACA,mBAAA,GACA,oBAAA;EE3qDJ;;;;EFgrDA,IAAA;AAAA;;;;;;;UA0Be,gBAAA;EEnsDkD;;AAAC;EFusDlE,SAAA;EE/rDyB;;;;;EFqsDzB,eAAA;EErrDW;;;EFyrDX,YAAA;EErpDyB;;;EFypDzB,UAAA;EACA,cAAA,EAAgB,OAAA;EAChB,mBAAA,EAAqB,mCAAA;EACrB,YAAA,GAAe,OAAA;EACf,aAAA,GAAgB,OAAA;EAChB,WAAA,GAAc,KAAA;EExnDH;;;;;EF8nDX,GAAA;EACA,QAAA,GAAW,KAAA;EE3mDA;;;;;;EFknDX,iBAAA;EE9tDQ;;;;;EFouDR,OAAA;EEttDA;;;;;EF4tDA,UAAA;EACA,OAAA,GAAU,QAAA;EE3rDgB;;;;;;;EFmsD1B,oBAAA;AAAA;;;;;UAMe,mCAAA;EEpqDb;;;EFwqDF,aAAa;AAAA;;;;;;;UAQE,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;UAQb,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;UAQb,QAAA;;;;;;EAMf,cAAA;EACA,OAAA,GAAU,cAAA,GAAiB,iBAAiB;AAAA;;;;;;;UAQ7B,oBAAA;;;;EAIf,IAAA;;;;;;;;;;;EAgBA,UAAA;;;;EAIA,SAAA;;;;;;EAMA,eAAA;;;;EAIA,UAAA;EACA,cAAA,EAAgB,aAAA;EAChB,YAAA,EAAc,eAAA;;;;;;;EAOd,iBAAA;EACA,aAAA,EAAe,iBAAA;AAAA;;;;;UAMA,SAAA;;;;EAIf,IAAA;EACA,IAAA,EAAM,IAAI;AAAA;;;;;;;UAQK,UAAA;EACf,WAAA;EACA,WAAW;AAAA;;;;;UAMI,WAAA;EACf,QAAA,GAAW,UAAU;EACrB,QAAA;EACA,YAAA;;;;;;;EAOA,IAAA;EACA,MAAA;AAAA;;;;;UAMe,eAAA;EACf,QAAA;EACA,YAAA;;;;;;;EAOA,IAAA;EACA,oBAAA;EACA,wBAAA;;;;;;;EAOA,gBAAA;AAAA;;;;;UAMe,QAAA;EACf,MAAA,GAAS,WAAA;EACT,GAAA,GAAM,eAAA;EACN,KAAA,GAAQ,eAAA;EACR,MAAA,GAAS,eAAA;EACT,4BAAA,GAA+B,WAAA;AAAA;;;;;UAMhB,eAAA;EACf,WAAA,GAAc,QAAA;EACd,aAAA,GAAgB,QAAA;EAChB,gBAAA,GAAmB,QAAA;EACnB,gBAAA,GAAmB,QAAA;;;;EAInB,0CAAA;AAAA;;;;;UAMe,OAAA;EACf,IAAA;;;;EAIA,OAAA;EACA,cAAA,GAAiB,SAAA;EACjB,iBAAA,GAAoB,SAAS;AAAA;;;;;;;UAQd,WAAA;;;;EAIf,KAAA;;;;EAIA,KAAA;;;;EAIA,CAAA;;;;EAIA,CAAA;;;;EAIA,0BAAA;EACA,IAAA,GAAO,aAAa;AAAA;;;;;;;;;;;;UAaL,sBAAA;EACf,kBAAA,EAAoB,gBAAA;EACpB,QAAA,GAAW,KAAA;EACX,IAAA,GAAO,mBAAA;EACP,YAAA,GAAe,mBAAA;;;;;;EAMf,qBAAA,GAAwB,kBAAA;EACxB,qBAAA,GAAwB,mBAAA;EACxB,gBAAA,EAAkB,eAAA;EAClB,QAAA,GAAW,iBAAA;;;;EAIX,UAAA;;;;EAIA,aAAA,GAAgB,WAAA;EAChB,sBAAA,GAAyB,KAAA;EACzB,aAAA,GAAgB,KAAA;;;;;EAKhB,aAAA;;;;;;;;EAQA,oBAAA;AAAA;;;;;;;UAQe,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;UAOb,mBAAA;EAAA,CACd,CAAA,WAAY,SAAS;AAAA;;;;;;UAOP,mBAAA;EAAA,CACd,CAAA,WAAY,QAAQ;AAAA;;;;;;UAON,mBAAA;EAAA,CACd,CAAA,WAAY,kBAAkB;AAAA;;;;;;UAOhB,iBAAA;EAAA,CACd,CAAA,WAAY,OAAO;AAAA;;;;;;;UAQL,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;UAQb,KAAA;EACf,QAAA,GAAW,QAAA;EACX,WAAA,GAAc,cAAc;AAAA;;;;;;;;;UAUb,UAAA;;;;EAIf,WAAA;;;;EAIA,IAAA;;;;EAIA,MAAA;;;;EAIA,EAAA;;;;EAIA,IAAA;;;;EAIA,eAAA;;;;EAIA,UAAA;;;;EAIA,OAAA;;;;EAIA,IAAA;IAAA,CACG,CAAA;EAAA;AAAA;;;;;UAOY,YAAA;;;;;EAKf,kBAAA;;;;;EAKA,eAAA;;;;;EAKA,eAAA;;;;;EAKA,YAAA;;;;;EAKA,UAAA;;;;;EAKA,cAAA;AAAA;;;;;;;;;UAUe,yBAAA;;;;EAIf,WAAA;;;;EAIA,IAAA;;;;EAIA,MAAA;;;;EAIA,EAAA;;;;EAIA,IAAA;;;;EAIA,eAAA;EACA,IAAA,EAAM,YAAY;AAAA;;;;;;;UAQH,aAAA;;;;EAIf,OAAA;EACA,eAAA,EAAiB,cAAc;AAAA;;;;;;;UAQhB,YAAA;;;;EAIf,KAAA;EACA,eAAA,EAAiB,cAAc;AAAA;;;;;;;UAQhB,wBAAA;EACf,YAAA,EAAc,YAAA;;;;EAId,OAAA;EACA,eAAA,EAAiB,cAAc;AAAA;;;;;UAMhB,gBAAA;EACf,IAAA;EACA,OAAO;AAAA;;;;UC/uEQ,mBAAA;EF1BqC;EE4BpD,sBAAA;IAA0B,IAAA;EAAA;EDhBhB;ECkBV,iCAAA;IAAqC,IAAA;IAAc,GAAA;EAAA;EDbzC;ECeV,+BAAA;IAAmC,IAAA;EAAA;EDfb;ECiBtB,+CAAA;IACE,IAAA;IACA,UAAA;EAAA;EDJwB;ECO1B,6BAAA;IAAiC,IAAA;EAAA;EDK/B;ECHF,4BAAA;IAAgC,IAAA;EAAA;;EAEhC,uBAAA,EAAyB,MAAA;EDapB;ECXL,+CAAA;IACE,IAAA;IACA,KAAA;EAAA;EDiCwB;EC9B1B,qCAAA;IAAyC,IAAA;EAAA;EDwCnB;ECtCtB,kCAAA;IAAsC,IAAA;EAAA;;EAEtC,sCAAA;IAA0C,IAAA;EAAA;EDkDd;EChD5B,0DAAA;IACE,IAAA;IACA,UAAA;EAAA;EDiEyB;EC9D3B,mDAAA;IACE,IAAA;IACA,UAAA;EAAA;EDuEgB;ECpElB,qDAAA;IACE,IAAA;IACA,UAAA;EAAA;EDgFsB;EC7ExB,wFAAA;IACE,IAAA;IACA,UAAA;IACA,cAAA;EAAA;;EAGF,sCAAA,EAAwC,MAAA;EDiGO;EC/F/C,wCAAA,EAA0C,MAAA;EDuGjB;ECrGzB,8CAAA,EAAgD,MAAA;EDqGvB;ECnGzB,qCAAA;IAAyC,IAAA;EAAA;;EAEzC,qCAAA;IAAyC,IAAA;EAAA;ED0GyB;ECxGlE,qCAAA;IAAyC,IAAA;EAAA;EDwGa;ECtGtD,gDAAA;IACE,IAAA;IACA,GAAA;EAAA;;EAGF,gDAAA;IACE,IAAA;IACA,GAAA;EAAA;;EAGF,gDAAA;IACE,IAAA;IACA,GAAA;EAAA;;EAGF,8DAAA;IACE,IAAA;IACA,UAAA;EAAA;;EAGF,8DAAA;IACE,IAAA;IACA,UAAA;EAAA;;EAGF,8DAAA;IACE,IAAA;IACA,UAAA;EAAA;AAAA;;UAKa,qBAAA;EDiOL;EC/NV,sBAAA,EAAwB,IAAA;;EAExB,iCAAA,EAAmC,GAAA;ED6NW;EC3N9C,+BAAA,EAAiC,aAAA;EDmOd;ECjOnB,+CAAA,EAAiD,eAAA;EDiO9B;EC/NnB,6BAAA,EAA+B,iBAAA;EDuOrB;ECrOV,4BAAA,EAA8B,cAAA;;EAE9B,uBAAA,EAAyB,iBAAA;EDmON;ECjOnB,+CAAA,EAAiD,cAAA;EDsO1B;ECpOvB,qCAAA,EAAuC,WAAA;EDoOhB;EClOvB,kCAAA,EAAoC,oBAAA;EDuO1B;ECrOV,mDAAA,EAAqD,sBAAA;;EAErD,qDAAA,EAAuD,oBAAA;EDmOlB;ECjOrC,wFAAA,EAA0F,sBAAA;EDmO1F;ECjOA,sCAAA,EAAwC,wBAAA;EDsOrC;ECpOH,wCAAA,EAA0C,0BAAA;ED0OvC;ECxOH,8CAAA,EAAgD,yBAAA;EDiP9C;EC/OF,qCAAA,EAAuC,gBAAA;EDmP3B;ECjPZ,qCAAA,EAAuC,gBAAA;EDwP7B;ECtPV,qCAAA,EAAuC,gBAAA;;EAEvC,gDAAA,EAAkD,eAAA;EDoPX;EClPvC,gDAAA,EAAkD,eAAA;EDoPlD;EClPA,gDAAA,EAAkD,eAAA;EDuP/C;ECrPH,8DAAA,EAAgE,2BAAA;ED2P7D;ECzPH,8DAAA,EAAgE,2BAAA;EDkQ9D;EChQF,8DAAA,EAAgE,2BAAA;AAAA;AAAA,KAGtD,oBAAA,SAA6B,qBAAqB;AD0Q9D;AAAA,UCvQiB,mBAAA;;EAEf,sCAAA,EAAwC,oBAAA;EDqQhB;ECnQxB,0DAAA,EAA4D,SAAS;AAAA;;UAItD,iBAAA;EDqQf;ECnQA,sCAAA,EAAwC,gBAAA;EDwQxC;ECtQA,0DAAA,EAA4D,gBAAgB;AAAA;AAAA,KAGlE,kBAAA,SAA2B,mBAAmB;;UAGzC,mBAAA;ED0Qb;ECxQF,sBAAA,EAAwB,IAAA;EDwQZ;ECtQZ,iCAAA,EAAmC,GAAA;ED2QT;ECzQ1B,+BAAA,EAAiC,aAAA;EDyRrB;ECvRZ,+CAAA,EAAiD,eAAA;EDyQjD;ECvQA,6BAAA,EAA+B,iBAAA;ED4Q5B;EC1QH,4BAAA,EAA8B,cAAA;EDgR3B;EC9QH,uBAAA,EAAyB,iBAAA;EDgRnB;EC9QN,+CAAA,EAAiD,cAAA;ED+QrC;EC7QZ,qCAAA,EAAuC,WAAA;EDkR7B;EChRV,kCAAA,EAAoC,oBAAA;;EAEpC,sCAAA,EAAwC,oBAAA;ED+QxC;EC7QA,0DAAA,EAA4D,SAAA;EDkR5D;EChRA,mDAAA,EAAqD,sBAAA;EDsRrD;ECpRA,qDAAA,EAAuD,oBAAA;EDuRvD;ECrRA,wFAAA,EAA0F,sBAAA;EDsRxF;ECpRF,sCAAA,EAAwC,wBAAA;EDoR5B;EClRZ,wCAAA,EAA0C,0BAAA;EDuRjB;ECrRzB,8CAAA,EAAgD,yBAAA;EDqSpC;ECnSZ,qCAAA,EAAuC,gBAAA;EDqRvC;ECnRA,qCAAA,EAAuC,gBAAA;EDwRpC;ECtRH,qCAAA,EAAuC,gBAAA;ED4RpC;EC1RH,gDAAA,EAAkD,eAAA;ED4R5C;EC1RN,gDAAA,EAAkD,eAAA;ED2RtC;ECzRZ,gDAAA,EAAkD,eAAA;ED8RxC;EC5RV,8DAAA,EAAgE,2BAAA;;EAEhE,8DAAA,EAAgE,2BAAA;ED2RhE;ECzRA,8DAAA,EAAgE,2BAAA;AAAA;AAAA,KAGtD,kBAAA,SAA2B,mBAAmB;;;KClP9C,oBAAA,GAAuB,iBAAiB;AAAA,KAE/C,kBAAA,WAA6B,oBAAA,KAChC,OAAA,EAAS,qBAAA,CAAsB,CAAA,GAC/B,GAAA,EAAK,GAAA;AAAA,KAGF,aAAA,WAAwB,oBAAA,UACrB,mBAAA,CAAoB,CAAA,mBACrB,OAAA,EAAS,kBAAA,CAAmB,CAAA,MAC5B,MAAA,EAAQ,mBAAA,CAAoB,CAAA,GAAI,OAAA,EAAS,kBAAA,CAAmB,CAAA;;;AHpBb;;;;cG4BzC,cAAA;EAAA,SACF,MAAA,EAAQ,oBAAA;EAAA,QACT,iBAAA;cAEI,IAAA,EAAM,IAAA,EAAM,MAAA,GAAQ,oBAAA;EFpBP;AAK3B;;;;EE2BE,OAAA,IAAW,OAAA,CAAQ,cAAA;EFZT;EEwBJ,KAAA,IAAS,OAAA;;;AFxBW;AAW5B;;;;AAEuB;AASvB;;EEwBQ,SAAA,WAAoB,oBAAA,EACxB,OAAA,EAAS,CAAA,KACN,IAAA,EAAM,aAAA,CAAc,CAAA,IACtB,OAAA;EF1BH;AACK;AAwBP;;;;AAA4B;AAU5B;EEuBQ,OAAA,WAAkB,kBAAA,EACtB,OAAA,EAAS,CAAA,EACT,MAAA,EAAQ,mBAAA,CAAoB,CAAA,GAC5B,OAAA,EAAS,mBAAA,CAAoB,CAAA,GAC7B,IAAA;IAAQ,OAAA;EAAA,IACP,OAAA,CAAQ,iBAAA,CAAkB,CAAA;EF5BP;AASxB;;;;AAAiC;AAKjC;;EE+BQ,OAAA,WAAkB,kBAAA,EACtB,OAAA,EAAS,CAAA,EACT,MAAA,EAAQ,mBAAA,CAAoB,CAAA,GAC5B,OAAA,EAAS,mBAAA,CAAoB,CAAA,IAC5B,OAAA;AAAA"}
|
|
@@ -64,8 +64,11 @@ function buildSubject(template, params) {
|
|
|
64
64
|
var NovaNatsClient = class {
|
|
65
65
|
config;
|
|
66
66
|
connectionPromise = null;
|
|
67
|
-
constructor(config) {
|
|
68
|
-
this.config =
|
|
67
|
+
constructor(nova, config = {}) {
|
|
68
|
+
this.config = {
|
|
69
|
+
servers: buildNatsServerUrl(nova.instanceUrl.href),
|
|
70
|
+
...config
|
|
71
|
+
};
|
|
69
72
|
}
|
|
70
73
|
/**
|
|
71
74
|
* Connects to NATS if not already connected or connecting, and returns the
|
|
@@ -98,7 +101,8 @@ var NovaNatsClient = class {
|
|
|
98
101
|
*
|
|
99
102
|
* Returns a function that unsubscribes when called.
|
|
100
103
|
*/
|
|
101
|
-
async subscribe(subject,
|
|
104
|
+
async subscribe(subject, ...args) {
|
|
105
|
+
const [params, handler] = args.length === 1 ? [{}, args[0]] : [args[0], args[1]];
|
|
102
106
|
const nc = await this.connect();
|
|
103
107
|
const resolvedSubject = buildSubject(subject, params);
|
|
104
108
|
const sub = nc.subscribe(resolvedSubject);
|
|
@@ -122,6 +126,19 @@ var NovaNatsClient = class {
|
|
|
122
126
|
const resolvedSubject = buildSubject(subject, params);
|
|
123
127
|
return (await nc.request(resolvedSubject, JSON.stringify(payload), { timeout: opts.timeout ?? 5e3 })).json();
|
|
124
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Publishes a JSON payload to any NATS subject defined in the spec,
|
|
131
|
+
* without waiting for a reply.
|
|
132
|
+
*
|
|
133
|
+
* `subject` is the subject template as it appears on the wire, e.g.
|
|
134
|
+
* `"nova.v2.cells.{cell}.bus-ios.ios.set"`, with `{param}` placeholders
|
|
135
|
+
* filled in from `params`.
|
|
136
|
+
*/
|
|
137
|
+
async publish(subject, params, payload) {
|
|
138
|
+
const nc = await this.connect();
|
|
139
|
+
const resolvedSubject = buildSubject(subject, params);
|
|
140
|
+
nc.publish(resolvedSubject, JSON.stringify(payload));
|
|
141
|
+
}
|
|
125
142
|
};
|
|
126
143
|
//#endregion
|
|
127
144
|
export { NovaNatsClient, buildNatsServerUrl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\" ||\n char === \"*\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(config: NovaNatsClientConfig) {\n this.config = config\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n params: NatsOperationParams[K],\n handler: (payload: NatsSubscribePayloads[K], msg: Msg) => void,\n ): Promise<() => void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n }\n })().catch((err: unknown) => {\n console.error(\n `Error handling NATS subscription for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n}\n"],"mappings":";;;;;;;;;;;AAUA,SAAgB,mBAAmB,aAA6B;CAC9D,MAAM,MAAM,qBAAqB,WAAW;CAE5C,OAAO,GADU,IAAI,aAAa,WAAW,SAAS,MACnC,IAAI,IAAI,KAAK;AAClC;;;;;;;;ACRA,SAAS,mBAAmB,MAAuB;CACjD,MAAM,OAAO,KAAK,WAAW,CAAC;CAC9B,OACG,QAAQ,MAAM,QAAQ,MACtB,QAAQ,MAAM,QAAQ,MACtB,QAAQ,MAAM,QAAQ,OACvB,SAAS,OACT,SAAS,OACT,SAAS;AAEb;AAEA,SAAS,oBAAoB,OAAwB;CACnD,IAAI,MAAM,WAAW,GAAG,OAAO;CAC/B,KAAK,MAAM,QAAQ,OACjB,IAAI,CAAC,mBAAmB,IAAI,GAAG,OAAO;CAExC,OAAO;AACT;AAEA,SAAgB,aACd,UACA,QACQ;CAIR,IAAI,SAAS;CACb,IAAI,SAAS;CAEb,OAAO,SAAS,SAAS,QAAQ;EAC/B,MAAM,YAAY,SAAS,QAAQ,KAAK,MAAM;EAC9C,IAAI,cAAc,IAAI;GACpB,UAAU,SAAS,MAAM,MAAM;GAC/B;EACF;EAEA,MAAM,aAAa,SAAS,QAAQ,KAAK,YAAY,CAAC;EACtD,IAAI,eAAe,IAAI;GACrB,UAAU,SAAS,MAAM,MAAM;GAC/B;EACF;EAEA,UAAU,SAAS,MAAM,QAAQ,SAAS;EAC1C,MAAM,YAAY,SAAS,MAAM,YAAY,GAAG,UAAU;EAC1D,MAAM,QAAQ,OAAO;EACrB,IAAI,UAAU,KAAA,GACZ,MAAM,IAAI,MACR,wCAAwC,UAAU,iBAAiB,SAAS,EAC9E;EAEF,IAAI,CAAC,oBAAoB,KAAK,GAC5B,MAAM,IAAI,MACR,wCAAwC,UAAU,MAAM,MAAM,qEAChE;EAEF,UAAU;EAEV,SAAS,aAAa;CACxB;CAEA,OAAO;AACT;;;;;;;;;AC5CA,IAAa,iBAAb,MAA4B;CAC1B;CACA,oBAA4D;CAE5D,YAAY,QAA8B;EACxC,KAAK,SAAS;CAChB;;;;;;CAOA,UAAmC;EACjC,IAAI,CAAC,KAAK,mBACR,KAAK,oBAAoB,UAAU,KAAK,MAAM,EAAE,OAAO,QAAiB;GAEtE,KAAK,oBAAoB;GACzB,MAAM;EACR,CAAC;EAEH,OAAO,KAAK;CACd;;CAGA,MAAM,QAAuB;EAC3B,MAAM,oBAAoB,KAAK;EAC/B,KAAK,oBAAoB;EACzB,IAAI,CAAC,mBAAmB;EACxB,IAAI;GAEF,OAAM,MADW,mBACR,MAAM;EACjB,QAAQ,CAER;CACF;;;;;;;;;;;CAYA,MAAM,UACJ,SACA,QACA,SACqB;EACrB,MAAM,KAAK,MAAM,KAAK,QAAQ;EAC9B,MAAM,kBAAkB,aAAa,SAAS,MAAM;EACpD,MAAM,MAAM,GAAG,UAAU,eAAe;EAEvC,CAAC,YAAY;GACZ,WAAW,MAAM,OAAO,KACtB,QAAQ,IAAI,KAA+B,GAAG,GAAG;EAErD,GAAG,EAAE,OAAO,QAAiB;GAC3B,QAAQ,MACN,yCAAyC,gBAAgB,IACzD,GACF;EACF,CAAC;EAED,aAAa,IAAI,YAAY;CAC/B;;;;;;;;;CAUA,MAAM,QACJ,SACA,QACA,SACA,OAA6B,CAAC,GACC;EAC/B,MAAM,KAAK,MAAM,KAAK,QAAQ;EAC9B,MAAM,kBAAkB,aAAa,SAAS,MAAM;EAIpD,QAAO,MAHW,GAAG,QAAQ,iBAAiB,KAAK,UAAU,OAAO,GAAG,EACrE,SAAS,KAAK,WAAW,IAC3B,CAAC,GACU,KAA2B;CACxC;AACF"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/lib/experimental/nats/buildNatsServerUrl.ts","../../../src/lib/experimental/nats/buildSubject.ts","../../../src/lib/experimental/nats/NovaNatsClient.ts"],"sourcesContent":["import { parseNovaInstanceUrl } from \"../../converters.ts\"\n\n/**\n * Builds the WebSocket URL for a NOVA instance's NATS gateway from its\n * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes\n * `wss://foo.instance.wandelbots.io/api/nats`.\n *\n * Pass the result as `servers` in the `NovaNatsClientConfig` passed to\n * `NovaNatsClient`.\n */\nexport function buildNatsServerUrl(instanceUrl: string): string {\n const url = parseNovaInstanceUrl(instanceUrl)\n const protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\"\n return `${protocol}//${url.host}/api/nats`\n}\n","/**\n * Builds a NATS subject from an AsyncAPI-style channel address template\n * (e.g. `\"{instance}.v2.cells.{cell}\"`) by substituting each `{param}`\n * placeholder with the corresponding value from `params`.\n */\n\nfunction isValidSubjectChar(char: string): boolean {\n const code = char.charCodeAt(0)\n return (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 90) || // A-Z\n (code >= 97 && code <= 122) || // a-z\n char === \"-\" ||\n char === \"_\" ||\n char === \"*\"\n )\n}\n\nfunction isValidSubjectValue(value: string): boolean {\n if (value.length === 0) return false\n for (const char of value) {\n if (!isValidSubjectChar(char)) return false\n }\n return true\n}\n\nexport function buildSubject(\n template: string,\n params: Record<string, string>,\n): string {\n // Scanned manually (rather than with a regex like /\\{([^}]+)\\}/g) to avoid\n // a polynomial-time backtracking blowup on pathological input, e.g. a\n // template consisting of many \"{\" characters with no closing \"}\".\n let result = \"\"\n let cursor = 0\n\n while (cursor < template.length) {\n const openIndex = template.indexOf(\"{\", cursor)\n if (openIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n const closeIndex = template.indexOf(\"}\", openIndex + 1)\n if (closeIndex === -1) {\n result += template.slice(cursor)\n break\n }\n\n result += template.slice(cursor, openIndex)\n const paramName = template.slice(openIndex + 1, closeIndex)\n const value = params[paramName]\n if (value === undefined) {\n throw new Error(\n `Missing value for subject parameter \"${paramName}\" in template \"${template}\"`,\n )\n }\n if (!isValidSubjectValue(value)) {\n throw new Error(\n `Invalid value for subject parameter \"${paramName}\": \"${value}\" (must be non-empty and contain only letters, digits, \"-\", and \"_\")`,\n )\n }\n result += value\n\n cursor = closeIndex + 1\n }\n\n return result\n}\n","import {\n type ConnectionOptions,\n type Msg,\n type NatsConnection,\n wsconnect,\n} from \"@nats-io/nats-core\"\nimport type { Nova } from \"../../Nova.ts\"\nimport { buildNatsServerUrl } from \"./buildNatsServerUrl.ts\"\nimport { buildSubject } from \"./buildSubject.ts\"\nimport type {\n NatsOperationParams,\n NatsPublishPayloads,\n NatsPublishSubject,\n NatsReplyPayloads,\n NatsRequestPayloads,\n NatsRequestSubject,\n NatsSubscribePayloads,\n NatsSubscribeSubject,\n} from \"./generated/operations.ts\"\n\nexport type NovaNatsClientConfig = ConnectionOptions\n\ntype NatsMessageHandler<K extends NatsSubscribeSubject> = (\n payload: NatsSubscribePayloads[K],\n msg: Msg,\n) => void\n\ntype SubscribeArgs<K extends NatsSubscribeSubject> =\n keyof NatsOperationParams[K] extends never\n ? [handler: NatsMessageHandler<K>]\n : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>]\n\n/**\n * Typed NATS client for the Wandelbots NOVA messaging API, generated from\n * src/asyncapi.yaml (see scripts/generate-nats-client.ts).\n *\n * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.\n */\nexport class NovaNatsClient {\n readonly config: NovaNatsClientConfig\n private connectionPromise: Promise<NatsConnection> | null = null\n\n constructor(nova: Nova, config: NovaNatsClientConfig = {}) {\n this.config = {\n servers: buildNatsServerUrl(nova.instanceUrl.href),\n ...config,\n }\n }\n\n /**\n * Connects to NATS if not already connected or connecting, and returns the\n * connection. Safe to call concurrently: all callers share the same\n * in-flight connection attempt instead of each starting their own.\n */\n connect(): Promise<NatsConnection> {\n if (!this.connectionPromise) {\n this.connectionPromise = wsconnect(this.config).catch((err: unknown) => {\n // Allow a subsequent connect() call to retry after a failed attempt.\n this.connectionPromise = null\n throw err\n })\n }\n return this.connectionPromise\n }\n\n /** Closes the underlying NATS connection, if open or connecting. */\n async close(): Promise<void> {\n const connectionPromise = this.connectionPromise\n this.connectionPromise = null\n if (!connectionPromise) return\n try {\n const nc = await connectionPromise\n await nc.close()\n } catch {\n // Connection never succeeded; nothing to close.\n }\n }\n\n /**\n * Subscribes to a NATS subject published by the server, invoking `handler`\n * with the JSON-decoded payload of every message received.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}\"`, with `{param}` placeholders filled in from\n * `params`.\n *\n * Returns a function that unsubscribes when called.\n */\n async subscribe<K extends NatsSubscribeSubject>(\n subject: K,\n ...args: SubscribeArgs<K>\n ): Promise<() => void> {\n const [params, handler] =\n args.length === 1\n ? ([{}, args[0]] as const)\n : ([args[0], args[1]] as const)\n\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const sub = nc.subscribe(resolvedSubject)\n\n ;(async () => {\n for await (const msg of sub) {\n handler(msg.json<NatsSubscribePayloads[K]>(), msg)\n }\n })().catch((err: unknown) => {\n console.error(\n `Error handling NATS subscription for \"${resolvedSubject}\"`,\n err,\n )\n })\n\n return () => sub.unsubscribe()\n }\n\n /**\n * Sends a request payload for a NATS subject the server receives, and\n * waits for the JSON-decoded reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async request<K extends NatsRequestSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsRequestPayloads[K],\n opts: { timeout?: number } = {},\n ): Promise<NatsReplyPayloads[K]> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n const msg = await nc.request(resolvedSubject, JSON.stringify(payload), {\n timeout: opts.timeout ?? 5000,\n })\n return msg.json<NatsReplyPayloads[K]>()\n }\n\n /**\n * Publishes a JSON payload to any NATS subject defined in the spec,\n * without waiting for a reply.\n *\n * `subject` is the subject template as it appears on the wire, e.g.\n * `\"nova.v2.cells.{cell}.bus-ios.ios.set\"`, with `{param}` placeholders\n * filled in from `params`.\n */\n async publish<K extends NatsPublishSubject>(\n subject: K,\n params: NatsOperationParams[K],\n payload: NatsPublishPayloads[K],\n ): Promise<void> {\n const nc = await this.connect()\n const resolvedSubject = buildSubject(subject, params)\n nc.publish(resolvedSubject, JSON.stringify(payload))\n }\n}\n"],"mappings":"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"}
|
package/dist/v2/index.d.cts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { n as MockNovaInstance, t as AutoReconnectingWebsocket } from "../AutoReconnectingWebsocket-1K2J1NA4.cjs";
|
|
2
|
-
import {
|
|
2
|
+
import { n as NovaConfig, r as NovaAPIClient, t as Nova } from "../Nova-B1o5iTQ6.cjs";
|
|
3
3
|
import { ApplicationApi, BUSInputsOutputsApi, CellApi, Configuration, ControllerApi, ControllerInputsOutputsApi, JoggingApi, KinematicsApi, LicenseApi, MotionGroupApi, MotionGroupModelsApi, NOVACloudApi, Pose, ProgramApi, RobotConfigurationsApi, SessionApi, StoreCollisionComponentsApi, StoreCollisionSetupsApi, StoreObjectApi, SystemApi, TrajectoryCachingApi, TrajectoryExecutionApi, TrajectoryPlanningApi, VersionApi, VirtualControllerApi, VirtualControllerBehaviorApi, VirtualControllerInputsOutputsApi } from "@wandelbots/nova-api/v2";
|
|
4
|
+
import { AxiosInstance } from "axios";
|
|
4
5
|
export * from "@wandelbots/nova-api/v2";
|
|
5
6
|
|
|
6
7
|
//#region src/lib/deprecated/v2/NovaCellAPIClient.d.ts
|
|
7
8
|
type OmitFirstArg<F> = F extends ((x: any, ...args: infer P) => infer R) ? (...args: P) => R : never;
|
|
8
|
-
type UnwrapAxiosResponseReturn
|
|
9
|
+
type UnwrapAxiosResponseReturn<T> = T extends ((...a: any) => any) ? (...a: Parameters<T>) => Promise<Awaited<ReturnType<T>> extends {
|
|
9
10
|
data: infer D;
|
|
10
11
|
} ? D : never> : never;
|
|
11
12
|
/** @deprecated Use `NovaAPIClient` instead. */
|
|
12
|
-
type WithCellId<T> = { [P in keyof T]: UnwrapAxiosResponseReturn
|
|
13
|
+
type WithCellId<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<OmitFirstArg<T[P]>> };
|
|
13
14
|
/** @deprecated Use `NovaAPIClient` instead. */
|
|
14
|
-
type WithUnwrappedAxiosResponse<T> = { [P in keyof T]: UnwrapAxiosResponseReturn
|
|
15
|
+
type WithUnwrappedAxiosResponse<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<T[P]> };
|
|
15
16
|
/**
|
|
16
17
|
* API client providing type-safe access to all the Nova API REST endpoints
|
|
17
18
|
* associated with a specific cell id.
|
|
@@ -126,84 +127,5 @@ declare class NovaClient {
|
|
|
126
127
|
*/
|
|
127
128
|
declare function poseToWandelscriptString(pose: Pick<Pose, "position" | "orientation">): string;
|
|
128
129
|
//#endregion
|
|
129
|
-
//#region src/lib/NovaAPIClient.d.ts
|
|
130
|
-
type UnwrapAxiosResponseReturn<T> = T extends ((...a: any[]) => any) ? (...a: Parameters<T>) => Promise<Awaited<ReturnType<T>> extends {
|
|
131
|
-
data: infer D;
|
|
132
|
-
} ? D : never> : never;
|
|
133
|
-
type WithUnwrappedAxiosResponse$1<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<T[P]> };
|
|
134
|
-
type NovaAPIClientOpts = Configuration & {
|
|
135
|
-
axiosInstance?: AxiosInstance;
|
|
136
|
-
mock?: boolean;
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* API client providing type-safe access to all the endpoints of a NOVA
|
|
140
|
-
* instance.
|
|
141
|
-
*/
|
|
142
|
-
declare class NovaAPIClient {
|
|
143
|
-
readonly opts: NovaAPIClientOpts;
|
|
144
|
-
readonly application: WithUnwrappedAxiosResponse$1<ApplicationApi>;
|
|
145
|
-
readonly busIOs: WithUnwrappedAxiosResponse$1<BUSInputsOutputsApi>;
|
|
146
|
-
readonly cell: WithUnwrappedAxiosResponse$1<CellApi>;
|
|
147
|
-
readonly controller: WithUnwrappedAxiosResponse$1<ControllerApi>;
|
|
148
|
-
readonly controllerIOs: WithUnwrappedAxiosResponse$1<ControllerInputsOutputsApi>;
|
|
149
|
-
readonly jogging: WithUnwrappedAxiosResponse$1<JoggingApi>;
|
|
150
|
-
readonly kinematics: WithUnwrappedAxiosResponse$1<KinematicsApi>;
|
|
151
|
-
readonly license: WithUnwrappedAxiosResponse$1<LicenseApi>;
|
|
152
|
-
readonly motionGroup: WithUnwrappedAxiosResponse$1<MotionGroupApi>;
|
|
153
|
-
readonly motionGroupModels: WithUnwrappedAxiosResponse$1<MotionGroupModelsApi>;
|
|
154
|
-
readonly novaCloud: WithUnwrappedAxiosResponse$1<NOVACloudApi>;
|
|
155
|
-
readonly program: WithUnwrappedAxiosResponse$1<ProgramApi>;
|
|
156
|
-
readonly robotConfigurations: WithUnwrappedAxiosResponse$1<RobotConfigurationsApi>;
|
|
157
|
-
readonly session: WithUnwrappedAxiosResponse$1<SessionApi>;
|
|
158
|
-
readonly storeCollisionComponents: WithUnwrappedAxiosResponse$1<StoreCollisionComponentsApi>;
|
|
159
|
-
readonly storeCollisionSetups: WithUnwrappedAxiosResponse$1<StoreCollisionSetupsApi>;
|
|
160
|
-
readonly storeObject: WithUnwrappedAxiosResponse$1<StoreObjectApi>;
|
|
161
|
-
readonly system: WithUnwrappedAxiosResponse$1<SystemApi>;
|
|
162
|
-
readonly trajectoryCaching: WithUnwrappedAxiosResponse$1<TrajectoryCachingApi>;
|
|
163
|
-
readonly trajectoryExecution: WithUnwrappedAxiosResponse$1<TrajectoryExecutionApi>;
|
|
164
|
-
readonly trajectoryPlanning: WithUnwrappedAxiosResponse$1<TrajectoryPlanningApi>;
|
|
165
|
-
readonly version: WithUnwrappedAxiosResponse$1<VersionApi>;
|
|
166
|
-
readonly virtualController: WithUnwrappedAxiosResponse$1<VirtualControllerApi>;
|
|
167
|
-
readonly virtualControllerBehavior: WithUnwrappedAxiosResponse$1<VirtualControllerBehaviorApi>;
|
|
168
|
-
readonly virtualControllerIOs: WithUnwrappedAxiosResponse$1<VirtualControllerInputsOutputsApi>;
|
|
169
|
-
constructor(opts: NovaAPIClientOpts);
|
|
170
|
-
}
|
|
171
|
-
//#endregion
|
|
172
|
-
//#region src/lib/Nova.d.ts
|
|
173
|
-
type NovaConfig = {
|
|
174
|
-
/**
|
|
175
|
-
* Url of the deployed NOVA instance to connect to
|
|
176
|
-
* e.g. https://saeattii.instance.wandelbots.io
|
|
177
|
-
*/
|
|
178
|
-
instanceUrl: string;
|
|
179
|
-
/**
|
|
180
|
-
* Access token for Bearer authentication.
|
|
181
|
-
* If running on a NOVA instance, this can be automatically retrieved from
|
|
182
|
-
* the current session when omitted.
|
|
183
|
-
*/
|
|
184
|
-
accessToken?: string;
|
|
185
|
-
} & Omit<Configuration, "isJsonMime" | "basePath">;
|
|
186
|
-
/**
|
|
187
|
-
*
|
|
188
|
-
* Client for connecting to a NOVA instance and controlling robots.
|
|
189
|
-
*/
|
|
190
|
-
declare class Nova {
|
|
191
|
-
readonly api: NovaAPIClient;
|
|
192
|
-
readonly config: NovaConfig;
|
|
193
|
-
readonly mock?: MockNovaInstance;
|
|
194
|
-
readonly instanceUrl: URL;
|
|
195
|
-
authPromise: Promise<string | null> | null;
|
|
196
|
-
accessToken: string | null;
|
|
197
|
-
constructor(config: NovaConfig);
|
|
198
|
-
renewAuthentication(): Promise<void>;
|
|
199
|
-
makeWebsocketURL(path: string): string;
|
|
200
|
-
/**
|
|
201
|
-
* Retrieve an AutoReconnectingWebsocket to the given path on the Nova instance.
|
|
202
|
-
* If you explicitly want to reconnect an existing websocket, call `reconnect`
|
|
203
|
-
* on the returned object.
|
|
204
|
-
*/
|
|
205
|
-
openReconnectingWebsocket(path: string): AutoReconnectingWebsocket;
|
|
206
|
-
}
|
|
207
|
-
//#endregion
|
|
208
130
|
export { Nova, NovaAPIClient, NovaCellAPIClient, NovaClient, NovaClientConfig, type NovaConfig, WithCellId, WithUnwrappedAxiosResponse, poseToWandelscriptString };
|
|
209
131
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/v2/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/lib/deprecated/v2/NovaCellAPIClient.ts","../../src/lib/deprecated/v2/NovaClient.ts","../../src/lib/deprecated/v2/wandelscriptUtils.ts"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/lib/deprecated/v2/NovaCellAPIClient.ts","../../src/lib/deprecated/v2/NovaClient.ts","../../src/lib/deprecated/v2/wandelscriptUtils.ts"],"mappings":"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"}
|
package/dist/v2/index.d.mts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { n as MockNovaInstance, t as AutoReconnectingWebsocket } from "../AutoReconnectingWebsocket-1K2J1NA4.mjs";
|
|
2
|
+
import { n as NovaConfig, r as NovaAPIClient, t as Nova } from "../Nova--8gozkLR.mjs";
|
|
2
3
|
import { AxiosInstance } from "axios";
|
|
3
4
|
import { ApplicationApi, BUSInputsOutputsApi, CellApi, Configuration, ControllerApi, ControllerInputsOutputsApi, JoggingApi, KinematicsApi, LicenseApi, MotionGroupApi, MotionGroupModelsApi, NOVACloudApi, Pose, ProgramApi, RobotConfigurationsApi, SessionApi, StoreCollisionComponentsApi, StoreCollisionSetupsApi, StoreObjectApi, SystemApi, TrajectoryCachingApi, TrajectoryExecutionApi, TrajectoryPlanningApi, VersionApi, VirtualControllerApi, VirtualControllerBehaviorApi, VirtualControllerInputsOutputsApi } from "@wandelbots/nova-api/v2";
|
|
4
5
|
export * from "@wandelbots/nova-api/v2";
|
|
5
6
|
|
|
6
7
|
//#region src/lib/deprecated/v2/NovaCellAPIClient.d.ts
|
|
7
8
|
type OmitFirstArg<F> = F extends ((x: any, ...args: infer P) => infer R) ? (...args: P) => R : never;
|
|
8
|
-
type UnwrapAxiosResponseReturn
|
|
9
|
+
type UnwrapAxiosResponseReturn<T> = T extends ((...a: any) => any) ? (...a: Parameters<T>) => Promise<Awaited<ReturnType<T>> extends {
|
|
9
10
|
data: infer D;
|
|
10
11
|
} ? D : never> : never;
|
|
11
12
|
/** @deprecated Use `NovaAPIClient` instead. */
|
|
12
|
-
type WithCellId<T> = { [P in keyof T]: UnwrapAxiosResponseReturn
|
|
13
|
+
type WithCellId<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<OmitFirstArg<T[P]>> };
|
|
13
14
|
/** @deprecated Use `NovaAPIClient` instead. */
|
|
14
|
-
type WithUnwrappedAxiosResponse<T> = { [P in keyof T]: UnwrapAxiosResponseReturn
|
|
15
|
+
type WithUnwrappedAxiosResponse<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<T[P]> };
|
|
15
16
|
/**
|
|
16
17
|
* API client providing type-safe access to all the Nova API REST endpoints
|
|
17
18
|
* associated with a specific cell id.
|
|
@@ -126,84 +127,5 @@ declare class NovaClient {
|
|
|
126
127
|
*/
|
|
127
128
|
declare function poseToWandelscriptString(pose: Pick<Pose, "position" | "orientation">): string;
|
|
128
129
|
//#endregion
|
|
129
|
-
//#region src/lib/NovaAPIClient.d.ts
|
|
130
|
-
type UnwrapAxiosResponseReturn<T> = T extends ((...a: any[]) => any) ? (...a: Parameters<T>) => Promise<Awaited<ReturnType<T>> extends {
|
|
131
|
-
data: infer D;
|
|
132
|
-
} ? D : never> : never;
|
|
133
|
-
type WithUnwrappedAxiosResponse$1<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<T[P]> };
|
|
134
|
-
type NovaAPIClientOpts = Configuration & {
|
|
135
|
-
axiosInstance?: AxiosInstance;
|
|
136
|
-
mock?: boolean;
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* API client providing type-safe access to all the endpoints of a NOVA
|
|
140
|
-
* instance.
|
|
141
|
-
*/
|
|
142
|
-
declare class NovaAPIClient {
|
|
143
|
-
readonly opts: NovaAPIClientOpts;
|
|
144
|
-
readonly application: WithUnwrappedAxiosResponse$1<ApplicationApi>;
|
|
145
|
-
readonly busIOs: WithUnwrappedAxiosResponse$1<BUSInputsOutputsApi>;
|
|
146
|
-
readonly cell: WithUnwrappedAxiosResponse$1<CellApi>;
|
|
147
|
-
readonly controller: WithUnwrappedAxiosResponse$1<ControllerApi>;
|
|
148
|
-
readonly controllerIOs: WithUnwrappedAxiosResponse$1<ControllerInputsOutputsApi>;
|
|
149
|
-
readonly jogging: WithUnwrappedAxiosResponse$1<JoggingApi>;
|
|
150
|
-
readonly kinematics: WithUnwrappedAxiosResponse$1<KinematicsApi>;
|
|
151
|
-
readonly license: WithUnwrappedAxiosResponse$1<LicenseApi>;
|
|
152
|
-
readonly motionGroup: WithUnwrappedAxiosResponse$1<MotionGroupApi>;
|
|
153
|
-
readonly motionGroupModels: WithUnwrappedAxiosResponse$1<MotionGroupModelsApi>;
|
|
154
|
-
readonly novaCloud: WithUnwrappedAxiosResponse$1<NOVACloudApi>;
|
|
155
|
-
readonly program: WithUnwrappedAxiosResponse$1<ProgramApi>;
|
|
156
|
-
readonly robotConfigurations: WithUnwrappedAxiosResponse$1<RobotConfigurationsApi>;
|
|
157
|
-
readonly session: WithUnwrappedAxiosResponse$1<SessionApi>;
|
|
158
|
-
readonly storeCollisionComponents: WithUnwrappedAxiosResponse$1<StoreCollisionComponentsApi>;
|
|
159
|
-
readonly storeCollisionSetups: WithUnwrappedAxiosResponse$1<StoreCollisionSetupsApi>;
|
|
160
|
-
readonly storeObject: WithUnwrappedAxiosResponse$1<StoreObjectApi>;
|
|
161
|
-
readonly system: WithUnwrappedAxiosResponse$1<SystemApi>;
|
|
162
|
-
readonly trajectoryCaching: WithUnwrappedAxiosResponse$1<TrajectoryCachingApi>;
|
|
163
|
-
readonly trajectoryExecution: WithUnwrappedAxiosResponse$1<TrajectoryExecutionApi>;
|
|
164
|
-
readonly trajectoryPlanning: WithUnwrappedAxiosResponse$1<TrajectoryPlanningApi>;
|
|
165
|
-
readonly version: WithUnwrappedAxiosResponse$1<VersionApi>;
|
|
166
|
-
readonly virtualController: WithUnwrappedAxiosResponse$1<VirtualControllerApi>;
|
|
167
|
-
readonly virtualControllerBehavior: WithUnwrappedAxiosResponse$1<VirtualControllerBehaviorApi>;
|
|
168
|
-
readonly virtualControllerIOs: WithUnwrappedAxiosResponse$1<VirtualControllerInputsOutputsApi>;
|
|
169
|
-
constructor(opts: NovaAPIClientOpts);
|
|
170
|
-
}
|
|
171
|
-
//#endregion
|
|
172
|
-
//#region src/lib/Nova.d.ts
|
|
173
|
-
type NovaConfig = {
|
|
174
|
-
/**
|
|
175
|
-
* Url of the deployed NOVA instance to connect to
|
|
176
|
-
* e.g. https://saeattii.instance.wandelbots.io
|
|
177
|
-
*/
|
|
178
|
-
instanceUrl: string;
|
|
179
|
-
/**
|
|
180
|
-
* Access token for Bearer authentication.
|
|
181
|
-
* If running on a NOVA instance, this can be automatically retrieved from
|
|
182
|
-
* the current session when omitted.
|
|
183
|
-
*/
|
|
184
|
-
accessToken?: string;
|
|
185
|
-
} & Omit<Configuration, "isJsonMime" | "basePath">;
|
|
186
|
-
/**
|
|
187
|
-
*
|
|
188
|
-
* Client for connecting to a NOVA instance and controlling robots.
|
|
189
|
-
*/
|
|
190
|
-
declare class Nova {
|
|
191
|
-
readonly api: NovaAPIClient;
|
|
192
|
-
readonly config: NovaConfig;
|
|
193
|
-
readonly mock?: MockNovaInstance;
|
|
194
|
-
readonly instanceUrl: URL;
|
|
195
|
-
authPromise: Promise<string | null> | null;
|
|
196
|
-
accessToken: string | null;
|
|
197
|
-
constructor(config: NovaConfig);
|
|
198
|
-
renewAuthentication(): Promise<void>;
|
|
199
|
-
makeWebsocketURL(path: string): string;
|
|
200
|
-
/**
|
|
201
|
-
* Retrieve an AutoReconnectingWebsocket to the given path on the Nova instance.
|
|
202
|
-
* If you explicitly want to reconnect an existing websocket, call `reconnect`
|
|
203
|
-
* on the returned object.
|
|
204
|
-
*/
|
|
205
|
-
openReconnectingWebsocket(path: string): AutoReconnectingWebsocket;
|
|
206
|
-
}
|
|
207
|
-
//#endregion
|
|
208
130
|
export { Nova, NovaAPIClient, NovaCellAPIClient, NovaClient, NovaClientConfig, type NovaConfig, WithCellId, WithUnwrappedAxiosResponse, poseToWandelscriptString };
|
|
209
131
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/v2/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/lib/deprecated/v2/NovaCellAPIClient.ts","../../src/lib/deprecated/v2/NovaClient.ts","../../src/lib/deprecated/v2/wandelscriptUtils.ts"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/lib/deprecated/v2/NovaCellAPIClient.ts","../../src/lib/deprecated/v2/NovaClient.ts","../../src/lib/deprecated/v2/wandelscriptUtils.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wandelbots/nova-js",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.13.0-pr.307.
|
|
4
|
+
"version": "3.13.0-pr.307.dd54f61",
|
|
5
5
|
"description": "Official JS client for the Wandelbots API",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"packageManager": "pnpm@11.9.0+sha512.bd682d5d03fe525ef7c9fd6780c6884d1e756ac4c9c9fe00c538782824310dcf90e3ddc4f53835f06dfaebd5085e41855e0bcbb3b60de2ac5bbab89e5036f03b",
|
|
@@ -4,9 +4,13 @@ import {
|
|
|
4
4
|
type NatsConnection,
|
|
5
5
|
wsconnect,
|
|
6
6
|
} from "@nats-io/nats-core"
|
|
7
|
+
import type { Nova } from "../../Nova.ts"
|
|
8
|
+
import { buildNatsServerUrl } from "./buildNatsServerUrl.ts"
|
|
7
9
|
import { buildSubject } from "./buildSubject.ts"
|
|
8
10
|
import type {
|
|
9
11
|
NatsOperationParams,
|
|
12
|
+
NatsPublishPayloads,
|
|
13
|
+
NatsPublishSubject,
|
|
10
14
|
NatsReplyPayloads,
|
|
11
15
|
NatsRequestPayloads,
|
|
12
16
|
NatsRequestSubject,
|
|
@@ -16,6 +20,16 @@ import type {
|
|
|
16
20
|
|
|
17
21
|
export type NovaNatsClientConfig = ConnectionOptions
|
|
18
22
|
|
|
23
|
+
type NatsMessageHandler<K extends NatsSubscribeSubject> = (
|
|
24
|
+
payload: NatsSubscribePayloads[K],
|
|
25
|
+
msg: Msg,
|
|
26
|
+
) => void
|
|
27
|
+
|
|
28
|
+
type SubscribeArgs<K extends NatsSubscribeSubject> =
|
|
29
|
+
keyof NatsOperationParams[K] extends never
|
|
30
|
+
? [handler: NatsMessageHandler<K>]
|
|
31
|
+
: [params: NatsOperationParams[K], handler: NatsMessageHandler<K>]
|
|
32
|
+
|
|
19
33
|
/**
|
|
20
34
|
* Typed NATS client for the Wandelbots NOVA messaging API, generated from
|
|
21
35
|
* src/asyncapi.yaml (see scripts/generate-nats-client.ts).
|
|
@@ -26,8 +40,11 @@ export class NovaNatsClient {
|
|
|
26
40
|
readonly config: NovaNatsClientConfig
|
|
27
41
|
private connectionPromise: Promise<NatsConnection> | null = null
|
|
28
42
|
|
|
29
|
-
constructor(config: NovaNatsClientConfig) {
|
|
30
|
-
this.config =
|
|
43
|
+
constructor(nova: Nova, config: NovaNatsClientConfig = {}) {
|
|
44
|
+
this.config = {
|
|
45
|
+
servers: buildNatsServerUrl(nova.instanceUrl.href),
|
|
46
|
+
...config,
|
|
47
|
+
}
|
|
31
48
|
}
|
|
32
49
|
|
|
33
50
|
/**
|
|
@@ -71,9 +88,13 @@ export class NovaNatsClient {
|
|
|
71
88
|
*/
|
|
72
89
|
async subscribe<K extends NatsSubscribeSubject>(
|
|
73
90
|
subject: K,
|
|
74
|
-
|
|
75
|
-
handler: (payload: NatsSubscribePayloads[K], msg: Msg) => void,
|
|
91
|
+
...args: SubscribeArgs<K>
|
|
76
92
|
): Promise<() => void> {
|
|
93
|
+
const [params, handler] =
|
|
94
|
+
args.length === 1
|
|
95
|
+
? ([{}, args[0]] as const)
|
|
96
|
+
: ([args[0], args[1]] as const)
|
|
97
|
+
|
|
77
98
|
const nc = await this.connect()
|
|
78
99
|
const resolvedSubject = buildSubject(subject, params)
|
|
79
100
|
const sub = nc.subscribe(resolvedSubject)
|
|
@@ -113,4 +134,22 @@ export class NovaNatsClient {
|
|
|
113
134
|
})
|
|
114
135
|
return msg.json<NatsReplyPayloads[K]>()
|
|
115
136
|
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Publishes a JSON payload to any NATS subject defined in the spec,
|
|
140
|
+
* without waiting for a reply.
|
|
141
|
+
*
|
|
142
|
+
* `subject` is the subject template as it appears on the wire, e.g.
|
|
143
|
+
* `"nova.v2.cells.{cell}.bus-ios.ios.set"`, with `{param}` placeholders
|
|
144
|
+
* filled in from `params`.
|
|
145
|
+
*/
|
|
146
|
+
async publish<K extends NatsPublishSubject>(
|
|
147
|
+
subject: K,
|
|
148
|
+
params: NatsOperationParams[K],
|
|
149
|
+
payload: NatsPublishPayloads[K],
|
|
150
|
+
): Promise<void> {
|
|
151
|
+
const nc = await this.connect()
|
|
152
|
+
const resolvedSubject = buildSubject(subject, params)
|
|
153
|
+
nc.publish(resolvedSubject, JSON.stringify(payload))
|
|
154
|
+
}
|
|
116
155
|
}
|
|
@@ -51,7 +51,7 @@ export interface NatsOperationParams {
|
|
|
51
51
|
/** publishCellCycle */
|
|
52
52
|
"nova.v2.cells.{cell}.cycle": { cell: string }
|
|
53
53
|
/** publishSystemStatus */
|
|
54
|
-
"nova.v2.system.status": Record<
|
|
54
|
+
"nova.v2.system.status": Record<never, never>
|
|
55
55
|
/** publishCollisionSetup */
|
|
56
56
|
"nova.v2.cells.{cell}.collision.setups.{setup}": {
|
|
57
57
|
cell: string
|
|
@@ -85,11 +85,11 @@ export interface NatsOperationParams {
|
|
|
85
85
|
"motion-group": string
|
|
86
86
|
}
|
|
87
87
|
/** eventSystemUpdateStarted */
|
|
88
|
-
"nova.v2.events.system.update.started": Record<
|
|
88
|
+
"nova.v2.events.system.update.started": Record<never, never>
|
|
89
89
|
/** eventSystemUpdateCompleted */
|
|
90
|
-
"nova.v2.events.system.update.completed": Record<
|
|
90
|
+
"nova.v2.events.system.update.completed": Record<never, never>
|
|
91
91
|
/** eventSystemNetworkStatusChanged */
|
|
92
|
-
"nova.v2.events.system.network.status.changed": Record<
|
|
92
|
+
"nova.v2.events.system.network.status.changed": Record<never, never>
|
|
93
93
|
/** eventCellCreated */
|
|
94
94
|
"nova.v2.events.cells.{cell}.created": { cell: string }
|
|
95
95
|
/** eventCellUpdated */
|
|
@@ -201,3 +201,63 @@ export interface NatsReplyPayloads {
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
export type NatsRequestSubject = keyof NatsRequestPayloads
|
|
204
|
+
|
|
205
|
+
/** Payload types for every subject defined in the spec, publishable via NovaNatsClient#publish. */
|
|
206
|
+
export interface NatsPublishPayloads {
|
|
207
|
+
/** publishCell */
|
|
208
|
+
"nova.v2.cells.{cell}": Cell
|
|
209
|
+
/** publishApp */
|
|
210
|
+
"nova.v2.cells.{cell}.apps.{app}": App
|
|
211
|
+
/** publishProgramStatus */
|
|
212
|
+
"nova.v2.cells.{cell}.programs": ProgramStatus
|
|
213
|
+
/** publishRobotController */
|
|
214
|
+
"nova.v2.cells.{cell}.controllers.{controller}": RobotController
|
|
215
|
+
/** publishCellStatus */
|
|
216
|
+
"nova.v2.cells.{cell}.status": ServiceStatusList
|
|
217
|
+
/** publishCellCycle */
|
|
218
|
+
"nova.v2.cells.{cell}.cycle": CellCycleEvent
|
|
219
|
+
/** publishSystemStatus */
|
|
220
|
+
"nova.v2.system.status": ServiceStatusList
|
|
221
|
+
/** publishCollisionSetup */
|
|
222
|
+
"nova.v2.cells.{cell}.collision.setups.{setup}": CollisionSetup
|
|
223
|
+
/** publishBUSIOStatus */
|
|
224
|
+
"nova.v2.cells.{cell}.bus-ios.status": BusIOsState
|
|
225
|
+
/** publishBUSIOsIOs */
|
|
226
|
+
"nova.v2.cells.{cell}.bus-ios.ios": ListIOValuesResponse
|
|
227
|
+
/** setBUSIOsIOs */
|
|
228
|
+
"nova.v2.cells.{cell}.bus-ios.ios.set": ListIOValuesResponse
|
|
229
|
+
/** selectRobotControllerIOs */
|
|
230
|
+
"nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs
|
|
231
|
+
/** publishRobotControllerIOs */
|
|
232
|
+
"nova.v2.cells.{cell}.controllers.{controller}.ios": StreamIOValuesResponse
|
|
233
|
+
/** publishRobotControllersState */
|
|
234
|
+
"nova.v2.cells.{cell}.controllers.{controller}.state": RobotControllerState
|
|
235
|
+
/** publishMotionGroupDescription */
|
|
236
|
+
"nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": MotionGroupDescription
|
|
237
|
+
/** eventSystemUpdateStarted */
|
|
238
|
+
"nova.v2.events.system.update.started": SystemUpdateStartedEvent
|
|
239
|
+
/** eventSystemUpdateCompleted */
|
|
240
|
+
"nova.v2.events.system.update.completed": SystemUpdateCompletedEvent
|
|
241
|
+
/** eventSystemNetworkStatusChanged */
|
|
242
|
+
"nova.v2.events.system.network.status.changed": NetworkStatusChangedEvent
|
|
243
|
+
/** eventCellCreated */
|
|
244
|
+
"nova.v2.events.cells.{cell}.created": CellCreatedEvent
|
|
245
|
+
/** eventCellUpdated */
|
|
246
|
+
"nova.v2.events.cells.{cell}.updated": CellUpdatedEvent
|
|
247
|
+
/** eventCellDeleted */
|
|
248
|
+
"nova.v2.events.cells.{cell}.deleted": CellDeletedEvent
|
|
249
|
+
/** eventAppCreated */
|
|
250
|
+
"nova.v2.events.cells.{cell}.apps.{app}.created": AppCreatedEvent
|
|
251
|
+
/** eventAppUpdated */
|
|
252
|
+
"nova.v2.events.cells.{cell}.apps.{app}.updated": AppUpdatedEvent
|
|
253
|
+
/** eventAppDeleted */
|
|
254
|
+
"nova.v2.events.cells.{cell}.apps.{app}.deleted": AppDeletedEvent
|
|
255
|
+
/** eventRobotControllerCreated */
|
|
256
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.created": RobotControllerCreatedEvent
|
|
257
|
+
/** eventRobotControllerUpdated */
|
|
258
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.updated": RobotControllerUpdatedEvent
|
|
259
|
+
/** eventRobotControllerDeleted */
|
|
260
|
+
"nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
export type NatsPublishSubject = keyof NatsPublishPayloads
|