@camstack/types 1.2.309 → 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.
@@ -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";
@@ -108,8 +109,9 @@ declare const ViewerEndpointsSchema: z.ZodObject<{
108
109
  }, z.core.$strip>;
109
110
  export type ViewerEndpoints = z.infer<typeof ViewerEndpointsSchema>;
110
111
  /**
111
- * One audience's hub address (see `hub-address.ts`): the operator's stored
112
- * override, the address in use, and where it came from.
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.
113
115
  */
114
116
  declare const HubAddressSnapshotSchema: z.ZodObject<{
115
117
  override: z.ZodNullable<z.ZodString>;
@@ -142,6 +144,152 @@ declare const HubAddressesSchema: z.ZodObject<{
142
144
  }, z.core.$strip>;
143
145
  export type HubAddresses = z.infer<typeof HubAddressesSchema>;
144
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>;
145
293
  export declare const localNetworkCapability: {
146
294
  readonly name: "local-network";
147
295
  readonly scope: "system";
@@ -250,6 +398,7 @@ export declare const localNetworkCapability: {
250
398
  label: z.ZodString;
251
399
  baseUrl: z.ZodString;
252
400
  kind: z.ZodEnum<{
401
+ custom: "custom";
253
402
  public: "public";
254
403
  loopback: "loopback";
255
404
  "lan-ipv4": "lan-ipv4";
@@ -301,10 +450,10 @@ export declare const localNetworkCapability: {
301
450
  appLinkHub: z.ZodNullable<z.ZodString>;
302
451
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
303
452
  /**
304
- * Mark which endpoint notification artifacts use. `baseUrl: null` restores
305
- * AUTO. The value is stored verbatim (not an index into the candidate
306
- * list): interfaces come and go, and an index would silently re-point at a
307
- * 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.
308
457
  */
309
458
  readonly setNotificationEndpoint: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
310
459
  baseUrl: z.ZodNullable<z.ZodString>;
@@ -314,19 +463,20 @@ export declare const localNetworkCapability: {
314
463
  appLinkHub: z.ZodNullable<z.ZodString>;
315
464
  }, z.core.$strip>, "mutation">;
316
465
  /**
317
- * The endpoints the SDK / viewer races for API access. Empty `baseUrls`
318
- * means AUTO: every LAN IPv4 address plus the public tunnel, never IPv6,
319
- * never mesh, never loopback. `resolved` is that set (or the operator's
320
- * 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.
321
471
  */
322
472
  readonly getViewerEndpoints: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
323
473
  baseUrls: z.ZodReadonly<z.ZodArray<z.ZodString>>;
324
474
  resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
325
475
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
326
476
  /**
327
- * Replace the viewer race set. Empty `baseUrls` restores AUTO. Stored
328
- * verbatim (not indices) so a temporarily-down tunnel is not silently
329
- * 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.
330
480
  */
331
481
  readonly setViewerEndpoints: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
332
482
  baseUrls: z.ZodReadonly<z.ZodArray<z.ZodString>>;
@@ -335,44 +485,395 @@ export declare const localNetworkCapability: {
335
485
  resolved: z.ZodReadonly<z.ZodArray<z.ZodString>>;
336
486
  }, z.core.$strip>, "mutation">;
337
487
  /**
338
- * The hub's address for each audience — agents (`cluster`) and sign-in
339
- * links (`browser`) — as every consumer must read it: the operator's
340
- * override when set, else the automatic pick from this cap's palette,
341
- * never loopback. The ONE answer to "at which address is this hub
342
- * reached?"; there is no environment variable for it.
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.
343
496
  */
344
- readonly getHubAddresses: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
345
- cluster: z.ZodObject<{
346
- override: z.ZodNullable<z.ZodString>;
347
- resolved: z.ZodNullable<z.ZodString>;
348
- source: z.ZodEnum<{
349
- none: "none";
350
- override: "override";
351
- auto: "auto";
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";
352
513
  }>;
353
- }, z.core.$strip>;
354
- browser: z.ZodObject<{
355
- override: z.ZodNullable<z.ZodString>;
356
- resolved: z.ZodNullable<z.ZodString>;
357
- source: z.ZodEnum<{
358
- none: "none";
359
- override: "override";
360
- auto: "auto";
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";
361
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>;
362
584
  }, z.core.$strip>;
585
+ appLinkHub: z.ZodNullable<z.ZodString>;
363
586
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
364
587
  /**
365
- * Set or clear (`baseUrl: null`) one audience's override. Validated: an
366
- * http(s) origin with a host, no credentials, no path, never loopback —
367
- * an invalid value is refused with the reason, nothing is stored.
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`.
368
775
  */
369
- readonly setHubAddress: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
370
- audience: z.ZodEnum<{
371
- cluster: "cluster";
372
- browser: "browser";
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";
373
782
  }>;
374
783
  baseUrl: z.ZodNullable<z.ZodString>;
784
+ enabled: z.ZodBoolean;
785
+ acceptInsecureHttp: z.ZodOptional<z.ZodBoolean>;
375
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<{
376
877
  cluster: z.ZodObject<{
377
878
  override: z.ZodNullable<z.ZodString>;
378
879
  resolved: z.ZodNullable<z.ZodString>;
@@ -391,7 +892,7 @@ export declare const localNetworkCapability: {
391
892
  auto: "auto";
392
893
  }>;
393
894
  }, z.core.$strip>;
394
- }, z.core.$strip>, "mutation">;
895
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
395
896
  /**
396
897
  * Read the operator's allowlist. Empty = "auto" (no filter). Used
397
898
  * by the admin UI's address selector to seed its checkbox state.