@7365admin1/core 3.79.1-staging.345 → 3.79.1-staging.347
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/.changeset/robot-adapter-wiring-and-demo.md +24 -0
- package/.changeset/robot-remaining-gaps.md +17 -0
- package/dist/index.d.ts +251 -90
- package/dist/index.js +3196 -2589
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1902 -1304
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/test/demo-adapter.test.mjs +197 -0
- package/test/e2e/harness.mjs +3 -1
- package/test/e2e/robot-scope.e2e.test.mjs +70 -0
- package/test/robot-adapter.test.mjs +92 -32
- package/test/robot-fault.test.mjs +39 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
"@7365admin1/core": minor
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Route the fleet through the adapter, and add a demo brand you can actually see
|
|
6
|
+
|
|
7
|
+
The vendor-neutral contract shipped but nothing used it: the fleet service still
|
|
8
|
+
called Ounitech directly, so a second brand could not have worked end to end.
|
|
9
|
+
Everything now goes through `TRobotAdapter`, and the registry holds a FACTORY
|
|
10
|
+
per brand — an adapter is built per robot from that robot's own credentials, so
|
|
11
|
+
one estate's appid can never sign another estate's request.
|
|
12
|
+
|
|
13
|
+
Adds a demo brand: three simulated robots on two floors that move, drain and
|
|
14
|
+
recharge their batteries, respond to commands, and carry generated floor plans
|
|
15
|
+
as PNG data URIs. It reaches no network and writes nothing.
|
|
16
|
+
|
|
17
|
+
It exists because until a vendor supplies credentials every robot screen is
|
|
18
|
+
empty and no button can be pressed — and because it is a second brand on the
|
|
19
|
+
same contract, declaring Full Control where Ounitech reaches no tier at all. If
|
|
20
|
+
the screens draw different controls for the two without being told which is
|
|
21
|
+
which, the platform really is brand-agnostic.
|
|
22
|
+
|
|
23
|
+
Adds `GET /robots/brands` so the Add Robot form can offer them, each with its
|
|
24
|
+
Open-RMF tier.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
"@7365admin1/core": minor
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Robots: edit and remove, an audit trail, fault notifications, and spot cleaning
|
|
6
|
+
|
|
7
|
+
- `useRobotController` gains `updateRobot` (name, serial) and `deleteRobot` (soft
|
|
8
|
+
delete via the existing `deletedAt` field; removed robots stop listing and
|
|
9
|
+
answer as not found). The estate is read off the stored robot.
|
|
10
|
+
- Robot create, edit, remove and every accepted command write a console-audit
|
|
11
|
+
row (`robot.*` actions). The credential pair is not on the allow-list.
|
|
12
|
+
- A robot reporting a fault notifies Seven365 staff once per occurrence
|
|
13
|
+
(`platform` category), noticed on a state read. `ROBOT_FAULT_NOTIFY=off`
|
|
14
|
+
silences it. The demo brand faults two minutes in every thirty.
|
|
15
|
+
- New `spotClean` capability; a spot command needs it. The demo brand has it;
|
|
16
|
+
Ounitech does not until its pixel frame is verified.
|
|
17
|
+
- The state response carries `fault` and `capabilities`.
|
package/dist/index.d.ts
CHANGED
|
@@ -774,7 +774,17 @@ declare enum ConsoleAuditAction {
|
|
|
774
774
|
* pressed it, for which client, and which account and role it handed out is
|
|
775
775
|
* exactly the question somebody will ask afterwards.
|
|
776
776
|
*/
|
|
777
|
-
CLIENT_OWNER_REPAIRED = "client.owner-repaired"
|
|
777
|
+
CLIENT_OWNER_REPAIRED = "client.owner-repaired",
|
|
778
|
+
/**
|
|
779
|
+
* A robot registered, edited, removed or sent a command, by the site's own
|
|
780
|
+
* people - tenant actions, like the camera rows above, and for the same
|
|
781
|
+
* reason: "who sent the robot out, and when" had no answer anywhere. A robot
|
|
782
|
+
* moves a 68 kg machine through an occupied building.
|
|
783
|
+
*/
|
|
784
|
+
ROBOT_ADDED = "robot.added",
|
|
785
|
+
ROBOT_UPDATED = "robot.updated",
|
|
786
|
+
ROBOT_REMOVED = "robot.removed",
|
|
787
|
+
ROBOT_COMMANDED = "robot.commanded"
|
|
778
788
|
}
|
|
779
789
|
/**
|
|
780
790
|
* The three actions that live in `organization.controller.ts`.
|
|
@@ -796,7 +806,8 @@ declare enum ConsoleAuditTarget {
|
|
|
796
806
|
PLAN = "plan",
|
|
797
807
|
TERMS = "terms",
|
|
798
808
|
CAMERA = "camera",
|
|
799
|
-
SITE = "site"
|
|
809
|
+
SITE = "site",
|
|
810
|
+
ROBOT = "robot"
|
|
800
811
|
}
|
|
801
812
|
/** A stored value is a primitive or it is not stored. */
|
|
802
813
|
declare const AUDIT_VALUE_MAX_LENGTH = 120;
|
|
@@ -6794,6 +6805,11 @@ declare function useRobotRepo(): {
|
|
|
6794
6805
|
_id: ObjectId;
|
|
6795
6806
|
}>;
|
|
6796
6807
|
setRobotSn: (id: string | ObjectId, robotSn: string) => Promise<void>;
|
|
6808
|
+
updateRobot: (id: string | ObjectId, value: {
|
|
6809
|
+
name?: string;
|
|
6810
|
+
robotSn?: string;
|
|
6811
|
+
}) => Promise<void>;
|
|
6812
|
+
deleteRobot: (id: string | ObjectId) => Promise<void>;
|
|
6797
6813
|
};
|
|
6798
6814
|
|
|
6799
6815
|
declare function useRobotService(): {
|
|
@@ -6820,6 +6836,8 @@ declare function useRobotService(): {
|
|
|
6820
6836
|
declare function useRobotController(): {
|
|
6821
6837
|
createRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6822
6838
|
getRobots: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6839
|
+
updateRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6840
|
+
deleteRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6823
6841
|
};
|
|
6824
6842
|
|
|
6825
6843
|
/**
|
|
@@ -7317,7 +7335,7 @@ declare function robotActionsFor(actor: TRobotPermissionActor | null | undefined
|
|
|
7317
7335
|
* Traffic Light" is a far stronger ask than a list of features we would like.
|
|
7318
7336
|
*/
|
|
7319
7337
|
/** One capability, named as Open-RMF names it. */
|
|
7320
|
-
declare const ROBOT_CAPABILITIES: readonly ["readLocation", "navigateToPoint", "pauseResume", "pathAndEta", "battery", "sendToDock", "relocalize", "startProcess", "pauseProcess", "processCompletion", "floorReporting", "multiFloor"];
|
|
7338
|
+
declare const ROBOT_CAPABILITIES: readonly ["readLocation", "navigateToPoint", "pauseResume", "pathAndEta", "battery", "sendToDock", "relocalize", "startProcess", "pauseProcess", "processCompletion", "floorReporting", "multiFloor", "spotClean"];
|
|
7321
7339
|
type TRobotCapability = (typeof ROBOT_CAPABILITIES)[number];
|
|
7322
7340
|
/** What a brand's adapter declares it can do. */
|
|
7323
7341
|
type TRobotCapabilities = Readonly<Partial<Record<TRobotCapability, boolean>>>;
|
|
@@ -7381,6 +7399,18 @@ type TAdapterRobot = {
|
|
|
7381
7399
|
y: number;
|
|
7382
7400
|
theta: number;
|
|
7383
7401
|
} | null;
|
|
7402
|
+
/**
|
|
7403
|
+
* A fault the robot itself is reporting, or null.
|
|
7404
|
+
*
|
|
7405
|
+
* `since` (epoch ms) identifies one occurrence, so the same fault reported on
|
|
7406
|
+
* every read notifies once, and a second occurrence later notifies again. A
|
|
7407
|
+
* brand that cannot say when it started leaves it out.
|
|
7408
|
+
*/
|
|
7409
|
+
fault?: {
|
|
7410
|
+
code: string;
|
|
7411
|
+
message: string;
|
|
7412
|
+
since?: number;
|
|
7413
|
+
} | null;
|
|
7384
7414
|
};
|
|
7385
7415
|
type TAdapterCommand = {
|
|
7386
7416
|
kind: "full";
|
|
@@ -7431,19 +7461,60 @@ type TRobotAdapter = {
|
|
|
7431
7461
|
getRobot(robotSn: string): Promise<TAdapterRobot | null>;
|
|
7432
7462
|
sendCommand?(robotSn: string, command: TAdapterCommand): Promise<void>;
|
|
7433
7463
|
getMaps?(robotSn: string): Promise<unknown[]>;
|
|
7464
|
+
/**
|
|
7465
|
+
* Image URLs for a map's layers.
|
|
7466
|
+
*
|
|
7467
|
+
* Separate from `getMaps` because brands commonly sign these for a short
|
|
7468
|
+
* window - Ounitech's last about an hour - so they are minted at the moment
|
|
7469
|
+
* of display rather than returned with the map and stored.
|
|
7470
|
+
*/
|
|
7471
|
+
getMapImages?(robotSn: string, fileKeys: string[]): Promise<unknown[]>;
|
|
7434
7472
|
getPlans?(robotSn: string): Promise<unknown[]>;
|
|
7435
7473
|
};
|
|
7436
7474
|
declare function commandSupported(capabilities: TRobotCapabilities | null | undefined, kind: TAdapterCommand["kind"]): boolean;
|
|
7437
|
-
/** Register a brand. Re-registering replaces, so a test can swap one in. */
|
|
7438
|
-
declare function registerRobotAdapter(adapter: TRobotAdapter): void;
|
|
7439
7475
|
/**
|
|
7440
|
-
*
|
|
7476
|
+
* A brand, and how to build an adapter for one of its robots.
|
|
7441
7477
|
*
|
|
7442
|
-
*
|
|
7443
|
-
*
|
|
7444
|
-
*
|
|
7478
|
+
* Registered as a FACTORY rather than a ready-made adapter, because credentials
|
|
7479
|
+
* belong to the robot record, not to the brand. One estate's appid must never
|
|
7480
|
+
* sign another estate's request, so an adapter is constructed per robot from
|
|
7481
|
+
* that robot's own credentials.
|
|
7482
|
+
*
|
|
7483
|
+
* `capabilities` sit on the brand rather than the instance: what a protocol can
|
|
7484
|
+
* do is a property of the protocol, and a screen needs to know before it has a
|
|
7485
|
+
* robot in hand - to decide which controls exist at all.
|
|
7445
7486
|
*/
|
|
7446
|
-
|
|
7487
|
+
type TRobotBrand = {
|
|
7488
|
+
brand: string;
|
|
7489
|
+
displayName: string;
|
|
7490
|
+
capabilities: TRobotCapabilities;
|
|
7491
|
+
create(credentials: {
|
|
7492
|
+
appid: string;
|
|
7493
|
+
secret: string;
|
|
7494
|
+
}): TRobotAdapter;
|
|
7495
|
+
};
|
|
7496
|
+
/** Register a brand. Re-registering replaces it, so a test can swap one in. */
|
|
7497
|
+
declare function registerRobotBrand(brand: TRobotBrand): void;
|
|
7498
|
+
/**
|
|
7499
|
+
* The brand, or null.
|
|
7500
|
+
*
|
|
7501
|
+
* Null rather than a throw, and never a default: silently falling back to
|
|
7502
|
+
* another brand would send a robot a command in a protocol it does not speak.
|
|
7503
|
+
*/
|
|
7504
|
+
declare function robotBrandFor(brand: unknown): TRobotBrand | null;
|
|
7505
|
+
/**
|
|
7506
|
+
* An adapter for one robot, built from that robot's own credentials.
|
|
7507
|
+
*
|
|
7508
|
+
* Refuses by name rather than returning null, because every caller of this can
|
|
7509
|
+
* only fail - and "no adapter registered for brand X" is something an operator
|
|
7510
|
+
* can act on, where a null dereference is not.
|
|
7511
|
+
*/
|
|
7512
|
+
declare function adapterForRobot(robot: {
|
|
7513
|
+
brand?: string | null;
|
|
7514
|
+
appKey?: string | null;
|
|
7515
|
+
appToken?: string | null;
|
|
7516
|
+
name?: string;
|
|
7517
|
+
}): TRobotAdapter;
|
|
7447
7518
|
/** Every registered brand, for a settings screen's picker. */
|
|
7448
7519
|
declare function registeredRobotBrands(): Array<{
|
|
7449
7520
|
brand: string;
|
|
@@ -7451,7 +7522,7 @@ declare function registeredRobotBrands(): Array<{
|
|
|
7451
7522
|
tier: TRobotTier;
|
|
7452
7523
|
}>;
|
|
7453
7524
|
/** Test seam. */
|
|
7454
|
-
declare function
|
|
7525
|
+
declare function clearRobotBrands(): void;
|
|
7455
7526
|
|
|
7456
7527
|
/**
|
|
7457
7528
|
* The lift contract, shaped after Open-RMF's `rmf_lift_msgs`.
|
|
@@ -8026,80 +8097,6 @@ declare function useRobotCloudService(credentials: TRobotCloudCredentials, optio
|
|
|
8026
8097
|
savePlans: (robotSn: string, planList: TCloudPlan[]) => Promise<number[]>;
|
|
8027
8098
|
};
|
|
8028
8099
|
|
|
8029
|
-
/**
|
|
8030
|
-
* The bridge between a robot ROW and the robot CLOUD.
|
|
8031
|
-
*
|
|
8032
|
-
* A registered robot is a document holding a nickname and a credential pair.
|
|
8033
|
-
* Everything a user actually wants - where it is, what it is doing, its floors,
|
|
8034
|
-
* sending it to clean - lives in the vendor's cloud and is addressed by
|
|
8035
|
-
* `robotSn`. This is the only place those two halves meet.
|
|
8036
|
-
*
|
|
8037
|
-
* ## Why `robotSn` gets discovered rather than required
|
|
8038
|
-
*
|
|
8039
|
-
* The Add Robot form collects a nickname, an app key and an app token. It has
|
|
8040
|
-
* never asked for a serial. But every per-robot cloud endpoint takes one, so a
|
|
8041
|
-
* robot registered through that form cannot be reached at all.
|
|
8042
|
-
*
|
|
8043
|
-
* Rather than change the form (and every robot already registered through it),
|
|
8044
|
-
* a robot with no `robotSn` gets one from `get-robot-list` - which takes no
|
|
8045
|
-
* parameters and returns everything the credential can see. If that is exactly
|
|
8046
|
-
* one robot, the credential is per-robot and the answer is unambiguous. If it is
|
|
8047
|
-
* several, we cannot guess which, and say so instead of picking one: binding a
|
|
8048
|
-
* nickname to the wrong serial would send one building's cleaning command to
|
|
8049
|
-
* another building's robot.
|
|
8050
|
-
*
|
|
8051
|
-
* ponytail: discovery, not a form change, because the vendor has not yet said
|
|
8052
|
-
* whether a credential is issued per robot or per account (question 2 on the
|
|
8053
|
-
* vendor sheet). When they answer, this either stays as it is or becomes a
|
|
8054
|
-
* picker in the UI.
|
|
8055
|
-
*/
|
|
8056
|
-
type TFleetRobot = {
|
|
8057
|
-
id: string;
|
|
8058
|
-
name: string;
|
|
8059
|
-
robotSn: string;
|
|
8060
|
-
/** The vendor's raw status code, kept so support can quote it. */
|
|
8061
|
-
statusFlag: number | null;
|
|
8062
|
-
/** The vendor's own label for that code. */
|
|
8063
|
-
statusName: string;
|
|
8064
|
-
/** Our normalised vocabulary - this is what screens should show. */
|
|
8065
|
-
mode: TRobotMode;
|
|
8066
|
-
online: boolean;
|
|
8067
|
-
dispatchable: boolean;
|
|
8068
|
-
};
|
|
8069
|
-
/** What the service needs from a robot row. */
|
|
8070
|
-
type TStoredRobot = TRobot & {
|
|
8071
|
-
_id?: unknown;
|
|
8072
|
-
};
|
|
8073
|
-
declare function useRobotFleetService(deps?: {
|
|
8074
|
-
/** Injected so the whole service runs in a test with no network. */
|
|
8075
|
-
cloudFor?: typeof useRobotCloudService;
|
|
8076
|
-
/** Persists a discovered serial. Omitted in tests. */
|
|
8077
|
-
saveRobotSn?: (robotId: string, robotSn: string) => Promise<unknown>;
|
|
8078
|
-
}): {
|
|
8079
|
-
resolveRobotSn: (robot: TStoredRobot) => Promise<string>;
|
|
8080
|
-
getFleetRobot: (robot: TStoredRobot) => Promise<TFleetRobot>;
|
|
8081
|
-
getMaps: (robot: TStoredRobot) => Promise<TCloudMap[]>;
|
|
8082
|
-
getMapImages: (robot: TStoredRobot, fileKeys: string[]) => Promise<TCloudFile[]>;
|
|
8083
|
-
dispatch: (robot: TStoredRobot, command: {
|
|
8084
|
-
kind: "full";
|
|
8085
|
-
options: TCleanOptions;
|
|
8086
|
-
} | {
|
|
8087
|
-
kind: "area";
|
|
8088
|
-
areas: string[];
|
|
8089
|
-
options: TCleanOptions;
|
|
8090
|
-
} | {
|
|
8091
|
-
kind: "spot";
|
|
8092
|
-
points: Array<{
|
|
8093
|
-
x: number;
|
|
8094
|
-
y: number;
|
|
8095
|
-
}>;
|
|
8096
|
-
options: TCleanOptions;
|
|
8097
|
-
} | {
|
|
8098
|
-
kind: "return";
|
|
8099
|
-
}) => Promise<TRobotCloudReply<Record<string, never>>>;
|
|
8100
|
-
getPlans: (robot: TStoredRobot) => Promise<TCloudPlan[]>;
|
|
8101
|
-
};
|
|
8102
|
-
|
|
8103
8100
|
/**
|
|
8104
8101
|
* Ounitech (Q3-G / Q3-W) — the first brand behind the vendor-neutral contract.
|
|
8105
8102
|
*
|
|
@@ -8134,14 +8131,160 @@ declare function createOunitechAdapter(credentials: TRobotCloudCredentials, opti
|
|
|
8134
8131
|
baseUrl?: string;
|
|
8135
8132
|
}): TRobotAdapter;
|
|
8136
8133
|
/**
|
|
8137
|
-
* Register
|
|
8138
|
-
* estate has credentials.
|
|
8134
|
+
* Register Ounitech, so any robot whose record names this brand can be reached.
|
|
8139
8135
|
*
|
|
8140
|
-
*
|
|
8141
|
-
*
|
|
8136
|
+
* The factory is what the registry stores; an adapter is built per robot from
|
|
8137
|
+
* that robot's own credentials, so one estate's appid can never sign another
|
|
8138
|
+
* estate's request.
|
|
8142
8139
|
*/
|
|
8143
8140
|
declare function registerOunitechBrand(): void;
|
|
8144
8141
|
|
|
8142
|
+
/**
|
|
8143
|
+
* A demonstration brand: robots that are not there, behaving as if they were.
|
|
8144
|
+
*
|
|
8145
|
+
* Two jobs.
|
|
8146
|
+
*
|
|
8147
|
+
* **It makes the work visible.** Until a vendor supplies credentials, no screen
|
|
8148
|
+
* in the platform can show a robot — the list is empty, the map has nothing to
|
|
8149
|
+
* draw, and no button can be pressed. Adding a robot of this brand fills every
|
|
8150
|
+
* one of those screens with something to look at and click.
|
|
8151
|
+
*
|
|
8152
|
+
* **It proves the vendor-neutral design.** This is a second brand, written
|
|
8153
|
+
* against the same `TRobotAdapter` contract as Ounitech and registered the same
|
|
8154
|
+
* way. If the demo robots work end to end — listed, tracked, commanded, drawn
|
|
8155
|
+
* in 3D — then the platform genuinely is brand-agnostic, because nothing above
|
|
8156
|
+
* the adapter knows which of the two it is talking to.
|
|
8157
|
+
*
|
|
8158
|
+
* ## It is honest about being a demo
|
|
8159
|
+
*
|
|
8160
|
+
* `displayName` says so, and every robot is named so, because a simulated robot
|
|
8161
|
+
* appearing in a real estate's list without saying what it is would be worse
|
|
8162
|
+
* than no demo at all. It reaches no network and writes nothing.
|
|
8163
|
+
*
|
|
8164
|
+
* Unlike Ounitech it declares **full capabilities**, so every control appears
|
|
8165
|
+
* and can be exercised. That difference is itself the demonstration: the
|
|
8166
|
+
* screens draw different buttons for the two brands without being told to.
|
|
8167
|
+
*/
|
|
8168
|
+
declare const DEMO_BRAND = "demo";
|
|
8169
|
+
declare const DEMO_CAPABILITIES: TRobotCapabilities;
|
|
8170
|
+
/**
|
|
8171
|
+
* One demo robot develops a fault now and then, so fault notifications can be
|
|
8172
|
+
* seen without waiting for real hardware to break.
|
|
8173
|
+
*
|
|
8174
|
+
* Two minutes in every thirty, on one robot only. Rare enough not to flood
|
|
8175
|
+
* anybody's bell, frequent enough to be seen in one sitting. The occurrence is
|
|
8176
|
+
* keyed by the window's start, so the platform notifies once per occurrence
|
|
8177
|
+
* however many times the screen re-reads the robot.
|
|
8178
|
+
*/
|
|
8179
|
+
declare const DEMO_FAULT_ROBOT = "DEMO-0002";
|
|
8180
|
+
declare function demoFault(robotSn: string, now: number): {
|
|
8181
|
+
code: string;
|
|
8182
|
+
message: string;
|
|
8183
|
+
since: number;
|
|
8184
|
+
} | null;
|
|
8185
|
+
declare function createDemoAdapter(options?: {
|
|
8186
|
+
now?: () => number;
|
|
8187
|
+
}): TRobotAdapter;
|
|
8188
|
+
/**
|
|
8189
|
+
* Register the demo brand.
|
|
8190
|
+
*
|
|
8191
|
+
* It accepts any credentials, because there is nothing to authenticate against
|
|
8192
|
+
* — which is also why it can never reach a real robot.
|
|
8193
|
+
*/
|
|
8194
|
+
declare function registerDemoBrand(): void;
|
|
8195
|
+
|
|
8196
|
+
/**
|
|
8197
|
+
* The bridge between a robot ROW and the robot itself.
|
|
8198
|
+
*
|
|
8199
|
+
* Everything here now goes through `TRobotAdapter`, so this file contains no
|
|
8200
|
+
* vendor at all. Adding a brand is a new adapter beside `ounitech.adapter.ts`
|
|
8201
|
+
* and a `brand` on the robot record — not a change to this service, the
|
|
8202
|
+
* controller, the routes or any screen.
|
|
8203
|
+
*
|
|
8204
|
+
* ## Why `robotSn` is discovered rather than required
|
|
8205
|
+
*
|
|
8206
|
+
* The Add Robot form collects a nickname and a credential pair; it has never
|
|
8207
|
+
* asked for a serial. But every per-robot call needs one, so a robot with no
|
|
8208
|
+
* `robotSn` gets one from the brand's own roster. If that roster holds exactly
|
|
8209
|
+
* one robot the answer is unambiguous. If it holds several we cannot guess, and
|
|
8210
|
+
* say so instead of picking one: binding a nickname to the wrong serial would
|
|
8211
|
+
* send one building's cleaning command to another building's robot.
|
|
8212
|
+
*
|
|
8213
|
+
* ## Why a command is checked before it is sent
|
|
8214
|
+
*
|
|
8215
|
+
* A brand declares what its protocol can do. A screen should not offer an
|
|
8216
|
+
* action the brand lacks — but a command can also arrive from an API caller, a
|
|
8217
|
+
* scheduled job or a deep link, so it is checked here too. Refusing by name
|
|
8218
|
+
* beats a vendor error nobody can read.
|
|
8219
|
+
*/
|
|
8220
|
+
type TFleetRobot = {
|
|
8221
|
+
id: string;
|
|
8222
|
+
name: string;
|
|
8223
|
+
brand: string;
|
|
8224
|
+
robotSn: string;
|
|
8225
|
+
statusName: string;
|
|
8226
|
+
mode: TRobotMode | string;
|
|
8227
|
+
online: boolean;
|
|
8228
|
+
dispatchable: boolean;
|
|
8229
|
+
batteryPercent: number | null;
|
|
8230
|
+
floorNo: number | null;
|
|
8231
|
+
floorKnown: boolean;
|
|
8232
|
+
position: {
|
|
8233
|
+
x: number;
|
|
8234
|
+
y: number;
|
|
8235
|
+
theta: number;
|
|
8236
|
+
} | null;
|
|
8237
|
+
/** A fault the robot is reporting now, or null. */
|
|
8238
|
+
fault: {
|
|
8239
|
+
code: string;
|
|
8240
|
+
message: string;
|
|
8241
|
+
since?: number;
|
|
8242
|
+
} | null;
|
|
8243
|
+
/**
|
|
8244
|
+
* What this robot's brand can do, so a screen hides a control the brand
|
|
8245
|
+
* lacks (spot-clean on Ounitech) instead of offering one that is refused.
|
|
8246
|
+
*/
|
|
8247
|
+
capabilities: TRobotCapabilities;
|
|
8248
|
+
};
|
|
8249
|
+
type TStoredRobot = TRobot & {
|
|
8250
|
+
_id?: unknown;
|
|
8251
|
+
};
|
|
8252
|
+
declare function useRobotFleetService(deps?: {
|
|
8253
|
+
/** Injected so the whole service runs in a test with no network. */
|
|
8254
|
+
adapterFor?: (robot: TStoredRobot) => TRobotAdapter;
|
|
8255
|
+
/** Persists a discovered serial. Omitted in tests. */
|
|
8256
|
+
saveRobotSn?: (robotId: string, robotSn: string) => Promise<unknown>;
|
|
8257
|
+
/**
|
|
8258
|
+
* Told when a read finds the robot reporting a fault. Fire and forget: it is
|
|
8259
|
+
* never awaited, so a slow notifier cannot slow the screen that noticed.
|
|
8260
|
+
*/
|
|
8261
|
+
onFault?: (robot: TStoredRobot, fault: {
|
|
8262
|
+
code: string;
|
|
8263
|
+
message: string;
|
|
8264
|
+
since?: number;
|
|
8265
|
+
}) => unknown;
|
|
8266
|
+
}): {
|
|
8267
|
+
adapterFor: (robot: TStoredRobot) => TRobotAdapter;
|
|
8268
|
+
capabilitiesOf: (robot: TStoredRobot) => Readonly<Partial<Record<"readLocation" | "navigateToPoint" | "pauseResume" | "pathAndEta" | "battery" | "sendToDock" | "relocalize" | "startProcess" | "pauseProcess" | "processCompletion" | "floorReporting" | "multiFloor" | "spotClean", boolean>>>;
|
|
8269
|
+
resolveRobotSn: (robot: TStoredRobot) => Promise<string>;
|
|
8270
|
+
getFleetRobot: (robot: TStoredRobot) => Promise<TFleetRobot>;
|
|
8271
|
+
getMaps: (robot: TStoredRobot) => Promise<unknown[]>;
|
|
8272
|
+
getMapImages: (robot: TStoredRobot, fileKeys: string[]) => Promise<unknown[]>;
|
|
8273
|
+
getPlans: (robot: TStoredRobot) => Promise<unknown[]>;
|
|
8274
|
+
dispatch: (robot: TStoredRobot, command: TAdapterCommand) => Promise<void>;
|
|
8275
|
+
};
|
|
8276
|
+
|
|
8277
|
+
/**
|
|
8278
|
+
* One byte per pixel, row-major, 0 = black.
|
|
8279
|
+
*
|
|
8280
|
+
* Each scanline is prefixed with a filter byte, which PNG requires even when
|
|
8281
|
+
* the filter is "none" (0). Omitting it shifts every row by one pixel and
|
|
8282
|
+
* produces an image that decodes but shears diagonally.
|
|
8283
|
+
*/
|
|
8284
|
+
declare function encodeGreyscalePng(pixels: Uint8Array, width: number, height: number): Buffer;
|
|
8285
|
+
/** The same image as a `data:` URI, ready for an `<img>` or a canvas. */
|
|
8286
|
+
declare function greyscalePngDataUri(pixels: Uint8Array, width: number, height: number): string;
|
|
8287
|
+
|
|
8145
8288
|
declare const ROBOT_CLOUD_TIMEOUT_MS: number;
|
|
8146
8289
|
|
|
8147
8290
|
/**
|
|
@@ -8247,6 +8390,7 @@ declare function useRobotFleetController(deps?: {
|
|
|
8247
8390
|
getPlans: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8248
8391
|
sendCommand: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8249
8392
|
trackRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8393
|
+
getBrands: (_req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8250
8394
|
};
|
|
8251
8395
|
|
|
8252
8396
|
type TPatrolQuestion = {
|
|
@@ -16580,6 +16724,23 @@ declare class NotificationService {
|
|
|
16580
16724
|
invitationType: string;
|
|
16581
16725
|
orgName?: string;
|
|
16582
16726
|
}): Promise<void>;
|
|
16727
|
+
/**
|
|
16728
|
+
* A robot reports a fault. Seven365 staff are told, in the `platform`
|
|
16729
|
+
* category, exactly like the client lifecycle messages above.
|
|
16730
|
+
*
|
|
16731
|
+
* No `siteId` on the row on purpose: `filterByAccess` would then judge staff
|
|
16732
|
+
* against the client's site module list, and staff are not site members, so
|
|
16733
|
+
* the message would be dropped for the very people it is for. Dedupe is the
|
|
16734
|
+
* caller's job (`robot-fault.service.ts`) - this sends when asked.
|
|
16735
|
+
*/
|
|
16736
|
+
static robotFault(payload: {
|
|
16737
|
+
robotId: string;
|
|
16738
|
+
robotName: string;
|
|
16739
|
+
fault: {
|
|
16740
|
+
code: string;
|
|
16741
|
+
message?: string;
|
|
16742
|
+
};
|
|
16743
|
+
}): Promise<void>;
|
|
16583
16744
|
static bulletinBoardCreated(payload: {
|
|
16584
16745
|
to: Recipient;
|
|
16585
16746
|
bulletinId: string | ObjectId;
|
|
@@ -17221,4 +17382,4 @@ declare function usePersonalEmergencyChainController(): {
|
|
|
17221
17382
|
update: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
17222
17383
|
};
|
|
17223
17384
|
|
|
17224
|
-
export { ANPRMode, APP_BASE_URLS, AUDIT_VALUE_MAX_LENGTH, AccessTypeProps, AppKey, AppServiceType, AssignCardConfig, BLOCKLIST_CATEGORIES, BULK_CAMERA_COLUMNS, BidStatus, BidType, BuildingLevelStatus, BuildingStatus, BulkCameraAccepted, BulkCameraOutcome, BulkCameraPlan, BulkCameraResult, BulkCardUpdate, BulletinOrder, BulletinRecipient, BulletinSort, BulletinStatus, BulletinVideoOrder, BulletinVideoSort, CAMERA_ANPR_PERMISSIONS, CAMERA_CAPABILITIES, CAMERA_CAPABILITY_REASONS, CAMERA_MANAGE_ANY_PERMISSIONS, CAMERA_NOT_PATROL_OR_CCTV, CAMERA_NO_SUB_STREAM_TTL_SECONDS, CAMERA_PTZ_PERMISSIONS, CAMERA_RECORDINGS_PERMISSIONS, CAMERA_REQUEST_TIMEOUT_MS, CAMERA_RTSP_TIMEOUT_MS, CAMERA_SETUP_PERMISSIONS, CAMERA_SNAPSHOT_CACHE_SECONDS, CAMERA_SNAPSHOT_MAX_BYTES, CAMERA_TEST_MIN_INTERVAL_SECONDS, CAMERA_TEST_ROUND_LIMIT, CAMERA_TEST_ROUND_SECONDS, CAMERA_TYPE_ANPR, CAMERA_TYPE_IP, CAMERA_VIEW_PERMISSIONS, CLIENT_ACTIONS, CLOCK_DRIFT_WARN_SECONDS, CONSOLE_AUDIT_LABELS, CONSOLE_PERMISSIONS, CONTRACTOR_TYPE_LABELS, CROSS_CLIENT_GRANT, CURRENT_TIME_ENDPOINT, Camera, CameraAddressInput, CameraCapability, CameraCapabilityContext, CameraCapabilityDescriptor, CameraCapabilityEntry, CameraCapabilityReason, CameraCapabilityState, CameraCapabilityTrace, CameraDevice, CameraFrame, CameraMembership, CameraStream, CameraTestStatus, CameraTransport, CameraType, ConsoleAuditAction, ConsoleAuditTarget, ConsoleGrant, DEFAULT_RING_SECONDS, DEFAULT_SCALE_M_PER_PX, DEFAULT_SITE_TIMEZONE, DEVICE_STATUS, DOBStatus, DUPLICATE_TERMS_VERSION_MESSAGE, DayOfWeek, DeviceHttpTarget, DeviceProbeResult, DynamicFormFields, E164, EAccessCardTypes, EAccessCardUserTypes, EmailSender, EntryOrder, EntrySort, EventOrder, EventSort, EventStatus, EventType, FacilitySort, FacilityStatus, FormEntryStatus, GOVERNED_MODULES, GuestSort, GuestStatus, HID_CARD_VALUE_FACTOR, HID_PERMISSION_CATEGORIES, HID_UINT32_MAX, HID_UINT64_MAX, HidRawUint64, IAccessCard, IAccessCardTransaction, InviteActor, LIFT_DOOR, LIFT_MODE, LIFT_MOTION, LIFT_REQUEST, LIVE_ROLE, LIVE_VEHICLE_STATUSES, MANAGE_SITE_MODULES, MAX_BULK_CAMERA_ROWS, MAX_CAMERA_CHANNEL, MAX_CAMERA_NAME_LENGTH, MAX_PERSONAL_EMERGENCY_CONTACTS, MAX_RING_SECONDS, MAccessCard, MAccessCardTransaction, MAddress, MAttendance, MAttendanceSettings, MBidPreloved, MBillingConfiguration, MBillingItem, MBuilding, MBuildingLevel, MBuildingUnit, MBulletinBoard, MBulletinVideo, MCategoryPreloved, MChannelPreloved, MChat, MChatPreloved, MConsoleAudit, MCustomer, MCustomerSite, MDocumentManagement, MEMBER_TYPES, MEntryPassSettings, MEventManagement, MFeedback, MFile, MFormEntry, MGuestManagement, MHidAmicoEvent, MHidAmicoIdentity, MHidAmicoReader, MHidSipAccount, MHidSitePermissions, MIN_RING_SECONDS, MIncidentReport, MManpowerDesignations, MManpowerMonitoring, MManpowerRemarks, MManpowerSites, MMember, MNfcPatrolLog, MNfcPatrolRoute, MNfcPatrolSettings, MNfcPatrolSettingsUpdate, MNfcPatrolTag, MNotification, MNotificationPreference, MODULE_GATE_MODE_DEFAULT, MODULE_LIST_GATE_DEFAULT, MOccurrenceBook, MOccurrenceEntry, MOccurrenceSubject, MOnlineForm, MOrg, MOvernightParkingApprovalHours, MOvernightParkingRequest, MPatrolEmail, MPatrolLog, MPatrolQuestion, MPatrolRoute, MPerson, MPersonalEmergencyChain, MPlatformTerms, MPost, MPostFavorite, MPromoCode, MRobot, MRole, MRoleV2, MServiceProvider, MServiceProviderBilling, MSession, MSite, MSiteCamera, MSiteFacility, MSiteFacilityBooking, MStatementOfAccount, MSubcategoryPreloved, MSubscription, MSubscriptionPlan, MUnitBilling, MUser, MVehicle, MVehicleTransaction, MVerification, MVerificationV2, MVisitorTransaction, MWorkOrder, NOTIFICATION_CATEGORIES, NOTIFICATION_CHANNELS, NOTIFICATION_CHANNEL_LABELS, NOTIFICATION_NAMESPACE, NOTIFY_ACCESS_FILTER_DEFAULT, NotificationAppSlug, NotificationCategory, NotificationChannel, NotificationModule, NotificationPreferenceView, NotificationService, OCCUPANCY_ROLES, ORG_MARKETPLACE_VENDOR_FIELD, ORG_OWNER_REPAIR_CLAIM_STALE_MS, ORG_OWNER_REPAIR_CLAIM_TAKEN_REASON, ORG_OWNER_REPAIR_DEFAULT, ORG_OWNER_REPAIR_OFF_REASON, OUNITECH_BRAND, OUNITECH_CAPABILITIES, OccupancyRole, OccupancyRoles, OrgNature, OvernightParkingRequestSort, OvernightParkingRequestStatus, PATROL_CCTV_CAMERA_FILTER, PATROL_EMAIL_MAX_LOGS, PATROL_EMAIL_MAX_PER_HOUR, PATROL_EMAIL_MAX_RECIPIENTS, PERSON_TYPES, PLAN_RANGE, PLATFORM_STAFF_MEMBER_TYPE, PLATFORM_STAFF_ROLE_TYPE, PLAYBACK_LINK_SECONDS, PLAYBACK_MAX_WINDOW_SECONDS, PROPERTY_MANAGEMENT_MEMBER_TYPES, PStatus, PTZ_ALLOWED_ACTIONS, PTZ_ALLOWED_CODES, Period, PersonStatus, PersonType, PersonTypes, PlatformTermsStatus, PostOrder, PostSort, PostStatus, QrTagProps, REALTIME_MAX_FANOUT, REGISTERED_VEHICLE_CATEGORIES, ROBOT_APP_SCOPES, ROBOT_CAPABILITIES, ROBOT_CLOUD_DOC_CONFIRMATIONS, ROBOT_CLOUD_PATHS, ROBOT_CLOUD_TIMEOUT_MS, ROBOT_MODULE, ROBOT_PERMISSIONS, ROBOT_STATUS_NAMES, ROBOT_TYPES, ResidentAppModuleKey, RobotCloudError, SELF_SERVICE_RESEND_COOLDOWN_MS, SELF_SIGNUP_PLATFORM, SELF_SIGNUP_STATUS, SELF_SIGNUP_TYPES, SERVICE_PROVIDER_INVITE_LABELS, SERVICE_PROVIDER_INVITE_TRANSITIONS, SERVICE_PROVIDER_SIGN_IN_SUBJECT, SERVICE_PROVIDER_SIGN_IN_TYPE, SERVICE_PROVIDER_SIGN_UP_SUBJECT, SERVICE_PROVIDER_SIGN_UP_TYPE, SOFTWARE_VERSION_ENDPOINT, ServiceProviderInviteAction, ServiceProviderInviteDecision, ServiceProviderInviteFacts, SiteAddress, SiteCategories, SiteStatus, SortFields, SortOrder, Status, SubjectOrder, SubjectSort, SubscriptionBillingMode, SubscriptionType, TAccessMngmntSettings, TActionStatus, TAdapterCommand, TAdapterRobot, TAddress, TAffectedEntities, TAffectedInjured, TAppServiceType, TApprovedBy, TApprover, TAreaColour, TAttendance, TAttendanceCheckIn, TAttendanceCheckOut, TAttendanceCheckTime, TAttendanceLocation, TAttendanceSettings, TAttendanceSettingsGetBySite, TAuthorities, TAuthoritiesCalled, TBidPreloved, TBilling, TBillingConfiguration, TBillingItem, TBuilding, TBuildingLevel, TBuildingUnit, TBulletinBoard, TBulletinVideo, TCamera, TCameraHealthClaim, TCategoryPreloved, TChannelPreloved, TChat, TChatPreloved, TCheckPoint$1 as TCheckPoint, TCleanLevel, TCleanMode, TCleanOptionValues, TCleanOptions, TCleanSubMode, TCloudArea, TCloudFile, TCloudMap, TCloudPlan, TCloudPlanJob, TCloudRobot, TComplaintInfo, TComplaintReceivedTo, TConsoleAudit, TConsoleAuditQuery, TCounter, TCreateNfcPatrolLog, TCustomer, TCustomerSite, TCustomerSitePropertyField, TDayNumber, TDaySchedule, TDefaultAccessCard, TDesignations, TDocs, TDocumentCreate, TDocumentManagement, TEntryPassSettings, TEventManagement, TFeedback, TFeedbackMetadata, TFeedbackUpdate, TFeedbackUpdateCategory, TFeedbackUpdateServiceProvider, TFeedbackUpdateStatus, TFeedbackUpdateToCompleted, TFile, TFiles, TFleetRobot, TFloorPlanLevel, TFloorPlanMap, TFloorSlab, TFolderUpdate, TFormEntry, TGetAttendancesByUserQuery, TGetAttendancesQuery, TGuestManagement, THidAmicoEvent, THidAmicoGatewayJob, THidAmicoIdentity, THidAmicoPhysicalCard, THidAmicoReader, THidPermissionAssignment, THidPermissionCategory, THidPermissionUserBinding, THidPhysicalCardInput, THidPhysicalCardType$1 as THidPhysicalCardType, THidSipAccount, THidSitePermissions, TIncidentInformation, TIncidentReport, TIncidentTypeAndTime, TInvoice, TKeyRef, TLevelSolids, TLiftDoorState, TLiftDriver, TLiftMode, TLiftMotionState, TLiftRequest, TLiftRequestType, TLiftState, TManpowerDesignations, TManpowerDesignationsUpdate, TManpowerMonitoring, TManpowerMonitoringUpdate, TManpowerRemarks, TManpowerRemarksStatusUpdate, TManpowerRemarksUpdate, TManpowerSearchFilter, TManpowerSites, TMapDoor, TMapFloor, TMapMeasurement, TMapSegment, TMapVertex, TMapWall, TMember, TMemberModulesDeps, TMemberUpdateStatus, TMessagePreloved, TMiniRole, TModuleAccess, TModuleGateMode, TModuleImpact, TNfcPatrolLog, TNfcPatrolRoute, TNfcPatrolRouteEdit, TNfcPatrolSettings, TNfcPatrolSettingsGetBySite, TNfcPatrolSettingsUpdate, TNfcPatrolTag, TNfcPatrolTagConfigureReset, TNfcPatrolTagEdit, TNfcPatrolTagUpdateData, TNotification, TNotificationPreference, TNotificationPreferenceOff, TNotifyAccessContext, TNotifyAccessMode, TNotifyAccessReport, TOccupancyGrid, TOccurrenceBook, TOccurrenceEntry, TOccurrenceSubject, TOnlineForm, TOrg, TOrgModulesDeps, TOrgOwnerRepairClaim, TOrgOwnerRepairDeps, TOrgOwnerRepairInput, TOrgOwnerRepairPayload, TOrgOwnerRepairPlan, TOvernightParkingApprovalHours, TOvernightParkingRequest, TPatrolEmail, TPatrolEmailCreatedBy, TPatrolEmailLogRef, TPatrolLog, TPatrolQuestion, TPatrolRoute, TPerson, TPersonalEmergencyChain, TPersonalEmergencyContact, TPlaceOfIncident, TPlates, TPlatformTerms, TPost, TPostFavorite, TPrice, TPriceType, TPromoCode, TPromoCurrencyInput, TPromoTier, TRACKING_BACKOFF_BASE_MS, TRACKING_BACKOFF_CAP_MS, TRACKING_IDLE_TIMEOUT_MS, TRANSPORT_DEVICE_HTTP, TRANSPORT_RELAY_PLAYBACK, TRANSPORT_RELAY_PLAYER, TRANSPORT_RTSP_FRAME, TRecipientOfComplaint, TRemarks, TResident, TResidentAppModules, TRobot, TRobotAction, TRobotAdapter, TRobotAppScope, TRobotCapabilities, TRobotCapability, TRobotCloudCredentials, TRobotCloudPath, TRobotCloudReply, TRobotCommand, TRobotLiveState, TRobotMetadata, TRobotMode, TRobotPermissionActor, TRobotPose, TRobotTier, TRobotType, TRole, TRolePermissionHistoryEntry, TRoleV2, TRoute, TSOABillingItem, TSOAStatus, TSelfServiceEmailOccasion, TSelfServiceEmailRecord, TSelfServiceResendDecision, TSelfServiceResendFacts, TServiceProvider, TServiceProviderBilling, TSession, TSessionCreate, TShifts, TSignNfcPatrolLog, TSite, TSiteCamera, TSiteDayBounds, TSiteFacility, TSiteFacilityBooking, TSiteInfo, TSiteInformation, TSiteMetadata, TSiteModulesDeps, TSiteUpdateBlock, TSseEvent, TStatementOfAccount, TSubcategoryPreloved, TSubmissionForm, TSubscription, TSubscriptionPlan, TSubscriptionPlanApplication, TTrackingEvent, TTrackingHandle, TUnitBilling, TUnits, TUpdateFormEntry, TUpdateName, TUser, TUserCreate, TVehicle, TVehicleAnprCamera, TVehicleHistoryEntry, TVehicleTransaction, TVehicleUpdate, TVerification, TVerificationCode, TVerificationEvent, TVerificationMetadata, TVerificationMetadataV2, TVerificationOnboarding, TVerificationV2, TVisitorTransaction, TWallSolid, TWorkOrder, TWorkOrderMetadata, TWorkOrderUpdate, TWorkOrderUpdateStatus, TWorkOrderUpdateToCompleted, TanyoneDamageToProperty, UNSTORED_COLUMNS, UseAccessManagementRepo, UserStatus, VEHICLE_HISTORY_LIMIT, VERIFICATION_OPEN_STATUSES, VehicleCategory, VehicleListView, VehicleOrder, VehicleSort, VehicleStatus, VehicleType, VerificationLinkType, VerificationStatus, VerificationSubjectType, VerificationType, VisitorSort, VisitorStatus, WALL_HEIGHT_M, WALL_THICKNESS_M, addressSchema, allowedFieldsSite, allowedNatures, allowedPlanApplications, allowsRobotAction, allowsRobotListing, applyTrackingFrame, areaColourToHex, attendanceSchema, attendanceSettingsSchema, buildSelfServiceEmailContext, buildingMapFromRobotMaps, buildingSolids, building_level_namespace_collection, building_units_namespace_collection, buildings_namespace_collection, bulletin_boards_namespace_collection, callerAccountApproved, callerId, cameraBaseUrl, cameraCapabilitiesFor, cameraDevices, cameraGrant, cameraHealthClaim, cameraHealthSummary, cameraListClearConfirmation, cameraManagePermissions, cameraProbeCacheKey, cameraTransports, canManageSiteModules, canMonitorRobotType, canRevokeRefreshTokenFamily, canSetUpRobotType, categoriesForPermissions, categorySupportsChannel, chatPrelovedEvents, chatSchema, claimReadsAsStale, clampPtzSpeed, clearRobotAdapters, clockDriftSeconds, commandSupported, consoleRoleAllows, consoleRoleAllowsAll, consoleSpellings, console_audit_namespace_collection, createLiftSimulator, createManpowerRemarksDaily, createOunitechAdapter, createSseParser, customerSchema, customerSitePropertyFields, decideSelfServiceResend, decideServiceProviderInvite, decodeHidPacsCard, decodeTrackingFrame, deniedModules, deriveBulletinStatus, deriveCameraHost, describeCameraCapabilities, designationsSchema, deviceControlEnabled, deviceHttpEnabled, deviceHttpTargets, deviceHttpTimeoutMs, deviceProbeTtlSeconds, disconnectedState, documentExpiryFilter, documents_namespace_collection, emitNotificationCreated, emptyPersonalEmergencyChain, encodeHidPacsCard, entitledSiteScope, events_namespace_collection, expandModules, expiredBulletinSweepFilter, expiredVehicleSweepFilter, facility_bookings_namespace_collection, feedbackSchema, feedbacks2_namespace_collection, feedbacks_namespace_collection, ffmpegFrameArgs, ffmpegPath, filterByAccess, formatCapabilityTrace, formatDahuaDate, getIO, getSessionIdFromRequest, grabWithSubStreamFallback, guests_namespace_collection, hasAnyCapability, hasAnyPermission, hasOrgInvitation, hasOrgOwnership, hasOrgSiteReach, hexToAreaColour, hidRawUint64, holdsLift, holdsRole, incidentReport, incidentReportLog, incidents_namespace_collection, invitationOffersRole, isAvailableForWork, isCameraEntitled, isDispatchable, isDuplicateMemberError, isDuplicateVersionError, isLiftAvailable, isLikelySelfServiceEmail, isLiveVehicleStatus, isPatrolCctvCamera, isPlatformOwner, isPromoCodeExpired, isRelayPlayerUrl, isSafeRelativePath, isSafeToCross, isSeasonPassVehicle, isSuperAdmin, isTermsCurrent, isTrackingStale, isValidTimezone, levelPixelToMetres, levelScale, levelSolids, listStaffUserIds, liveStatusFor, logCamera, manpowerDesignationsSchema, manpowerEvents, manpowerMonitoringSchema, manpowerRemarksSchema, manpowerSitesSchema, mapWithLimit, maskNric, memberModulesHandlers, metresToPixel, missingForTier, moduleDeniedForCaller, moduleGateEnforceKeys, moduleGateMode, moduleImpact, moduleListGateOn, nfcPatrolSettingsSchema, nfcPatrolSettingsSchemaUpdate, normalizeAcceptedTerms, normalizeHidCardValue, notificationAccessReport, notificationCategory, notificationCategoryLabel, notificationEvents, notificationRoom, notifyAccessMode, occasionForStatus, occurrence_book_namespace_collection, onBookTimezonesChanged, online_forms_namespace_collection, orgLevelRoles, orgModulesHandlers, orgOwnerRepairHandlers, orgOwnerRepairOn, orgQualifiesForOwnerRepair, orgSchema, overnight_parking_requests_namespace_collection, ownerFlagFor, parseCameraChannel, parseCameraHost, parseDahuaFind, parseDeviceTime, parseHidJsonLossless, parsePromoExpiry, parseRobotCommand, parseSoftwareVersion, pickAuditFields, pickCustomerSiteProperties, pixelToMetres, planBulkCameraImport, planDayFromJsDay, planOrgOwnerRepair, platform_terms_namespace_collection, playbackRelays, playbackWindowRefusal, promoCodeRefusal, promoCodeSchema, promoCodeStatusSchema, promoCodeUpdate, promoCodeUpdateSchema, ptzEndpoint, publicCameraFields, readsAsApprovedAccount, recordConsoleAction, refuseServiceProviderInviteAction, registerCameraTransport, registerOunitechBrand, registerRobotAdapter, registeredRobotBrands, relayForRecorder, remarksSchema, renderPagePdf, requireConsolePermission, requirePlatformStaff, resetCameraTransports, residentAppModuleKeys, residentAppModulesSchema, residentFormEntry, resolutionRefusalReason, resolveCamera, resolveDeviceHttp, resolveHidPhysicalCardValue, resolveInviteActor, resolveSiteTimezone, resolveStaffRole, robotActionsFor, robotAdapterFor, robotCloudBody, robotCloudSign, robotCloudSigningString, robotCloudTimestamp, robotMode, robotModeFromList, robotSchema, robotScopeForApp, robotTier, robotTypesVisibleTo, rtspUrl, scaleFromMeasurement, schema, schemaAppSlugNotification, schemaApprovedBy, schemaApprover, schemaBidPreloved, schemaBilling, schemaBillingConfiguration, schemaBillingItem, schemaBuilding, schemaBuildingLevel, schemaBuildingUnit, schemaBuildingUpdateOptions, schemaBulletinBoard, schemaBulletinVideo, schemaCategoryPreloved, schemaChannelPreloved, schemaChatPreloved, schemaConsoleAudit, schemaCreateHidAmicoIdentity, schemaCreateNfcPatrolLog, schemaCreateNotification, schemaCustomerSite, schemaDiscoverHidAmicoReader, schemaDocumentManagement, schemaEntryPassSettings, schemaEventManagement, schemaFiles, schemaFormEntry, schemaGuestManagement, schemaHidAmicoAccessLogQuery, schemaHidAmicoAssignUserCard, schemaHidAmicoConfiguration, schemaHidAmicoEnrollUserCard, schemaHidAmicoEvent, schemaHidAmicoExecuteActions, schemaHidAmicoIdentity, schemaHidAmicoIdentityIdParams, schemaHidAmicoIdentityQuery, schemaHidAmicoIntercomCall, schemaHidAmicoLogQuery, schemaHidAmicoMonitor, schemaHidAmicoNotificationParams, schemaHidAmicoObjectOperation, schemaHidAmicoOperatingMode, schemaHidAmicoReader, schemaHidAmicoReaderIdParams, schemaHidAmicoReaderListQuery, schemaHidAmicoReaderUserQuery, schemaHidAmicoSetConfiguration, schemaHidAmicoSiteIdParams, schemaHidAmicoSync, schemaHidAmicoUserCardIdParams, schemaHidAmicoUserCardParams, schemaHidAmicoUserImageParams, schemaHidAmicoUserImageUploadQuery, schemaHidAmicoUserPassword, schemaHidAmicoUserPasswordParams, schemaHidAmicoUserPin, schemaHidAmicoUserPinParams, schemaHidAmicoVisitorImageParams, schemaHidAmicoVisitorImageUploadQuery, schemaHidAmicoVisitorQr, schemaHidPermissionCandidateQuery, schemaHidPermissionScopeQuery, schemaHidSipAccountRequest, schemaIncidentReport, schemaListNotification, schemaMultipleDocumentManagement, schemaNfcPatrolLog, schemaNfcPatrolRoute, schemaNfcPatrolTag, schemaNfcPatrolTagUpdateData, schemaNotification, schemaNotificationPreference, schemaNotificationPreferenceOff, schemaOccurrenceBook, schemaOccurrenceEntry, schemaOccurrenceSubject, schemaOnlineForm, schemaOvernightParkingApprovalHours, schemaOvernightParkingRequest, schemaPatrolEmail, schemaPatrolEmailCreatedBy, schemaPatrolEmailLogRef, schemaPatrolEmailQuery, schemaPatrolLog, schemaPatrolQuestion, schemaPatrolRoute, schemaPerson, schemaPersonalEmergencyContact, schemaPlate, schemaPlatformTerms, schemaPost, schemaPostFavorite, schemaResendPatrolEmail, schemaResidentSelfSignUp, schemaSelfServiceVisitor, schemaSendPatrolEmail, schemaServiceProvider, schemaServiceProviderBilling, schemaSignNfcPatrolLog, schemaSiteCamera, schemaSiteFacility, schemaSiteFacilityBooking, schemaStatementOfAccount, schemaSubcategoryPreloved, schemaUnitBilling, schemaUpdateBidPreloved, schemaUpdateBuildingLevel, schemaUpdateBulletinBoard, schemaUpdateBulletinVideo, schemaUpdateCategoryPreloved, schemaUpdateChatPreloved, schemaUpdateDocumentManagement, schemaUpdateEntryPassSettings, schemaUpdateEventManagement, schemaUpdateFolderManagement, schemaUpdateFormEntry, schemaUpdateGuestManagement, schemaUpdateHidAmicoIdentity, schemaUpdateHidAmicoReader, schemaUpdateHidSitePermissions, schemaUpdateIncidentReport, schemaUpdateNotification, schemaUpdateNotificationPreference, schemaUpdateOccurrenceBook, schemaUpdateOccurrenceEntry, schemaUpdateOccurrenceSubject, schemaUpdateOnlineForm, schemaUpdateOptions, schemaUpdateOvernightParkingRequest, schemaUpdatePatrolLog, schemaUpdatePatrolQuestion, schemaUpdatePatrolRoute, schemaUpdatePerson, schemaUpdatePersonalEmergencyChain, schemaUpdatePost, schemaUpdatePostFavorite, schemaUpdateServiceProviderBilling, schemaUpdateSiteBillingConfiguration, schemaUpdateSiteBillingItem, schemaUpdateSiteCamera, schemaUpdateSiteFacility, schemaUpdateSiteFacilityBooking, schemaUpdateSiteUnitBilling, schemaUpdateStatementOfAccount, schemaUpdateSubcategoryPreloved, schemaUpdateVisTrans, schemaVehicleTransaction, schemaVisitorTransaction, schemeCamera, schemeLogCamera, selectHealthTargets, selfServiceEmailSubject, servesFloor, serviceProviderInviteLabel, sessionSchema, setIO, shiftSchema, signLiveLink, signPlaybackLink, siteDayBounds, siteModulesHandlers, siteSchema, site_people_namespace_collection, snapshotEndpoint, snapshotRefusalReason, staffMayBypass, startRobotTracking, startTodaysBookForSite, stringifyHidJson, stripFacialImageMetadata, subscriptionPlanSchema, summariseBulkCameraPlan, supports, toExpiryDate, trackingBackoffMs, uncontrollableFleetWarning, updateRemarksStatusEod, updateRemarksisAcknowledged, updateSiteSchema, useAccessManagementController, useAddressRepo, useAttendanceController, useAttendanceRepository, useAttendanceSettingsController, useAttendanceSettingsRepository, useAttendanceSettingsService, useAuthController, useAuthControllerV2, useAuthService, useAuthServiceV2, useBidPrelovedController, useBidPrelovedRepo, useBidPrelovedService, useBuildingController, useBuildingLevelController, useBuildingLevelRepo, useBuildingLevelService, useBuildingRepo, useBuildingService, useBuildingUnitController, useBuildingUnitRepo, useBuildingUnitService, useBulletinBoardController, useBulletinBoardRepo, useBulletinBoardService, useBulletinVideoController, useBulletinVideoRepo, useBulletinVideoService, useCameraViewController, useCameraViewService, useCategoryPrelovedController, useCategoryPrelovedRepo, useChannelPrelovedController, useChannelPrelovedRepo, useChatController, useChatPrelovedController, useChatPrelovedRepo, useChatPrelovedService, useChatRepo, useConsoleAuditController, useConsoleAuditRepo, useCounterModel, useCounterRepo, useCustomerController, useCustomerRepo, useCustomerSiteController, useCustomerSiteRepo, useCustomerSiteService, useDahuaService, useDashboardController, useDashboardRepo, useDocumentManagementController, useDocumentManagementRepo, useDocumentManagementService, useEntryPassSettingsController, useEntryPassSettingsRepo, useEventManagementController, useEventManagementRepo, useEventManagementService, useFeedbackController, useFeedbackRepo, useFeedbackService, useFileController, useFileRepo, useFileService, useFormEntryController, useFormEntryRepo, useGuestManagementController, useGuestManagementRepo, useGuestManagementService, useHidAmicoController, useHidAmicoRepo, useHidAmicoService, useHrmLabsAttendanceCtrl, useHrmLabsAttendanceSrvc, useIncidentReportController, useIncidentReportRepo, useIncidentReportService, useInvoiceController, useInvoiceModel, useInvoiceRepo, useManpowerDesignationCtrl, useManpowerDesignationRepo, useManpowerMonitoringCtrl, useManpowerMonitoringRepo, useManpowerMonitoringSrvc, useManpowerRemarkCtrl, useManpowerRemarksRepo, useManpowerSitesCtrl, useManpowerSitesRepo, useManpowerSitesSrvc, useMemberController, useMemberRepo, useMemberService, useNewDashboardController, useNewDashboardRepo, useNfcPatrolLogController, useNfcPatrolLogRepo, useNfcPatrolLogService, useNfcPatrolRouteController, useNfcPatrolRouteRepo, useNfcPatrolRouteService, useNfcPatrolSettingsController, useNfcPatrolSettingsRepository, useNfcPatrolSettingsService, useNfcPatrolTagController, useNfcPatrolTagRepo, useNfcPatrolTagService, useNotificationController, useNotificationPreferenceController, useNotificationPreferenceRepo, useNotificationPreferenceService, useNotificationRepo, useOccurrenceBookController, useOccurrenceBookRepo, useOccurrenceBookService, useOccurrenceEntryController, useOccurrenceEntryRepo, useOccurrenceEntryService, useOccurrenceSubjectController, useOccurrenceSubjectRepo, useOccurrenceSubjectService, useOnlineFormController, useOnlineFormRepo, useOrgController, useOrgControllerV2, useOrgOwnerRepairRepo, useOrgRepo, useOvernightParkingController, useOvernightParkingRepo, useOvernightParkingRequestController, useOvernightParkingRequestRepo, useOvernightParkingRequestService, usePatrolEmailController, usePatrolEmailRepo, usePatrolEmailService, usePatrolLogController, usePatrolLogRepo, usePatrolLogService, usePatrolQuestionController, usePatrolQuestionRepo, usePatrolRouteController, usePatrolRouteRepo, usePersonController, usePersonRepo, usePersonalEmergencyChainController, usePersonalEmergencyChainRepo, usePersonalEmergencyChainService, usePlatformTermsController, usePlatformTermsRepo, usePlatformTermsService, usePostFavoriteController, usePostFavoriteRepo, usePostFavoriteService, usePostPrelovedController, usePostPrelovedRepo, usePriceController, usePriceModel, usePriceRepo, usePromoCodeController, usePromoCodeRepo, useRedDotPaymentController, useRedDotPaymentRepo, useRedDotPaymentSvc, useRobotCloudService, useRobotController, useRobotFleetController, useRobotFleetService, useRobotRepo, useRobotService, useRoleController, useRoleControllerV2, useRoleRepo, useRoleRepoV2, useRoleServiceV2, useServiceProviderBillingController, useServiceProviderBillingRepo, useServiceProviderBillingService, useServiceProviderController, useServiceProviderInviteController, useServiceProviderInviteService, useServiceProviderRepo, useSessionRepo, useSiteBillingConfigurationController, useSiteBillingConfigurationRepo, useSiteBillingItemController, useSiteBillingItemRepo, useSiteCameraController, useSiteCameraRepo, useSiteCameraService, useSiteController, useSiteFacilityBookingController, useSiteFacilityBookingRepo, useSiteFacilityBookingService, useSiteFacilityController, useSiteFacilityRepo, useSiteFacilityService, useSiteRepo, useSiteService, useSiteUnitBillingController, useSiteUnitBillingRepo, useSiteUnitBillingService, useStatementOfAccountController, useStatementOfAccountRepo, useSubcategoryPrelovedController, useSubcategoryPrelovedRepo, useSubscriptionController, useSubscriptionPlanController, useSubscriptionPlanRepo, useSubscriptionRepo, useSubscriptionService, useUserController, useUserControllerV2, useUserRepo, useUserRepoV2, useUserService, useUserServiceV2, useVehicleController, useVehicleRepo, useVehicleService, useVerificationController, useVerificationControllerV2, useVerificationRepo, useVerificationRepoV2, useVerificationService, useVerificationServiceV2, useVisitorTransactionController, useVisitorTransactionRepo, useVisitorTransactionService, useWorkOrderController, useWorkOrderRepo, useWorkOrderService, userSchema, vehicleCategoryFor, vehicleHistoryEntry, vehicleListViewQuery, vehicleSchema, vehicleViewOf, vehicles_namespace_collection, vertexDistancePx, visitorPersonRepo, visitorPersonService, visitorType, visitors_namespace_collection, wallConfig, wallsFromOccupancyGrid, withLiveLink, workOrderSchema, work_orders2_namespace_collection, work_orders_namespace_collection };
|
|
17385
|
+
export { ANPRMode, APP_BASE_URLS, AUDIT_VALUE_MAX_LENGTH, AccessTypeProps, AppKey, AppServiceType, AssignCardConfig, BLOCKLIST_CATEGORIES, BULK_CAMERA_COLUMNS, BidStatus, BidType, BuildingLevelStatus, BuildingStatus, BulkCameraAccepted, BulkCameraOutcome, BulkCameraPlan, BulkCameraResult, BulkCardUpdate, BulletinOrder, BulletinRecipient, BulletinSort, BulletinStatus, BulletinVideoOrder, BulletinVideoSort, CAMERA_ANPR_PERMISSIONS, CAMERA_CAPABILITIES, CAMERA_CAPABILITY_REASONS, CAMERA_MANAGE_ANY_PERMISSIONS, CAMERA_NOT_PATROL_OR_CCTV, CAMERA_NO_SUB_STREAM_TTL_SECONDS, CAMERA_PTZ_PERMISSIONS, CAMERA_RECORDINGS_PERMISSIONS, CAMERA_REQUEST_TIMEOUT_MS, CAMERA_RTSP_TIMEOUT_MS, CAMERA_SETUP_PERMISSIONS, CAMERA_SNAPSHOT_CACHE_SECONDS, CAMERA_SNAPSHOT_MAX_BYTES, CAMERA_TEST_MIN_INTERVAL_SECONDS, CAMERA_TEST_ROUND_LIMIT, CAMERA_TEST_ROUND_SECONDS, CAMERA_TYPE_ANPR, CAMERA_TYPE_IP, CAMERA_VIEW_PERMISSIONS, CLIENT_ACTIONS, CLOCK_DRIFT_WARN_SECONDS, CONSOLE_AUDIT_LABELS, CONSOLE_PERMISSIONS, CONTRACTOR_TYPE_LABELS, CROSS_CLIENT_GRANT, CURRENT_TIME_ENDPOINT, Camera, CameraAddressInput, CameraCapability, CameraCapabilityContext, CameraCapabilityDescriptor, CameraCapabilityEntry, CameraCapabilityReason, CameraCapabilityState, CameraCapabilityTrace, CameraDevice, CameraFrame, CameraMembership, CameraStream, CameraTestStatus, CameraTransport, CameraType, ConsoleAuditAction, ConsoleAuditTarget, ConsoleGrant, DEFAULT_RING_SECONDS, DEFAULT_SCALE_M_PER_PX, DEFAULT_SITE_TIMEZONE, DEMO_BRAND, DEMO_CAPABILITIES, DEMO_FAULT_ROBOT, DEVICE_STATUS, DOBStatus, DUPLICATE_TERMS_VERSION_MESSAGE, DayOfWeek, DeviceHttpTarget, DeviceProbeResult, DynamicFormFields, E164, EAccessCardTypes, EAccessCardUserTypes, EmailSender, EntryOrder, EntrySort, EventOrder, EventSort, EventStatus, EventType, FacilitySort, FacilityStatus, FormEntryStatus, GOVERNED_MODULES, GuestSort, GuestStatus, HID_CARD_VALUE_FACTOR, HID_PERMISSION_CATEGORIES, HID_UINT32_MAX, HID_UINT64_MAX, HidRawUint64, IAccessCard, IAccessCardTransaction, InviteActor, LIFT_DOOR, LIFT_MODE, LIFT_MOTION, LIFT_REQUEST, LIVE_ROLE, LIVE_VEHICLE_STATUSES, MANAGE_SITE_MODULES, MAX_BULK_CAMERA_ROWS, MAX_CAMERA_CHANNEL, MAX_CAMERA_NAME_LENGTH, MAX_PERSONAL_EMERGENCY_CONTACTS, MAX_RING_SECONDS, MAccessCard, MAccessCardTransaction, MAddress, MAttendance, MAttendanceSettings, MBidPreloved, MBillingConfiguration, MBillingItem, MBuilding, MBuildingLevel, MBuildingUnit, MBulletinBoard, MBulletinVideo, MCategoryPreloved, MChannelPreloved, MChat, MChatPreloved, MConsoleAudit, MCustomer, MCustomerSite, MDocumentManagement, MEMBER_TYPES, MEntryPassSettings, MEventManagement, MFeedback, MFile, MFormEntry, MGuestManagement, MHidAmicoEvent, MHidAmicoIdentity, MHidAmicoReader, MHidSipAccount, MHidSitePermissions, MIN_RING_SECONDS, MIncidentReport, MManpowerDesignations, MManpowerMonitoring, MManpowerRemarks, MManpowerSites, MMember, MNfcPatrolLog, MNfcPatrolRoute, MNfcPatrolSettings, MNfcPatrolSettingsUpdate, MNfcPatrolTag, MNotification, MNotificationPreference, MODULE_GATE_MODE_DEFAULT, MODULE_LIST_GATE_DEFAULT, MOccurrenceBook, MOccurrenceEntry, MOccurrenceSubject, MOnlineForm, MOrg, MOvernightParkingApprovalHours, MOvernightParkingRequest, MPatrolEmail, MPatrolLog, MPatrolQuestion, MPatrolRoute, MPerson, MPersonalEmergencyChain, MPlatformTerms, MPost, MPostFavorite, MPromoCode, MRobot, MRole, MRoleV2, MServiceProvider, MServiceProviderBilling, MSession, MSite, MSiteCamera, MSiteFacility, MSiteFacilityBooking, MStatementOfAccount, MSubcategoryPreloved, MSubscription, MSubscriptionPlan, MUnitBilling, MUser, MVehicle, MVehicleTransaction, MVerification, MVerificationV2, MVisitorTransaction, MWorkOrder, NOTIFICATION_CATEGORIES, NOTIFICATION_CHANNELS, NOTIFICATION_CHANNEL_LABELS, NOTIFICATION_NAMESPACE, NOTIFY_ACCESS_FILTER_DEFAULT, NotificationAppSlug, NotificationCategory, NotificationChannel, NotificationModule, NotificationPreferenceView, NotificationService, OCCUPANCY_ROLES, ORG_MARKETPLACE_VENDOR_FIELD, ORG_OWNER_REPAIR_CLAIM_STALE_MS, ORG_OWNER_REPAIR_CLAIM_TAKEN_REASON, ORG_OWNER_REPAIR_DEFAULT, ORG_OWNER_REPAIR_OFF_REASON, OUNITECH_BRAND, OUNITECH_CAPABILITIES, OccupancyRole, OccupancyRoles, OrgNature, OvernightParkingRequestSort, OvernightParkingRequestStatus, PATROL_CCTV_CAMERA_FILTER, PATROL_EMAIL_MAX_LOGS, PATROL_EMAIL_MAX_PER_HOUR, PATROL_EMAIL_MAX_RECIPIENTS, PERSON_TYPES, PLAN_RANGE, PLATFORM_STAFF_MEMBER_TYPE, PLATFORM_STAFF_ROLE_TYPE, PLAYBACK_LINK_SECONDS, PLAYBACK_MAX_WINDOW_SECONDS, PROPERTY_MANAGEMENT_MEMBER_TYPES, PStatus, PTZ_ALLOWED_ACTIONS, PTZ_ALLOWED_CODES, Period, PersonStatus, PersonType, PersonTypes, PlatformTermsStatus, PostOrder, PostSort, PostStatus, QrTagProps, REALTIME_MAX_FANOUT, REGISTERED_VEHICLE_CATEGORIES, ROBOT_APP_SCOPES, ROBOT_CAPABILITIES, ROBOT_CLOUD_DOC_CONFIRMATIONS, ROBOT_CLOUD_PATHS, ROBOT_CLOUD_TIMEOUT_MS, ROBOT_MODULE, ROBOT_PERMISSIONS, ROBOT_STATUS_NAMES, ROBOT_TYPES, ResidentAppModuleKey, RobotCloudError, SELF_SERVICE_RESEND_COOLDOWN_MS, SELF_SIGNUP_PLATFORM, SELF_SIGNUP_STATUS, SELF_SIGNUP_TYPES, SERVICE_PROVIDER_INVITE_LABELS, SERVICE_PROVIDER_INVITE_TRANSITIONS, SERVICE_PROVIDER_SIGN_IN_SUBJECT, SERVICE_PROVIDER_SIGN_IN_TYPE, SERVICE_PROVIDER_SIGN_UP_SUBJECT, SERVICE_PROVIDER_SIGN_UP_TYPE, SOFTWARE_VERSION_ENDPOINT, ServiceProviderInviteAction, ServiceProviderInviteDecision, ServiceProviderInviteFacts, SiteAddress, SiteCategories, SiteStatus, SortFields, SortOrder, Status, SubjectOrder, SubjectSort, SubscriptionBillingMode, SubscriptionType, TAccessMngmntSettings, TActionStatus, TAdapterCommand, TAdapterRobot, TAddress, TAffectedEntities, TAffectedInjured, TAppServiceType, TApprovedBy, TApprover, TAreaColour, TAttendance, TAttendanceCheckIn, TAttendanceCheckOut, TAttendanceCheckTime, TAttendanceLocation, TAttendanceSettings, TAttendanceSettingsGetBySite, TAuthorities, TAuthoritiesCalled, TBidPreloved, TBilling, TBillingConfiguration, TBillingItem, TBuilding, TBuildingLevel, TBuildingUnit, TBulletinBoard, TBulletinVideo, TCamera, TCameraHealthClaim, TCategoryPreloved, TChannelPreloved, TChat, TChatPreloved, TCheckPoint$1 as TCheckPoint, TCleanLevel, TCleanMode, TCleanOptionValues, TCleanOptions, TCleanSubMode, TCloudArea, TCloudFile, TCloudMap, TCloudPlan, TCloudPlanJob, TCloudRobot, TComplaintInfo, TComplaintReceivedTo, TConsoleAudit, TConsoleAuditQuery, TCounter, TCreateNfcPatrolLog, TCustomer, TCustomerSite, TCustomerSitePropertyField, TDayNumber, TDaySchedule, TDefaultAccessCard, TDesignations, TDocs, TDocumentCreate, TDocumentManagement, TEntryPassSettings, TEventManagement, TFeedback, TFeedbackMetadata, TFeedbackUpdate, TFeedbackUpdateCategory, TFeedbackUpdateServiceProvider, TFeedbackUpdateStatus, TFeedbackUpdateToCompleted, TFile, TFiles, TFleetRobot, TFloorPlanLevel, TFloorPlanMap, TFloorSlab, TFolderUpdate, TFormEntry, TGetAttendancesByUserQuery, TGetAttendancesQuery, TGuestManagement, THidAmicoEvent, THidAmicoGatewayJob, THidAmicoIdentity, THidAmicoPhysicalCard, THidAmicoReader, THidPermissionAssignment, THidPermissionCategory, THidPermissionUserBinding, THidPhysicalCardInput, THidPhysicalCardType$1 as THidPhysicalCardType, THidSipAccount, THidSitePermissions, TIncidentInformation, TIncidentReport, TIncidentTypeAndTime, TInvoice, TKeyRef, TLevelSolids, TLiftDoorState, TLiftDriver, TLiftMode, TLiftMotionState, TLiftRequest, TLiftRequestType, TLiftState, TManpowerDesignations, TManpowerDesignationsUpdate, TManpowerMonitoring, TManpowerMonitoringUpdate, TManpowerRemarks, TManpowerRemarksStatusUpdate, TManpowerRemarksUpdate, TManpowerSearchFilter, TManpowerSites, TMapDoor, TMapFloor, TMapMeasurement, TMapSegment, TMapVertex, TMapWall, TMember, TMemberModulesDeps, TMemberUpdateStatus, TMessagePreloved, TMiniRole, TModuleAccess, TModuleGateMode, TModuleImpact, TNfcPatrolLog, TNfcPatrolRoute, TNfcPatrolRouteEdit, TNfcPatrolSettings, TNfcPatrolSettingsGetBySite, TNfcPatrolSettingsUpdate, TNfcPatrolTag, TNfcPatrolTagConfigureReset, TNfcPatrolTagEdit, TNfcPatrolTagUpdateData, TNotification, TNotificationPreference, TNotificationPreferenceOff, TNotifyAccessContext, TNotifyAccessMode, TNotifyAccessReport, TOccupancyGrid, TOccurrenceBook, TOccurrenceEntry, TOccurrenceSubject, TOnlineForm, TOrg, TOrgModulesDeps, TOrgOwnerRepairClaim, TOrgOwnerRepairDeps, TOrgOwnerRepairInput, TOrgOwnerRepairPayload, TOrgOwnerRepairPlan, TOvernightParkingApprovalHours, TOvernightParkingRequest, TPatrolEmail, TPatrolEmailCreatedBy, TPatrolEmailLogRef, TPatrolLog, TPatrolQuestion, TPatrolRoute, TPerson, TPersonalEmergencyChain, TPersonalEmergencyContact, TPlaceOfIncident, TPlates, TPlatformTerms, TPost, TPostFavorite, TPrice, TPriceType, TPromoCode, TPromoCurrencyInput, TPromoTier, TRACKING_BACKOFF_BASE_MS, TRACKING_BACKOFF_CAP_MS, TRACKING_IDLE_TIMEOUT_MS, TRANSPORT_DEVICE_HTTP, TRANSPORT_RELAY_PLAYBACK, TRANSPORT_RELAY_PLAYER, TRANSPORT_RTSP_FRAME, TRecipientOfComplaint, TRemarks, TResident, TResidentAppModules, TRobot, TRobotAction, TRobotAdapter, TRobotAppScope, TRobotBrand, TRobotCapabilities, TRobotCapability, TRobotCloudCredentials, TRobotCloudPath, TRobotCloudReply, TRobotCommand, TRobotLiveState, TRobotMetadata, TRobotMode, TRobotPermissionActor, TRobotPose, TRobotTier, TRobotType, TRole, TRolePermissionHistoryEntry, TRoleV2, TRoute, TSOABillingItem, TSOAStatus, TSelfServiceEmailOccasion, TSelfServiceEmailRecord, TSelfServiceResendDecision, TSelfServiceResendFacts, TServiceProvider, TServiceProviderBilling, TSession, TSessionCreate, TShifts, TSignNfcPatrolLog, TSite, TSiteCamera, TSiteDayBounds, TSiteFacility, TSiteFacilityBooking, TSiteInfo, TSiteInformation, TSiteMetadata, TSiteModulesDeps, TSiteUpdateBlock, TSseEvent, TStatementOfAccount, TSubcategoryPreloved, TSubmissionForm, TSubscription, TSubscriptionPlan, TSubscriptionPlanApplication, TTrackingEvent, TTrackingHandle, TUnitBilling, TUnits, TUpdateFormEntry, TUpdateName, TUser, TUserCreate, TVehicle, TVehicleAnprCamera, TVehicleHistoryEntry, TVehicleTransaction, TVehicleUpdate, TVerification, TVerificationCode, TVerificationEvent, TVerificationMetadata, TVerificationMetadataV2, TVerificationOnboarding, TVerificationV2, TVisitorTransaction, TWallSolid, TWorkOrder, TWorkOrderMetadata, TWorkOrderUpdate, TWorkOrderUpdateStatus, TWorkOrderUpdateToCompleted, TanyoneDamageToProperty, UNSTORED_COLUMNS, UseAccessManagementRepo, UserStatus, VEHICLE_HISTORY_LIMIT, VERIFICATION_OPEN_STATUSES, VehicleCategory, VehicleListView, VehicleOrder, VehicleSort, VehicleStatus, VehicleType, VerificationLinkType, VerificationStatus, VerificationSubjectType, VerificationType, VisitorSort, VisitorStatus, WALL_HEIGHT_M, WALL_THICKNESS_M, adapterForRobot, addressSchema, allowedFieldsSite, allowedNatures, allowedPlanApplications, allowsRobotAction, allowsRobotListing, applyTrackingFrame, areaColourToHex, attendanceSchema, attendanceSettingsSchema, buildSelfServiceEmailContext, buildingMapFromRobotMaps, buildingSolids, building_level_namespace_collection, building_units_namespace_collection, buildings_namespace_collection, bulletin_boards_namespace_collection, callerAccountApproved, callerId, cameraBaseUrl, cameraCapabilitiesFor, cameraDevices, cameraGrant, cameraHealthClaim, cameraHealthSummary, cameraListClearConfirmation, cameraManagePermissions, cameraProbeCacheKey, cameraTransports, canManageSiteModules, canMonitorRobotType, canRevokeRefreshTokenFamily, canSetUpRobotType, categoriesForPermissions, categorySupportsChannel, chatPrelovedEvents, chatSchema, claimReadsAsStale, clampPtzSpeed, clearRobotBrands, clockDriftSeconds, commandSupported, consoleRoleAllows, consoleRoleAllowsAll, consoleSpellings, console_audit_namespace_collection, createDemoAdapter, createLiftSimulator, createManpowerRemarksDaily, createOunitechAdapter, createSseParser, customerSchema, customerSitePropertyFields, decideSelfServiceResend, decideServiceProviderInvite, decodeHidPacsCard, decodeTrackingFrame, demoFault, deniedModules, deriveBulletinStatus, deriveCameraHost, describeCameraCapabilities, designationsSchema, deviceControlEnabled, deviceHttpEnabled, deviceHttpTargets, deviceHttpTimeoutMs, deviceProbeTtlSeconds, disconnectedState, documentExpiryFilter, documents_namespace_collection, emitNotificationCreated, emptyPersonalEmergencyChain, encodeGreyscalePng, encodeHidPacsCard, entitledSiteScope, events_namespace_collection, expandModules, expiredBulletinSweepFilter, expiredVehicleSweepFilter, facility_bookings_namespace_collection, feedbackSchema, feedbacks2_namespace_collection, feedbacks_namespace_collection, ffmpegFrameArgs, ffmpegPath, filterByAccess, formatCapabilityTrace, formatDahuaDate, getIO, getSessionIdFromRequest, grabWithSubStreamFallback, greyscalePngDataUri, guests_namespace_collection, hasAnyCapability, hasAnyPermission, hasOrgInvitation, hasOrgOwnership, hasOrgSiteReach, hexToAreaColour, hidRawUint64, holdsLift, holdsRole, incidentReport, incidentReportLog, incidents_namespace_collection, invitationOffersRole, isAvailableForWork, isCameraEntitled, isDispatchable, isDuplicateMemberError, isDuplicateVersionError, isLiftAvailable, isLikelySelfServiceEmail, isLiveVehicleStatus, isPatrolCctvCamera, isPlatformOwner, isPromoCodeExpired, isRelayPlayerUrl, isSafeRelativePath, isSafeToCross, isSeasonPassVehicle, isSuperAdmin, isTermsCurrent, isTrackingStale, isValidTimezone, levelPixelToMetres, levelScale, levelSolids, listStaffUserIds, liveStatusFor, logCamera, manpowerDesignationsSchema, manpowerEvents, manpowerMonitoringSchema, manpowerRemarksSchema, manpowerSitesSchema, mapWithLimit, maskNric, memberModulesHandlers, metresToPixel, missingForTier, moduleDeniedForCaller, moduleGateEnforceKeys, moduleGateMode, moduleImpact, moduleListGateOn, nfcPatrolSettingsSchema, nfcPatrolSettingsSchemaUpdate, normalizeAcceptedTerms, normalizeHidCardValue, notificationAccessReport, notificationCategory, notificationCategoryLabel, notificationEvents, notificationRoom, notifyAccessMode, occasionForStatus, occurrence_book_namespace_collection, onBookTimezonesChanged, online_forms_namespace_collection, orgLevelRoles, orgModulesHandlers, orgOwnerRepairHandlers, orgOwnerRepairOn, orgQualifiesForOwnerRepair, orgSchema, overnight_parking_requests_namespace_collection, ownerFlagFor, parseCameraChannel, parseCameraHost, parseDahuaFind, parseDeviceTime, parseHidJsonLossless, parsePromoExpiry, parseRobotCommand, parseSoftwareVersion, pickAuditFields, pickCustomerSiteProperties, pixelToMetres, planBulkCameraImport, planDayFromJsDay, planOrgOwnerRepair, platform_terms_namespace_collection, playbackRelays, playbackWindowRefusal, promoCodeRefusal, promoCodeSchema, promoCodeStatusSchema, promoCodeUpdate, promoCodeUpdateSchema, ptzEndpoint, publicCameraFields, readsAsApprovedAccount, recordConsoleAction, refuseServiceProviderInviteAction, registerCameraTransport, registerDemoBrand, registerOunitechBrand, registerRobotBrand, registeredRobotBrands, relayForRecorder, remarksSchema, renderPagePdf, requireConsolePermission, requirePlatformStaff, resetCameraTransports, residentAppModuleKeys, residentAppModulesSchema, residentFormEntry, resolutionRefusalReason, resolveCamera, resolveDeviceHttp, resolveHidPhysicalCardValue, resolveInviteActor, resolveSiteTimezone, resolveStaffRole, robotActionsFor, robotBrandFor, robotCloudBody, robotCloudSign, robotCloudSigningString, robotCloudTimestamp, robotMode, robotModeFromList, robotSchema, robotScopeForApp, robotTier, robotTypesVisibleTo, rtspUrl, scaleFromMeasurement, schema, schemaAppSlugNotification, schemaApprovedBy, schemaApprover, schemaBidPreloved, schemaBilling, schemaBillingConfiguration, schemaBillingItem, schemaBuilding, schemaBuildingLevel, schemaBuildingUnit, schemaBuildingUpdateOptions, schemaBulletinBoard, schemaBulletinVideo, schemaCategoryPreloved, schemaChannelPreloved, schemaChatPreloved, schemaConsoleAudit, schemaCreateHidAmicoIdentity, schemaCreateNfcPatrolLog, schemaCreateNotification, schemaCustomerSite, schemaDiscoverHidAmicoReader, schemaDocumentManagement, schemaEntryPassSettings, schemaEventManagement, schemaFiles, schemaFormEntry, schemaGuestManagement, schemaHidAmicoAccessLogQuery, schemaHidAmicoAssignUserCard, schemaHidAmicoConfiguration, schemaHidAmicoEnrollUserCard, schemaHidAmicoEvent, schemaHidAmicoExecuteActions, schemaHidAmicoIdentity, schemaHidAmicoIdentityIdParams, schemaHidAmicoIdentityQuery, schemaHidAmicoIntercomCall, schemaHidAmicoLogQuery, schemaHidAmicoMonitor, schemaHidAmicoNotificationParams, schemaHidAmicoObjectOperation, schemaHidAmicoOperatingMode, schemaHidAmicoReader, schemaHidAmicoReaderIdParams, schemaHidAmicoReaderListQuery, schemaHidAmicoReaderUserQuery, schemaHidAmicoSetConfiguration, schemaHidAmicoSiteIdParams, schemaHidAmicoSync, schemaHidAmicoUserCardIdParams, schemaHidAmicoUserCardParams, schemaHidAmicoUserImageParams, schemaHidAmicoUserImageUploadQuery, schemaHidAmicoUserPassword, schemaHidAmicoUserPasswordParams, schemaHidAmicoUserPin, schemaHidAmicoUserPinParams, schemaHidAmicoVisitorImageParams, schemaHidAmicoVisitorImageUploadQuery, schemaHidAmicoVisitorQr, schemaHidPermissionCandidateQuery, schemaHidPermissionScopeQuery, schemaHidSipAccountRequest, schemaIncidentReport, schemaListNotification, schemaMultipleDocumentManagement, schemaNfcPatrolLog, schemaNfcPatrolRoute, schemaNfcPatrolTag, schemaNfcPatrolTagUpdateData, schemaNotification, schemaNotificationPreference, schemaNotificationPreferenceOff, schemaOccurrenceBook, schemaOccurrenceEntry, schemaOccurrenceSubject, schemaOnlineForm, schemaOvernightParkingApprovalHours, schemaOvernightParkingRequest, schemaPatrolEmail, schemaPatrolEmailCreatedBy, schemaPatrolEmailLogRef, schemaPatrolEmailQuery, schemaPatrolLog, schemaPatrolQuestion, schemaPatrolRoute, schemaPerson, schemaPersonalEmergencyContact, schemaPlate, schemaPlatformTerms, schemaPost, schemaPostFavorite, schemaResendPatrolEmail, schemaResidentSelfSignUp, schemaSelfServiceVisitor, schemaSendPatrolEmail, schemaServiceProvider, schemaServiceProviderBilling, schemaSignNfcPatrolLog, schemaSiteCamera, schemaSiteFacility, schemaSiteFacilityBooking, schemaStatementOfAccount, schemaSubcategoryPreloved, schemaUnitBilling, schemaUpdateBidPreloved, schemaUpdateBuildingLevel, schemaUpdateBulletinBoard, schemaUpdateBulletinVideo, schemaUpdateCategoryPreloved, schemaUpdateChatPreloved, schemaUpdateDocumentManagement, schemaUpdateEntryPassSettings, schemaUpdateEventManagement, schemaUpdateFolderManagement, schemaUpdateFormEntry, schemaUpdateGuestManagement, schemaUpdateHidAmicoIdentity, schemaUpdateHidAmicoReader, schemaUpdateHidSitePermissions, schemaUpdateIncidentReport, schemaUpdateNotification, schemaUpdateNotificationPreference, schemaUpdateOccurrenceBook, schemaUpdateOccurrenceEntry, schemaUpdateOccurrenceSubject, schemaUpdateOnlineForm, schemaUpdateOptions, schemaUpdateOvernightParkingRequest, schemaUpdatePatrolLog, schemaUpdatePatrolQuestion, schemaUpdatePatrolRoute, schemaUpdatePerson, schemaUpdatePersonalEmergencyChain, schemaUpdatePost, schemaUpdatePostFavorite, schemaUpdateServiceProviderBilling, schemaUpdateSiteBillingConfiguration, schemaUpdateSiteBillingItem, schemaUpdateSiteCamera, schemaUpdateSiteFacility, schemaUpdateSiteFacilityBooking, schemaUpdateSiteUnitBilling, schemaUpdateStatementOfAccount, schemaUpdateSubcategoryPreloved, schemaUpdateVisTrans, schemaVehicleTransaction, schemaVisitorTransaction, schemeCamera, schemeLogCamera, selectHealthTargets, selfServiceEmailSubject, servesFloor, serviceProviderInviteLabel, sessionSchema, setIO, shiftSchema, signLiveLink, signPlaybackLink, siteDayBounds, siteModulesHandlers, siteSchema, site_people_namespace_collection, snapshotEndpoint, snapshotRefusalReason, staffMayBypass, startRobotTracking, startTodaysBookForSite, stringifyHidJson, stripFacialImageMetadata, subscriptionPlanSchema, summariseBulkCameraPlan, supports, toExpiryDate, trackingBackoffMs, uncontrollableFleetWarning, updateRemarksStatusEod, updateRemarksisAcknowledged, updateSiteSchema, useAccessManagementController, useAddressRepo, useAttendanceController, useAttendanceRepository, useAttendanceSettingsController, useAttendanceSettingsRepository, useAttendanceSettingsService, useAuthController, useAuthControllerV2, useAuthService, useAuthServiceV2, useBidPrelovedController, useBidPrelovedRepo, useBidPrelovedService, useBuildingController, useBuildingLevelController, useBuildingLevelRepo, useBuildingLevelService, useBuildingRepo, useBuildingService, useBuildingUnitController, useBuildingUnitRepo, useBuildingUnitService, useBulletinBoardController, useBulletinBoardRepo, useBulletinBoardService, useBulletinVideoController, useBulletinVideoRepo, useBulletinVideoService, useCameraViewController, useCameraViewService, useCategoryPrelovedController, useCategoryPrelovedRepo, useChannelPrelovedController, useChannelPrelovedRepo, useChatController, useChatPrelovedController, useChatPrelovedRepo, useChatPrelovedService, useChatRepo, useConsoleAuditController, useConsoleAuditRepo, useCounterModel, useCounterRepo, useCustomerController, useCustomerRepo, useCustomerSiteController, useCustomerSiteRepo, useCustomerSiteService, useDahuaService, useDashboardController, useDashboardRepo, useDocumentManagementController, useDocumentManagementRepo, useDocumentManagementService, useEntryPassSettingsController, useEntryPassSettingsRepo, useEventManagementController, useEventManagementRepo, useEventManagementService, useFeedbackController, useFeedbackRepo, useFeedbackService, useFileController, useFileRepo, useFileService, useFormEntryController, useFormEntryRepo, useGuestManagementController, useGuestManagementRepo, useGuestManagementService, useHidAmicoController, useHidAmicoRepo, useHidAmicoService, useHrmLabsAttendanceCtrl, useHrmLabsAttendanceSrvc, useIncidentReportController, useIncidentReportRepo, useIncidentReportService, useInvoiceController, useInvoiceModel, useInvoiceRepo, useManpowerDesignationCtrl, useManpowerDesignationRepo, useManpowerMonitoringCtrl, useManpowerMonitoringRepo, useManpowerMonitoringSrvc, useManpowerRemarkCtrl, useManpowerRemarksRepo, useManpowerSitesCtrl, useManpowerSitesRepo, useManpowerSitesSrvc, useMemberController, useMemberRepo, useMemberService, useNewDashboardController, useNewDashboardRepo, useNfcPatrolLogController, useNfcPatrolLogRepo, useNfcPatrolLogService, useNfcPatrolRouteController, useNfcPatrolRouteRepo, useNfcPatrolRouteService, useNfcPatrolSettingsController, useNfcPatrolSettingsRepository, useNfcPatrolSettingsService, useNfcPatrolTagController, useNfcPatrolTagRepo, useNfcPatrolTagService, useNotificationController, useNotificationPreferenceController, useNotificationPreferenceRepo, useNotificationPreferenceService, useNotificationRepo, useOccurrenceBookController, useOccurrenceBookRepo, useOccurrenceBookService, useOccurrenceEntryController, useOccurrenceEntryRepo, useOccurrenceEntryService, useOccurrenceSubjectController, useOccurrenceSubjectRepo, useOccurrenceSubjectService, useOnlineFormController, useOnlineFormRepo, useOrgController, useOrgControllerV2, useOrgOwnerRepairRepo, useOrgRepo, useOvernightParkingController, useOvernightParkingRepo, useOvernightParkingRequestController, useOvernightParkingRequestRepo, useOvernightParkingRequestService, usePatrolEmailController, usePatrolEmailRepo, usePatrolEmailService, usePatrolLogController, usePatrolLogRepo, usePatrolLogService, usePatrolQuestionController, usePatrolQuestionRepo, usePatrolRouteController, usePatrolRouteRepo, usePersonController, usePersonRepo, usePersonalEmergencyChainController, usePersonalEmergencyChainRepo, usePersonalEmergencyChainService, usePlatformTermsController, usePlatformTermsRepo, usePlatformTermsService, usePostFavoriteController, usePostFavoriteRepo, usePostFavoriteService, usePostPrelovedController, usePostPrelovedRepo, usePriceController, usePriceModel, usePriceRepo, usePromoCodeController, usePromoCodeRepo, useRedDotPaymentController, useRedDotPaymentRepo, useRedDotPaymentSvc, useRobotCloudService, useRobotController, useRobotFleetController, useRobotFleetService, useRobotRepo, useRobotService, useRoleController, useRoleControllerV2, useRoleRepo, useRoleRepoV2, useRoleServiceV2, useServiceProviderBillingController, useServiceProviderBillingRepo, useServiceProviderBillingService, useServiceProviderController, useServiceProviderInviteController, useServiceProviderInviteService, useServiceProviderRepo, useSessionRepo, useSiteBillingConfigurationController, useSiteBillingConfigurationRepo, useSiteBillingItemController, useSiteBillingItemRepo, useSiteCameraController, useSiteCameraRepo, useSiteCameraService, useSiteController, useSiteFacilityBookingController, useSiteFacilityBookingRepo, useSiteFacilityBookingService, useSiteFacilityController, useSiteFacilityRepo, useSiteFacilityService, useSiteRepo, useSiteService, useSiteUnitBillingController, useSiteUnitBillingRepo, useSiteUnitBillingService, useStatementOfAccountController, useStatementOfAccountRepo, useSubcategoryPrelovedController, useSubcategoryPrelovedRepo, useSubscriptionController, useSubscriptionPlanController, useSubscriptionPlanRepo, useSubscriptionRepo, useSubscriptionService, useUserController, useUserControllerV2, useUserRepo, useUserRepoV2, useUserService, useUserServiceV2, useVehicleController, useVehicleRepo, useVehicleService, useVerificationController, useVerificationControllerV2, useVerificationRepo, useVerificationRepoV2, useVerificationService, useVerificationServiceV2, useVisitorTransactionController, useVisitorTransactionRepo, useVisitorTransactionService, useWorkOrderController, useWorkOrderRepo, useWorkOrderService, userSchema, vehicleCategoryFor, vehicleHistoryEntry, vehicleListViewQuery, vehicleSchema, vehicleViewOf, vehicles_namespace_collection, vertexDistancePx, visitorPersonRepo, visitorPersonService, visitorType, visitors_namespace_collection, wallConfig, wallsFromOccupancyGrid, withLiveLink, workOrderSchema, work_orders2_namespace_collection, work_orders_namespace_collection };
|