@camstack/addon-post-analysis 1.2.364 → 1.2.365

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.
@@ -5490,7 +5490,7 @@ var ZodIssueCode = {
5490
5490
  var ZodFirstPartyTypeKind;
5491
5491
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5492
5492
  //#endregion
5493
- //#region ../types/dist/sleep-B_3F_YwS.mjs
5493
+ //#region ../types/dist/sleep-BBF1iXUi.mjs
5494
5494
  /**
5495
5495
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5496
5496
  * window to float samples (D455).
@@ -10789,6 +10789,178 @@ discriminatedUnion("type", [
10789
10789
  message: string()
10790
10790
  })
10791
10791
  ]);
10792
+ /** Every status, in the order a summary lists them. */
10793
+ var RETRAIN_REVIEW_STATUSES = [
10794
+ "unchanged",
10795
+ "adjusted",
10796
+ "reclassified",
10797
+ "added",
10798
+ "removed",
10799
+ "model-error"
10800
+ ];
10801
+ /** Two boxes this close on every edge are the same rectangle (an exact match). */
10802
+ var EXACT_EDGE_EPSILON = 1e-6;
10803
+ /** Intersection over union of two normalised rectangles. */
10804
+ function retrainBoxIou(a, b) {
10805
+ const inter = Math.max(0, Math.min(a.x + a.w, b.x + b.w) - Math.max(a.x, b.x)) * Math.max(0, Math.min(a.y + a.h, b.y + b.h) - Math.max(a.y, b.y));
10806
+ const union = a.w * a.h + b.w * b.h - inter;
10807
+ return union > 0 ? inter / union : 0;
10808
+ }
10809
+ function sameRect(a, b) {
10810
+ return Math.abs(a.x - b.x) <= EXACT_EDGE_EPSILON && Math.abs(a.y - b.y) <= EXACT_EDGE_EPSILON && Math.abs(a.w - b.w) <= EXACT_EDGE_EPSILON && Math.abs(a.h - b.h) <= EXACT_EDGE_EPSILON;
10811
+ }
10812
+ function labelOf(value) {
10813
+ return value?.trim() ?? "";
10814
+ }
10815
+ /** Kept box versus its baseline: class/label first, then geometry. */
10816
+ function compareKept(saved, baseline, adjustedIou) {
10817
+ const iou = retrainBoxIou(saved.bbox, baseline.bbox);
10818
+ if (saved.macroClass !== baseline.macroClass || labelOf(saved.label) !== labelOf(baseline.label)) return {
10819
+ status: "reclassified",
10820
+ iou
10821
+ };
10822
+ return {
10823
+ status: iou < adjustedIou ? "adjusted" : "unchanged",
10824
+ iou
10825
+ };
10826
+ }
10827
+ /**
10828
+ * Pair legacy rows with proposals: exact rectangles first, then by descending
10829
+ * overlap, one proposal per row. Greedy on a sorted list so the result does not
10830
+ * depend on the order the rows were listed in.
10831
+ */
10832
+ function pairLegacy(saved, legacyIndexes, origins, matchIou) {
10833
+ const candidates = [];
10834
+ for (const savedIndex of legacyIndexes) {
10835
+ const box = saved[savedIndex];
10836
+ if (box === void 0) continue;
10837
+ origins.forEach((origin, originIndex) => {
10838
+ const exact = sameRect(box.bbox, origin.bbox);
10839
+ const iou = exact ? 1 : retrainBoxIou(box.bbox, origin.bbox);
10840
+ if (exact || iou >= matchIou) candidates.push({
10841
+ savedIndex,
10842
+ originIndex,
10843
+ iou,
10844
+ exact
10845
+ });
10846
+ });
10847
+ }
10848
+ candidates.sort((a, b) => Number(b.exact) - Number(a.exact) || b.iou - a.iou);
10849
+ const pairs = /* @__PURE__ */ new Map();
10850
+ const takenOrigins = /* @__PURE__ */ new Set();
10851
+ for (const c of candidates) {
10852
+ if (pairs.has(c.savedIndex) || takenOrigins.has(c.originIndex)) continue;
10853
+ pairs.set(c.savedIndex, c.originIndex);
10854
+ takenOrigins.add(c.originIndex);
10855
+ }
10856
+ return pairs;
10857
+ }
10858
+ /**
10859
+ * Classify what the operator did on ONE frame.
10860
+ *
10861
+ * @param saved the frame's saved boxes.
10862
+ * @param origins the proposals known now (the pipeline's boxes, re-derived) —
10863
+ * consulted ONLY for rows that carry no origin snapshot.
10864
+ * @param dismissed the proposals the operator deleted, with their snapshots.
10865
+ */
10866
+ function classifyRetrainReview(saved, origins, dismissed, opts = {}) {
10867
+ const matchIou = opts.matchIou ?? .5;
10868
+ const adjustedIou = opts.adjustedIou ?? .95;
10869
+ const claimedRefs = /* @__PURE__ */ new Set();
10870
+ const boxes = [];
10871
+ const legacyIndexes = [];
10872
+ saved.forEach((box, index) => {
10873
+ if (box.origin === null) legacyIndexes.push(index);
10874
+ else claimedRefs.add(box.origin.ref);
10875
+ });
10876
+ for (const entry of dismissed) claimedRefs.add(entry.ref);
10877
+ const legacyPairs = pairLegacy(saved, legacyIndexes, origins, matchIou);
10878
+ for (const originIndex of legacyPairs.values()) {
10879
+ const origin = origins[originIndex];
10880
+ if (origin !== void 0) claimedRefs.add(origin.ref);
10881
+ }
10882
+ saved.forEach((box, index) => {
10883
+ const exactBaseline = box.origin;
10884
+ const pairedOrigin = exactBaseline === null ? origins[legacyPairs.get(index) ?? -1] : void 0;
10885
+ const baseline = exactBaseline ?? pairedOrigin ?? null;
10886
+ const approximate = exactBaseline === null;
10887
+ if (box.kind === "model_error") {
10888
+ boxes.push({
10889
+ ref: box.id,
10890
+ savedId: box.id,
10891
+ status: "model-error",
10892
+ approximate: false,
10893
+ ...baseline !== null ? {
10894
+ origin: baseline,
10895
+ iou: retrainBoxIou(box.bbox, baseline.bbox)
10896
+ } : {}
10897
+ });
10898
+ return;
10899
+ }
10900
+ if (baseline === null || baseline.source === "operator") {
10901
+ boxes.push({
10902
+ ref: box.id,
10903
+ savedId: box.id,
10904
+ status: "added",
10905
+ approximate: approximate && baseline === null,
10906
+ ...baseline !== null ? { origin: baseline } : {}
10907
+ });
10908
+ return;
10909
+ }
10910
+ const verdict = compareKept(box, baseline, adjustedIou);
10911
+ boxes.push({
10912
+ ref: box.id,
10913
+ savedId: box.id,
10914
+ status: verdict.status,
10915
+ approximate,
10916
+ origin: baseline,
10917
+ iou: verdict.iou
10918
+ });
10919
+ });
10920
+ for (const entry of dismissed) boxes.push({
10921
+ ref: entry.ref,
10922
+ status: "removed",
10923
+ approximate: false,
10924
+ origin: entry.snapshot
10925
+ });
10926
+ if (opts.inferRemoved === true) for (const origin of origins) {
10927
+ if (claimedRefs.has(origin.ref)) continue;
10928
+ boxes.push({
10929
+ ref: origin.ref,
10930
+ status: "removed",
10931
+ approximate: true,
10932
+ origin
10933
+ });
10934
+ }
10935
+ return {
10936
+ boxes,
10937
+ approximate: boxes.some((b) => b.approximate)
10938
+ };
10939
+ }
10940
+ /** Counts per status, plus the totals a list row shows. */
10941
+ function summarizeReview(review) {
10942
+ const counts = {
10943
+ unchanged: 0,
10944
+ adjusted: 0,
10945
+ reclassified: 0,
10946
+ added: 0,
10947
+ removed: 0,
10948
+ "model-error": 0
10949
+ };
10950
+ for (const box of review.boxes) counts[box.status] += 1;
10951
+ return {
10952
+ counts,
10953
+ total: review.boxes.length,
10954
+ changed: review.boxes.length - counts.unchanged,
10955
+ approximate: review.approximate
10956
+ };
10957
+ }
10958
+ /** The prefix of the error a stale `expectedRevision` save is refused with. */
10959
+ var RETRAIN_REVISION_CONFLICT = "retrain-revision-conflict";
10960
+ /** The message a refused save carries — `parseRetrainRevisionConflict` reads it back. */
10961
+ function retrainRevisionConflictMessage(frameId, conflict) {
10962
+ return `${RETRAIN_REVISION_CONFLICT}: frame ${frameId} moved on — it is at revision ${String(conflict.currentRevision)}, the save expected ${String(conflict.expectedRevision)} (current=${String(conflict.currentRevision)} expected=${String(conflict.expectedRevision)})`;
10963
+ }
10792
10964
  /**
10793
10965
  * Birth-decision ledger — one durable row per track-birth VERDICT (D409).
10794
10966
  *
@@ -16426,6 +16598,38 @@ var BulkRecordSchema = object({
16426
16598
  data: record(string(), unknown())
16427
16599
  });
16428
16600
  /**
16601
+ * One write inside a {@link settingsStoreCapability.methods.transact} call.
16602
+ * Only the three that a "replace this set, bump that revision" write needs.
16603
+ */
16604
+ var TransactOpSchema = discriminatedUnion("op", [
16605
+ object({
16606
+ op: literal("deleteWhere"),
16607
+ collection: string(),
16608
+ filter: MutationFilterSchema
16609
+ }),
16610
+ object({
16611
+ op: literal("insertMany"),
16612
+ collection: string(),
16613
+ records: array(BulkRecordSchema).readonly()
16614
+ }),
16615
+ object({
16616
+ op: literal("update"),
16617
+ collection: string(),
16618
+ id: string(),
16619
+ data: record(string(), unknown())
16620
+ })
16621
+ ]);
16622
+ /**
16623
+ * The precondition of a transaction: the row `key` of `collection` must hold
16624
+ * `equals` in `column`, read INSIDE the transaction.
16625
+ */
16626
+ var TransactGuardSchema = object({
16627
+ collection: string(),
16628
+ key: string(),
16629
+ column: string(),
16630
+ equals: unknown()
16631
+ });
16632
+ /**
16429
16633
  * Column declaration for a structured (SQL-backed) collection.
16430
16634
  *
16431
16635
  * Logical types — the backend translates each to the matching SQLite
@@ -16516,6 +16720,16 @@ id: union([string(), number()]) }), {
16516
16720
  }), object({ inserted: number().int() }), {
16517
16721
  kind: "mutation",
16518
16722
  auth: "admin"
16723
+ }), method(object({
16724
+ namespace: string().optional(),
16725
+ guard: TransactGuardSchema.optional(),
16726
+ ops: array(TransactOpSchema).readonly()
16727
+ }), object({
16728
+ applied: boolean(),
16729
+ current: unknown().optional()
16730
+ }), {
16731
+ kind: "mutation",
16732
+ auth: "admin"
16519
16733
  }), method(object({
16520
16734
  namespace: string().optional(),
16521
16735
  collection: string(),
@@ -16664,6 +16878,16 @@ id: union([string(), number()]) }), {
16664
16878
  }), object({ inserted: number().int() }), {
16665
16879
  kind: "mutation",
16666
16880
  auth: "admin"
16881
+ }), method(object({
16882
+ namespace: string().optional(),
16883
+ guard: TransactGuardSchema.optional(),
16884
+ ops: array(TransactOpSchema).readonly()
16885
+ }), object({
16886
+ applied: boolean(),
16887
+ current: unknown().optional()
16888
+ }), {
16889
+ kind: "mutation",
16890
+ auth: "admin"
16667
16891
  }), method(object({
16668
16892
  namespace: string().optional(),
16669
16893
  collection: string(),
@@ -26397,6 +26621,55 @@ var RetrainBboxSchema = object({
26397
26621
  h: number()
26398
26622
  });
26399
26623
  /**
26624
+ * What a box LOOKED LIKE when it was offered, snapshotted at the moment the
26625
+ * operator accepted it. The saved row keeps only the final rectangle; this is
26626
+ * the other half of the pair, and the pair is what says whether the operator
26627
+ * accepted, nudged, relabelled or replaced a proposal (`retrain-review.ts`).
26628
+ *
26629
+ * `ref` names the proposal inside its frame: `pipeline:<trackId>` for a box the
26630
+ * live pipeline drew, `assist:<n>` for the n-th box of a detector or LLM run,
26631
+ * and anything unique for an operator-drawn box (`operator:<n>`). Re-derived
26632
+ * pipeline boxes carry the same ref every time, which is what lets a dismissal
26633
+ * stay dismissed.
26634
+ */
26635
+ var RetrainOriginSchema = object({
26636
+ source: RetrainAnnotationSourceSchema,
26637
+ ref: string().min(1),
26638
+ bbox: RetrainBboxSchema,
26639
+ macroClass: RetrainMacroClassSchema,
26640
+ label: string().optional(),
26641
+ score: number().optional(),
26642
+ modelId: string().optional()
26643
+ });
26644
+ /**
26645
+ * A proposal the operator deleted. Durable on the frame, so a deleted pipeline
26646
+ * box does not come back as a draft every time the frame is reopened, and so
26647
+ * the deletion itself is a recorded fact rather than an absence.
26648
+ */
26649
+ var RetrainDismissedSchema = object({
26650
+ ref: string().min(1),
26651
+ snapshot: RetrainOriginSchema
26652
+ });
26653
+ /** What the operator did with a proposal (see `retrain-review.ts`). */
26654
+ var RetrainReviewStatusSchema = _enum(RETRAIN_REVIEW_STATUSES);
26655
+ var RetrainFrameReviewSchema = object({
26656
+ boxes: array(object({
26657
+ ref: string(),
26658
+ savedId: string().optional(),
26659
+ status: RetrainReviewStatusSchema,
26660
+ /** The baseline was re-derived, not snapshotted (a pre-origin row). */
26661
+ approximate: boolean(),
26662
+ origin: RetrainOriginSchema.optional(),
26663
+ iou: number().optional()
26664
+ })).readonly(),
26665
+ summary: object({
26666
+ counts: record(RetrainReviewStatusSchema, number().int()),
26667
+ total: number().int(),
26668
+ changed: number().int(),
26669
+ approximate: boolean()
26670
+ })
26671
+ });
26672
+ /**
26400
26673
  * One annotated subject.
26401
26674
  *
26402
26675
  * `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
@@ -26420,6 +26693,9 @@ var RetrainAnnotationSchema = object({
26420
26693
  /** Which model proposed this box — or, on a `model_error`, drew the phantom. */
26421
26694
  assistModelId: string().optional(),
26422
26695
  assistScore: number().optional(),
26696
+ /** The proposal this box started from, snapshotted at accept time. `null` on
26697
+ * a row saved before origins existed; absent on a draft nobody snapshotted. */
26698
+ origin: RetrainOriginSchema.nullable().optional(),
26423
26699
  exportedInBatch: string().optional(),
26424
26700
  createdAt: number()
26425
26701
  });
@@ -26512,7 +26788,19 @@ var RetrainFrameSchema = object({
26512
26788
  * empty when nothing the track store holds can be placed on it. */
26513
26789
  pipelineBoxes: array(RetrainPipelineBoxSchema).readonly().optional(),
26514
26790
  /** The named collections this frame belongs to. Present on list answers. */
26515
- collectionIds: array(string()).readonly().optional()
26791
+ collectionIds: array(string()).readonly().optional(),
26792
+ /** Bumped by every annotation save. A save that names a stale
26793
+ * `expectedRevision` is refused, so two surfaces cannot overwrite each other. */
26794
+ revision: number().int().optional(),
26795
+ /** Proposals the operator deleted — never re-seeded as drafts. */
26796
+ dismissed: array(RetrainDismissedSchema).readonly().optional(),
26797
+ /** What the operator did with the proposals, computed by the server. */
26798
+ review: RetrainFrameReviewSchema.optional(),
26799
+ /** The frame's pixels over the admin data plane (full size). Fetch with the
26800
+ * admin bearer token; relative to the hub root. */
26801
+ imageUrl: string().optional(),
26802
+ /** The same, as a ~480 px thumbnail for grids. */
26803
+ thumbnailUrl: string().optional()
26516
26804
  });
26517
26805
  /** Why a copy-on-select could not be honoured — named, never a silent skip. */
26518
26806
  var RetrainCopyRefusalSchema = _enum([
@@ -28079,6 +28367,11 @@ var pipelineAnalyticsCapability = {
28079
28367
  /**
28080
28368
  * The pixels of ONE copied frame, base64.
28081
28369
  *
28370
+ * @deprecated Use `RetrainFrame.imageUrl` / `thumbnailUrl` (the admin
28371
+ * `retrain-frame` data plane, D613). A base64 envelope holds the frame
28372
+ * whole in the producer AND the caller, and a grid of tiles paid that for
28373
+ * every tile. Kept for one release for callers that cannot fetch a URL.
28374
+ *
28082
28375
  * Through the cap rather than a data plane because it is genuinely one
28083
28376
  * frame at a time, on demand, at human speed — the shape D9/D18 permit
28084
28377
  * (what they forbid is frames crossing a boundary at frame RATE). The
@@ -28141,18 +28434,59 @@ var pipelineAnalyticsCapability = {
28141
28434
  * Refuses a macro class typed into `label` or `subLabel` — the tiers are
28142
28435
  * separate and the guard is at the WRITE, because a mixed taxonomy cannot
28143
28436
  * be un-mixed by reading it.
28437
+ *
28438
+ * ATOMIC and REVISIONED: the replaced rows, the frame's `dismissed` set and
28439
+ * its `revision` move in one transaction, guarded by the revision the
28440
+ * caller saw. A stale `expectedRevision` writes nothing and throws
28441
+ * `retrain-revision-conflict` (parse it with `parseRetrainRevisionConflict`);
28442
+ * the UI and an MCP agent no longer overwrite each other silently.
28144
28443
  */
28145
28444
  saveRetrainAnnotations: method(object({
28146
28445
  deviceId: number(),
28147
28446
  /** The frame's track, when it has one — checked against the frame. */
28148
28447
  trackId: string().optional(),
28149
28448
  frameId: string(),
28150
- annotations: array(RetrainAnnotationDraftSchema)
28449
+ annotations: array(RetrainAnnotationDraftSchema),
28450
+ /** The frame's `revision` the caller saw. A different current revision
28451
+ * refuses the save with a `retrain-revision-conflict` error
28452
+ * (`parseRetrainRevisionConflict`). Absent ⇒ last write wins. */
28453
+ expectedRevision: number().int().optional(),
28454
+ /** The proposals the operator deleted. Absent ⇒ keep the frame's
28455
+ * current set; present ⇒ replace it (an empty array un-dismisses). */
28456
+ dismissed: array(RetrainDismissedSchema).optional()
28151
28457
  }), array(RetrainAnnotationSchema).readonly(), {
28152
28458
  kind: "mutation",
28153
28459
  auth: "admin"
28154
28460
  }),
28155
28461
  /**
28462
+ * Give annotations saved BEFORE origins existed the origin a caller
28463
+ * reconstructed for them (the MCP `track_review_backfill_origin` tool
28464
+ * matches each row to the pipeline box it equals).
28465
+ *
28466
+ * Writes `origin` and nothing else: ids, creation time and the export stamp
28467
+ * are untouched (a re-save through `saveRetrainAnnotations` would reset all
28468
+ * three). A row that already has an origin is SKIPPED — a snapshot taken at
28469
+ * accept time is evidence, a reconstruction is a guess. Atomic and
28470
+ * revision-guarded like the save; bumps the frame's `revision`.
28471
+ */
28472
+ backfillRetrainOrigins: method(object({
28473
+ deviceId: number(),
28474
+ trackId: string().optional(),
28475
+ frameId: string(),
28476
+ expectedRevision: number().int().optional(),
28477
+ origins: array(object({
28478
+ annotationId: string(),
28479
+ origin: RetrainOriginSchema
28480
+ })).min(1).max(500)
28481
+ }), object({
28482
+ updated: number().int(),
28483
+ skipped: number().int(),
28484
+ revision: number().int()
28485
+ }), {
28486
+ kind: "mutation",
28487
+ auth: "admin"
28488
+ }),
28489
+ /**
28156
28490
  * Finish with a track: `staging → trained`. **The only writer of that
28157
28491
  * state** — D81 shipped the column with it deliberately unreachable.
28158
28492
  *
@@ -48733,6 +49067,12 @@ Object.freeze({
48733
49067
  addonId: null,
48734
49068
  access: "create"
48735
49069
  },
49070
+ "dataStoreProvider.transact": {
49071
+ capName: "data-store-provider",
49072
+ capScope: "system",
49073
+ addonId: null,
49074
+ access: "create"
49075
+ },
48736
49076
  "dataStoreProvider.update": {
48737
49077
  capName: "data-store-provider",
48738
49078
  capScope: "system",
@@ -51577,6 +51917,12 @@ Object.freeze({
51577
51917
  addonId: null,
51578
51918
  access: "create"
51579
51919
  },
51920
+ "pipelineAnalytics.backfillRetrainOrigins": {
51921
+ capName: "pipeline-analytics",
51922
+ capScope: "device",
51923
+ addonId: null,
51924
+ access: "create"
51925
+ },
51580
51926
  "pipelineAnalytics.cancelRelocateMedia": {
51581
51927
  capName: "pipeline-analytics",
51582
51928
  capScope: "device",
@@ -53569,6 +53915,12 @@ Object.freeze({
53569
53915
  addonId: null,
53570
53916
  access: "create"
53571
53917
  },
53918
+ "settingsStore.transact": {
53919
+ capName: "settings-store",
53920
+ capScope: "system",
53921
+ addonId: null,
53922
+ access: "create"
53923
+ },
53572
53924
  "settingsStore.update": {
53573
53925
  capName: "settings-store",
53574
53926
  capScope: "system",
@@ -57895,6 +58247,11 @@ Object.freeze({
57895
58247
  form: "single",
57896
58248
  optional: false
57897
58249
  }],
58250
+ "pipelineAnalytics.backfillRetrainOrigins": [{
58251
+ name: "deviceId",
58252
+ form: "single",
58253
+ optional: false
58254
+ }],
57898
58255
  "pipelineAnalytics.clearTrackRelation": [{
57899
58256
  name: "deviceId",
57900
58257
  form: "single",
@@ -63846,6 +64203,18 @@ Object.defineProperty(exports, "RebuildObjectEmbeddingsRefusalSchema", {
63846
64203
  return RebuildObjectEmbeddingsRefusalSchema;
63847
64204
  }
63848
64205
  });
64206
+ Object.defineProperty(exports, "RetrainDismissedSchema", {
64207
+ enumerable: true,
64208
+ get: function() {
64209
+ return RetrainDismissedSchema;
64210
+ }
64211
+ });
64212
+ Object.defineProperty(exports, "RetrainOriginSchema", {
64213
+ enumerable: true,
64214
+ get: function() {
64215
+ return RetrainOriginSchema;
64216
+ }
64217
+ });
63849
64218
  Object.defineProperty(exports, "RetrainStatusSchema", {
63850
64219
  enumerable: true,
63851
64220
  get: function() {
@@ -64110,6 +64479,12 @@ Object.defineProperty(exports, "canonicalHash", {
64110
64479
  return canonicalHash;
64111
64480
  }
64112
64481
  });
64482
+ Object.defineProperty(exports, "classifyRetrainReview", {
64483
+ enumerable: true,
64484
+ get: function() {
64485
+ return classifyRetrainReview;
64486
+ }
64487
+ });
64113
64488
  Object.defineProperty(exports, "cloneAlarmSettings", {
64114
64489
  enumerable: true,
64115
64490
  get: function() {
@@ -64572,6 +64947,12 @@ Object.defineProperty(exports, "resolvePoolMemoryPolicy", {
64572
64947
  return resolvePoolMemoryPolicy;
64573
64948
  }
64574
64949
  });
64950
+ Object.defineProperty(exports, "retrainRevisionConflictMessage", {
64951
+ enumerable: true,
64952
+ get: function() {
64953
+ return retrainRevisionConflictMessage;
64954
+ }
64955
+ });
64575
64956
  Object.defineProperty(exports, "rootSupplyServes", {
64576
64957
  enumerable: true,
64577
64958
  get: function() {
@@ -64662,6 +65043,12 @@ Object.defineProperty(exports, "subKindsOf", {
64662
65043
  return subKindsOf;
64663
65044
  }
64664
65045
  });
65046
+ Object.defineProperty(exports, "summarizeReview", {
65047
+ enumerable: true,
65048
+ get: function() {
65049
+ return summarizeReview;
65050
+ }
65051
+ });
64665
65052
  Object.defineProperty(exports, "syncActiveAlarmProfileSettings", {
64666
65053
  enumerable: true,
64667
65054
  get: function() {
@@ -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-D8XeJhT4.js");
5
+ const require_clip_model_registry = require("../clip-model-registry-CsJpPkau.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 { $n as embeddingRequirementsFailedError, Ei as normalizeNodeId, Hr as resolvePoolMemoryPolicy, Qt as PoolMemoryWatchdog, Xn as embeddingEncoderCapability, Zn as embeddingModelFailedError, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, er as embeddingRequirementsUnavailableError, i as CLIP_TEXT_MODELS, jr as parseProcStatus, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, vi as BaseAddon } from "../clip-model-registry-B69Mktce.mjs";
1
+ import { $n as embeddingEncoderCapability, Ci as BaseAddon, Gr as resolvePoolMemoryPolicy, Pr as parseProcStatus, Qt as PoolMemoryWatchdog, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, er as embeddingModelFailedError, i as CLIP_TEXT_MODELS, ji as normalizeNodeId, n as DEFAULT_CLIP_MODEL, nr as embeddingRequirementsFailedError, r as CLIP_IMAGE_MODELS, rr as embeddingRequirementsUnavailableError, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-BRXTB6Qa.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";
@@ -1,8 +1,8 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
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
- 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-DOcfQnib.mjs";
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-Duvan2CO.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-B3Ko_8Ah.mjs";
5
+ import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cul2786X.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.358",
21
+ version: "1.2.359",
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.282",
36
+ version: "1.2.283",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",