@m1kad0/hannah-proto 4.5.0 → 4.6.1

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.
Files changed (53) hide show
  1. package/README.md +21 -0
  2. package/dist/compat_interceptor.js +6 -6
  3. package/dist/compat_versions.js +176 -88
  4. package/dist/descriptor.binpb +0 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +2 -1
  7. package/dist/v1/activity_log.d.ts +60 -0
  8. package/dist/v1/activity_log.js +453 -0
  9. package/dist/v1/agent.d.ts +433 -0
  10. package/dist/v1/agent.js +2527 -0
  11. package/dist/v1/automation.d.ts +54 -0
  12. package/dist/v1/automation.js +303 -0
  13. package/dist/v1/car_state.d.ts +72 -0
  14. package/dist/v1/car_state.js +516 -0
  15. package/dist/v1/channel.d.ts +102 -0
  16. package/dist/v1/channel.js +587 -0
  17. package/dist/v1/control.d.ts +383 -0
  18. package/dist/v1/control.js +3879 -0
  19. package/dist/v1/device_control_menu.d.ts +88 -0
  20. package/dist/v1/device_control_menu.js +629 -0
  21. package/dist/v1/event_stream.d.ts +63 -0
  22. package/dist/v1/event_stream.js +494 -0
  23. package/dist/v1/hannah.d.ts +1644 -0
  24. package/dist/v1/hannah.js +968 -0
  25. package/dist/v1/index.d.ts +22 -0
  26. package/dist/v1/index.js +58 -0
  27. package/dist/v1/infrastructure.d.ts +98 -0
  28. package/dist/v1/infrastructure.js +652 -0
  29. package/dist/v1/logging.d.ts +189 -0
  30. package/dist/v1/logging.js +775 -0
  31. package/dist/v1/messages.d.ts +56 -0
  32. package/dist/v1/messages.js +398 -0
  33. package/dist/v1/satellite.d.ts +90 -0
  34. package/dist/v1/satellite.js +637 -0
  35. package/dist/v1/satellite_provisioning.d.ts +33 -0
  36. package/dist/v1/satellite_provisioning.js +84 -0
  37. package/dist/v1/satellite_proxy.d.ts +100 -0
  38. package/dist/v1/satellite_proxy.js +546 -0
  39. package/dist/v1/shared.d.ts +54 -0
  40. package/dist/v1/shared.js +249 -0
  41. package/dist/v1/speaker_enrollment.d.ts +44 -0
  42. package/dist/v1/speaker_enrollment.js +157 -0
  43. package/dist/v1/timer_admin.d.ts +42 -0
  44. package/dist/v1/timer_admin.js +273 -0
  45. package/dist/v1/timer_service.d.ts +133 -0
  46. package/dist/v1/timer_service.js +945 -0
  47. package/dist/v1/user_registry.d.ts +187 -0
  48. package/dist/v1/user_registry.js +1612 -0
  49. package/dist/v1/wakeword_capture.d.ts +101 -0
  50. package/dist/v1/wakeword_capture.js +611 -0
  51. package/dist/v1/weather.d.ts +81 -0
  52. package/dist/v1/weather.js +366 -0
  53. package/package.json +1 -1
@@ -0,0 +1,383 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ export declare const protobufPackage = "hannah.v1";
3
+ export interface SubmitTextRequest {
4
+ text: string;
5
+ /**
6
+ * Identifies the calling service and its user, so Hannah can look up
7
+ * the corresponding roomie via linked_accounts.
8
+ */
9
+ sourceService: string;
10
+ /** e.g. Telegram chat_id as string */
11
+ sourceUserId: string;
12
+ }
13
+ export interface SubmitTextResponse {
14
+ /** text to send back to the user */
15
+ answer: string;
16
+ /** e.g. "WeatherQuery", "TurnOn", "Unknown" */
17
+ intentName: string;
18
+ }
19
+ export interface SubmitVoiceRequest {
20
+ /** OGG/Opus audio bytes (from Telegram voice message) */
21
+ audio: Uint8Array;
22
+ /** e.g. "telegram" */
23
+ sourceService: string;
24
+ /** e.g. Telegram chat_id as string */
25
+ sourceUserId: string;
26
+ }
27
+ export interface SubmitVoiceResponse {
28
+ /** STT result (for display / caption) */
29
+ transcript: string;
30
+ /** text answer from Hannah */
31
+ answer: string;
32
+ /** e.g. "CarQuery" — caller may enrich the text reply */
33
+ intentName: string;
34
+ /** OGG/Opus TTS response (empty if TTS disabled or failed) */
35
+ audioOgg: Uint8Array;
36
+ }
37
+ export interface AnnounceRequest {
38
+ text: string;
39
+ /** satellite device name, or "all" for broadcast — legacy path, ignored if room_id or user_id is set */
40
+ device: string;
41
+ /**
42
+ * #31: target by room and/or Person (User) instead of a specific device. Both set = AND
43
+ * (only the satellite that is both in that room AND owned by that Person), not OR.
44
+ */
45
+ roomId: string;
46
+ /** 0 = not set */
47
+ userId: number;
48
+ }
49
+ export interface Room {
50
+ roomId: string;
51
+ displayName: string;
52
+ }
53
+ export interface GetRoomsResponse {
54
+ rooms: Room[];
55
+ }
56
+ /**
57
+ * GroupSatellite ist eine schlanke DTO-Projektion (device_id/display_name/room_id),
58
+ * bewusst nicht die volle Satellite-Message: die trägt Live-Verbindungsstatus, den
59
+ * GetGroups nicht braucht und der Server nicht ohne live verbundene Satelliten
60
+ * befüllen kann. Analog zu Room{room_id, display_name} vor #56/hannah-proto#7.
61
+ */
62
+ export interface GroupSatellite {
63
+ deviceId: string;
64
+ /** "" falls nicht provisioniert */
65
+ displayName: string;
66
+ /** "" falls unzugewiesen — Anzeige-Kontext fürs Admin-UI */
67
+ roomId: string;
68
+ }
69
+ export interface Group {
70
+ groupId: string;
71
+ displayName: string;
72
+ /** #56/hannah-proto#7: war "repeated Room rooms" — Gruppen referenzieren Satelliten direkt statt Räume */
73
+ satellites: GroupSatellite[];
74
+ }
75
+ export interface GetGroupsResponse {
76
+ groups: Group[];
77
+ }
78
+ export interface CreateGroupRequest {
79
+ groupId: string;
80
+ displayName: string;
81
+ }
82
+ export interface UpdateGroupRequest {
83
+ groupId: string;
84
+ displayName: string;
85
+ }
86
+ export interface DeleteGroupRequest {
87
+ groupId: string;
88
+ }
89
+ export interface SetGroupSatellitesRequest {
90
+ groupId: string;
91
+ deviceIds: string[];
92
+ }
93
+ export interface Trigger {
94
+ /** client-assigned slug, e.g. "aussentuer_abend" */
95
+ id: string;
96
+ /** JSON condition object or list (OR'd), see trigger_engine.py */
97
+ whenJson: string;
98
+ /** JSON condition object, "" = none */
99
+ cancelWhenJson: string;
100
+ /** JSON list of response rules, "" = none */
101
+ onResponseJson: string;
102
+ /** legacy single announcement, "" once actions_json is used */
103
+ say: string;
104
+ ask: string;
105
+ rephrase: boolean;
106
+ /** was "room" (hannah-proto#5) */
107
+ target: string;
108
+ cooldown: number;
109
+ /** duration string e.g. "5h"/"30m"/"90s", "" = none */
110
+ delay: string;
111
+ /** JSON list[{say,target} | {set_state:{id,value}}], "" = none (falls back to say) */
112
+ actionsJson: string;
113
+ }
114
+ export interface GetTriggersResponse {
115
+ triggers: Trigger[];
116
+ }
117
+ export interface CreateTriggerRequest {
118
+ id: string;
119
+ whenJson: string;
120
+ cancelWhenJson: string;
121
+ onResponseJson: string;
122
+ say: string;
123
+ ask: string;
124
+ rephrase: boolean;
125
+ /** was "room" (hannah-proto#5) */
126
+ target: string;
127
+ cooldown: number;
128
+ delay: string;
129
+ actionsJson: string;
130
+ }
131
+ export interface UpdateTriggerRequest {
132
+ id: string;
133
+ whenJson: string;
134
+ cancelWhenJson: string;
135
+ onResponseJson: string;
136
+ say: string;
137
+ ask: string;
138
+ rephrase: boolean;
139
+ /** was "room" (hannah-proto#5) */
140
+ target: string;
141
+ cooldown: number;
142
+ delay: string;
143
+ actionsJson: string;
144
+ }
145
+ export interface DeleteTriggerRequest {
146
+ id: string;
147
+ }
148
+ export interface Alarm {
149
+ id: number;
150
+ satelliteId: string;
151
+ /** "HH:MM" */
152
+ time: string;
153
+ /** 0=Mo..6=So; leer = One-off */
154
+ weekdays: number[];
155
+ /** ISO-Daten, aus einer wiederkehrenden Serie ausgeschlossen */
156
+ skipDates: string[];
157
+ /** ISO-Datum; nur relevant wenn weekdays leer ist */
158
+ oneShotDate: string;
159
+ enabled: boolean;
160
+ label: string;
161
+ userId: number;
162
+ }
163
+ export interface GetAlarmsResponse {
164
+ alarms: Alarm[];
165
+ }
166
+ export interface CreateAlarmRequest {
167
+ satelliteId: string;
168
+ time: string;
169
+ weekdays: number[];
170
+ oneShotDate: string;
171
+ label: string;
172
+ userId: number;
173
+ }
174
+ export interface CreateAlarmResponse {
175
+ ok: boolean;
176
+ id: number;
177
+ message: string;
178
+ }
179
+ export interface UpdateAlarmRequest {
180
+ id: number;
181
+ satelliteId: string;
182
+ time: string;
183
+ weekdays: number[];
184
+ skipDates: string[];
185
+ oneShotDate: string;
186
+ enabled: boolean;
187
+ label: string;
188
+ }
189
+ export interface DeleteAlarmRequest {
190
+ id: number;
191
+ }
192
+ export interface Category {
193
+ id: number;
194
+ /** voller Punkt-Pfad, z.B. "ble.tags" */
195
+ name: string;
196
+ /** 0 = keine Eltern-Kategorie (Root) */
197
+ parentId: number;
198
+ }
199
+ export interface Setting {
200
+ id: number;
201
+ categoryId: number;
202
+ name: string;
203
+ /** JSON-encoded */
204
+ value: string;
205
+ }
206
+ export interface GetSettingsResponse {
207
+ categories: Category[];
208
+ settings: Setting[];
209
+ }
210
+ export interface SettingUpdate {
211
+ settingId: number;
212
+ /** JSON-encoded */
213
+ value: string;
214
+ }
215
+ export interface UpdateConfigRequest {
216
+ updates: SettingUpdate[];
217
+ }
218
+ export interface BleTag {
219
+ id: number;
220
+ macAddress: string;
221
+ label: string;
222
+ /** 0 = kein Owner zugeordnet */
223
+ userId: number;
224
+ }
225
+ export interface GetBleTagsResponse {
226
+ tags: BleTag[];
227
+ }
228
+ export interface CreateBleTagRequest {
229
+ macAddress: string;
230
+ label: string;
231
+ userId: number;
232
+ }
233
+ export interface CreateBleTagResponse {
234
+ ok: boolean;
235
+ id: number;
236
+ message: string;
237
+ }
238
+ export interface UpdateBleTagRequest {
239
+ id: number;
240
+ macAddress: string;
241
+ label: string;
242
+ userId: number;
243
+ }
244
+ export interface DeleteBleTagRequest {
245
+ id: number;
246
+ }
247
+ export interface PresenceSource {
248
+ id: number;
249
+ userId: number;
250
+ /** "iobroker_state" | "ble_tag" */
251
+ sourceType: string;
252
+ /** state_id (iobroker_state) bzw. BleTag-Referenz (ble_tag) */
253
+ reference: string;
254
+ /** 0.0-1.0 */
255
+ homeConfidence: number;
256
+ /** 0.0-1.0 */
257
+ awayConfidence: number;
258
+ enabled: boolean;
259
+ }
260
+ export interface GetPresenceSourcesResponse {
261
+ presenceSources: PresenceSource[];
262
+ }
263
+ export interface CreatePresenceSourceRequest {
264
+ userId: number;
265
+ sourceType: string;
266
+ reference: string;
267
+ homeConfidence: number;
268
+ awayConfidence: number;
269
+ enabled: boolean;
270
+ }
271
+ export interface CreatePresenceSourceResponse {
272
+ ok: boolean;
273
+ id: number;
274
+ message: string;
275
+ }
276
+ export interface UpdatePresenceSourceRequest {
277
+ id: number;
278
+ userId: number;
279
+ sourceType: string;
280
+ reference: string;
281
+ homeConfidence: number;
282
+ awayConfidence: number;
283
+ enabled: boolean;
284
+ }
285
+ export interface DeletePresenceSourceRequest {
286
+ id: number;
287
+ }
288
+ export interface Car {
289
+ id: number;
290
+ topicPrefix: string;
291
+ homeAddress: string;
292
+ ownerUserIds: number[];
293
+ name: string;
294
+ }
295
+ export interface GetCarsResponse {
296
+ cars: Car[];
297
+ }
298
+ export interface CreateCarRequest {
299
+ topicPrefix: string;
300
+ homeAddress: string;
301
+ ownerUserIds: number[];
302
+ name: string;
303
+ }
304
+ export interface CreateCarResponse {
305
+ ok: boolean;
306
+ id: number;
307
+ message: string;
308
+ }
309
+ export interface UpdateCarRequest {
310
+ id: number;
311
+ topicPrefix: string;
312
+ homeAddress: string;
313
+ ownerUserIds: number[];
314
+ name: string;
315
+ }
316
+ export interface DeleteCarRequest {
317
+ id: number;
318
+ }
319
+ export declare const SubmitTextRequest: MessageFns<SubmitTextRequest>;
320
+ export declare const SubmitTextResponse: MessageFns<SubmitTextResponse>;
321
+ export declare const SubmitVoiceRequest: MessageFns<SubmitVoiceRequest>;
322
+ export declare const SubmitVoiceResponse: MessageFns<SubmitVoiceResponse>;
323
+ export declare const AnnounceRequest: MessageFns<AnnounceRequest>;
324
+ export declare const Room: MessageFns<Room>;
325
+ export declare const GetRoomsResponse: MessageFns<GetRoomsResponse>;
326
+ export declare const GroupSatellite: MessageFns<GroupSatellite>;
327
+ export declare const Group: MessageFns<Group>;
328
+ export declare const GetGroupsResponse: MessageFns<GetGroupsResponse>;
329
+ export declare const CreateGroupRequest: MessageFns<CreateGroupRequest>;
330
+ export declare const UpdateGroupRequest: MessageFns<UpdateGroupRequest>;
331
+ export declare const DeleteGroupRequest: MessageFns<DeleteGroupRequest>;
332
+ export declare const SetGroupSatellitesRequest: MessageFns<SetGroupSatellitesRequest>;
333
+ export declare const Trigger: MessageFns<Trigger>;
334
+ export declare const GetTriggersResponse: MessageFns<GetTriggersResponse>;
335
+ export declare const CreateTriggerRequest: MessageFns<CreateTriggerRequest>;
336
+ export declare const UpdateTriggerRequest: MessageFns<UpdateTriggerRequest>;
337
+ export declare const DeleteTriggerRequest: MessageFns<DeleteTriggerRequest>;
338
+ export declare const Alarm: MessageFns<Alarm>;
339
+ export declare const GetAlarmsResponse: MessageFns<GetAlarmsResponse>;
340
+ export declare const CreateAlarmRequest: MessageFns<CreateAlarmRequest>;
341
+ export declare const CreateAlarmResponse: MessageFns<CreateAlarmResponse>;
342
+ export declare const UpdateAlarmRequest: MessageFns<UpdateAlarmRequest>;
343
+ export declare const DeleteAlarmRequest: MessageFns<DeleteAlarmRequest>;
344
+ export declare const Category: MessageFns<Category>;
345
+ export declare const Setting: MessageFns<Setting>;
346
+ export declare const GetSettingsResponse: MessageFns<GetSettingsResponse>;
347
+ export declare const SettingUpdate: MessageFns<SettingUpdate>;
348
+ export declare const UpdateConfigRequest: MessageFns<UpdateConfigRequest>;
349
+ export declare const BleTag: MessageFns<BleTag>;
350
+ export declare const GetBleTagsResponse: MessageFns<GetBleTagsResponse>;
351
+ export declare const CreateBleTagRequest: MessageFns<CreateBleTagRequest>;
352
+ export declare const CreateBleTagResponse: MessageFns<CreateBleTagResponse>;
353
+ export declare const UpdateBleTagRequest: MessageFns<UpdateBleTagRequest>;
354
+ export declare const DeleteBleTagRequest: MessageFns<DeleteBleTagRequest>;
355
+ export declare const PresenceSource: MessageFns<PresenceSource>;
356
+ export declare const GetPresenceSourcesResponse: MessageFns<GetPresenceSourcesResponse>;
357
+ export declare const CreatePresenceSourceRequest: MessageFns<CreatePresenceSourceRequest>;
358
+ export declare const CreatePresenceSourceResponse: MessageFns<CreatePresenceSourceResponse>;
359
+ export declare const UpdatePresenceSourceRequest: MessageFns<UpdatePresenceSourceRequest>;
360
+ export declare const DeletePresenceSourceRequest: MessageFns<DeletePresenceSourceRequest>;
361
+ export declare const Car: MessageFns<Car>;
362
+ export declare const GetCarsResponse: MessageFns<GetCarsResponse>;
363
+ export declare const CreateCarRequest: MessageFns<CreateCarRequest>;
364
+ export declare const CreateCarResponse: MessageFns<CreateCarResponse>;
365
+ export declare const UpdateCarRequest: MessageFns<UpdateCarRequest>;
366
+ export declare const DeleteCarRequest: MessageFns<DeleteCarRequest>;
367
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;
368
+ 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 {} ? {
369
+ [K in keyof T]?: DeepPartial<T[K]>;
370
+ } : Partial<T>;
371
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
372
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
373
+ [K in keyof P]: Exact<P[K], I[K]>;
374
+ } & {
375
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
376
+ };
377
+ export interface MessageFns<T> {
378
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
379
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
380
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
381
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
382
+ }
383
+ export {};