@camstack/addon-post-analysis 1.2.338 → 1.2.339
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/{clip-model-registry-BLUVLdlY.mjs → clip-model-registry-BKVUtnRA.mjs} +66 -47
- package/dist/{clip-model-registry-BcSLJ8aL.js → clip-model-registry-DlJT7zn4.js} +66 -47
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DDfv_NZB.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CF8ypDMO.mjs} +2 -2
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D3jDbheU.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BImFB0o5.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit-BTA95n_5.mjs → hostInit-DYVlvRBm.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +494 -429
- package/dist/pipeline-analytics/index.mjs +494 -429
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -19544,6 +19544,12 @@ function buildViewerLink(input) {
|
|
|
19544
19544
|
if (base === "" || isAppLinkBase(base)) return null;
|
|
19545
19545
|
return `${base}${HUB_VIEWER_MOUNT}${route.path}${encodeQuery(route.query)}`;
|
|
19546
19546
|
}
|
|
19547
|
+
var HUB_ADDRESS_ROLES = [
|
|
19548
|
+
"appConnections",
|
|
19549
|
+
"notificationTaps",
|
|
19550
|
+
"internal",
|
|
19551
|
+
"publicEndpoint"
|
|
19552
|
+
];
|
|
19547
19553
|
/**
|
|
19548
19554
|
* Transport bounds for AI capability methods.
|
|
19549
19555
|
*
|
|
@@ -24719,7 +24725,13 @@ var NcAlarmModeDelaysListSchema = array(object({
|
|
|
24719
24725
|
* Absent = false (logged, not sent). Even when true it is not sent when that same sensor
|
|
24720
24726
|
* is the one that starts the entry delay — the entry-delay notification already names it.
|
|
24721
24727
|
*/
|
|
24722
|
-
notifySensorRewatched: boolean().optional()
|
|
24728
|
+
notifySensorRewatched: boolean().optional(),
|
|
24729
|
+
/**
|
|
24730
|
+
* D735: notify "ignored" when a sensor this arm bypassed really MOVED while armed (its own
|
|
24731
|
+
* change time is after the arm) and set nothing off. Absent = false (logged, not sent). A
|
|
24732
|
+
* re-sync, a recovery from `unavailable` or a duplicate is never announced, switch or not.
|
|
24733
|
+
*/
|
|
24734
|
+
notifySensorIgnored: boolean().optional()
|
|
24723
24735
|
})).max(8).refine(uniqueModes, { message: "modeDelays: at most one entry per arm mode" });
|
|
24724
24736
|
var NcAlarmModeDelaysEditListSchema = array(object({
|
|
24725
24737
|
mode: AlarmArmModeSchema,
|
|
@@ -24732,7 +24744,9 @@ var NcAlarmModeDelaysEditListSchema = array(object({
|
|
|
24732
24744
|
/** D706: set the switch, or `null` to clear it (back to the default, false). */
|
|
24733
24745
|
notifyDuringEntryDelay: boolean().nullable().optional(),
|
|
24734
24746
|
/** D706: set the switch, or `null` to clear it (back to the default, false). */
|
|
24735
|
-
notifySensorRewatched: boolean().nullable().optional()
|
|
24747
|
+
notifySensorRewatched: boolean().nullable().optional(),
|
|
24748
|
+
/** D735: set the switch, or `null` to clear it (back to the default, false). */
|
|
24749
|
+
notifySensorIgnored: boolean().nullable().optional()
|
|
24736
24750
|
})).max(8).refine(uniqueModes, { message: "modeDelays: at most one edit per arm mode" });
|
|
24737
24751
|
/** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
|
|
24738
24752
|
var NcAlarmNonBlockingEditSchema = object({
|
|
@@ -39445,7 +39459,7 @@ var GetConnectionEndpointsResultSchema = object({
|
|
|
39445
39459
|
localPort: AdvertisedLocalPortSchema
|
|
39446
39460
|
});
|
|
39447
39461
|
/**
|
|
39448
|
-
* The address flagged for notification
|
|
39462
|
+
* The address flagged for notification taps (`notificationTaps`). `baseUrl: null` = AUTO, which
|
|
39449
39463
|
* since D709 is the CamStack app link; `resolved` reports the effective value,
|
|
39450
39464
|
* so the UI can show it either way.
|
|
39451
39465
|
*/
|
|
@@ -39480,8 +39494,8 @@ var ViewerEndpointsSchema = object({
|
|
|
39480
39494
|
});
|
|
39481
39495
|
/**
|
|
39482
39496
|
* DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
|
|
39483
|
-
*
|
|
39484
|
-
*
|
|
39497
|
+
* for addons built against it): `cluster` is the `internal` role, `browser`
|
|
39498
|
+
* the `publicEndpoint` role; `override` is the flagged address.
|
|
39485
39499
|
*/
|
|
39486
39500
|
var HubAddressSnapshotSchema = object({
|
|
39487
39501
|
override: string().nullable(),
|
|
@@ -39497,15 +39511,11 @@ var HubAddressesSchema = object({
|
|
|
39497
39511
|
browser: HubAddressSnapshotSchema
|
|
39498
39512
|
});
|
|
39499
39513
|
/**
|
|
39500
|
-
* What an address is used for (`hub-address.ts
|
|
39501
|
-
* `
|
|
39514
|
+
* What an address is used for (`hub-address.ts`, D734). `appConnections` is
|
|
39515
|
+
* many-valued; `notificationTaps`, `publicEndpoint` and `internal` are carried
|
|
39516
|
+
* by at most one address.
|
|
39502
39517
|
*/
|
|
39503
|
-
var HubAddressRoleSchema = _enum(
|
|
39504
|
-
"viewer",
|
|
39505
|
-
"notifications",
|
|
39506
|
-
"agents",
|
|
39507
|
-
"signIn"
|
|
39508
|
-
]);
|
|
39518
|
+
var HubAddressRoleSchema = _enum(HUB_ADDRESS_ROLES);
|
|
39509
39519
|
var RoleSourceSchema = _enum([
|
|
39510
39520
|
"flagged",
|
|
39511
39521
|
"auto",
|
|
@@ -39519,8 +39529,8 @@ var HubAddressRoleResolutionSchema = object({
|
|
|
39519
39529
|
resolved: string().nullable(),
|
|
39520
39530
|
source: RoleSourceSchema
|
|
39521
39531
|
});
|
|
39522
|
-
var
|
|
39523
|
-
/** The addresses flagged `
|
|
39532
|
+
var HubAppConnectionsResolutionSchema = object({
|
|
39533
|
+
/** The addresses flagged `appConnections`, or empty = automatic. */
|
|
39524
39534
|
flagged: array(string()).readonly(),
|
|
39525
39535
|
/** What the apps race right now. */
|
|
39526
39536
|
resolved: array(string()).readonly(),
|
|
@@ -39540,10 +39550,10 @@ var HubAddressBookSchema = object({
|
|
|
39540
39550
|
eligible: array(HubAddressRoleSchema).readonly()
|
|
39541
39551
|
})).readonly(),
|
|
39542
39552
|
roles: object({
|
|
39543
|
-
|
|
39544
|
-
|
|
39545
|
-
|
|
39546
|
-
|
|
39553
|
+
appConnections: HubAppConnectionsResolutionSchema,
|
|
39554
|
+
notificationTaps: HubAddressRoleResolutionSchema,
|
|
39555
|
+
internal: HubAddressRoleResolutionSchema,
|
|
39556
|
+
publicEndpoint: HubAddressRoleResolutionSchema
|
|
39547
39557
|
}),
|
|
39548
39558
|
/** The `hub=` an app link carries (D709), or null. */
|
|
39549
39559
|
appLinkHub: string().nullable()
|
|
@@ -39638,19 +39648,18 @@ var localNetworkCapability = {
|
|
|
39638
39648
|
* tunnel always emits `https://` regardless. */
|
|
39639
39649
|
scheme: _enum(["http", "https"]).optional(),
|
|
39640
39650
|
/** Append the CamStack app link entry (`kind: 'app-link'`, D709) —
|
|
39641
|
-
* an address notification
|
|
39651
|
+
* an address notification taps can be flagged with, not a hub
|
|
39642
39652
|
* route. Default `false`: racers and rankers never see it. */
|
|
39643
39653
|
includeAppLink: boolean().optional()
|
|
39644
39654
|
}), GetConnectionEndpointsResultSchema),
|
|
39645
39655
|
/**
|
|
39646
|
-
* The
|
|
39647
|
-
* AUTO, which is the CamStack app link (D709):
|
|
39648
|
-
* `https://camstack.zentik.app/…?hub=<appLinkHub>` and open the
|
|
39649
|
-
* hub address the palette lists can be flagged instead; then
|
|
39650
|
-
*
|
|
39651
|
-
*
|
|
39652
|
-
*
|
|
39653
|
-
* the LAN), never loopback.
|
|
39656
|
+
* The `notificationTaps` role (D734): where TAPPING a notification opens.
|
|
39657
|
+
* `baseUrl: null` means AUTO, which is the CamStack app link (D709): taps
|
|
39658
|
+
* go through `https://camstack.zentik.app/…?hub=<appLinkHub>` and open the
|
|
39659
|
+
* app. Any hub address the palette lists can be flagged instead; then a
|
|
39660
|
+
* tap opens that address. Only the tap: action buttons, attachment /
|
|
39661
|
+
* media links and admin links follow the `publicEndpoint` role
|
|
39662
|
+
* (`getAddresses().roles.publicEndpoint`), never this one.
|
|
39654
39663
|
*
|
|
39655
39664
|
* Why an explicit marker: the automatic ranking cannot know which of
|
|
39656
39665
|
* several reachable addresses the RECIPIENT can actually open. A link is
|
|
@@ -39660,14 +39669,13 @@ var localNetworkCapability = {
|
|
|
39660
39669
|
*/
|
|
39661
39670
|
getNotificationEndpoint: method(_void(), NotificationEndpointSchema),
|
|
39662
39671
|
/**
|
|
39663
|
-
* @deprecated Use `setAddressRole({ role: '
|
|
39664
|
-
*
|
|
39665
|
-
* flag, with the same validation. `baseUrl: null` restores automatic; an
|
|
39672
|
+
* @deprecated Use `setAddressRole({ role: 'notificationTaps', … })`. It
|
|
39673
|
+
* writes the same `notificationTaps` flag, with the same validation. `baseUrl: null` restores automatic; an
|
|
39666
39674
|
* address that is not detected becomes a custom address.
|
|
39667
39675
|
*/
|
|
39668
39676
|
setNotificationEndpoint: method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }),
|
|
39669
39677
|
/**
|
|
39670
|
-
* The `
|
|
39678
|
+
* The `appConnections` role as shipped apps read it: the flagged addresses
|
|
39671
39679
|
* (detected or custom), or empty for AUTO — every LAN IPv4 address plus
|
|
39672
39680
|
* the public tunnel, never IPv6, mesh, loopback or a custom address.
|
|
39673
39681
|
* `resolved` is the set as it stands right now; the custom ones in it are
|
|
@@ -39675,8 +39683,8 @@ var localNetworkCapability = {
|
|
|
39675
39683
|
*/
|
|
39676
39684
|
getViewerEndpoints: method(_void(), ViewerEndpointsSchema),
|
|
39677
39685
|
/**
|
|
39678
|
-
* @deprecated Use `setAddressRole({ role: '
|
|
39679
|
-
*
|
|
39686
|
+
* @deprecated Use `setAddressRole({ role: 'appConnections', … })`. It
|
|
39687
|
+
* replaces the same `appConnections` flags.
|
|
39680
39688
|
* Empty `baseUrls` restores automatic.
|
|
39681
39689
|
*/
|
|
39682
39690
|
setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
|
|
@@ -39685,10 +39693,12 @@ var localNetworkCapability = {
|
|
|
39685
39693
|
* reading of "which address is this hub reached at, for what": detected
|
|
39686
39694
|
* endpoints and custom addresses with their role flags, and per role the
|
|
39687
39695
|
* flagged address, the one in use and whether it is automatic. Agent
|
|
39688
|
-
* deliveries
|
|
39689
|
-
*
|
|
39690
|
-
*
|
|
39691
|
-
*
|
|
39696
|
+
* deliveries and LAN devices read `roles.internal`; sign-in, OAuth2 and
|
|
39697
|
+
* the notification centre's buttons / media / admin links read
|
|
39698
|
+
* `roles.publicEndpoint`; nothing ranks the palette itself. `scheme` is
|
|
39699
|
+
* the one the caller shows LAN rows in (as `getConnectionEndpoints`);
|
|
39700
|
+
* `internal` and `publicEndpoint` are always resolved over the HTTPS
|
|
39701
|
+
* palette.
|
|
39692
39702
|
*/
|
|
39693
39703
|
getAddresses: method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema),
|
|
39694
39704
|
/**
|
|
@@ -39713,8 +39723,9 @@ var localNetworkCapability = {
|
|
|
39713
39723
|
* Flag (`enabled: true`) or unflag an address for a role. For a
|
|
39714
39724
|
* single-valued role, flagging moves the flag off every other address.
|
|
39715
39725
|
* `baseUrl: null` returns the role to automatic. The address must be a row
|
|
39716
|
-
* of the table (detected, custom, or the app link for
|
|
39717
|
-
* `
|
|
39726
|
+
* of the table (detected, custom, or the app link for `notificationTaps`);
|
|
39727
|
+
* `publicEndpoint` on a plain-http address is refused unless
|
|
39728
|
+
* `acceptInsecureHttp`, and never takes the app link.
|
|
39718
39729
|
*/
|
|
39719
39730
|
setAddressRole: method(object({
|
|
39720
39731
|
role: HubAddressRoleSchema,
|
|
@@ -39726,9 +39737,9 @@ var localNetworkCapability = {
|
|
|
39726
39737
|
auth: "admin"
|
|
39727
39738
|
}),
|
|
39728
39739
|
/**
|
|
39729
|
-
* @deprecated Read `getAddresses().roles.
|
|
39730
|
-
*
|
|
39731
|
-
* `cluster` = the `
|
|
39740
|
+
* @deprecated Read `getAddresses().roles.internal` / `.publicEndpoint`.
|
|
39741
|
+
* Kept so an addon built against the D729 amendment keeps resolving:
|
|
39742
|
+
* `cluster` = the `internal` role, `browser` = the `publicEndpoint` role.
|
|
39732
39743
|
*/
|
|
39733
39744
|
getHubAddresses: method(_void(), HubAddressesSchema),
|
|
39734
39745
|
/**
|
|
@@ -61010,17 +61021,23 @@ var NC_ALARM_DELAY_FIELDS = [
|
|
|
61010
61021
|
* all read this one constant.
|
|
61011
61022
|
*/
|
|
61012
61023
|
var NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC = 30;
|
|
61013
|
-
var NC_ALARM_NOTIFY_FIELDS = [
|
|
61024
|
+
var NC_ALARM_NOTIFY_FIELDS = [
|
|
61025
|
+
"notifyDuringEntryDelay",
|
|
61026
|
+
"notifySensorRewatched",
|
|
61027
|
+
"notifySensorIgnored"
|
|
61028
|
+
];
|
|
61014
61029
|
/**
|
|
61015
61030
|
* The switches `mode` runs on. There is no global value: absent is OFF (operator decision
|
|
61016
61031
|
* 2026-10-06 — the entry-delay notification is the only one by default, and "watched again"
|
|
61017
|
-
* is not sent). An answer from an older hub carries no
|
|
61032
|
+
* is not sent; 2026-10-07 — nor is "ignored", D735). An answer from an older hub carries no
|
|
61033
|
+
* switch and reads as off.
|
|
61018
61034
|
*/
|
|
61019
61035
|
function resolveModeNotifyPolicy(settings, mode) {
|
|
61020
61036
|
const entry = (settings.modeDelays ?? []).find((e) => e.mode === mode);
|
|
61021
61037
|
return {
|
|
61022
61038
|
notifyDuringEntryDelay: entry?.notifyDuringEntryDelay === true,
|
|
61023
|
-
notifySensorRewatched: entry?.notifySensorRewatched === true
|
|
61039
|
+
notifySensorRewatched: entry?.notifySensorRewatched === true,
|
|
61040
|
+
notifySensorIgnored: entry?.notifySensorIgnored === true
|
|
61024
61041
|
};
|
|
61025
61042
|
}
|
|
61026
61043
|
/**
|
|
@@ -61097,6 +61114,7 @@ function applyModeDelaysEdits(current, edits) {
|
|
|
61097
61114
|
const schedule = editedSchedule(base.schedule, edit.schedule);
|
|
61098
61115
|
const duringEntry = editedFlag(base.notifyDuringEntryDelay, edit.notifyDuringEntryDelay);
|
|
61099
61116
|
const rewatched = editedFlag(base.notifySensorRewatched, edit.notifySensorRewatched);
|
|
61117
|
+
const ignored = editedFlag(base.notifySensorIgnored, edit.notifySensorIgnored);
|
|
61100
61118
|
if (exit !== void 0) next.exitDelaySec = exit;
|
|
61101
61119
|
if (entry !== void 0) next.entryDelaySec = entry;
|
|
61102
61120
|
if (triggered !== void 0) next.triggeredDurationSec = triggered;
|
|
@@ -61104,10 +61122,11 @@ function applyModeDelaysEdits(current, edits) {
|
|
|
61104
61122
|
if (schedule !== void 0) next.schedule = schedule;
|
|
61105
61123
|
if (duringEntry !== void 0) next.notifyDuringEntryDelay = duringEntry;
|
|
61106
61124
|
if (rewatched !== void 0) next.notifySensorRewatched = rewatched;
|
|
61125
|
+
if (ignored !== void 0) next.notifySensorIgnored = ignored;
|
|
61107
61126
|
if (at >= 0) out[at] = next;
|
|
61108
61127
|
else out.push(next);
|
|
61109
61128
|
}
|
|
61110
|
-
return out.filter((e) => e.exitDelaySec !== void 0 || e.entryDelaySec !== void 0 || e.triggeredDurationSec !== void 0 || e.postTriggeredAction !== void 0 || e.schedule !== void 0 || e.notifyDuringEntryDelay !== void 0 || e.notifySensorRewatched !== void 0);
|
|
61129
|
+
return out.filter((e) => e.exitDelaySec !== void 0 || e.entryDelaySec !== void 0 || e.triggeredDurationSec !== void 0 || e.postTriggeredAction !== void 0 || e.schedule !== void 0 || e.notifyDuringEntryDelay !== void 0 || e.notifySensorRewatched !== void 0 || e.notifySensorIgnored !== void 0);
|
|
61111
61130
|
}
|
|
61112
61131
|
/**
|
|
61113
61132
|
* Put ONE device on, or take it off, ONE mode's device-id list. A no-op answers
|
|
@@ -19575,6 +19575,12 @@ function buildViewerLink(input) {
|
|
|
19575
19575
|
if (base === "" || isAppLinkBase(base)) return null;
|
|
19576
19576
|
return `${base}${HUB_VIEWER_MOUNT}${route.path}${encodeQuery(route.query)}`;
|
|
19577
19577
|
}
|
|
19578
|
+
var HUB_ADDRESS_ROLES = [
|
|
19579
|
+
"appConnections",
|
|
19580
|
+
"notificationTaps",
|
|
19581
|
+
"internal",
|
|
19582
|
+
"publicEndpoint"
|
|
19583
|
+
];
|
|
19578
19584
|
/**
|
|
19579
19585
|
* Transport bounds for AI capability methods.
|
|
19580
19586
|
*
|
|
@@ -24750,7 +24756,13 @@ var NcAlarmModeDelaysListSchema = array(object({
|
|
|
24750
24756
|
* Absent = false (logged, not sent). Even when true it is not sent when that same sensor
|
|
24751
24757
|
* is the one that starts the entry delay — the entry-delay notification already names it.
|
|
24752
24758
|
*/
|
|
24753
|
-
notifySensorRewatched: boolean().optional()
|
|
24759
|
+
notifySensorRewatched: boolean().optional(),
|
|
24760
|
+
/**
|
|
24761
|
+
* D735: notify "ignored" when a sensor this arm bypassed really MOVED while armed (its own
|
|
24762
|
+
* change time is after the arm) and set nothing off. Absent = false (logged, not sent). A
|
|
24763
|
+
* re-sync, a recovery from `unavailable` or a duplicate is never announced, switch or not.
|
|
24764
|
+
*/
|
|
24765
|
+
notifySensorIgnored: boolean().optional()
|
|
24754
24766
|
})).max(8).refine(uniqueModes, { message: "modeDelays: at most one entry per arm mode" });
|
|
24755
24767
|
var NcAlarmModeDelaysEditListSchema = array(object({
|
|
24756
24768
|
mode: AlarmArmModeSchema,
|
|
@@ -24763,7 +24775,9 @@ var NcAlarmModeDelaysEditListSchema = array(object({
|
|
|
24763
24775
|
/** D706: set the switch, or `null` to clear it (back to the default, false). */
|
|
24764
24776
|
notifyDuringEntryDelay: boolean().nullable().optional(),
|
|
24765
24777
|
/** D706: set the switch, or `null` to clear it (back to the default, false). */
|
|
24766
|
-
notifySensorRewatched: boolean().nullable().optional()
|
|
24778
|
+
notifySensorRewatched: boolean().nullable().optional(),
|
|
24779
|
+
/** D735: set the switch, or `null` to clear it (back to the default, false). */
|
|
24780
|
+
notifySensorIgnored: boolean().nullable().optional()
|
|
24767
24781
|
})).max(8).refine(uniqueModes, { message: "modeDelays: at most one edit per arm mode" });
|
|
24768
24782
|
/** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
|
|
24769
24783
|
var NcAlarmNonBlockingEditSchema = object({
|
|
@@ -39476,7 +39490,7 @@ var GetConnectionEndpointsResultSchema = object({
|
|
|
39476
39490
|
localPort: AdvertisedLocalPortSchema
|
|
39477
39491
|
});
|
|
39478
39492
|
/**
|
|
39479
|
-
* The address flagged for notification
|
|
39493
|
+
* The address flagged for notification taps (`notificationTaps`). `baseUrl: null` = AUTO, which
|
|
39480
39494
|
* since D709 is the CamStack app link; `resolved` reports the effective value,
|
|
39481
39495
|
* so the UI can show it either way.
|
|
39482
39496
|
*/
|
|
@@ -39511,8 +39525,8 @@ var ViewerEndpointsSchema = object({
|
|
|
39511
39525
|
});
|
|
39512
39526
|
/**
|
|
39513
39527
|
* DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
|
|
39514
|
-
*
|
|
39515
|
-
*
|
|
39528
|
+
* for addons built against it): `cluster` is the `internal` role, `browser`
|
|
39529
|
+
* the `publicEndpoint` role; `override` is the flagged address.
|
|
39516
39530
|
*/
|
|
39517
39531
|
var HubAddressSnapshotSchema = object({
|
|
39518
39532
|
override: string().nullable(),
|
|
@@ -39528,15 +39542,11 @@ var HubAddressesSchema = object({
|
|
|
39528
39542
|
browser: HubAddressSnapshotSchema
|
|
39529
39543
|
});
|
|
39530
39544
|
/**
|
|
39531
|
-
* What an address is used for (`hub-address.ts
|
|
39532
|
-
* `
|
|
39545
|
+
* What an address is used for (`hub-address.ts`, D734). `appConnections` is
|
|
39546
|
+
* many-valued; `notificationTaps`, `publicEndpoint` and `internal` are carried
|
|
39547
|
+
* by at most one address.
|
|
39533
39548
|
*/
|
|
39534
|
-
var HubAddressRoleSchema = _enum(
|
|
39535
|
-
"viewer",
|
|
39536
|
-
"notifications",
|
|
39537
|
-
"agents",
|
|
39538
|
-
"signIn"
|
|
39539
|
-
]);
|
|
39549
|
+
var HubAddressRoleSchema = _enum(HUB_ADDRESS_ROLES);
|
|
39540
39550
|
var RoleSourceSchema = _enum([
|
|
39541
39551
|
"flagged",
|
|
39542
39552
|
"auto",
|
|
@@ -39550,8 +39560,8 @@ var HubAddressRoleResolutionSchema = object({
|
|
|
39550
39560
|
resolved: string().nullable(),
|
|
39551
39561
|
source: RoleSourceSchema
|
|
39552
39562
|
});
|
|
39553
|
-
var
|
|
39554
|
-
/** The addresses flagged `
|
|
39563
|
+
var HubAppConnectionsResolutionSchema = object({
|
|
39564
|
+
/** The addresses flagged `appConnections`, or empty = automatic. */
|
|
39555
39565
|
flagged: array(string()).readonly(),
|
|
39556
39566
|
/** What the apps race right now. */
|
|
39557
39567
|
resolved: array(string()).readonly(),
|
|
@@ -39571,10 +39581,10 @@ var HubAddressBookSchema = object({
|
|
|
39571
39581
|
eligible: array(HubAddressRoleSchema).readonly()
|
|
39572
39582
|
})).readonly(),
|
|
39573
39583
|
roles: object({
|
|
39574
|
-
|
|
39575
|
-
|
|
39576
|
-
|
|
39577
|
-
|
|
39584
|
+
appConnections: HubAppConnectionsResolutionSchema,
|
|
39585
|
+
notificationTaps: HubAddressRoleResolutionSchema,
|
|
39586
|
+
internal: HubAddressRoleResolutionSchema,
|
|
39587
|
+
publicEndpoint: HubAddressRoleResolutionSchema
|
|
39578
39588
|
}),
|
|
39579
39589
|
/** The `hub=` an app link carries (D709), or null. */
|
|
39580
39590
|
appLinkHub: string().nullable()
|
|
@@ -39669,19 +39679,18 @@ var localNetworkCapability = {
|
|
|
39669
39679
|
* tunnel always emits `https://` regardless. */
|
|
39670
39680
|
scheme: _enum(["http", "https"]).optional(),
|
|
39671
39681
|
/** Append the CamStack app link entry (`kind: 'app-link'`, D709) —
|
|
39672
|
-
* an address notification
|
|
39682
|
+
* an address notification taps can be flagged with, not a hub
|
|
39673
39683
|
* route. Default `false`: racers and rankers never see it. */
|
|
39674
39684
|
includeAppLink: boolean().optional()
|
|
39675
39685
|
}), GetConnectionEndpointsResultSchema),
|
|
39676
39686
|
/**
|
|
39677
|
-
* The
|
|
39678
|
-
* AUTO, which is the CamStack app link (D709):
|
|
39679
|
-
* `https://camstack.zentik.app/…?hub=<appLinkHub>` and open the
|
|
39680
|
-
* hub address the palette lists can be flagged instead; then
|
|
39681
|
-
*
|
|
39682
|
-
*
|
|
39683
|
-
*
|
|
39684
|
-
* the LAN), never loopback.
|
|
39687
|
+
* The `notificationTaps` role (D734): where TAPPING a notification opens.
|
|
39688
|
+
* `baseUrl: null` means AUTO, which is the CamStack app link (D709): taps
|
|
39689
|
+
* go through `https://camstack.zentik.app/…?hub=<appLinkHub>` and open the
|
|
39690
|
+
* app. Any hub address the palette lists can be flagged instead; then a
|
|
39691
|
+
* tap opens that address. Only the tap: action buttons, attachment /
|
|
39692
|
+
* media links and admin links follow the `publicEndpoint` role
|
|
39693
|
+
* (`getAddresses().roles.publicEndpoint`), never this one.
|
|
39685
39694
|
*
|
|
39686
39695
|
* Why an explicit marker: the automatic ranking cannot know which of
|
|
39687
39696
|
* several reachable addresses the RECIPIENT can actually open. A link is
|
|
@@ -39691,14 +39700,13 @@ var localNetworkCapability = {
|
|
|
39691
39700
|
*/
|
|
39692
39701
|
getNotificationEndpoint: method(_void(), NotificationEndpointSchema),
|
|
39693
39702
|
/**
|
|
39694
|
-
* @deprecated Use `setAddressRole({ role: '
|
|
39695
|
-
*
|
|
39696
|
-
* flag, with the same validation. `baseUrl: null` restores automatic; an
|
|
39703
|
+
* @deprecated Use `setAddressRole({ role: 'notificationTaps', … })`. It
|
|
39704
|
+
* writes the same `notificationTaps` flag, with the same validation. `baseUrl: null` restores automatic; an
|
|
39697
39705
|
* address that is not detected becomes a custom address.
|
|
39698
39706
|
*/
|
|
39699
39707
|
setNotificationEndpoint: method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }),
|
|
39700
39708
|
/**
|
|
39701
|
-
* The `
|
|
39709
|
+
* The `appConnections` role as shipped apps read it: the flagged addresses
|
|
39702
39710
|
* (detected or custom), or empty for AUTO — every LAN IPv4 address plus
|
|
39703
39711
|
* the public tunnel, never IPv6, mesh, loopback or a custom address.
|
|
39704
39712
|
* `resolved` is the set as it stands right now; the custom ones in it are
|
|
@@ -39706,8 +39714,8 @@ var localNetworkCapability = {
|
|
|
39706
39714
|
*/
|
|
39707
39715
|
getViewerEndpoints: method(_void(), ViewerEndpointsSchema),
|
|
39708
39716
|
/**
|
|
39709
|
-
* @deprecated Use `setAddressRole({ role: '
|
|
39710
|
-
*
|
|
39717
|
+
* @deprecated Use `setAddressRole({ role: 'appConnections', … })`. It
|
|
39718
|
+
* replaces the same `appConnections` flags.
|
|
39711
39719
|
* Empty `baseUrls` restores automatic.
|
|
39712
39720
|
*/
|
|
39713
39721
|
setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
|
|
@@ -39716,10 +39724,12 @@ var localNetworkCapability = {
|
|
|
39716
39724
|
* reading of "which address is this hub reached at, for what": detected
|
|
39717
39725
|
* endpoints and custom addresses with their role flags, and per role the
|
|
39718
39726
|
* flagged address, the one in use and whether it is automatic. Agent
|
|
39719
|
-
* deliveries
|
|
39720
|
-
*
|
|
39721
|
-
*
|
|
39722
|
-
*
|
|
39727
|
+
* deliveries and LAN devices read `roles.internal`; sign-in, OAuth2 and
|
|
39728
|
+
* the notification centre's buttons / media / admin links read
|
|
39729
|
+
* `roles.publicEndpoint`; nothing ranks the palette itself. `scheme` is
|
|
39730
|
+
* the one the caller shows LAN rows in (as `getConnectionEndpoints`);
|
|
39731
|
+
* `internal` and `publicEndpoint` are always resolved over the HTTPS
|
|
39732
|
+
* palette.
|
|
39723
39733
|
*/
|
|
39724
39734
|
getAddresses: method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema),
|
|
39725
39735
|
/**
|
|
@@ -39744,8 +39754,9 @@ var localNetworkCapability = {
|
|
|
39744
39754
|
* Flag (`enabled: true`) or unflag an address for a role. For a
|
|
39745
39755
|
* single-valued role, flagging moves the flag off every other address.
|
|
39746
39756
|
* `baseUrl: null` returns the role to automatic. The address must be a row
|
|
39747
|
-
* of the table (detected, custom, or the app link for
|
|
39748
|
-
* `
|
|
39757
|
+
* of the table (detected, custom, or the app link for `notificationTaps`);
|
|
39758
|
+
* `publicEndpoint` on a plain-http address is refused unless
|
|
39759
|
+
* `acceptInsecureHttp`, and never takes the app link.
|
|
39749
39760
|
*/
|
|
39750
39761
|
setAddressRole: method(object({
|
|
39751
39762
|
role: HubAddressRoleSchema,
|
|
@@ -39757,9 +39768,9 @@ var localNetworkCapability = {
|
|
|
39757
39768
|
auth: "admin"
|
|
39758
39769
|
}),
|
|
39759
39770
|
/**
|
|
39760
|
-
* @deprecated Read `getAddresses().roles.
|
|
39761
|
-
*
|
|
39762
|
-
* `cluster` = the `
|
|
39771
|
+
* @deprecated Read `getAddresses().roles.internal` / `.publicEndpoint`.
|
|
39772
|
+
* Kept so an addon built against the D729 amendment keeps resolving:
|
|
39773
|
+
* `cluster` = the `internal` role, `browser` = the `publicEndpoint` role.
|
|
39763
39774
|
*/
|
|
39764
39775
|
getHubAddresses: method(_void(), HubAddressesSchema),
|
|
39765
39776
|
/**
|
|
@@ -61041,17 +61052,23 @@ var NC_ALARM_DELAY_FIELDS = [
|
|
|
61041
61052
|
* all read this one constant.
|
|
61042
61053
|
*/
|
|
61043
61054
|
var NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC = 30;
|
|
61044
|
-
var NC_ALARM_NOTIFY_FIELDS = [
|
|
61055
|
+
var NC_ALARM_NOTIFY_FIELDS = [
|
|
61056
|
+
"notifyDuringEntryDelay",
|
|
61057
|
+
"notifySensorRewatched",
|
|
61058
|
+
"notifySensorIgnored"
|
|
61059
|
+
];
|
|
61045
61060
|
/**
|
|
61046
61061
|
* The switches `mode` runs on. There is no global value: absent is OFF (operator decision
|
|
61047
61062
|
* 2026-10-06 — the entry-delay notification is the only one by default, and "watched again"
|
|
61048
|
-
* is not sent). An answer from an older hub carries no
|
|
61063
|
+
* is not sent; 2026-10-07 — nor is "ignored", D735). An answer from an older hub carries no
|
|
61064
|
+
* switch and reads as off.
|
|
61049
61065
|
*/
|
|
61050
61066
|
function resolveModeNotifyPolicy(settings, mode) {
|
|
61051
61067
|
const entry = (settings.modeDelays ?? []).find((e) => e.mode === mode);
|
|
61052
61068
|
return {
|
|
61053
61069
|
notifyDuringEntryDelay: entry?.notifyDuringEntryDelay === true,
|
|
61054
|
-
notifySensorRewatched: entry?.notifySensorRewatched === true
|
|
61070
|
+
notifySensorRewatched: entry?.notifySensorRewatched === true,
|
|
61071
|
+
notifySensorIgnored: entry?.notifySensorIgnored === true
|
|
61055
61072
|
};
|
|
61056
61073
|
}
|
|
61057
61074
|
/**
|
|
@@ -61128,6 +61145,7 @@ function applyModeDelaysEdits(current, edits) {
|
|
|
61128
61145
|
const schedule = editedSchedule(base.schedule, edit.schedule);
|
|
61129
61146
|
const duringEntry = editedFlag(base.notifyDuringEntryDelay, edit.notifyDuringEntryDelay);
|
|
61130
61147
|
const rewatched = editedFlag(base.notifySensorRewatched, edit.notifySensorRewatched);
|
|
61148
|
+
const ignored = editedFlag(base.notifySensorIgnored, edit.notifySensorIgnored);
|
|
61131
61149
|
if (exit !== void 0) next.exitDelaySec = exit;
|
|
61132
61150
|
if (entry !== void 0) next.entryDelaySec = entry;
|
|
61133
61151
|
if (triggered !== void 0) next.triggeredDurationSec = triggered;
|
|
@@ -61135,10 +61153,11 @@ function applyModeDelaysEdits(current, edits) {
|
|
|
61135
61153
|
if (schedule !== void 0) next.schedule = schedule;
|
|
61136
61154
|
if (duringEntry !== void 0) next.notifyDuringEntryDelay = duringEntry;
|
|
61137
61155
|
if (rewatched !== void 0) next.notifySensorRewatched = rewatched;
|
|
61156
|
+
if (ignored !== void 0) next.notifySensorIgnored = ignored;
|
|
61138
61157
|
if (at >= 0) out[at] = next;
|
|
61139
61158
|
else out.push(next);
|
|
61140
61159
|
}
|
|
61141
|
-
return out.filter((e) => e.exitDelaySec !== void 0 || e.entryDelaySec !== void 0 || e.triggeredDurationSec !== void 0 || e.postTriggeredAction !== void 0 || e.schedule !== void 0 || e.notifyDuringEntryDelay !== void 0 || e.notifySensorRewatched !== void 0);
|
|
61160
|
+
return out.filter((e) => e.exitDelaySec !== void 0 || e.entryDelaySec !== void 0 || e.triggeredDurationSec !== void 0 || e.postTriggeredAction !== void 0 || e.schedule !== void 0 || e.notifyDuringEntryDelay !== void 0 || e.notifySensorRewatched !== void 0 || e.notifySensorIgnored !== void 0);
|
|
61142
61161
|
}
|
|
61143
61162
|
/**
|
|
61144
61163
|
* Put ONE device on, or take it off, ONE mode's device-id list. A no-op answers
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_clip_model_registry = require("../clip-model-registry-
|
|
5
|
+
const require_clip_model_registry = require("../clip-model-registry-DlJT7zn4.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_clip_model_registry.__toESM(node_fs);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ci as normalizeNodeId, Jn as embeddingEncoderCapability, Or as parseProcStatus, Qn as embeddingRequirementsUnavailableError, Yn as embeddingModelFailedError, Zn as embeddingRequirementsFailedError, Zt as PoolMemoryWatchdog, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, hi as BaseAddon, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, zr as resolvePoolMemoryPolicy } from "../clip-model-registry-
|
|
1
|
+
import { Ci as normalizeNodeId, Jn as embeddingEncoderCapability, Or as parseProcStatus, Qn as embeddingRequirementsUnavailableError, Yn as embeddingModelFailedError, Zn as embeddingRequirementsFailedError, Zt as PoolMemoryWatchdog, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, hi as BaseAddon, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, zr as resolvePoolMemoryPolicy } from "../clip-model-registry-BKVUtnRA.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -2,7 +2,7 @@ import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_i
|
|
|
2
2
|
import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
|
|
3
3
|
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BRmdbHeK.mjs";
|
|
4
4
|
import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
|
|
5
|
-
import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
5
|
+
import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BImFB0o5.mjs";
|
|
6
6
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
7
7
|
var v = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), y = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), b = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), x = (e) => {
|
|
8
8
|
let t = b(e);
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.311",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.237",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|