@7365admin1/core 3.85.0 → 3.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/dist/index.d.ts +251 -90
- package/dist/index.js +3194 -2587
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1907 -1309
- 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
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,48 @@
|
|
|
1
1
|
# @iservice365/core
|
|
2
2
|
|
|
3
|
+
## 3.87.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 07d82bd: Robots: edit and remove, an audit trail, fault notifications, and spot cleaning
|
|
8
|
+
|
|
9
|
+
- `useRobotController` gains `updateRobot` (name, serial) and `deleteRobot` (soft
|
|
10
|
+
delete via the existing `deletedAt` field; removed robots stop listing and
|
|
11
|
+
answer as not found). The estate is read off the stored robot.
|
|
12
|
+
- Robot create, edit, remove and every accepted command write a console-audit
|
|
13
|
+
row (`robot.*` actions). The credential pair is not on the allow-list.
|
|
14
|
+
- A robot reporting a fault notifies Seven365 staff once per occurrence
|
|
15
|
+
(`platform` category), noticed on a state read. `ROBOT_FAULT_NOTIFY=off`
|
|
16
|
+
silences it. The demo brand faults two minutes in every thirty.
|
|
17
|
+
- New `spotClean` capability; a spot command needs it. The demo brand has it;
|
|
18
|
+
Ounitech does not until its pixel frame is verified.
|
|
19
|
+
- The state response carries `fault` and `capabilities`.
|
|
20
|
+
|
|
21
|
+
## 3.86.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- f6b10f4: Route the fleet through the adapter, and add a demo brand you can actually see
|
|
26
|
+
|
|
27
|
+
The vendor-neutral contract shipped but nothing used it: the fleet service still
|
|
28
|
+
called Ounitech directly, so a second brand could not have worked end to end.
|
|
29
|
+
Everything now goes through `TRobotAdapter`, and the registry holds a FACTORY
|
|
30
|
+
per brand — an adapter is built per robot from that robot's own credentials, so
|
|
31
|
+
one estate's appid can never sign another estate's request.
|
|
32
|
+
|
|
33
|
+
Adds a demo brand: three simulated robots on two floors that move, drain and
|
|
34
|
+
recharge their batteries, respond to commands, and carry generated floor plans
|
|
35
|
+
as PNG data URIs. It reaches no network and writes nothing.
|
|
36
|
+
|
|
37
|
+
It exists because until a vendor supplies credentials every robot screen is
|
|
38
|
+
empty and no button can be pressed — and because it is a second brand on the
|
|
39
|
+
same contract, declaring Full Control where Ounitech reaches no tier at all. If
|
|
40
|
+
the screens draw different controls for the two without being told which is
|
|
41
|
+
which, the platform really is brand-agnostic.
|
|
42
|
+
|
|
43
|
+
Adds `GET /robots/brands` so the Add Robot form can offer them, each with its
|
|
44
|
+
Open-RMF tier.
|
|
45
|
+
|
|
3
46
|
## 3.85.0
|
|
4
47
|
|
|
5
48
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -772,7 +772,17 @@ declare enum ConsoleAuditAction {
|
|
|
772
772
|
* pressed it, for which client, and which account and role it handed out is
|
|
773
773
|
* exactly the question somebody will ask afterwards.
|
|
774
774
|
*/
|
|
775
|
-
CLIENT_OWNER_REPAIRED = "client.owner-repaired"
|
|
775
|
+
CLIENT_OWNER_REPAIRED = "client.owner-repaired",
|
|
776
|
+
/**
|
|
777
|
+
* A robot registered, edited, removed or sent a command, by the site's own
|
|
778
|
+
* people - tenant actions, like the camera rows above, and for the same
|
|
779
|
+
* reason: "who sent the robot out, and when" had no answer anywhere. A robot
|
|
780
|
+
* moves a 68 kg machine through an occupied building.
|
|
781
|
+
*/
|
|
782
|
+
ROBOT_ADDED = "robot.added",
|
|
783
|
+
ROBOT_UPDATED = "robot.updated",
|
|
784
|
+
ROBOT_REMOVED = "robot.removed",
|
|
785
|
+
ROBOT_COMMANDED = "robot.commanded"
|
|
776
786
|
}
|
|
777
787
|
/**
|
|
778
788
|
* The three actions that live in `organization.controller.ts`.
|
|
@@ -794,7 +804,8 @@ declare enum ConsoleAuditTarget {
|
|
|
794
804
|
PLAN = "plan",
|
|
795
805
|
TERMS = "terms",
|
|
796
806
|
CAMERA = "camera",
|
|
797
|
-
SITE = "site"
|
|
807
|
+
SITE = "site",
|
|
808
|
+
ROBOT = "robot"
|
|
798
809
|
}
|
|
799
810
|
/** A stored value is a primitive or it is not stored. */
|
|
800
811
|
declare const AUDIT_VALUE_MAX_LENGTH = 120;
|
|
@@ -6729,6 +6740,11 @@ declare function useRobotRepo(): {
|
|
|
6729
6740
|
_id: ObjectId;
|
|
6730
6741
|
}>;
|
|
6731
6742
|
setRobotSn: (id: string | ObjectId, robotSn: string) => Promise<void>;
|
|
6743
|
+
updateRobot: (id: string | ObjectId, value: {
|
|
6744
|
+
name?: string;
|
|
6745
|
+
robotSn?: string;
|
|
6746
|
+
}) => Promise<void>;
|
|
6747
|
+
deleteRobot: (id: string | ObjectId) => Promise<void>;
|
|
6732
6748
|
};
|
|
6733
6749
|
|
|
6734
6750
|
declare function useRobotService(): {
|
|
@@ -6755,6 +6771,8 @@ declare function useRobotService(): {
|
|
|
6755
6771
|
declare function useRobotController(): {
|
|
6756
6772
|
createRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6757
6773
|
getRobots: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6774
|
+
updateRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6775
|
+
deleteRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
6758
6776
|
};
|
|
6759
6777
|
|
|
6760
6778
|
/**
|
|
@@ -7252,7 +7270,7 @@ declare function robotActionsFor(actor: TRobotPermissionActor | null | undefined
|
|
|
7252
7270
|
* Traffic Light" is a far stronger ask than a list of features we would like.
|
|
7253
7271
|
*/
|
|
7254
7272
|
/** One capability, named as Open-RMF names it. */
|
|
7255
|
-
declare const ROBOT_CAPABILITIES: readonly ["readLocation", "navigateToPoint", "pauseResume", "pathAndEta", "battery", "sendToDock", "relocalize", "startProcess", "pauseProcess", "processCompletion", "floorReporting", "multiFloor"];
|
|
7273
|
+
declare const ROBOT_CAPABILITIES: readonly ["readLocation", "navigateToPoint", "pauseResume", "pathAndEta", "battery", "sendToDock", "relocalize", "startProcess", "pauseProcess", "processCompletion", "floorReporting", "multiFloor", "spotClean"];
|
|
7256
7274
|
type TRobotCapability = (typeof ROBOT_CAPABILITIES)[number];
|
|
7257
7275
|
/** What a brand's adapter declares it can do. */
|
|
7258
7276
|
type TRobotCapabilities = Readonly<Partial<Record<TRobotCapability, boolean>>>;
|
|
@@ -7316,6 +7334,18 @@ type TAdapterRobot = {
|
|
|
7316
7334
|
y: number;
|
|
7317
7335
|
theta: number;
|
|
7318
7336
|
} | null;
|
|
7337
|
+
/**
|
|
7338
|
+
* A fault the robot itself is reporting, or null.
|
|
7339
|
+
*
|
|
7340
|
+
* `since` (epoch ms) identifies one occurrence, so the same fault reported on
|
|
7341
|
+
* every read notifies once, and a second occurrence later notifies again. A
|
|
7342
|
+
* brand that cannot say when it started leaves it out.
|
|
7343
|
+
*/
|
|
7344
|
+
fault?: {
|
|
7345
|
+
code: string;
|
|
7346
|
+
message: string;
|
|
7347
|
+
since?: number;
|
|
7348
|
+
} | null;
|
|
7319
7349
|
};
|
|
7320
7350
|
type TAdapterCommand = {
|
|
7321
7351
|
kind: "full";
|
|
@@ -7366,19 +7396,60 @@ type TRobotAdapter = {
|
|
|
7366
7396
|
getRobot(robotSn: string): Promise<TAdapterRobot | null>;
|
|
7367
7397
|
sendCommand?(robotSn: string, command: TAdapterCommand): Promise<void>;
|
|
7368
7398
|
getMaps?(robotSn: string): Promise<unknown[]>;
|
|
7399
|
+
/**
|
|
7400
|
+
* Image URLs for a map's layers.
|
|
7401
|
+
*
|
|
7402
|
+
* Separate from `getMaps` because brands commonly sign these for a short
|
|
7403
|
+
* window - Ounitech's last about an hour - so they are minted at the moment
|
|
7404
|
+
* of display rather than returned with the map and stored.
|
|
7405
|
+
*/
|
|
7406
|
+
getMapImages?(robotSn: string, fileKeys: string[]): Promise<unknown[]>;
|
|
7369
7407
|
getPlans?(robotSn: string): Promise<unknown[]>;
|
|
7370
7408
|
};
|
|
7371
7409
|
declare function commandSupported(capabilities: TRobotCapabilities | null | undefined, kind: TAdapterCommand["kind"]): boolean;
|
|
7372
|
-
/** Register a brand. Re-registering replaces, so a test can swap one in. */
|
|
7373
|
-
declare function registerRobotAdapter(adapter: TRobotAdapter): void;
|
|
7374
7410
|
/**
|
|
7375
|
-
*
|
|
7411
|
+
* A brand, and how to build an adapter for one of its robots.
|
|
7376
7412
|
*
|
|
7377
|
-
*
|
|
7378
|
-
*
|
|
7379
|
-
*
|
|
7413
|
+
* Registered as a FACTORY rather than a ready-made adapter, because credentials
|
|
7414
|
+
* belong to the robot record, not to the brand. One estate's appid must never
|
|
7415
|
+
* sign another estate's request, so an adapter is constructed per robot from
|
|
7416
|
+
* that robot's own credentials.
|
|
7417
|
+
*
|
|
7418
|
+
* `capabilities` sit on the brand rather than the instance: what a protocol can
|
|
7419
|
+
* do is a property of the protocol, and a screen needs to know before it has a
|
|
7420
|
+
* robot in hand - to decide which controls exist at all.
|
|
7380
7421
|
*/
|
|
7381
|
-
|
|
7422
|
+
type TRobotBrand = {
|
|
7423
|
+
brand: string;
|
|
7424
|
+
displayName: string;
|
|
7425
|
+
capabilities: TRobotCapabilities;
|
|
7426
|
+
create(credentials: {
|
|
7427
|
+
appid: string;
|
|
7428
|
+
secret: string;
|
|
7429
|
+
}): TRobotAdapter;
|
|
7430
|
+
};
|
|
7431
|
+
/** Register a brand. Re-registering replaces it, so a test can swap one in. */
|
|
7432
|
+
declare function registerRobotBrand(brand: TRobotBrand): void;
|
|
7433
|
+
/**
|
|
7434
|
+
* The brand, or null.
|
|
7435
|
+
*
|
|
7436
|
+
* Null rather than a throw, and never a default: silently falling back to
|
|
7437
|
+
* another brand would send a robot a command in a protocol it does not speak.
|
|
7438
|
+
*/
|
|
7439
|
+
declare function robotBrandFor(brand: unknown): TRobotBrand | null;
|
|
7440
|
+
/**
|
|
7441
|
+
* An adapter for one robot, built from that robot's own credentials.
|
|
7442
|
+
*
|
|
7443
|
+
* Refuses by name rather than returning null, because every caller of this can
|
|
7444
|
+
* only fail - and "no adapter registered for brand X" is something an operator
|
|
7445
|
+
* can act on, where a null dereference is not.
|
|
7446
|
+
*/
|
|
7447
|
+
declare function adapterForRobot(robot: {
|
|
7448
|
+
brand?: string | null;
|
|
7449
|
+
appKey?: string | null;
|
|
7450
|
+
appToken?: string | null;
|
|
7451
|
+
name?: string;
|
|
7452
|
+
}): TRobotAdapter;
|
|
7382
7453
|
/** Every registered brand, for a settings screen's picker. */
|
|
7383
7454
|
declare function registeredRobotBrands(): Array<{
|
|
7384
7455
|
brand: string;
|
|
@@ -7386,7 +7457,7 @@ declare function registeredRobotBrands(): Array<{
|
|
|
7386
7457
|
tier: TRobotTier;
|
|
7387
7458
|
}>;
|
|
7388
7459
|
/** Test seam. */
|
|
7389
|
-
declare function
|
|
7460
|
+
declare function clearRobotBrands(): void;
|
|
7390
7461
|
|
|
7391
7462
|
/**
|
|
7392
7463
|
* The lift contract, shaped after Open-RMF's `rmf_lift_msgs`.
|
|
@@ -7961,80 +8032,6 @@ declare function useRobotCloudService(credentials: TRobotCloudCredentials, optio
|
|
|
7961
8032
|
savePlans: (robotSn: string, planList: TCloudPlan[]) => Promise<number[]>;
|
|
7962
8033
|
};
|
|
7963
8034
|
|
|
7964
|
-
/**
|
|
7965
|
-
* The bridge between a robot ROW and the robot CLOUD.
|
|
7966
|
-
*
|
|
7967
|
-
* A registered robot is a document holding a nickname and a credential pair.
|
|
7968
|
-
* Everything a user actually wants - where it is, what it is doing, its floors,
|
|
7969
|
-
* sending it to clean - lives in the vendor's cloud and is addressed by
|
|
7970
|
-
* `robotSn`. This is the only place those two halves meet.
|
|
7971
|
-
*
|
|
7972
|
-
* ## Why `robotSn` gets discovered rather than required
|
|
7973
|
-
*
|
|
7974
|
-
* The Add Robot form collects a nickname, an app key and an app token. It has
|
|
7975
|
-
* never asked for a serial. But every per-robot cloud endpoint takes one, so a
|
|
7976
|
-
* robot registered through that form cannot be reached at all.
|
|
7977
|
-
*
|
|
7978
|
-
* Rather than change the form (and every robot already registered through it),
|
|
7979
|
-
* a robot with no `robotSn` gets one from `get-robot-list` - which takes no
|
|
7980
|
-
* parameters and returns everything the credential can see. If that is exactly
|
|
7981
|
-
* one robot, the credential is per-robot and the answer is unambiguous. If it is
|
|
7982
|
-
* several, we cannot guess which, and say so instead of picking one: binding a
|
|
7983
|
-
* nickname to the wrong serial would send one building's cleaning command to
|
|
7984
|
-
* another building's robot.
|
|
7985
|
-
*
|
|
7986
|
-
* ponytail: discovery, not a form change, because the vendor has not yet said
|
|
7987
|
-
* whether a credential is issued per robot or per account (question 2 on the
|
|
7988
|
-
* vendor sheet). When they answer, this either stays as it is or becomes a
|
|
7989
|
-
* picker in the UI.
|
|
7990
|
-
*/
|
|
7991
|
-
type TFleetRobot = {
|
|
7992
|
-
id: string;
|
|
7993
|
-
name: string;
|
|
7994
|
-
robotSn: string;
|
|
7995
|
-
/** The vendor's raw status code, kept so support can quote it. */
|
|
7996
|
-
statusFlag: number | null;
|
|
7997
|
-
/** The vendor's own label for that code. */
|
|
7998
|
-
statusName: string;
|
|
7999
|
-
/** Our normalised vocabulary - this is what screens should show. */
|
|
8000
|
-
mode: TRobotMode;
|
|
8001
|
-
online: boolean;
|
|
8002
|
-
dispatchable: boolean;
|
|
8003
|
-
};
|
|
8004
|
-
/** What the service needs from a robot row. */
|
|
8005
|
-
type TStoredRobot = TRobot & {
|
|
8006
|
-
_id?: unknown;
|
|
8007
|
-
};
|
|
8008
|
-
declare function useRobotFleetService(deps?: {
|
|
8009
|
-
/** Injected so the whole service runs in a test with no network. */
|
|
8010
|
-
cloudFor?: typeof useRobotCloudService;
|
|
8011
|
-
/** Persists a discovered serial. Omitted in tests. */
|
|
8012
|
-
saveRobotSn?: (robotId: string, robotSn: string) => Promise<unknown>;
|
|
8013
|
-
}): {
|
|
8014
|
-
resolveRobotSn: (robot: TStoredRobot) => Promise<string>;
|
|
8015
|
-
getFleetRobot: (robot: TStoredRobot) => Promise<TFleetRobot>;
|
|
8016
|
-
getMaps: (robot: TStoredRobot) => Promise<TCloudMap[]>;
|
|
8017
|
-
getMapImages: (robot: TStoredRobot, fileKeys: string[]) => Promise<TCloudFile[]>;
|
|
8018
|
-
dispatch: (robot: TStoredRobot, command: {
|
|
8019
|
-
kind: "full";
|
|
8020
|
-
options: TCleanOptions;
|
|
8021
|
-
} | {
|
|
8022
|
-
kind: "area";
|
|
8023
|
-
areas: string[];
|
|
8024
|
-
options: TCleanOptions;
|
|
8025
|
-
} | {
|
|
8026
|
-
kind: "spot";
|
|
8027
|
-
points: Array<{
|
|
8028
|
-
x: number;
|
|
8029
|
-
y: number;
|
|
8030
|
-
}>;
|
|
8031
|
-
options: TCleanOptions;
|
|
8032
|
-
} | {
|
|
8033
|
-
kind: "return";
|
|
8034
|
-
}) => Promise<TRobotCloudReply<Record<string, never>>>;
|
|
8035
|
-
getPlans: (robot: TStoredRobot) => Promise<TCloudPlan[]>;
|
|
8036
|
-
};
|
|
8037
|
-
|
|
8038
8035
|
/**
|
|
8039
8036
|
* Ounitech (Q3-G / Q3-W) — the first brand behind the vendor-neutral contract.
|
|
8040
8037
|
*
|
|
@@ -8069,14 +8066,160 @@ declare function createOunitechAdapter(credentials: TRobotCloudCredentials, opti
|
|
|
8069
8066
|
baseUrl?: string;
|
|
8070
8067
|
}): TRobotAdapter;
|
|
8071
8068
|
/**
|
|
8072
|
-
* Register
|
|
8073
|
-
* estate has credentials.
|
|
8069
|
+
* Register Ounitech, so any robot whose record names this brand can be reached.
|
|
8074
8070
|
*
|
|
8075
|
-
*
|
|
8076
|
-
*
|
|
8071
|
+
* The factory is what the registry stores; an adapter is built per robot from
|
|
8072
|
+
* that robot's own credentials, so one estate's appid can never sign another
|
|
8073
|
+
* estate's request.
|
|
8077
8074
|
*/
|
|
8078
8075
|
declare function registerOunitechBrand(): void;
|
|
8079
8076
|
|
|
8077
|
+
/**
|
|
8078
|
+
* A demonstration brand: robots that are not there, behaving as if they were.
|
|
8079
|
+
*
|
|
8080
|
+
* Two jobs.
|
|
8081
|
+
*
|
|
8082
|
+
* **It makes the work visible.** Until a vendor supplies credentials, no screen
|
|
8083
|
+
* in the platform can show a robot — the list is empty, the map has nothing to
|
|
8084
|
+
* draw, and no button can be pressed. Adding a robot of this brand fills every
|
|
8085
|
+
* one of those screens with something to look at and click.
|
|
8086
|
+
*
|
|
8087
|
+
* **It proves the vendor-neutral design.** This is a second brand, written
|
|
8088
|
+
* against the same `TRobotAdapter` contract as Ounitech and registered the same
|
|
8089
|
+
* way. If the demo robots work end to end — listed, tracked, commanded, drawn
|
|
8090
|
+
* in 3D — then the platform genuinely is brand-agnostic, because nothing above
|
|
8091
|
+
* the adapter knows which of the two it is talking to.
|
|
8092
|
+
*
|
|
8093
|
+
* ## It is honest about being a demo
|
|
8094
|
+
*
|
|
8095
|
+
* `displayName` says so, and every robot is named so, because a simulated robot
|
|
8096
|
+
* appearing in a real estate's list without saying what it is would be worse
|
|
8097
|
+
* than no demo at all. It reaches no network and writes nothing.
|
|
8098
|
+
*
|
|
8099
|
+
* Unlike Ounitech it declares **full capabilities**, so every control appears
|
|
8100
|
+
* and can be exercised. That difference is itself the demonstration: the
|
|
8101
|
+
* screens draw different buttons for the two brands without being told to.
|
|
8102
|
+
*/
|
|
8103
|
+
declare const DEMO_BRAND = "demo";
|
|
8104
|
+
declare const DEMO_CAPABILITIES: TRobotCapabilities;
|
|
8105
|
+
/**
|
|
8106
|
+
* One demo robot develops a fault now and then, so fault notifications can be
|
|
8107
|
+
* seen without waiting for real hardware to break.
|
|
8108
|
+
*
|
|
8109
|
+
* Two minutes in every thirty, on one robot only. Rare enough not to flood
|
|
8110
|
+
* anybody's bell, frequent enough to be seen in one sitting. The occurrence is
|
|
8111
|
+
* keyed by the window's start, so the platform notifies once per occurrence
|
|
8112
|
+
* however many times the screen re-reads the robot.
|
|
8113
|
+
*/
|
|
8114
|
+
declare const DEMO_FAULT_ROBOT = "DEMO-0002";
|
|
8115
|
+
declare function demoFault(robotSn: string, now: number): {
|
|
8116
|
+
code: string;
|
|
8117
|
+
message: string;
|
|
8118
|
+
since: number;
|
|
8119
|
+
} | null;
|
|
8120
|
+
declare function createDemoAdapter(options?: {
|
|
8121
|
+
now?: () => number;
|
|
8122
|
+
}): TRobotAdapter;
|
|
8123
|
+
/**
|
|
8124
|
+
* Register the demo brand.
|
|
8125
|
+
*
|
|
8126
|
+
* It accepts any credentials, because there is nothing to authenticate against
|
|
8127
|
+
* — which is also why it can never reach a real robot.
|
|
8128
|
+
*/
|
|
8129
|
+
declare function registerDemoBrand(): void;
|
|
8130
|
+
|
|
8131
|
+
/**
|
|
8132
|
+
* The bridge between a robot ROW and the robot itself.
|
|
8133
|
+
*
|
|
8134
|
+
* Everything here now goes through `TRobotAdapter`, so this file contains no
|
|
8135
|
+
* vendor at all. Adding a brand is a new adapter beside `ounitech.adapter.ts`
|
|
8136
|
+
* and a `brand` on the robot record — not a change to this service, the
|
|
8137
|
+
* controller, the routes or any screen.
|
|
8138
|
+
*
|
|
8139
|
+
* ## Why `robotSn` is discovered rather than required
|
|
8140
|
+
*
|
|
8141
|
+
* The Add Robot form collects a nickname and a credential pair; it has never
|
|
8142
|
+
* asked for a serial. But every per-robot call needs one, so a robot with no
|
|
8143
|
+
* `robotSn` gets one from the brand's own roster. If that roster holds exactly
|
|
8144
|
+
* one robot the answer is unambiguous. If it holds several we cannot guess, and
|
|
8145
|
+
* say so instead of picking one: binding a nickname to the wrong serial would
|
|
8146
|
+
* send one building's cleaning command to another building's robot.
|
|
8147
|
+
*
|
|
8148
|
+
* ## Why a command is checked before it is sent
|
|
8149
|
+
*
|
|
8150
|
+
* A brand declares what its protocol can do. A screen should not offer an
|
|
8151
|
+
* action the brand lacks — but a command can also arrive from an API caller, a
|
|
8152
|
+
* scheduled job or a deep link, so it is checked here too. Refusing by name
|
|
8153
|
+
* beats a vendor error nobody can read.
|
|
8154
|
+
*/
|
|
8155
|
+
type TFleetRobot = {
|
|
8156
|
+
id: string;
|
|
8157
|
+
name: string;
|
|
8158
|
+
brand: string;
|
|
8159
|
+
robotSn: string;
|
|
8160
|
+
statusName: string;
|
|
8161
|
+
mode: TRobotMode | string;
|
|
8162
|
+
online: boolean;
|
|
8163
|
+
dispatchable: boolean;
|
|
8164
|
+
batteryPercent: number | null;
|
|
8165
|
+
floorNo: number | null;
|
|
8166
|
+
floorKnown: boolean;
|
|
8167
|
+
position: {
|
|
8168
|
+
x: number;
|
|
8169
|
+
y: number;
|
|
8170
|
+
theta: number;
|
|
8171
|
+
} | null;
|
|
8172
|
+
/** A fault the robot is reporting now, or null. */
|
|
8173
|
+
fault: {
|
|
8174
|
+
code: string;
|
|
8175
|
+
message: string;
|
|
8176
|
+
since?: number;
|
|
8177
|
+
} | null;
|
|
8178
|
+
/**
|
|
8179
|
+
* What this robot's brand can do, so a screen hides a control the brand
|
|
8180
|
+
* lacks (spot-clean on Ounitech) instead of offering one that is refused.
|
|
8181
|
+
*/
|
|
8182
|
+
capabilities: TRobotCapabilities;
|
|
8183
|
+
};
|
|
8184
|
+
type TStoredRobot = TRobot & {
|
|
8185
|
+
_id?: unknown;
|
|
8186
|
+
};
|
|
8187
|
+
declare function useRobotFleetService(deps?: {
|
|
8188
|
+
/** Injected so the whole service runs in a test with no network. */
|
|
8189
|
+
adapterFor?: (robot: TStoredRobot) => TRobotAdapter;
|
|
8190
|
+
/** Persists a discovered serial. Omitted in tests. */
|
|
8191
|
+
saveRobotSn?: (robotId: string, robotSn: string) => Promise<unknown>;
|
|
8192
|
+
/**
|
|
8193
|
+
* Told when a read finds the robot reporting a fault. Fire and forget: it is
|
|
8194
|
+
* never awaited, so a slow notifier cannot slow the screen that noticed.
|
|
8195
|
+
*/
|
|
8196
|
+
onFault?: (robot: TStoredRobot, fault: {
|
|
8197
|
+
code: string;
|
|
8198
|
+
message: string;
|
|
8199
|
+
since?: number;
|
|
8200
|
+
}) => unknown;
|
|
8201
|
+
}): {
|
|
8202
|
+
adapterFor: (robot: TStoredRobot) => TRobotAdapter;
|
|
8203
|
+
capabilitiesOf: (robot: TStoredRobot) => Readonly<Partial<Record<"readLocation" | "navigateToPoint" | "pauseResume" | "pathAndEta" | "battery" | "sendToDock" | "relocalize" | "startProcess" | "pauseProcess" | "processCompletion" | "floorReporting" | "multiFloor" | "spotClean", boolean>>>;
|
|
8204
|
+
resolveRobotSn: (robot: TStoredRobot) => Promise<string>;
|
|
8205
|
+
getFleetRobot: (robot: TStoredRobot) => Promise<TFleetRobot>;
|
|
8206
|
+
getMaps: (robot: TStoredRobot) => Promise<unknown[]>;
|
|
8207
|
+
getMapImages: (robot: TStoredRobot, fileKeys: string[]) => Promise<unknown[]>;
|
|
8208
|
+
getPlans: (robot: TStoredRobot) => Promise<unknown[]>;
|
|
8209
|
+
dispatch: (robot: TStoredRobot, command: TAdapterCommand) => Promise<void>;
|
|
8210
|
+
};
|
|
8211
|
+
|
|
8212
|
+
/**
|
|
8213
|
+
* One byte per pixel, row-major, 0 = black.
|
|
8214
|
+
*
|
|
8215
|
+
* Each scanline is prefixed with a filter byte, which PNG requires even when
|
|
8216
|
+
* the filter is "none" (0). Omitting it shifts every row by one pixel and
|
|
8217
|
+
* produces an image that decodes but shears diagonally.
|
|
8218
|
+
*/
|
|
8219
|
+
declare function encodeGreyscalePng(pixels: Uint8Array, width: number, height: number): Buffer;
|
|
8220
|
+
/** The same image as a `data:` URI, ready for an `<img>` or a canvas. */
|
|
8221
|
+
declare function greyscalePngDataUri(pixels: Uint8Array, width: number, height: number): string;
|
|
8222
|
+
|
|
8080
8223
|
declare const ROBOT_CLOUD_TIMEOUT_MS: number;
|
|
8081
8224
|
|
|
8082
8225
|
/**
|
|
@@ -8182,6 +8325,7 @@ declare function useRobotFleetController(deps?: {
|
|
|
8182
8325
|
getPlans: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8183
8326
|
sendCommand: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8184
8327
|
trackRobot: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8328
|
+
getBrands: (_req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8185
8329
|
};
|
|
8186
8330
|
|
|
8187
8331
|
type TPatrolQuestion = {
|
|
@@ -16322,6 +16466,23 @@ declare class NotificationService {
|
|
|
16322
16466
|
invitationType: string;
|
|
16323
16467
|
orgName?: string;
|
|
16324
16468
|
}): Promise<void>;
|
|
16469
|
+
/**
|
|
16470
|
+
* A robot reports a fault. Seven365 staff are told, in the `platform`
|
|
16471
|
+
* category, exactly like the client lifecycle messages above.
|
|
16472
|
+
*
|
|
16473
|
+
* No `siteId` on the row on purpose: `filterByAccess` would then judge staff
|
|
16474
|
+
* against the client's site module list, and staff are not site members, so
|
|
16475
|
+
* the message would be dropped for the very people it is for. Dedupe is the
|
|
16476
|
+
* caller's job (`robot-fault.service.ts`) - this sends when asked.
|
|
16477
|
+
*/
|
|
16478
|
+
static robotFault(payload: {
|
|
16479
|
+
robotId: string;
|
|
16480
|
+
robotName: string;
|
|
16481
|
+
fault: {
|
|
16482
|
+
code: string;
|
|
16483
|
+
message?: string;
|
|
16484
|
+
};
|
|
16485
|
+
}): Promise<void>;
|
|
16325
16486
|
static bulletinBoardCreated(payload: {
|
|
16326
16487
|
to: Recipient;
|
|
16327
16488
|
bulletinId: string | ObjectId;
|
|
@@ -16951,4 +17112,4 @@ declare function usePersonalEmergencyChainController(): {
|
|
|
16951
17112
|
update: (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
16952
17113
|
};
|
|
16953
17114
|
|
|
16954
|
-
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, 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, 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, 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, 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, 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, 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 };
|
|
17115
|
+
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, 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, 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, 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, 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, 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, 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 };
|