@7365admin1/core 3.79.1-staging.341 → 3.79.1-staging.343

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.
@@ -0,0 +1,26 @@
1
+ ---
2
+ "@7365admin1/core": minor
3
+ ---
4
+
5
+ Cleaning robot: fleet endpoints, and the lift contract
6
+
7
+ Adds `robot-fleet.controller.ts` — live state, floors and areas, map image URLs,
8
+ the cleaning schedule, and one command endpoint covering full, area, spot and
9
+ return. Every handler loads the robot first and authorises the estate named on
10
+ the STORED record, never one named in the request, so a robot cannot be reached
11
+ by quoting its id; credentials are read server-side and never enter a response.
12
+
13
+ Adds `parseRobotCommand`, pure, so the command rules can be asserted without a
14
+ robot. Fields are refused on commands that do not use them rather than ignored —
15
+ silently dropping a spot polygon from an area command would clean the wrong
16
+ thing and report success.
17
+
18
+ Adds `getRobotById` and `setRobotSn` to the robot repository. `setRobotSn` only
19
+ ever fills a blank serial, so a later discovery cannot re-point a nickname at a
20
+ different machine.
21
+
22
+ Adds `lift-contract.util.ts` — the lift vocabulary, with field names and enum
23
+ values taken verbatim from Open-RMF's `rmf_lift_msgs`, plus an in-memory lift
24
+ simulator. No Modbus and no register numbers: the Inovance open-protocol
25
+ register map has not been supplied, so the driver sits behind an interface and
26
+ the queue and session logic can be built and tested against the simulator first.
@@ -0,0 +1,28 @@
1
+ ---
2
+ "@7365admin1/core": minor
3
+ ---
4
+
5
+ Robot fleet: a vendor-neutral adapter contract, so any brand can be integrated
6
+
7
+ Adds `robot-adapter.util.ts` — the capability model, the tier calculation and the
8
+ brand registry — and `ounitech.adapter.ts`, the first brand behind it.
9
+
10
+ The capability names and tier requirements are Open-RMF's, verbatim from the
11
+ Fleet Adapters table: Full Control, Traffic Light, Read Only, No Interface. That
12
+ means a brand's datasheet reads straight into a tier, and a vendor conversation
13
+ gets a name ("your API is Read Only, we need Traffic Light") rather than a list
14
+ of features we would like.
15
+
16
+ Screens ask the adapter what the robot can do rather than assuming, so a brand
17
+ that cannot pause a process is never shown a Pause button that would fail.
18
+ `commandSupported` refuses an unsupported command at the service too, because a
19
+ command can also arrive from an API caller or a scheduled job.
20
+
21
+ `uncontrollableFleetWarning` enforces Open-RMF's rule that a shared space may
22
+ contain at most one fleet it cannot control — a read-only cleaning fleet plus a
23
+ security robot with no interface is the exact pair the book says makes deadlock
24
+ avoidance nearly impossible.
25
+
26
+ Adds `brand` to the robot record so a row says whose protocol it answers.
27
+ Defaulted to `ounitech` because every existing row is one; a second brand makes
28
+ it a required choice rather than a fallback.