@camstack/addon-post-analysis 1.2.338 → 1.2.340

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.
@@ -11537,8 +11537,19 @@ var LABEL_SUPPLY_STEP_IDS = [
11537
11537
  ];
11538
11538
  /** Steps whose box a root detection can BE. */
11539
11539
  var CROP_SUPPLY_STEP_IDS = ["plate-detection", "face-detection"];
11540
+ /**
11541
+ * Steps whose per-detection MASK a root detection can carry (D737). The live
11542
+ * mask step is `segmentation` — a frame-plane refiner that runs its own model
11543
+ * once per detection crop. (`instance-segmentation` is a dormant step id that
11544
+ * no camera tree carries.)
11545
+ */
11546
+ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
11540
11547
  /** Every step a root model can supply. */
11541
- var ROOT_SUPPLIABLE_STEP_IDS = [...LABEL_SUPPLY_STEP_IDS, ...CROP_SUPPLY_STEP_IDS];
11548
+ var ROOT_SUPPLIABLE_STEP_IDS = [
11549
+ ...LABEL_SUPPLY_STEP_IDS,
11550
+ ...CROP_SUPPLY_STEP_IDS,
11551
+ ...MASK_SUPPLY_STEP_IDS
11552
+ ];
11542
11553
  /** Narrow a step id to a suppliable one — type guard, not a cast. */
11543
11554
  function isRootSuppliableStepId(value) {
11544
11555
  return ROOT_SUPPLIABLE_STEP_IDS.some((id) => id === value);
@@ -11717,25 +11728,36 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
11717
11728
  * - `crop`: the root draws the box the step would have found (`license_plate`
11718
11729
  * for plate-detection, `face` for face-detection). The box becomes a detail
11719
11730
  * child of the `parentMacro` detection that contains it — never a track.
11731
+ * - `mask`: the root's decode emits an instance mask with every detection (a
11732
+ * YOLO26-seg root, D737) — the `segmentation` step's result, carried on the
11733
+ * detection in the shape that step produces. Derived from the model's
11734
+ * postprocessor on read, never stored by an import.
11720
11735
  */
11721
- var RootStepSupplySchema = discriminatedUnion("kind", [object({
11722
- kind: literal("label"),
11723
- stepId: _enum(LABEL_SUPPLY_STEP_IDS),
11724
- labelToEffect: record(string(), string()),
11725
- uncovered: array(string()).readonly()
11726
- }), object({
11727
- kind: literal("crop"),
11728
- stepId: _enum(CROP_SUPPLY_STEP_IDS),
11729
- rootLabels: array(string()).readonly(),
11730
- parentMacro: _enum(["vehicle", "person"]),
11731
- childClass: _enum(["plate", "face"]),
11732
- /**
11733
- * The root's smaller input side, stamped on read by `rootSuppliesOf` from
11734
- * the model entry — what a step's `minRootInputPx` gate judges. Never
11735
- * stored by an import.
11736
- */
11737
- rootInputPx: number().int().positive().optional()
11738
- })]);
11736
+ var RootStepSupplySchema = discriminatedUnion("kind", [
11737
+ object({
11738
+ kind: literal("label"),
11739
+ stepId: _enum(LABEL_SUPPLY_STEP_IDS),
11740
+ labelToEffect: record(string(), string()),
11741
+ uncovered: array(string()).readonly()
11742
+ }),
11743
+ object({
11744
+ kind: literal("crop"),
11745
+ stepId: _enum(CROP_SUPPLY_STEP_IDS),
11746
+ rootLabels: array(string()).readonly(),
11747
+ parentMacro: _enum(["vehicle", "person"]),
11748
+ childClass: _enum(["plate", "face"]),
11749
+ /**
11750
+ * The root's smaller input side, stamped on read by `rootSuppliesOf` from
11751
+ * the model entry — what a step's `minRootInputPx` gate judges. Never
11752
+ * stored by an import.
11753
+ */
11754
+ rootInputPx: number().int().positive().optional()
11755
+ }),
11756
+ object({
11757
+ kind: literal("mask"),
11758
+ stepId: _enum(MASK_SUPPLY_STEP_IDS)
11759
+ })
11760
+ ]);
11739
11761
  var ModelCatalogEntrySchema = object({
11740
11762
  id: string(),
11741
11763
  name: string(),
@@ -19544,6 +19566,12 @@ function buildViewerLink(input) {
19544
19566
  if (base === "" || isAppLinkBase(base)) return null;
19545
19567
  return `${base}${HUB_VIEWER_MOUNT}${route.path}${encodeQuery(route.query)}`;
19546
19568
  }
19569
+ var HUB_ADDRESS_ROLES = [
19570
+ "appConnections",
19571
+ "notificationTaps",
19572
+ "internal",
19573
+ "publicEndpoint"
19574
+ ];
19547
19575
  /**
19548
19576
  * Transport bounds for AI capability methods.
19549
19577
  *
@@ -24719,7 +24747,13 @@ var NcAlarmModeDelaysListSchema = array(object({
24719
24747
  * Absent = false (logged, not sent). Even when true it is not sent when that same sensor
24720
24748
  * is the one that starts the entry delay — the entry-delay notification already names it.
24721
24749
  */
24722
- notifySensorRewatched: boolean().optional()
24750
+ notifySensorRewatched: boolean().optional(),
24751
+ /**
24752
+ * D735: notify "ignored" when a sensor this arm bypassed really MOVED while armed (its own
24753
+ * change time is after the arm) and set nothing off. Absent = false (logged, not sent). A
24754
+ * re-sync, a recovery from `unavailable` or a duplicate is never announced, switch or not.
24755
+ */
24756
+ notifySensorIgnored: boolean().optional()
24723
24757
  })).max(8).refine(uniqueModes, { message: "modeDelays: at most one entry per arm mode" });
24724
24758
  var NcAlarmModeDelaysEditListSchema = array(object({
24725
24759
  mode: AlarmArmModeSchema,
@@ -24732,7 +24766,9 @@ var NcAlarmModeDelaysEditListSchema = array(object({
24732
24766
  /** D706: set the switch, or `null` to clear it (back to the default, false). */
24733
24767
  notifyDuringEntryDelay: boolean().nullable().optional(),
24734
24768
  /** D706: set the switch, or `null` to clear it (back to the default, false). */
24735
- notifySensorRewatched: boolean().nullable().optional()
24769
+ notifySensorRewatched: boolean().nullable().optional(),
24770
+ /** D735: set the switch, or `null` to clear it (back to the default, false). */
24771
+ notifySensorIgnored: boolean().nullable().optional()
24736
24772
  })).max(8).refine(uniqueModes, { message: "modeDelays: at most one edit per arm mode" });
24737
24773
  /** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
24738
24774
  var NcAlarmNonBlockingEditSchema = object({
@@ -39445,7 +39481,7 @@ var GetConnectionEndpointsResultSchema = object({
39445
39481
  localPort: AdvertisedLocalPortSchema
39446
39482
  });
39447
39483
  /**
39448
- * The address flagged for notification links. `baseUrl: null` = AUTO, which
39484
+ * The address flagged for notification taps (`notificationTaps`). `baseUrl: null` = AUTO, which
39449
39485
  * since D709 is the CamStack app link; `resolved` reports the effective value,
39450
39486
  * so the UI can show it either way.
39451
39487
  */
@@ -39480,8 +39516,8 @@ var ViewerEndpointsSchema = object({
39480
39516
  });
39481
39517
  /**
39482
39518
  * DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
39483
- * one release for addons built against it): `cluster` is the `agents` role,
39484
- * `browser` the `signIn` role; `override` is the flagged address.
39519
+ * for addons built against it): `cluster` is the `internal` role, `browser`
39520
+ * the `publicEndpoint` role; `override` is the flagged address.
39485
39521
  */
39486
39522
  var HubAddressSnapshotSchema = object({
39487
39523
  override: string().nullable(),
@@ -39497,15 +39533,11 @@ var HubAddressesSchema = object({
39497
39533
  browser: HubAddressSnapshotSchema
39498
39534
  });
39499
39535
  /**
39500
- * What an address is used for (`hub-address.ts`). `viewer` is many-valued;
39501
- * `notifications`, `agents` and `signIn` are carried by at most one address.
39536
+ * What an address is used for (`hub-address.ts`, D734). `appConnections` is
39537
+ * many-valued; `notificationTaps`, `publicEndpoint` and `internal` are carried
39538
+ * by at most one address.
39502
39539
  */
39503
- var HubAddressRoleSchema = _enum([
39504
- "viewer",
39505
- "notifications",
39506
- "agents",
39507
- "signIn"
39508
- ]);
39540
+ var HubAddressRoleSchema = _enum(HUB_ADDRESS_ROLES);
39509
39541
  var RoleSourceSchema = _enum([
39510
39542
  "flagged",
39511
39543
  "auto",
@@ -39519,8 +39551,8 @@ var HubAddressRoleResolutionSchema = object({
39519
39551
  resolved: string().nullable(),
39520
39552
  source: RoleSourceSchema
39521
39553
  });
39522
- var HubViewerResolutionSchema = object({
39523
- /** The addresses flagged `viewer`, or empty = automatic. */
39554
+ var HubAppConnectionsResolutionSchema = object({
39555
+ /** The addresses flagged `appConnections`, or empty = automatic. */
39524
39556
  flagged: array(string()).readonly(),
39525
39557
  /** What the apps race right now. */
39526
39558
  resolved: array(string()).readonly(),
@@ -39540,10 +39572,10 @@ var HubAddressBookSchema = object({
39540
39572
  eligible: array(HubAddressRoleSchema).readonly()
39541
39573
  })).readonly(),
39542
39574
  roles: object({
39543
- viewer: HubViewerResolutionSchema,
39544
- notifications: HubAddressRoleResolutionSchema,
39545
- agents: HubAddressRoleResolutionSchema,
39546
- signIn: HubAddressRoleResolutionSchema
39575
+ appConnections: HubAppConnectionsResolutionSchema,
39576
+ notificationTaps: HubAddressRoleResolutionSchema,
39577
+ internal: HubAddressRoleResolutionSchema,
39578
+ publicEndpoint: HubAddressRoleResolutionSchema
39547
39579
  }),
39548
39580
  /** The `hub=` an app link carries (D709), or null. */
39549
39581
  appLinkHub: string().nullable()
@@ -39638,19 +39670,18 @@ var localNetworkCapability = {
39638
39670
  * tunnel always emits `https://` regardless. */
39639
39671
  scheme: _enum(["http", "https"]).optional(),
39640
39672
  /** Append the CamStack app link entry (`kind: 'app-link'`, D709) —
39641
- * an address notification links can be flagged with, not a hub
39673
+ * an address notification taps can be flagged with, not a hub
39642
39674
  * route. Default `false`: racers and rankers never see it. */
39643
39675
  includeAppLink: boolean().optional()
39644
39676
  }), GetConnectionEndpointsResultSchema),
39645
39677
  /**
39646
- * The address notification links are flagged with. `baseUrl: null` means
39647
- * AUTO, which is the CamStack app link (D709): viewer taps go through
39648
- * `https://camstack.zentik.app/…?hub=<appLinkHub>` and open the app. Any
39649
- * hub address the palette lists can be flagged instead; then viewer taps,
39650
- * attachment links and action buttons all use it. Signed media and
39651
- * buttons never use the app link — with it flagged (or AUTO) they keep
39652
- * the ranked hub ladder (a configured origin, a connected tunnel, then
39653
- * the LAN), never loopback.
39678
+ * The `notificationTaps` role (D734): where TAPPING a notification opens.
39679
+ * `baseUrl: null` means AUTO, which is the CamStack app link (D709): taps
39680
+ * go through `https://camstack.zentik.app/…?hub=<appLinkHub>` and open the
39681
+ * app. Any hub address the palette lists can be flagged instead; then a
39682
+ * tap opens that address. Only the tap: action buttons, attachment /
39683
+ * media links and admin links follow the `publicEndpoint` role
39684
+ * (`getAddresses().roles.publicEndpoint`), never this one.
39654
39685
  *
39655
39686
  * Why an explicit marker: the automatic ranking cannot know which of
39656
39687
  * several reachable addresses the RECIPIENT can actually open. A link is
@@ -39660,14 +39691,13 @@ var localNetworkCapability = {
39660
39691
  */
39661
39692
  getNotificationEndpoint: method(_void(), NotificationEndpointSchema),
39662
39693
  /**
39663
- * @deprecated Use `setAddressRole({ role: 'notifications', … })`. Kept so
39664
- * an older admin UI keeps working: it writes the same `notifications`
39665
- * flag, with the same validation. `baseUrl: null` restores automatic; an
39694
+ * @deprecated Use `setAddressRole({ role: 'notificationTaps', … })`. It
39695
+ * writes the same `notificationTaps` flag, with the same validation. `baseUrl: null` restores automatic; an
39666
39696
  * address that is not detected becomes a custom address.
39667
39697
  */
39668
39698
  setNotificationEndpoint: method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }),
39669
39699
  /**
39670
- * The `viewer` role as shipped apps read it: the flagged addresses
39700
+ * The `appConnections` role as shipped apps read it: the flagged addresses
39671
39701
  * (detected or custom), or empty for AUTO — every LAN IPv4 address plus
39672
39702
  * the public tunnel, never IPv6, mesh, loopback or a custom address.
39673
39703
  * `resolved` is the set as it stands right now; the custom ones in it are
@@ -39675,8 +39705,8 @@ var localNetworkCapability = {
39675
39705
  */
39676
39706
  getViewerEndpoints: method(_void(), ViewerEndpointsSchema),
39677
39707
  /**
39678
- * @deprecated Use `setAddressRole({ role: 'viewer', … })`. Kept so an
39679
- * older admin UI keeps working: it replaces the same `viewer` flags.
39708
+ * @deprecated Use `setAddressRole({ role: 'appConnections', … })`. It
39709
+ * replaces the same `appConnections` flags.
39680
39710
  * Empty `baseUrls` restores automatic.
39681
39711
  */
39682
39712
  setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
@@ -39685,10 +39715,12 @@ var localNetworkCapability = {
39685
39715
  * reading of "which address is this hub reached at, for what": detected
39686
39716
  * endpoints and custom addresses with their role flags, and per role the
39687
39717
  * flagged address, the one in use and whether it is automatic. Agent
39688
- * deliveries, sign-in and LAN devices read `roles.agents` / `roles.signIn`
39689
- * here; nothing ranks the palette itself. `scheme` is the one the caller
39690
- * shows LAN rows in (as `getConnectionEndpoints`); agents and sign-in are
39691
- * always resolved over the HTTPS palette.
39718
+ * deliveries and LAN devices read `roles.internal`; sign-in, OAuth2 and
39719
+ * the notification centre's buttons / media / admin links read
39720
+ * `roles.publicEndpoint`; nothing ranks the palette itself. `scheme` is
39721
+ * the one the caller shows LAN rows in (as `getConnectionEndpoints`);
39722
+ * `internal` and `publicEndpoint` are always resolved over the HTTPS
39723
+ * palette.
39692
39724
  */
39693
39725
  getAddresses: method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema),
39694
39726
  /**
@@ -39713,8 +39745,9 @@ var localNetworkCapability = {
39713
39745
  * Flag (`enabled: true`) or unflag an address for a role. For a
39714
39746
  * single-valued role, flagging moves the flag off every other address.
39715
39747
  * `baseUrl: null` returns the role to automatic. The address must be a row
39716
- * of the table (detected, custom, or the app link for notifications);
39717
- * `signIn` on a plain-http address is refused unless `acceptInsecureHttp`.
39748
+ * of the table (detected, custom, or the app link for `notificationTaps`);
39749
+ * `publicEndpoint` on a plain-http address is refused unless
39750
+ * `acceptInsecureHttp`, and never takes the app link.
39718
39751
  */
39719
39752
  setAddressRole: method(object({
39720
39753
  role: HubAddressRoleSchema,
@@ -39726,9 +39759,9 @@ var localNetworkCapability = {
39726
39759
  auth: "admin"
39727
39760
  }),
39728
39761
  /**
39729
- * @deprecated Read `getAddresses().roles.agents` / `.signIn`. Kept one
39730
- * release so an addon built against the D729 amendment keeps resolving:
39731
- * `cluster` = the `agents` role, `browser` = the `signIn` role.
39762
+ * @deprecated Read `getAddresses().roles.internal` / `.publicEndpoint`.
39763
+ * Kept so an addon built against the D729 amendment keeps resolving:
39764
+ * `cluster` = the `internal` role, `browser` = the `publicEndpoint` role.
39732
39765
  */
39733
39766
  getHubAddresses: method(_void(), HubAddressesSchema),
39734
39767
  /**
@@ -61010,17 +61043,23 @@ var NC_ALARM_DELAY_FIELDS = [
61010
61043
  * all read this one constant.
61011
61044
  */
61012
61045
  var NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC = 30;
61013
- var NC_ALARM_NOTIFY_FIELDS = ["notifyDuringEntryDelay", "notifySensorRewatched"];
61046
+ var NC_ALARM_NOTIFY_FIELDS = [
61047
+ "notifyDuringEntryDelay",
61048
+ "notifySensorRewatched",
61049
+ "notifySensorIgnored"
61050
+ ];
61014
61051
  /**
61015
61052
  * The switches `mode` runs on. There is no global value: absent is OFF (operator decision
61016
61053
  * 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 switch and reads as off.
61054
+ * is not sent; 2026-10-07 — nor is "ignored", D735). An answer from an older hub carries no
61055
+ * switch and reads as off.
61018
61056
  */
61019
61057
  function resolveModeNotifyPolicy(settings, mode) {
61020
61058
  const entry = (settings.modeDelays ?? []).find((e) => e.mode === mode);
61021
61059
  return {
61022
61060
  notifyDuringEntryDelay: entry?.notifyDuringEntryDelay === true,
61023
- notifySensorRewatched: entry?.notifySensorRewatched === true
61061
+ notifySensorRewatched: entry?.notifySensorRewatched === true,
61062
+ notifySensorIgnored: entry?.notifySensorIgnored === true
61024
61063
  };
61025
61064
  }
61026
61065
  /**
@@ -61097,6 +61136,7 @@ function applyModeDelaysEdits(current, edits) {
61097
61136
  const schedule = editedSchedule(base.schedule, edit.schedule);
61098
61137
  const duringEntry = editedFlag(base.notifyDuringEntryDelay, edit.notifyDuringEntryDelay);
61099
61138
  const rewatched = editedFlag(base.notifySensorRewatched, edit.notifySensorRewatched);
61139
+ const ignored = editedFlag(base.notifySensorIgnored, edit.notifySensorIgnored);
61100
61140
  if (exit !== void 0) next.exitDelaySec = exit;
61101
61141
  if (entry !== void 0) next.entryDelaySec = entry;
61102
61142
  if (triggered !== void 0) next.triggeredDurationSec = triggered;
@@ -61104,10 +61144,11 @@ function applyModeDelaysEdits(current, edits) {
61104
61144
  if (schedule !== void 0) next.schedule = schedule;
61105
61145
  if (duringEntry !== void 0) next.notifyDuringEntryDelay = duringEntry;
61106
61146
  if (rewatched !== void 0) next.notifySensorRewatched = rewatched;
61147
+ if (ignored !== void 0) next.notifySensorIgnored = ignored;
61107
61148
  if (at >= 0) out[at] = next;
61108
61149
  else out.push(next);
61109
61150
  }
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);
61151
+ 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
61152
  }
61112
61153
  /**
61113
61154
  * 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-BcSLJ8aL.js");
5
+ const require_clip_model_registry = require("../clip-model-registry-BFG-v_BV.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-BLUVLdlY.mjs";
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-vdRtJheb.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-D3jDbheU.mjs";
5
+ import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BoenPUt7.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.310",
21
+ version: "1.2.313",
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.236",
36
+ version: "1.2.238",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",