@camstack/types 1.2.308 → 1.2.310

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 (39) hide show
  1. package/dist/addon.js +1 -1
  2. package/dist/addon.mjs +1 -1
  3. package/dist/capabilities/custom-model-registry.cap.d.ts +38 -4
  4. package/dist/capabilities/device-manager.cap.d.ts +8 -8
  5. package/dist/capabilities/hub-address.d.ts +123 -0
  6. package/dist/capabilities/index.d.ts +4 -3
  7. package/dist/capabilities/local-network.cap.d.ts +605 -11
  8. package/dist/capabilities/model-convert.cap.d.ts +19 -2
  9. package/dist/capabilities/model-distributor.cap.d.ts +38 -4
  10. package/dist/capabilities/pipeline-executor.cap.d.ts +124 -10
  11. package/dist/capabilities/pipeline-runner.cap.d.ts +13 -0
  12. package/dist/capabilities/webrtc-session.cap.d.ts +36 -0
  13. package/dist/catalogs/frigate-plus-classmap.d.ts +10 -7
  14. package/dist/catalogs/index.d.ts +1 -1
  15. package/dist/catalogs/root-model-supply.d.ts +202 -0
  16. package/dist/client.js +55 -49
  17. package/dist/client.mjs +55 -49
  18. package/dist/device/location-icon.d.ts +4 -4
  19. package/dist/device/site-zone.d.ts +2 -2
  20. package/dist/ffmpeg/pinned-spawn.d.ts +1 -1
  21. package/dist/generated/addon-api.d.ts +40 -0
  22. package/dist/generated/method-access-map.d.ts +1 -1
  23. package/dist/generated/method-device-selectors.d.ts +1 -1
  24. package/dist/generated/system-proxy.d.ts +1 -1
  25. package/dist/index.d.ts +2 -1
  26. package/dist/index.js +1351 -641
  27. package/dist/index.mjs +1310 -629
  28. package/dist/interfaces/event-bus.d.ts +12 -6
  29. package/dist/interfaces/pipeline-executor-capability.d.ts +6 -1
  30. package/dist/node.js +1 -1
  31. package/dist/node.mjs +1 -1
  32. package/dist/pipeline/root-face-crop.d.ts +31 -0
  33. package/dist/{sleep-DXKLNFvA.mjs → sleep-C16NCZR2.mjs} +1 -0
  34. package/dist/{sleep-C3gDpn7G.js → sleep-DyF95STh.js} +1 -0
  35. package/dist/types/detection.d.ts +9 -0
  36. package/dist/types/models.d.ts +69 -8
  37. package/dist/types/pipeline-step.d.ts +6 -0
  38. package/package.json +1 -1
  39. package/dist/catalogs/classifier-fill.d.ts +0 -104
@@ -56,6 +56,7 @@ declare const ConnectionEndpointSchema: z.ZodObject<{
56
56
  label: z.ZodString;
57
57
  baseUrl: z.ZodString;
58
58
  kind: z.ZodEnum<{
59
+ custom: "custom";
59
60
  public: "public";
60
61
  loopback: "loopback";
61
62
  "lan-ipv4": "lan-ipv4";
@@ -107,6 +108,188 @@ declare const ViewerEndpointsSchema: z.ZodObject<{
107
108
  resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
108
109
  }, z.core.$strip>;
109
110
  export type ViewerEndpoints = z.infer<typeof ViewerEndpointsSchema>;
111
+ /**
112
+ * DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
113
+ * one release for addons built against it): `cluster` is the `agents` role,
114
+ * `browser` the `signIn` role; `override` is the flagged address.
115
+ */
116
+ declare const HubAddressSnapshotSchema: z.ZodObject<{
117
+ override: z.ZodNullable<z.ZodString>;
118
+ resolved: z.ZodNullable<z.ZodString>;
119
+ source: z.ZodEnum<{
120
+ none: "none";
121
+ override: "override";
122
+ auto: "auto";
123
+ }>;
124
+ }, z.core.$strip>;
125
+ declare const HubAddressesSchema: z.ZodObject<{
126
+ cluster: z.ZodObject<{
127
+ override: z.ZodNullable<z.ZodString>;
128
+ resolved: z.ZodNullable<z.ZodString>;
129
+ source: z.ZodEnum<{
130
+ none: "none";
131
+ override: "override";
132
+ auto: "auto";
133
+ }>;
134
+ }, z.core.$strip>;
135
+ browser: z.ZodObject<{
136
+ override: z.ZodNullable<z.ZodString>;
137
+ resolved: z.ZodNullable<z.ZodString>;
138
+ source: z.ZodEnum<{
139
+ none: "none";
140
+ override: "override";
141
+ auto: "auto";
142
+ }>;
143
+ }, z.core.$strip>;
144
+ }, z.core.$strip>;
145
+ export type HubAddresses = z.infer<typeof HubAddressesSchema>;
146
+ export type HubAddressSnapshot = z.infer<typeof HubAddressSnapshotSchema>;
147
+ /**
148
+ * What an address is used for (`hub-address.ts`). `viewer` is many-valued;
149
+ * `notifications`, `agents` and `signIn` are carried by at most one address.
150
+ */
151
+ export declare const HubAddressRoleSchema: z.ZodEnum<{
152
+ notifications: "notifications";
153
+ viewer: "viewer";
154
+ agents: "agents";
155
+ signIn: "signIn";
156
+ }>;
157
+ /**
158
+ * One row of the Network page's Addresses table: a detected endpoint, an
159
+ * operator-entered custom address, or the CamStack app link — flagged the
160
+ * same way. A URL that is both detected and entered is ONE row.
161
+ */
162
+ declare const HubAddressRowSchema: z.ZodObject<{
163
+ label: z.ZodString;
164
+ baseUrl: z.ZodString;
165
+ kind: z.ZodEnum<{
166
+ custom: "custom";
167
+ public: "public";
168
+ loopback: "loopback";
169
+ "lan-ipv4": "lan-ipv4";
170
+ "lan-ipv6": "lan-ipv6";
171
+ "app-link": "app-link";
172
+ }>;
173
+ interfaceKind: z.ZodEnum<{
174
+ public: "public";
175
+ docker: "docker";
176
+ lan: "lan";
177
+ wifi: "wifi";
178
+ vpn: "vpn";
179
+ loopback: "loopback";
180
+ other: "other";
181
+ }>;
182
+ plausible: z.ZodBoolean;
183
+ plausibleReason: z.ZodString;
184
+ priority: z.ZodNumber;
185
+ detected: z.ZodBoolean;
186
+ custom: z.ZodBoolean;
187
+ flags: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
188
+ notifications: "notifications";
189
+ viewer: "viewer";
190
+ agents: "agents";
191
+ signIn: "signIn";
192
+ }>>>;
193
+ inUse: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
194
+ notifications: "notifications";
195
+ viewer: "viewer";
196
+ agents: "agents";
197
+ signIn: "signIn";
198
+ }>>>;
199
+ eligible: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
200
+ notifications: "notifications";
201
+ viewer: "viewer";
202
+ agents: "agents";
203
+ signIn: "signIn";
204
+ }>>>;
205
+ }, z.core.$strip>;
206
+ export type HubAddressRow = z.infer<typeof HubAddressRowSchema>;
207
+ declare const HubAddressBookSchema: z.ZodObject<{
208
+ rows: z.ZodReadonly<z.ZodArray<z.ZodObject<{
209
+ label: z.ZodString;
210
+ baseUrl: z.ZodString;
211
+ kind: z.ZodEnum<{
212
+ custom: "custom";
213
+ public: "public";
214
+ loopback: "loopback";
215
+ "lan-ipv4": "lan-ipv4";
216
+ "lan-ipv6": "lan-ipv6";
217
+ "app-link": "app-link";
218
+ }>;
219
+ interfaceKind: z.ZodEnum<{
220
+ public: "public";
221
+ docker: "docker";
222
+ lan: "lan";
223
+ wifi: "wifi";
224
+ vpn: "vpn";
225
+ loopback: "loopback";
226
+ other: "other";
227
+ }>;
228
+ plausible: z.ZodBoolean;
229
+ plausibleReason: z.ZodString;
230
+ priority: z.ZodNumber;
231
+ detected: z.ZodBoolean;
232
+ custom: z.ZodBoolean;
233
+ flags: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
234
+ notifications: "notifications";
235
+ viewer: "viewer";
236
+ agents: "agents";
237
+ signIn: "signIn";
238
+ }>>>;
239
+ inUse: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
240
+ notifications: "notifications";
241
+ viewer: "viewer";
242
+ agents: "agents";
243
+ signIn: "signIn";
244
+ }>>>;
245
+ eligible: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
246
+ notifications: "notifications";
247
+ viewer: "viewer";
248
+ agents: "agents";
249
+ signIn: "signIn";
250
+ }>>>;
251
+ }, z.core.$strip>>>;
252
+ roles: z.ZodObject<{
253
+ viewer: z.ZodObject<{
254
+ flagged: z.ZodReadonly<z.ZodArray<z.ZodString>>;
255
+ resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
256
+ source: z.ZodEnum<{
257
+ none: "none";
258
+ auto: "auto";
259
+ flagged: "flagged";
260
+ }>;
261
+ }, z.core.$strip>;
262
+ notifications: z.ZodObject<{
263
+ flagged: z.ZodNullable<z.ZodString>;
264
+ resolved: z.ZodNullable<z.ZodString>;
265
+ source: z.ZodEnum<{
266
+ none: "none";
267
+ auto: "auto";
268
+ flagged: "flagged";
269
+ }>;
270
+ }, z.core.$strip>;
271
+ agents: z.ZodObject<{
272
+ flagged: z.ZodNullable<z.ZodString>;
273
+ resolved: z.ZodNullable<z.ZodString>;
274
+ source: z.ZodEnum<{
275
+ none: "none";
276
+ auto: "auto";
277
+ flagged: "flagged";
278
+ }>;
279
+ }, z.core.$strip>;
280
+ signIn: z.ZodObject<{
281
+ flagged: z.ZodNullable<z.ZodString>;
282
+ resolved: z.ZodNullable<z.ZodString>;
283
+ source: z.ZodEnum<{
284
+ none: "none";
285
+ auto: "auto";
286
+ flagged: "flagged";
287
+ }>;
288
+ }, z.core.$strip>;
289
+ }, z.core.$strip>;
290
+ appLinkHub: z.ZodNullable<z.ZodString>;
291
+ }, z.core.$strip>;
292
+ export type HubAddressBook = z.infer<typeof HubAddressBookSchema>;
110
293
  export declare const localNetworkCapability: {
111
294
  readonly name: "local-network";
112
295
  readonly scope: "system";
@@ -215,6 +398,7 @@ export declare const localNetworkCapability: {
215
398
  label: z.ZodString;
216
399
  baseUrl: z.ZodString;
217
400
  kind: z.ZodEnum<{
401
+ custom: "custom";
218
402
  public: "public";
219
403
  loopback: "loopback";
220
404
  "lan-ipv4": "lan-ipv4";
@@ -266,10 +450,10 @@ export declare const localNetworkCapability: {
266
450
  appLinkHub: z.ZodNullable<z.ZodString>;
267
451
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
268
452
  /**
269
- * Mark which endpoint notification artifacts use. `baseUrl: null` restores
270
- * AUTO. The value is stored verbatim (not an index into the candidate
271
- * list): interfaces come and go, and an index would silently re-point at a
272
- * different address after a reboot.
453
+ * @deprecated Use `setAddressRole({ role: 'notifications', … })`. Kept so
454
+ * an older admin UI keeps working: it writes the same `notifications`
455
+ * flag, with the same validation. `baseUrl: null` restores automatic; an
456
+ * address that is not detected becomes a custom address.
273
457
  */
274
458
  readonly setNotificationEndpoint: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
275
459
  baseUrl: z.ZodNullable<z.ZodString>;
@@ -279,19 +463,20 @@ export declare const localNetworkCapability: {
279
463
  appLinkHub: z.ZodNullable<z.ZodString>;
280
464
  }, z.core.$strip>, "mutation">;
281
465
  /**
282
- * The endpoints the SDK / viewer races for API access. Empty `baseUrls`
283
- * means AUTO: every LAN IPv4 address plus the public tunnel, never IPv6,
284
- * never mesh, never loopback. `resolved` is that set (or the operator's
285
- * explicit subset) as it stands right now.
466
+ * The `viewer` role as shipped apps read it: the flagged addresses
467
+ * (detected or custom), or empty for AUTO — every LAN IPv4 address plus
468
+ * the public tunnel, never IPv6, mesh, loopback or a custom address.
469
+ * `resolved` is the set as it stands right now; the custom ones in it are
470
+ * also in `getConnectionEndpoints`, which the apps filter by it.
286
471
  */
287
472
  readonly getViewerEndpoints: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
288
473
  baseUrls: z.ZodReadonly<z.ZodArray<z.ZodString>>;
289
474
  resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
290
475
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
291
476
  /**
292
- * Replace the viewer race set. Empty `baseUrls` restores AUTO. Stored
293
- * verbatim (not indices) so a temporarily-down tunnel is not silently
294
- * dropped from the operator's choice.
477
+ * @deprecated Use `setAddressRole({ role: 'viewer', … })`. Kept so an
478
+ * older admin UI keeps working: it replaces the same `viewer` flags.
479
+ * Empty `baseUrls` restores automatic.
295
480
  */
296
481
  readonly setViewerEndpoints: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
297
482
  baseUrls: z.ZodReadonly<z.ZodArray<z.ZodString>>;
@@ -299,6 +484,415 @@ export declare const localNetworkCapability: {
299
484
  baseUrls: z.ZodReadonly<z.ZodArray<z.ZodString>>;
300
485
  resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
301
486
  }, z.core.$strip>, "mutation">;
487
+ /**
488
+ * The Network page's Addresses table and every role's answer — the ONE
489
+ * reading of "which address is this hub reached at, for what": detected
490
+ * endpoints and custom addresses with their role flags, and per role the
491
+ * flagged address, the one in use and whether it is automatic. Agent
492
+ * deliveries, sign-in and LAN devices read `roles.agents` / `roles.signIn`
493
+ * here; nothing ranks the palette itself. `scheme` is the one the caller
494
+ * shows LAN rows in (as `getConnectionEndpoints`); agents and sign-in are
495
+ * always resolved over the HTTPS palette.
496
+ */
497
+ readonly getAddresses: import("./capability-definition.js").CapabilityMethodSchema<z.ZodOptional<z.ZodObject<{
498
+ scheme: z.ZodOptional<z.ZodEnum<{
499
+ https: "https";
500
+ http: "http";
501
+ }>>;
502
+ }, z.core.$strip>>, z.ZodObject<{
503
+ rows: z.ZodReadonly<z.ZodArray<z.ZodObject<{
504
+ label: z.ZodString;
505
+ baseUrl: z.ZodString;
506
+ kind: z.ZodEnum<{
507
+ custom: "custom";
508
+ public: "public";
509
+ loopback: "loopback";
510
+ "lan-ipv4": "lan-ipv4";
511
+ "lan-ipv6": "lan-ipv6";
512
+ "app-link": "app-link";
513
+ }>;
514
+ interfaceKind: z.ZodEnum<{
515
+ public: "public";
516
+ docker: "docker";
517
+ lan: "lan";
518
+ wifi: "wifi";
519
+ vpn: "vpn";
520
+ loopback: "loopback";
521
+ other: "other";
522
+ }>;
523
+ plausible: z.ZodBoolean;
524
+ plausibleReason: z.ZodString;
525
+ priority: z.ZodNumber;
526
+ detected: z.ZodBoolean;
527
+ custom: z.ZodBoolean;
528
+ flags: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
529
+ notifications: "notifications";
530
+ viewer: "viewer";
531
+ agents: "agents";
532
+ signIn: "signIn";
533
+ }>>>;
534
+ inUse: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
535
+ notifications: "notifications";
536
+ viewer: "viewer";
537
+ agents: "agents";
538
+ signIn: "signIn";
539
+ }>>>;
540
+ eligible: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
541
+ notifications: "notifications";
542
+ viewer: "viewer";
543
+ agents: "agents";
544
+ signIn: "signIn";
545
+ }>>>;
546
+ }, z.core.$strip>>>;
547
+ roles: z.ZodObject<{
548
+ viewer: z.ZodObject<{
549
+ flagged: z.ZodReadonly<z.ZodArray<z.ZodString>>;
550
+ resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
551
+ source: z.ZodEnum<{
552
+ none: "none";
553
+ auto: "auto";
554
+ flagged: "flagged";
555
+ }>;
556
+ }, z.core.$strip>;
557
+ notifications: z.ZodObject<{
558
+ flagged: z.ZodNullable<z.ZodString>;
559
+ resolved: z.ZodNullable<z.ZodString>;
560
+ source: z.ZodEnum<{
561
+ none: "none";
562
+ auto: "auto";
563
+ flagged: "flagged";
564
+ }>;
565
+ }, z.core.$strip>;
566
+ agents: z.ZodObject<{
567
+ flagged: z.ZodNullable<z.ZodString>;
568
+ resolved: z.ZodNullable<z.ZodString>;
569
+ source: z.ZodEnum<{
570
+ none: "none";
571
+ auto: "auto";
572
+ flagged: "flagged";
573
+ }>;
574
+ }, z.core.$strip>;
575
+ signIn: z.ZodObject<{
576
+ flagged: z.ZodNullable<z.ZodString>;
577
+ resolved: z.ZodNullable<z.ZodString>;
578
+ source: z.ZodEnum<{
579
+ none: "none";
580
+ auto: "auto";
581
+ flagged: "flagged";
582
+ }>;
583
+ }, z.core.$strip>;
584
+ }, z.core.$strip>;
585
+ appLinkHub: z.ZodNullable<z.ZodString>;
586
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
587
+ /**
588
+ * Add a custom address. Validated: an http(s) origin with a host, no
589
+ * credentials, no path, never loopback — an invalid one is refused with
590
+ * the reason and nothing is stored. Adding an address that already exists
591
+ * only updates its label.
592
+ */
593
+ readonly addCustomAddress: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
594
+ baseUrl: z.ZodString;
595
+ label: z.ZodString;
596
+ }, z.core.$strip>, z.ZodObject<{
597
+ rows: z.ZodReadonly<z.ZodArray<z.ZodObject<{
598
+ label: z.ZodString;
599
+ baseUrl: z.ZodString;
600
+ kind: z.ZodEnum<{
601
+ custom: "custom";
602
+ public: "public";
603
+ loopback: "loopback";
604
+ "lan-ipv4": "lan-ipv4";
605
+ "lan-ipv6": "lan-ipv6";
606
+ "app-link": "app-link";
607
+ }>;
608
+ interfaceKind: z.ZodEnum<{
609
+ public: "public";
610
+ docker: "docker";
611
+ lan: "lan";
612
+ wifi: "wifi";
613
+ vpn: "vpn";
614
+ loopback: "loopback";
615
+ other: "other";
616
+ }>;
617
+ plausible: z.ZodBoolean;
618
+ plausibleReason: z.ZodString;
619
+ priority: z.ZodNumber;
620
+ detected: z.ZodBoolean;
621
+ custom: z.ZodBoolean;
622
+ flags: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
623
+ notifications: "notifications";
624
+ viewer: "viewer";
625
+ agents: "agents";
626
+ signIn: "signIn";
627
+ }>>>;
628
+ inUse: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
629
+ notifications: "notifications";
630
+ viewer: "viewer";
631
+ agents: "agents";
632
+ signIn: "signIn";
633
+ }>>>;
634
+ eligible: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
635
+ notifications: "notifications";
636
+ viewer: "viewer";
637
+ agents: "agents";
638
+ signIn: "signIn";
639
+ }>>>;
640
+ }, z.core.$strip>>>;
641
+ roles: z.ZodObject<{
642
+ viewer: z.ZodObject<{
643
+ flagged: z.ZodReadonly<z.ZodArray<z.ZodString>>;
644
+ resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
645
+ source: z.ZodEnum<{
646
+ none: "none";
647
+ auto: "auto";
648
+ flagged: "flagged";
649
+ }>;
650
+ }, z.core.$strip>;
651
+ notifications: z.ZodObject<{
652
+ flagged: z.ZodNullable<z.ZodString>;
653
+ resolved: z.ZodNullable<z.ZodString>;
654
+ source: z.ZodEnum<{
655
+ none: "none";
656
+ auto: "auto";
657
+ flagged: "flagged";
658
+ }>;
659
+ }, z.core.$strip>;
660
+ agents: z.ZodObject<{
661
+ flagged: z.ZodNullable<z.ZodString>;
662
+ resolved: z.ZodNullable<z.ZodString>;
663
+ source: z.ZodEnum<{
664
+ none: "none";
665
+ auto: "auto";
666
+ flagged: "flagged";
667
+ }>;
668
+ }, z.core.$strip>;
669
+ signIn: z.ZodObject<{
670
+ flagged: z.ZodNullable<z.ZodString>;
671
+ resolved: z.ZodNullable<z.ZodString>;
672
+ source: z.ZodEnum<{
673
+ none: "none";
674
+ auto: "auto";
675
+ flagged: "flagged";
676
+ }>;
677
+ }, z.core.$strip>;
678
+ }, z.core.$strip>;
679
+ appLinkHub: z.ZodNullable<z.ZodString>;
680
+ }, z.core.$strip>, "mutation">;
681
+ /** Remove a custom address. Its role flags go with it (those roles turn automatic). */
682
+ readonly removeCustomAddress: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
683
+ baseUrl: z.ZodString;
684
+ }, z.core.$strip>, z.ZodObject<{
685
+ rows: z.ZodReadonly<z.ZodArray<z.ZodObject<{
686
+ label: z.ZodString;
687
+ baseUrl: z.ZodString;
688
+ kind: z.ZodEnum<{
689
+ custom: "custom";
690
+ public: "public";
691
+ loopback: "loopback";
692
+ "lan-ipv4": "lan-ipv4";
693
+ "lan-ipv6": "lan-ipv6";
694
+ "app-link": "app-link";
695
+ }>;
696
+ interfaceKind: z.ZodEnum<{
697
+ public: "public";
698
+ docker: "docker";
699
+ lan: "lan";
700
+ wifi: "wifi";
701
+ vpn: "vpn";
702
+ loopback: "loopback";
703
+ other: "other";
704
+ }>;
705
+ plausible: z.ZodBoolean;
706
+ plausibleReason: z.ZodString;
707
+ priority: z.ZodNumber;
708
+ detected: z.ZodBoolean;
709
+ custom: z.ZodBoolean;
710
+ flags: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
711
+ notifications: "notifications";
712
+ viewer: "viewer";
713
+ agents: "agents";
714
+ signIn: "signIn";
715
+ }>>>;
716
+ inUse: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
717
+ notifications: "notifications";
718
+ viewer: "viewer";
719
+ agents: "agents";
720
+ signIn: "signIn";
721
+ }>>>;
722
+ eligible: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
723
+ notifications: "notifications";
724
+ viewer: "viewer";
725
+ agents: "agents";
726
+ signIn: "signIn";
727
+ }>>>;
728
+ }, z.core.$strip>>>;
729
+ roles: z.ZodObject<{
730
+ viewer: z.ZodObject<{
731
+ flagged: z.ZodReadonly<z.ZodArray<z.ZodString>>;
732
+ resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
733
+ source: z.ZodEnum<{
734
+ none: "none";
735
+ auto: "auto";
736
+ flagged: "flagged";
737
+ }>;
738
+ }, z.core.$strip>;
739
+ notifications: z.ZodObject<{
740
+ flagged: z.ZodNullable<z.ZodString>;
741
+ resolved: z.ZodNullable<z.ZodString>;
742
+ source: z.ZodEnum<{
743
+ none: "none";
744
+ auto: "auto";
745
+ flagged: "flagged";
746
+ }>;
747
+ }, z.core.$strip>;
748
+ agents: z.ZodObject<{
749
+ flagged: z.ZodNullable<z.ZodString>;
750
+ resolved: z.ZodNullable<z.ZodString>;
751
+ source: z.ZodEnum<{
752
+ none: "none";
753
+ auto: "auto";
754
+ flagged: "flagged";
755
+ }>;
756
+ }, z.core.$strip>;
757
+ signIn: z.ZodObject<{
758
+ flagged: z.ZodNullable<z.ZodString>;
759
+ resolved: z.ZodNullable<z.ZodString>;
760
+ source: z.ZodEnum<{
761
+ none: "none";
762
+ auto: "auto";
763
+ flagged: "flagged";
764
+ }>;
765
+ }, z.core.$strip>;
766
+ }, z.core.$strip>;
767
+ appLinkHub: z.ZodNullable<z.ZodString>;
768
+ }, z.core.$strip>, "mutation">;
769
+ /**
770
+ * Flag (`enabled: true`) or unflag an address for a role. For a
771
+ * single-valued role, flagging moves the flag off every other address.
772
+ * `baseUrl: null` returns the role to automatic. The address must be a row
773
+ * of the table (detected, custom, or the app link for notifications);
774
+ * `signIn` on a plain-http address is refused unless `acceptInsecureHttp`.
775
+ */
776
+ readonly setAddressRole: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
777
+ role: z.ZodEnum<{
778
+ notifications: "notifications";
779
+ viewer: "viewer";
780
+ agents: "agents";
781
+ signIn: "signIn";
782
+ }>;
783
+ baseUrl: z.ZodNullable<z.ZodString>;
784
+ enabled: z.ZodBoolean;
785
+ acceptInsecureHttp: z.ZodOptional<z.ZodBoolean>;
786
+ }, z.core.$strip>, z.ZodObject<{
787
+ rows: z.ZodReadonly<z.ZodArray<z.ZodObject<{
788
+ label: z.ZodString;
789
+ baseUrl: z.ZodString;
790
+ kind: z.ZodEnum<{
791
+ custom: "custom";
792
+ public: "public";
793
+ loopback: "loopback";
794
+ "lan-ipv4": "lan-ipv4";
795
+ "lan-ipv6": "lan-ipv6";
796
+ "app-link": "app-link";
797
+ }>;
798
+ interfaceKind: z.ZodEnum<{
799
+ public: "public";
800
+ docker: "docker";
801
+ lan: "lan";
802
+ wifi: "wifi";
803
+ vpn: "vpn";
804
+ loopback: "loopback";
805
+ other: "other";
806
+ }>;
807
+ plausible: z.ZodBoolean;
808
+ plausibleReason: z.ZodString;
809
+ priority: z.ZodNumber;
810
+ detected: z.ZodBoolean;
811
+ custom: z.ZodBoolean;
812
+ flags: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
813
+ notifications: "notifications";
814
+ viewer: "viewer";
815
+ agents: "agents";
816
+ signIn: "signIn";
817
+ }>>>;
818
+ inUse: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
819
+ notifications: "notifications";
820
+ viewer: "viewer";
821
+ agents: "agents";
822
+ signIn: "signIn";
823
+ }>>>;
824
+ eligible: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
825
+ notifications: "notifications";
826
+ viewer: "viewer";
827
+ agents: "agents";
828
+ signIn: "signIn";
829
+ }>>>;
830
+ }, z.core.$strip>>>;
831
+ roles: z.ZodObject<{
832
+ viewer: z.ZodObject<{
833
+ flagged: z.ZodReadonly<z.ZodArray<z.ZodString>>;
834
+ resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
835
+ source: z.ZodEnum<{
836
+ none: "none";
837
+ auto: "auto";
838
+ flagged: "flagged";
839
+ }>;
840
+ }, z.core.$strip>;
841
+ notifications: z.ZodObject<{
842
+ flagged: z.ZodNullable<z.ZodString>;
843
+ resolved: z.ZodNullable<z.ZodString>;
844
+ source: z.ZodEnum<{
845
+ none: "none";
846
+ auto: "auto";
847
+ flagged: "flagged";
848
+ }>;
849
+ }, z.core.$strip>;
850
+ agents: z.ZodObject<{
851
+ flagged: z.ZodNullable<z.ZodString>;
852
+ resolved: z.ZodNullable<z.ZodString>;
853
+ source: z.ZodEnum<{
854
+ none: "none";
855
+ auto: "auto";
856
+ flagged: "flagged";
857
+ }>;
858
+ }, z.core.$strip>;
859
+ signIn: z.ZodObject<{
860
+ flagged: z.ZodNullable<z.ZodString>;
861
+ resolved: z.ZodNullable<z.ZodString>;
862
+ source: z.ZodEnum<{
863
+ none: "none";
864
+ auto: "auto";
865
+ flagged: "flagged";
866
+ }>;
867
+ }, z.core.$strip>;
868
+ }, z.core.$strip>;
869
+ appLinkHub: z.ZodNullable<z.ZodString>;
870
+ }, z.core.$strip>, "mutation">;
871
+ /**
872
+ * @deprecated Read `getAddresses().roles.agents` / `.signIn`. Kept one
873
+ * release so an addon built against the D729 amendment keeps resolving:
874
+ * `cluster` = the `agents` role, `browser` = the `signIn` role.
875
+ */
876
+ readonly getHubAddresses: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
877
+ cluster: z.ZodObject<{
878
+ override: z.ZodNullable<z.ZodString>;
879
+ resolved: z.ZodNullable<z.ZodString>;
880
+ source: z.ZodEnum<{
881
+ none: "none";
882
+ override: "override";
883
+ auto: "auto";
884
+ }>;
885
+ }, z.core.$strip>;
886
+ browser: z.ZodObject<{
887
+ override: z.ZodNullable<z.ZodString>;
888
+ resolved: z.ZodNullable<z.ZodString>;
889
+ source: z.ZodEnum<{
890
+ none: "none";
891
+ override: "override";
892
+ auto: "auto";
893
+ }>;
894
+ }, z.core.$strip>;
895
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
302
896
  /**
303
897
  * Read the operator's allowlist. Empty = "auto" (no filter). Used
304
898
  * by the admin UI's address selector to seed its checkbox state.