@m1kad0/hannah-proto 5.3.0 → 5.5.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/dist/compat_versions.js +1 -0
- package/dist/descriptor.binpb +0 -0
- package/dist/google/protobuf/descriptor.d.ts +1 -0
- package/dist/google/protobuf/descriptor.js +22 -15
- package/dist/options.d.ts +1 -0
- package/dist/options.js +3 -2
- package/dist/v1/activity_log.d.ts +1 -0
- package/dist/v1/activity_log.js +3 -2
- package/dist/v1/agent.d.ts +1 -0
- package/dist/v1/agent.js +9 -6
- package/dist/v1/automation.d.ts +1 -0
- package/dist/v1/automation.js +9 -6
- package/dist/v1/car_state.d.ts +1 -0
- package/dist/v1/car_state.js +3 -2
- package/dist/v1/channel.d.ts +1 -0
- package/dist/v1/channel.js +3 -2
- package/dist/v1/control.d.ts +1 -0
- package/dist/v1/control.js +39 -26
- package/dist/v1/device_control_menu.d.ts +1 -0
- package/dist/v1/device_control_menu.js +3 -2
- package/dist/v1/event_stream.d.ts +1 -0
- package/dist/v1/event_stream.js +3 -2
- package/dist/v1/hannah.d.ts +1 -0
- package/dist/v1/hannah.js +3 -2
- package/dist/v1/infrastructure.d.ts +1 -0
- package/dist/v1/infrastructure.js +9 -6
- package/dist/v1/logging.d.ts +1 -0
- package/dist/v1/logging.js +9 -6
- package/dist/v1/messages.d.ts +1 -0
- package/dist/v1/messages.js +3 -2
- package/dist/v1/satellite.d.ts +1 -0
- package/dist/v1/satellite.js +3 -2
- package/dist/v1/satellite_provisioning.d.ts +1 -0
- package/dist/v1/satellite_provisioning.js +3 -2
- package/dist/v1/satellite_proxy.d.ts +1 -0
- package/dist/v1/satellite_proxy.js +3 -2
- package/dist/v1/shared.d.ts +1 -0
- package/dist/v1/shared.js +3 -2
- package/dist/v1/speaker_enrollment.d.ts +1 -0
- package/dist/v1/speaker_enrollment.js +3 -2
- package/dist/v1/timer_admin.d.ts +1 -0
- package/dist/v1/timer_admin.js +3 -2
- package/dist/v1/timer_service.d.ts +1 -0
- package/dist/v1/timer_service.js +3 -2
- package/dist/v1/user_registry.d.ts +1 -0
- package/dist/v1/user_registry.js +3 -2
- package/dist/v1/wakeword_capture.d.ts +1 -0
- package/dist/v1/wakeword_capture.js +3 -2
- package/dist/v1/weather.d.ts +1 -0
- package/dist/v1/weather.js +3 -2
- package/dist/v2/activity_log.d.ts +1 -0
- package/dist/v2/activity_log.js +3 -2
- package/dist/v2/agent.d.ts +7 -2
- package/dist/v2/agent.js +33 -6
- package/dist/v2/automation.d.ts +1 -0
- package/dist/v2/automation.js +9 -6
- package/dist/v2/car_state.d.ts +1 -0
- package/dist/v2/car_state.js +3 -2
- package/dist/v2/channel.d.ts +1 -0
- package/dist/v2/channel.js +3 -2
- package/dist/v2/control.d.ts +1 -0
- package/dist/v2/control.js +39 -26
- package/dist/v2/device_control_menu.d.ts +1 -0
- package/dist/v2/device_control_menu.js +3 -2
- package/dist/v2/device_model.d.ts +1 -0
- package/dist/v2/device_model.js +3 -2
- package/dist/v2/event_stream.d.ts +1 -0
- package/dist/v2/event_stream.js +3 -2
- package/dist/v2/hannah.d.ts +27 -1
- package/dist/v2/hannah.js +16 -2
- package/dist/v2/infrastructure.d.ts +5 -0
- package/dist/v2/infrastructure.js +33 -8
- package/dist/v2/logging.d.ts +1 -0
- package/dist/v2/logging.js +9 -6
- package/dist/v2/messages.d.ts +1 -0
- package/dist/v2/messages.js +3 -2
- package/dist/v2/satellite.d.ts +11 -0
- package/dist/v2/satellite.js +88 -2
- package/dist/v2/satellite_provisioning.d.ts +1 -0
- package/dist/v2/satellite_provisioning.js +3 -2
- package/dist/v2/satellite_proxy.d.ts +1 -0
- package/dist/v2/satellite_proxy.js +3 -2
- package/dist/v2/shared.d.ts +1 -0
- package/dist/v2/shared.js +3 -2
- package/dist/v2/speaker_enrollment.d.ts +1 -0
- package/dist/v2/speaker_enrollment.js +3 -2
- package/dist/v2/timer_admin.d.ts +1 -0
- package/dist/v2/timer_admin.js +3 -2
- package/dist/v2/timer_service.d.ts +1 -0
- package/dist/v2/timer_service.js +3 -2
- package/dist/v2/user_registry.d.ts +1 -0
- package/dist/v2/user_registry.js +3 -2
- package/dist/v2/wakeword_capture.d.ts +1 -0
- package/dist/v2/wakeword_capture.js +3 -2
- package/dist/v2/weather.d.ts +1 -0
- package/dist/v2/weather.js +3 -2
- package/package.json +3 -3
package/dist/v2/control.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/control.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.DeleteCarRequest = exports.UpdateCarRequest = exports.CreateCarResponse = exports.CreateCarRequest = exports.GetCarsResponse = exports.Car = exports.DeletePresenceSourceRequest = exports.UpdatePresenceSourceRequest = exports.CreatePresenceSourceResponse = exports.CreatePresenceSourceRequest = exports.GetPresenceSourcesResponse = exports.PresenceSource = exports.DeleteBleTagRequest = exports.UpdateBleTagRequest = exports.CreateBleTagResponse = exports.CreateBleTagRequest = exports.GetBleTagsResponse = exports.BleTag = exports.UpdateConfigRequest = exports.SettingUpdate = exports.GetSettingsResponse = exports.Setting = exports.Category = exports.DeleteAlarmRequest = exports.UpdateAlarmRequest = exports.CreateAlarmResponse = exports.CreateAlarmRequest = exports.GetAlarmsResponse = exports.Alarm = exports.DeleteTriggerRequest = exports.UpdateTriggerRequest = exports.CreateTriggerRequest = exports.GetTriggersResponse = exports.Trigger = exports.SetGroupSatellitesRequest = exports.DeleteGroupRequest = exports.UpdateGroupRequest = exports.CreateGroupRequest = exports.GetGroupsResponse = exports.Group = exports.GroupSatellite = exports.GetRoomsResponse = exports.Room = exports.AnnounceRequest = exports.SubmitVoiceResponse = exports.SubmitVoiceRequest = exports.SubmitTextResponse = exports.SubmitTextRequest = exports.protobufPackage = void 0;
|
|
8
|
+
exports.DeleteCarRequest = exports.UpdateCarRequest = exports.CreateCarResponse = exports.CreateCarRequest = exports.GetCarsResponse = exports.Car = exports.DeletePresenceSourceRequest = exports.UpdatePresenceSourceRequest = exports.CreatePresenceSourceResponse = exports.CreatePresenceSourceRequest = exports.GetPresenceSourcesResponse = exports.PresenceSource = exports.DeleteBleTagRequest = exports.UpdateBleTagRequest = exports.CreateBleTagResponse = exports.CreateBleTagRequest = exports.GetBleTagsResponse = exports.BleTag = exports.UpdateConfigRequest = exports.SettingUpdate = exports.GetSettingsResponse = exports.Setting = exports.Category = exports.DeleteAlarmRequest = exports.UpdateAlarmRequest = exports.CreateAlarmResponse = exports.CreateAlarmRequest = exports.GetAlarmsResponse = exports.Alarm = exports.DeleteTriggerRequest = exports.UpdateTriggerRequest = exports.CreateTriggerRequest = exports.GetTriggersResponse = exports.Trigger = exports.SetGroupSatellitesRequest = exports.DeleteGroupRequest = exports.UpdateGroupRequest = exports.CreateGroupRequest = exports.GetGroupsResponse = exports.Group = exports.GroupSatellite = exports.GetRoomsResponse = exports.Room = exports.AnnounceRequest = exports.SubmitVoiceResponse = exports.SubmitVoiceRequest = exports.SubmitTextResponse = exports.SubmitTextRequest = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
exports.protobufPackage = "hannah.v2";
|
|
12
|
+
exports.protobufFileName = "hannah/v2/control.proto";
|
|
12
13
|
function createBaseSubmitTextRequest() {
|
|
13
14
|
return { text: "", sourceService: "", sourceUserId: "" };
|
|
14
15
|
}
|
|
@@ -1577,11 +1578,13 @@ exports.Alarm = {
|
|
|
1577
1578
|
if (message.time !== "") {
|
|
1578
1579
|
writer.uint32(26).string(message.time);
|
|
1579
1580
|
}
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1581
|
+
if (message.weekdays.length !== 0) {
|
|
1582
|
+
writer.uint32(34).fork();
|
|
1583
|
+
for (const v of message.weekdays) {
|
|
1584
|
+
writer.int32(v);
|
|
1585
|
+
}
|
|
1586
|
+
writer.join();
|
|
1583
1587
|
}
|
|
1584
|
-
writer.join();
|
|
1585
1588
|
for (const v of message.skipDates) {
|
|
1586
1589
|
writer.uint32(42).string(v);
|
|
1587
1590
|
}
|
|
@@ -1773,11 +1776,13 @@ exports.CreateAlarmRequest = {
|
|
|
1773
1776
|
if (message.time !== "") {
|
|
1774
1777
|
writer.uint32(18).string(message.time);
|
|
1775
1778
|
}
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
+
if (message.weekdays.length !== 0) {
|
|
1780
|
+
writer.uint32(26).fork();
|
|
1781
|
+
for (const v of message.weekdays) {
|
|
1782
|
+
writer.int32(v);
|
|
1783
|
+
}
|
|
1784
|
+
writer.join();
|
|
1779
1785
|
}
|
|
1780
|
-
writer.join();
|
|
1781
1786
|
if (message.oneShotDate !== "") {
|
|
1782
1787
|
writer.uint32(34).string(message.oneShotDate);
|
|
1783
1788
|
}
|
|
@@ -1964,11 +1969,13 @@ exports.UpdateAlarmRequest = {
|
|
|
1964
1969
|
if (message.time !== "") {
|
|
1965
1970
|
writer.uint32(26).string(message.time);
|
|
1966
1971
|
}
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1972
|
+
if (message.weekdays.length !== 0) {
|
|
1973
|
+
writer.uint32(34).fork();
|
|
1974
|
+
for (const v of message.weekdays) {
|
|
1975
|
+
writer.int32(v);
|
|
1976
|
+
}
|
|
1977
|
+
writer.join();
|
|
1970
1978
|
}
|
|
1971
|
-
writer.join();
|
|
1972
1979
|
for (const v of message.skipDates) {
|
|
1973
1980
|
writer.uint32(42).string(v);
|
|
1974
1981
|
}
|
|
@@ -3415,11 +3422,13 @@ exports.Car = {
|
|
|
3415
3422
|
if (message.homeAddress !== "") {
|
|
3416
3423
|
writer.uint32(26).string(message.homeAddress);
|
|
3417
3424
|
}
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3425
|
+
if (message.ownerUserIds.length !== 0) {
|
|
3426
|
+
writer.uint32(34).fork();
|
|
3427
|
+
for (const v of message.ownerUserIds) {
|
|
3428
|
+
writer.int32(v);
|
|
3429
|
+
}
|
|
3430
|
+
writer.join();
|
|
3421
3431
|
}
|
|
3422
|
-
writer.join();
|
|
3423
3432
|
if (message.name !== "") {
|
|
3424
3433
|
writer.uint32(42).string(message.name);
|
|
3425
3434
|
}
|
|
@@ -3567,11 +3576,13 @@ exports.CreateCarRequest = {
|
|
|
3567
3576
|
if (message.homeAddress !== "") {
|
|
3568
3577
|
writer.uint32(18).string(message.homeAddress);
|
|
3569
3578
|
}
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3579
|
+
if (message.ownerUserIds.length !== 0) {
|
|
3580
|
+
writer.uint32(26).fork();
|
|
3581
|
+
for (const v of message.ownerUserIds) {
|
|
3582
|
+
writer.int32(v);
|
|
3583
|
+
}
|
|
3584
|
+
writer.join();
|
|
3573
3585
|
}
|
|
3574
|
-
writer.join();
|
|
3575
3586
|
if (message.name !== "") {
|
|
3576
3587
|
writer.uint32(34).string(message.name);
|
|
3577
3588
|
}
|
|
@@ -3736,11 +3747,13 @@ exports.UpdateCarRequest = {
|
|
|
3736
3747
|
if (message.homeAddress !== "") {
|
|
3737
3748
|
writer.uint32(26).string(message.homeAddress);
|
|
3738
3749
|
}
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3750
|
+
if (message.ownerUserIds.length !== 0) {
|
|
3751
|
+
writer.uint32(34).fork();
|
|
3752
|
+
for (const v of message.ownerUserIds) {
|
|
3753
|
+
writer.int32(v);
|
|
3754
|
+
}
|
|
3755
|
+
writer.join();
|
|
3742
3756
|
}
|
|
3743
|
-
writer.join();
|
|
3744
3757
|
if (message.name !== "") {
|
|
3745
3758
|
writer.uint32(42).string(message.name);
|
|
3746
3759
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
2
|
import { DeviceClass, DeviceSubtype, Slot, SlotValue } from "./device_model";
|
|
3
3
|
export declare const protobufPackage = "hannah.v2";
|
|
4
|
+
export declare const protobufFileName = "hannah/v2/device_control_menu.proto";
|
|
4
5
|
/**
|
|
5
6
|
* A device for control menus (WebUI, Telegram), in the typed device model: the class
|
|
6
7
|
* says what it is, the slots carry its current values and what can be controlled.
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/device_control_menu.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.ControlDeviceRequest = exports.GetDevicesResponse = exports.RoomInfo = exports.DeviceInfo = exports.protobufPackage = void 0;
|
|
8
|
+
exports.ControlDeviceRequest = exports.GetDevicesResponse = exports.RoomInfo = exports.DeviceInfo = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
const device_model_1 = require("./device_model");
|
|
12
12
|
exports.protobufPackage = "hannah.v2";
|
|
13
|
+
exports.protobufFileName = "hannah/v2/device_control_menu.proto";
|
|
13
14
|
function createBaseDeviceInfo() {
|
|
14
15
|
return { id: "", name: "", deviceClass: 0, slots: [], available: false, subtype: 0 };
|
|
15
16
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
2
|
export declare const protobufPackage = "hannah.v2";
|
|
3
|
+
export declare const protobufFileName = "hannah/v2/device_model.proto";
|
|
3
4
|
/**
|
|
4
5
|
* What kind of device this is. A class exists per family of verbs, not per feature:
|
|
5
6
|
* a measuring socket is a SOCKET with a filled POWER slot, not a class of its own.
|
package/dist/v2/device_model.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/device_model.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.SetSlot = exports.DeviceAvailability = exports.SlotUpdate = exports.TypedDeviceSnapshot = exports.TypedDevice = exports.Slot = exports.SlotValue = exports.SlotKind = exports.DeviceSubtype = exports.DeviceClass = exports.protobufPackage = void 0;
|
|
8
|
+
exports.SetSlot = exports.DeviceAvailability = exports.SlotUpdate = exports.TypedDeviceSnapshot = exports.TypedDevice = exports.Slot = exports.SlotValue = exports.SlotKind = exports.DeviceSubtype = exports.DeviceClass = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
exports.protobufPackage = "hannah.v2";
|
|
12
|
+
exports.protobufFileName = "hannah/v2/device_model.proto";
|
|
12
13
|
/**
|
|
13
14
|
* What kind of device this is. A class exists per family of verbs, not per feature:
|
|
14
15
|
* a measuring socket is a SOCKET with a filled POWER slot, not a class of its own.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
2
|
import { CarStateProto } from "./car_state";
|
|
3
3
|
export declare const protobufPackage = "hannah.v2";
|
|
4
|
+
export declare const protobufFileName = "hannah/v2/event_stream.proto";
|
|
4
5
|
export interface EventFilter {
|
|
5
6
|
/** If empty, subscribe to all event types. */
|
|
6
7
|
eventTypes: string[];
|
package/dist/v2/event_stream.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/event_stream.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.ResidentEventProto = exports.TriggerSatelliteRestartRequest = exports.TriggerFirmwareUpdateRequest = exports.FirmwareEventProto = exports.SystemNotificationEvent = exports.HannahEvent = exports.EventFilter = exports.protobufPackage = void 0;
|
|
8
|
+
exports.ResidentEventProto = exports.TriggerSatelliteRestartRequest = exports.TriggerFirmwareUpdateRequest = exports.FirmwareEventProto = exports.SystemNotificationEvent = exports.HannahEvent = exports.EventFilter = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
const car_state_1 = require("./car_state");
|
|
12
12
|
exports.protobufPackage = "hannah.v2";
|
|
13
|
+
exports.protobufFileName = "hannah/v2/event_stream.proto";
|
|
13
14
|
function createBaseEventFilter() {
|
|
14
15
|
return { eventTypes: [] };
|
|
15
16
|
}
|
package/dist/v2/hannah.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { ControlDeviceRequest, GetDevicesResponse } from "./device_control_menu"
|
|
|
10
10
|
import { EventFilter, HannahEvent, TriggerFirmwareUpdateRequest, TriggerSatelliteRestartRequest } from "./event_stream";
|
|
11
11
|
import { InfrastructureFilter, InfrastructureMessage, LogCollectorCommand, LogCollectorMessage } from "./infrastructure";
|
|
12
12
|
import { CreateMessageRequest, DeleteMessageRequest, ListMessagesRequest, ListMessagesResponse } from "./messages";
|
|
13
|
-
import { DeleteSatelliteRequest, GetSatellitesResponse, SetSatelliteDisplayNameRequest, SetSatelliteOwnerRequest, SetSatelliteRoomRequest, SetSatelliteSmalltalkFollowupRequest } from "./satellite";
|
|
13
|
+
import { DeleteSatelliteRequest, GetSatellitesResponse, SetSatelliteDisplayNameRequest, SetSatelliteLedBrightnessRequest, SetSatelliteOwnerRequest, SetSatelliteRoomRequest, SetSatelliteSmalltalkFollowupRequest } from "./satellite";
|
|
14
14
|
import { ProvisionSatelliteRequest } from "./satellite_provisioning";
|
|
15
15
|
import { ProxyCommand, ProxyHeartbeat, SatelliteRegistration, SubmitSatelliteAudioRequest, SubmitSatelliteAudioResponse } from "./satellite_proxy";
|
|
16
16
|
import { Empty, StatusResponse } from "./shared";
|
|
@@ -20,6 +20,7 @@ import { TimerCommand, TimerMessage } from "./timer_service";
|
|
|
20
20
|
import { CreateLinkTokenRequest, CreateLinkTokenResponse, CreateUserRequest, CreateUserResponse, DeleteUserRequest, GetResidentsResponse, GetUserRequest, GetUsersRequest, GetUsersResponse, LinkAccountRequest, LoginRequest, SetAutomationRequest, SetSystemMessagesRequest, SetTrustLevelRequest, UnlinkAccountRequest, UpdateUserRequest, UserResponse } from "./user_registry";
|
|
21
21
|
import { CaptureCommand, CollectorMessage, SatelliteAudioChunk, SatelliteCaptureRequest, SatelliteCaptureResponse, TriggerPlinkRequest } from "./wakeword_capture";
|
|
22
22
|
export declare const protobufPackage = "hannah.v2";
|
|
23
|
+
export declare const protobufFileName = "hannah/v2/hannah.proto";
|
|
23
24
|
export interface HeartbeatRequest {
|
|
24
25
|
}
|
|
25
26
|
export interface HeartbeatResponse {
|
|
@@ -277,6 +278,19 @@ export declare const HannahServiceService: {
|
|
|
277
278
|
readonly responseSerialize: (value: StatusResponse) => Buffer;
|
|
278
279
|
readonly responseDeserialize: (value: Buffer) => StatusResponse;
|
|
279
280
|
};
|
|
281
|
+
/**
|
|
282
|
+
* Set the brightness of the satellite's LED ring (0-100 percent, 0 = ring off). Core stores
|
|
283
|
+
* the value per satellite and passes it on to the satellite. #27
|
|
284
|
+
*/
|
|
285
|
+
readonly setSatelliteLedBrightness: {
|
|
286
|
+
readonly path: "/hannah.v2.HannahService/SetSatelliteLedBrightness";
|
|
287
|
+
readonly requestStream: false;
|
|
288
|
+
readonly responseStream: false;
|
|
289
|
+
readonly requestSerialize: (value: SetSatelliteLedBrightnessRequest) => Buffer;
|
|
290
|
+
readonly requestDeserialize: (value: Buffer) => SetSatelliteLedBrightnessRequest;
|
|
291
|
+
readonly responseSerialize: (value: StatusResponse) => Buffer;
|
|
292
|
+
readonly responseDeserialize: (value: Buffer) => StatusResponse;
|
|
293
|
+
};
|
|
280
294
|
/** Delete existing satellite */
|
|
281
295
|
readonly deleteSatellite: {
|
|
282
296
|
readonly path: "/hannah.v2.HannahService/DeleteSatellite";
|
|
@@ -1035,6 +1049,11 @@ export interface HannahServiceServer extends UntypedServiceImplementation {
|
|
|
1035
1049
|
* waiting for wake-word/PTT again (silence-timeout lives in the satellite firmware). #158
|
|
1036
1050
|
*/
|
|
1037
1051
|
setSatelliteSmalltalkFollowup: handleUnaryCall<SetSatelliteSmalltalkFollowupRequest, StatusResponse>;
|
|
1052
|
+
/**
|
|
1053
|
+
* Set the brightness of the satellite's LED ring (0-100 percent, 0 = ring off). Core stores
|
|
1054
|
+
* the value per satellite and passes it on to the satellite. #27
|
|
1055
|
+
*/
|
|
1056
|
+
setSatelliteLedBrightness: handleUnaryCall<SetSatelliteLedBrightnessRequest, StatusResponse>;
|
|
1038
1057
|
/** Delete existing satellite */
|
|
1039
1058
|
deleteSatellite: handleUnaryCall<DeleteSatelliteRequest, StatusResponse>;
|
|
1040
1059
|
/** --- Rooms/Groups (Admin-UI, #27 Phase 1) --- */
|
|
@@ -1345,6 +1364,13 @@ export interface HannahServiceClient extends Client {
|
|
|
1345
1364
|
setSatelliteSmalltalkFollowup(request: SetSatelliteSmalltalkFollowupRequest, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
|
1346
1365
|
setSatelliteSmalltalkFollowup(request: SetSatelliteSmalltalkFollowupRequest, metadata: Metadata, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
|
1347
1366
|
setSatelliteSmalltalkFollowup(request: SetSatelliteSmalltalkFollowupRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
|
1367
|
+
/**
|
|
1368
|
+
* Set the brightness of the satellite's LED ring (0-100 percent, 0 = ring off). Core stores
|
|
1369
|
+
* the value per satellite and passes it on to the satellite. #27
|
|
1370
|
+
*/
|
|
1371
|
+
setSatelliteLedBrightness(request: SetSatelliteLedBrightnessRequest, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
|
1372
|
+
setSatelliteLedBrightness(request: SetSatelliteLedBrightnessRequest, metadata: Metadata, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
|
1373
|
+
setSatelliteLedBrightness(request: SetSatelliteLedBrightnessRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
|
1348
1374
|
/** Delete existing satellite */
|
|
1349
1375
|
deleteSatellite(request: DeleteSatelliteRequest, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
|
1350
1376
|
deleteSatellite(request: DeleteSatelliteRequest, metadata: Metadata, callback: (error: ServiceError | null, response: StatusResponse) => void): ClientUnaryCall;
|
package/dist/v2/hannah.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/hannah.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.HannahServiceClient = exports.HannahServiceService = exports.HeartbeatResponse = exports.HeartbeatRequest = exports.protobufPackage = void 0;
|
|
8
|
+
exports.HannahServiceClient = exports.HannahServiceService = exports.HeartbeatResponse = exports.HeartbeatRequest = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
const grpc_js_1 = require("@grpc/grpc-js");
|
|
@@ -29,6 +29,7 @@ const timer_service_1 = require("./timer_service");
|
|
|
29
29
|
const user_registry_1 = require("./user_registry");
|
|
30
30
|
const wakeword_capture_1 = require("./wakeword_capture");
|
|
31
31
|
exports.protobufPackage = "hannah.v2";
|
|
32
|
+
exports.protobufFileName = "hannah/v2/hannah.proto";
|
|
32
33
|
function createBaseHeartbeatRequest() {
|
|
33
34
|
return {};
|
|
34
35
|
}
|
|
@@ -359,6 +360,19 @@ exports.HannahServiceService = {
|
|
|
359
360
|
responseSerialize: (value) => Buffer.from(shared_1.StatusResponse.encode(value).finish()),
|
|
360
361
|
responseDeserialize: (value) => shared_1.StatusResponse.decode(value),
|
|
361
362
|
},
|
|
363
|
+
/**
|
|
364
|
+
* Set the brightness of the satellite's LED ring (0-100 percent, 0 = ring off). Core stores
|
|
365
|
+
* the value per satellite and passes it on to the satellite. #27
|
|
366
|
+
*/
|
|
367
|
+
setSatelliteLedBrightness: {
|
|
368
|
+
path: "/hannah.v2.HannahService/SetSatelliteLedBrightness",
|
|
369
|
+
requestStream: false,
|
|
370
|
+
responseStream: false,
|
|
371
|
+
requestSerialize: (value) => Buffer.from(satellite_1.SetSatelliteLedBrightnessRequest.encode(value).finish()),
|
|
372
|
+
requestDeserialize: (value) => satellite_1.SetSatelliteLedBrightnessRequest.decode(value),
|
|
373
|
+
responseSerialize: (value) => Buffer.from(shared_1.StatusResponse.encode(value).finish()),
|
|
374
|
+
responseDeserialize: (value) => shared_1.StatusResponse.decode(value),
|
|
375
|
+
},
|
|
362
376
|
/** Delete existing satellite */
|
|
363
377
|
deleteSatellite: {
|
|
364
378
|
path: "/hannah.v2.HannahService/DeleteSatellite",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
2
|
export declare const protobufPackage = "hannah.v2";
|
|
3
|
+
export declare const protobufFileName = "hannah/v2/infrastructure.proto";
|
|
3
4
|
/**
|
|
4
5
|
* Infrastructure services that Hannah Core announces to all connected components
|
|
5
6
|
* (service discovery). Typed on purpose — a new kind of service gets a new enum value,
|
|
@@ -18,6 +19,8 @@ export interface ServiceEndpoint {
|
|
|
18
19
|
port: number;
|
|
19
20
|
/** informational */
|
|
20
21
|
version: string;
|
|
22
|
+
/** UDP port of the collector's syslog receiver on `host`; 0 = none */
|
|
23
|
+
syslogPort: number;
|
|
21
24
|
}
|
|
22
25
|
/** Which kinds of service the subscriber cares about. Empty = all kinds. */
|
|
23
26
|
export interface InfrastructureFilter {
|
|
@@ -61,6 +64,8 @@ export interface LogCollectorRegister {
|
|
|
61
64
|
port: number;
|
|
62
65
|
/** informational */
|
|
63
66
|
version: string;
|
|
67
|
+
/** UDP port of the syslog receiver, on the same host; 0 = no receiver */
|
|
68
|
+
syslogPort: number;
|
|
64
69
|
}
|
|
65
70
|
/** Sent by Hannah Core over the LogCollectorConnect stream. */
|
|
66
71
|
export interface LogCollectorCommand {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/infrastructure.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.LogCollectorRegistered = exports.LogCollectorCommand = exports.LogCollectorRegister = exports.LogCollectorMessage = exports.ServiceUnavailable = exports.ServiceAvailable = exports.InfrastructureSnapshot = exports.InfrastructureMessage = exports.InfrastructureFilter = exports.ServiceEndpoint = exports.ServiceKind = exports.protobufPackage = void 0;
|
|
8
|
+
exports.LogCollectorRegistered = exports.LogCollectorCommand = exports.LogCollectorRegister = exports.LogCollectorMessage = exports.ServiceUnavailable = exports.ServiceAvailable = exports.InfrastructureSnapshot = exports.InfrastructureMessage = exports.InfrastructureFilter = exports.ServiceEndpoint = exports.ServiceKind = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
exports.protobufPackage = "hannah.v2";
|
|
12
|
+
exports.protobufFileName = "hannah/v2/infrastructure.proto";
|
|
12
13
|
/**
|
|
13
14
|
* Infrastructure services that Hannah Core announces to all connected components
|
|
14
15
|
* (service discovery). Typed on purpose — a new kind of service gets a new enum value,
|
|
@@ -21,7 +22,7 @@ var ServiceKind;
|
|
|
21
22
|
ServiceKind[ServiceKind["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
22
23
|
})(ServiceKind || (exports.ServiceKind = ServiceKind = {}));
|
|
23
24
|
function createBaseServiceEndpoint() {
|
|
24
|
-
return { kind: 0, instance: "", host: "", port: 0, version: "" };
|
|
25
|
+
return { kind: 0, instance: "", host: "", port: 0, version: "", syslogPort: 0 };
|
|
25
26
|
}
|
|
26
27
|
exports.ServiceEndpoint = {
|
|
27
28
|
encode(message, writer = new wire_1.BinaryWriter()) {
|
|
@@ -40,6 +41,9 @@ exports.ServiceEndpoint = {
|
|
|
40
41
|
if (message.version !== "") {
|
|
41
42
|
writer.uint32(42).string(message.version);
|
|
42
43
|
}
|
|
44
|
+
if (message.syslogPort !== 0) {
|
|
45
|
+
writer.uint32(48).int32(message.syslogPort);
|
|
46
|
+
}
|
|
43
47
|
return writer;
|
|
44
48
|
},
|
|
45
49
|
decode(input, length) {
|
|
@@ -90,6 +94,13 @@ exports.ServiceEndpoint = {
|
|
|
90
94
|
message.version = reader.string();
|
|
91
95
|
continue;
|
|
92
96
|
}
|
|
97
|
+
case 6: {
|
|
98
|
+
if (tag !== 48) {
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
message.syslogPort = reader.int32();
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
93
104
|
}
|
|
94
105
|
if ((tag & 7) === 4 || tag === 0) {
|
|
95
106
|
break;
|
|
@@ -112,6 +123,7 @@ exports.ServiceEndpoint = {
|
|
|
112
123
|
message.host = object.host ?? "";
|
|
113
124
|
message.port = object.port ?? 0;
|
|
114
125
|
message.version = object.version ?? "";
|
|
126
|
+
message.syslogPort = object.syslogPort ?? 0;
|
|
115
127
|
return message;
|
|
116
128
|
},
|
|
117
129
|
};
|
|
@@ -120,11 +132,13 @@ function createBaseInfrastructureFilter() {
|
|
|
120
132
|
}
|
|
121
133
|
exports.InfrastructureFilter = {
|
|
122
134
|
encode(message, writer = new wire_1.BinaryWriter()) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
135
|
+
if (message.kinds.length !== 0) {
|
|
136
|
+
writer.uint32(10).fork();
|
|
137
|
+
for (const v of message.kinds) {
|
|
138
|
+
writer.int32(v);
|
|
139
|
+
}
|
|
140
|
+
writer.join();
|
|
126
141
|
}
|
|
127
|
-
writer.join();
|
|
128
142
|
return writer;
|
|
129
143
|
},
|
|
130
144
|
decode(input, length) {
|
|
@@ -474,7 +488,7 @@ exports.LogCollectorMessage = {
|
|
|
474
488
|
},
|
|
475
489
|
};
|
|
476
490
|
function createBaseLogCollectorRegister() {
|
|
477
|
-
return { instance: "", host: "", port: 0, version: "" };
|
|
491
|
+
return { instance: "", host: "", port: 0, version: "", syslogPort: 0 };
|
|
478
492
|
}
|
|
479
493
|
exports.LogCollectorRegister = {
|
|
480
494
|
encode(message, writer = new wire_1.BinaryWriter()) {
|
|
@@ -490,6 +504,9 @@ exports.LogCollectorRegister = {
|
|
|
490
504
|
if (message.version !== "") {
|
|
491
505
|
writer.uint32(34).string(message.version);
|
|
492
506
|
}
|
|
507
|
+
if (message.syslogPort !== 0) {
|
|
508
|
+
writer.uint32(40).int32(message.syslogPort);
|
|
509
|
+
}
|
|
493
510
|
return writer;
|
|
494
511
|
},
|
|
495
512
|
decode(input, length) {
|
|
@@ -533,6 +550,13 @@ exports.LogCollectorRegister = {
|
|
|
533
550
|
message.version = reader.string();
|
|
534
551
|
continue;
|
|
535
552
|
}
|
|
553
|
+
case 5: {
|
|
554
|
+
if (tag !== 40) {
|
|
555
|
+
break;
|
|
556
|
+
}
|
|
557
|
+
message.syslogPort = reader.int32();
|
|
558
|
+
continue;
|
|
559
|
+
}
|
|
536
560
|
}
|
|
537
561
|
if ((tag & 7) === 4 || tag === 0) {
|
|
538
562
|
break;
|
|
@@ -554,6 +578,7 @@ exports.LogCollectorRegister = {
|
|
|
554
578
|
message.host = object.host ?? "";
|
|
555
579
|
message.port = object.port ?? 0;
|
|
556
580
|
message.version = object.version ?? "";
|
|
581
|
+
message.syslogPort = object.syslogPort ?? 0;
|
|
557
582
|
return message;
|
|
558
583
|
},
|
|
559
584
|
};
|
package/dist/v2/logging.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
|
2
2
|
import { type CallOptions, type ChannelCredentials, Client, type ClientOptions, type ClientReadableStream, type ClientUnaryCall, type ClientWritableStream, type handleClientStreamingCall, type handleServerStreamingCall, type handleUnaryCall, type Metadata, type ServiceError, type UntypedServiceImplementation } from "@grpc/grpc-js";
|
|
3
3
|
import { Empty } from "./shared";
|
|
4
4
|
export declare const protobufPackage = "hannah.v2";
|
|
5
|
+
export declare const protobufFileName = "hannah/v2/logging.proto";
|
|
5
6
|
export declare enum LogLevel {
|
|
6
7
|
LOG_LEVEL_UNSPECIFIED = 0,
|
|
7
8
|
LOG_LEVEL_DEBUG = 1,
|
package/dist/v2/logging.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/logging.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.LogServiceClient = exports.LogServiceService = exports.ExportChunk = exports.ExportRequest = exports.GetSourcesResponse = exports.LogSource = exports.ShipAck = exports.LogGap = exports.LogEntry = exports.ShipHello = exports.ShipMessage = exports.LogCategory = exports.LogLevel = exports.protobufPackage = void 0;
|
|
8
|
+
exports.LogServiceClient = exports.LogServiceService = exports.ExportChunk = exports.ExportRequest = exports.GetSourcesResponse = exports.LogSource = exports.ShipAck = exports.LogGap = exports.LogEntry = exports.ShipHello = exports.ShipMessage = exports.LogCategory = exports.LogLevel = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
const grpc_js_1 = require("@grpc/grpc-js");
|
|
12
12
|
const shared_1 = require("./shared");
|
|
13
13
|
exports.protobufPackage = "hannah.v2";
|
|
14
|
+
exports.protobufFileName = "hannah/v2/logging.proto";
|
|
14
15
|
var LogLevel;
|
|
15
16
|
(function (LogLevel) {
|
|
16
17
|
LogLevel[LogLevel["LOG_LEVEL_UNSPECIFIED"] = 0] = "LOG_LEVEL_UNSPECIFIED";
|
|
@@ -604,11 +605,13 @@ exports.ExportRequest = {
|
|
|
604
605
|
for (const v of message.components) {
|
|
605
606
|
writer.uint32(26).string(v);
|
|
606
607
|
}
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
608
|
+
if (message.excludeCategories.length !== 0) {
|
|
609
|
+
writer.uint32(34).fork();
|
|
610
|
+
for (const v of message.excludeCategories) {
|
|
611
|
+
writer.int32(v);
|
|
612
|
+
}
|
|
613
|
+
writer.join();
|
|
610
614
|
}
|
|
611
|
-
writer.join();
|
|
612
615
|
return writer;
|
|
613
616
|
},
|
|
614
617
|
decode(input, length) {
|
package/dist/v2/messages.d.ts
CHANGED
package/dist/v2/messages.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
3
|
// versions:
|
|
4
|
-
// protoc-gen-ts_proto v2.
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
5
|
// protoc unknown
|
|
6
6
|
// source: hannah/v2/messages.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.DeleteMessageRequest = exports.ListMessagesResponse = exports.ListMessagesRequest = exports.CreateMessageRequest = exports.Message = exports.protobufPackage = void 0;
|
|
8
|
+
exports.DeleteMessageRequest = exports.ListMessagesResponse = exports.ListMessagesRequest = exports.CreateMessageRequest = exports.Message = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
exports.protobufPackage = "hannah.v2";
|
|
12
|
+
exports.protobufFileName = "hannah/v2/messages.proto";
|
|
12
13
|
function createBaseMessage() {
|
|
13
14
|
return { id: 0, userId: 0, content: "", source: "", createdAt: "", senderUserId: 0, replyToId: 0 };
|
|
14
15
|
}
|
package/dist/v2/satellite.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
2
|
export declare const protobufPackage = "hannah.v2";
|
|
3
|
+
export declare const protobufFileName = "hannah/v2/satellite.proto";
|
|
3
4
|
export interface Satellite {
|
|
4
5
|
deviceId: string;
|
|
5
6
|
/** live-reported room (UDP/proxy registration); empty if not connected */
|
|
@@ -29,6 +30,8 @@ export interface Satellite {
|
|
|
29
30
|
newVersion?: string | undefined;
|
|
30
31
|
/** #158: mic reopens after a Smalltalk answer instead of waiting for wake-word/PTT again */
|
|
31
32
|
smalltalkFollowupListen: boolean;
|
|
33
|
+
/** brightness of the LED ring in percent (0-100, 0 = ring off); absent = Core does not know the field. #27 */
|
|
34
|
+
ledBrightness?: number | undefined;
|
|
32
35
|
}
|
|
33
36
|
export interface GetSatellitesResponse {
|
|
34
37
|
satellites: Satellite[];
|
|
@@ -59,6 +62,13 @@ export interface SetSatelliteSmalltalkFollowupRequest {
|
|
|
59
62
|
/** requestor */
|
|
60
63
|
requestorId: number;
|
|
61
64
|
}
|
|
65
|
+
export interface SetSatelliteLedBrightnessRequest {
|
|
66
|
+
deviceId: string;
|
|
67
|
+
/** 0-100, 0 = ring off */
|
|
68
|
+
percent: number;
|
|
69
|
+
/** requestor */
|
|
70
|
+
requestorId: number;
|
|
71
|
+
}
|
|
62
72
|
export interface DeleteSatelliteRequest {
|
|
63
73
|
deviceId: string;
|
|
64
74
|
/** requestor */
|
|
@@ -70,6 +80,7 @@ export declare const SetSatelliteRoomRequest: MessageFns<SetSatelliteRoomRequest
|
|
|
70
80
|
export declare const SetSatelliteDisplayNameRequest: MessageFns<SetSatelliteDisplayNameRequest>;
|
|
71
81
|
export declare const SetSatelliteOwnerRequest: MessageFns<SetSatelliteOwnerRequest>;
|
|
72
82
|
export declare const SetSatelliteSmalltalkFollowupRequest: MessageFns<SetSatelliteSmalltalkFollowupRequest>;
|
|
83
|
+
export declare const SetSatelliteLedBrightnessRequest: MessageFns<SetSatelliteLedBrightnessRequest>;
|
|
73
84
|
export declare const DeleteSatelliteRequest: MessageFns<DeleteSatelliteRequest>;
|
|
74
85
|
type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;
|
|
75
86
|
export type DeepPartial<T> = T extends bigint ? string | number | bigint : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|