@camstack/addon-post-analysis 1.2.364 → 1.2.366
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-B69Mktce.mjs → clip-model-registry-Bsj2t3Ec.mjs} +375 -4
- package/dist/{clip-model-registry-D8XeJhT4.js → clip-model-registry-CfYSfakK.js} +404 -3
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CUQTWug8.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CBiuAq6S.mjs} +2 -2
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B3Ko_8Ah.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cul2786X.mjs} +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DTg0F1dD.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-Be7_ixng.mjs → hostInit-6daqknJk.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +519 -41
- package/dist/pipeline-analytics/index.mjs +519 -41
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DOcfQnib.mjs +0 -26
|
@@ -5490,7 +5490,7 @@ var ZodIssueCode = {
|
|
|
5490
5490
|
var ZodFirstPartyTypeKind;
|
|
5491
5491
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5492
5492
|
//#endregion
|
|
5493
|
-
//#region ../types/dist/sleep-
|
|
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,189 @@ 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
|
+
var optLabel = (label) => label !== void 0 ? { label } : {};
|
|
10804
|
+
/** Intersection over union of two normalised rectangles. */
|
|
10805
|
+
function retrainBoxIou(a, b) {
|
|
10806
|
+
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));
|
|
10807
|
+
const union = a.w * a.h + b.w * b.h - inter;
|
|
10808
|
+
return union > 0 ? inter / union : 0;
|
|
10809
|
+
}
|
|
10810
|
+
function sameRect(a, b) {
|
|
10811
|
+
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;
|
|
10812
|
+
}
|
|
10813
|
+
function labelField(value) {
|
|
10814
|
+
return value?.trim() ?? "";
|
|
10815
|
+
}
|
|
10816
|
+
/** Kept box versus its baseline: class/label first, then geometry. */
|
|
10817
|
+
function compareKept(saved, baseline, adjustedIou) {
|
|
10818
|
+
const iou = retrainBoxIou(saved.bbox, baseline.bbox);
|
|
10819
|
+
if (saved.macroClass !== baseline.macroClass || labelField(saved.label) !== labelField(baseline.label)) return {
|
|
10820
|
+
status: "reclassified",
|
|
10821
|
+
iou
|
|
10822
|
+
};
|
|
10823
|
+
return {
|
|
10824
|
+
status: iou < adjustedIou ? "adjusted" : "unchanged",
|
|
10825
|
+
iou
|
|
10826
|
+
};
|
|
10827
|
+
}
|
|
10828
|
+
/**
|
|
10829
|
+
* Pair legacy rows with proposals: exact rectangles first, then by descending
|
|
10830
|
+
* overlap, one proposal per row. Greedy on a sorted list so the result does not
|
|
10831
|
+
* depend on the order the rows were listed in.
|
|
10832
|
+
*/
|
|
10833
|
+
function pairLegacy(saved, legacyIndexes, origins, matchIou) {
|
|
10834
|
+
const candidates = [];
|
|
10835
|
+
for (const savedIndex of legacyIndexes) {
|
|
10836
|
+
const box = saved[savedIndex];
|
|
10837
|
+
if (box === void 0) continue;
|
|
10838
|
+
origins.forEach((origin, originIndex) => {
|
|
10839
|
+
const exact = sameRect(box.bbox, origin.bbox);
|
|
10840
|
+
const iou = exact ? 1 : retrainBoxIou(box.bbox, origin.bbox);
|
|
10841
|
+
if (exact || iou >= matchIou) candidates.push({
|
|
10842
|
+
savedIndex,
|
|
10843
|
+
originIndex,
|
|
10844
|
+
iou,
|
|
10845
|
+
exact
|
|
10846
|
+
});
|
|
10847
|
+
});
|
|
10848
|
+
}
|
|
10849
|
+
candidates.sort((a, b) => Number(b.exact) - Number(a.exact) || b.iou - a.iou);
|
|
10850
|
+
const pairs = /* @__PURE__ */ new Map();
|
|
10851
|
+
const takenOrigins = /* @__PURE__ */ new Set();
|
|
10852
|
+
for (const c of candidates) {
|
|
10853
|
+
if (pairs.has(c.savedIndex) || takenOrigins.has(c.originIndex)) continue;
|
|
10854
|
+
pairs.set(c.savedIndex, c.originIndex);
|
|
10855
|
+
takenOrigins.add(c.originIndex);
|
|
10856
|
+
}
|
|
10857
|
+
return pairs;
|
|
10858
|
+
}
|
|
10859
|
+
/**
|
|
10860
|
+
* Classify what the operator did on ONE frame.
|
|
10861
|
+
*
|
|
10862
|
+
* @param saved the frame's saved boxes.
|
|
10863
|
+
* @param origins the proposals known now (the pipeline's boxes, re-derived) —
|
|
10864
|
+
* consulted ONLY for rows that carry no origin snapshot.
|
|
10865
|
+
* @param dismissed the proposals the operator deleted, with their snapshots.
|
|
10866
|
+
*/
|
|
10867
|
+
function classifyRetrainReview(saved, origins, dismissed, opts = {}) {
|
|
10868
|
+
const matchIou = opts.matchIou ?? .5;
|
|
10869
|
+
const adjustedIou = opts.adjustedIou ?? .95;
|
|
10870
|
+
const claimedRefs = /* @__PURE__ */ new Set();
|
|
10871
|
+
const boxes = [];
|
|
10872
|
+
const legacyIndexes = [];
|
|
10873
|
+
saved.forEach((box, index) => {
|
|
10874
|
+
if (box.origin === null) legacyIndexes.push(index);
|
|
10875
|
+
else claimedRefs.add(box.origin.ref);
|
|
10876
|
+
});
|
|
10877
|
+
for (const entry of dismissed) claimedRefs.add(entry.ref);
|
|
10878
|
+
const legacyPairs = pairLegacy(saved, legacyIndexes, origins, matchIou);
|
|
10879
|
+
for (const originIndex of legacyPairs.values()) {
|
|
10880
|
+
const origin = origins[originIndex];
|
|
10881
|
+
if (origin !== void 0) claimedRefs.add(origin.ref);
|
|
10882
|
+
}
|
|
10883
|
+
saved.forEach((box, index) => {
|
|
10884
|
+
const exactBaseline = box.origin;
|
|
10885
|
+
const pairedOrigin = exactBaseline === null ? origins[legacyPairs.get(index) ?? -1] : void 0;
|
|
10886
|
+
const baseline = exactBaseline ?? pairedOrigin ?? null;
|
|
10887
|
+
const approximate = exactBaseline === null;
|
|
10888
|
+
if (box.kind === "model_error") {
|
|
10889
|
+
boxes.push({
|
|
10890
|
+
ref: box.id,
|
|
10891
|
+
savedId: box.id,
|
|
10892
|
+
status: "model-error",
|
|
10893
|
+
approximate: false,
|
|
10894
|
+
macroClass: box.macroClass,
|
|
10895
|
+
...optLabel(box.label),
|
|
10896
|
+
...baseline !== null ? {
|
|
10897
|
+
origin: baseline,
|
|
10898
|
+
iou: retrainBoxIou(box.bbox, baseline.bbox)
|
|
10899
|
+
} : {}
|
|
10900
|
+
});
|
|
10901
|
+
return;
|
|
10902
|
+
}
|
|
10903
|
+
if (baseline === null || baseline.source === "operator") {
|
|
10904
|
+
boxes.push({
|
|
10905
|
+
ref: box.id,
|
|
10906
|
+
savedId: box.id,
|
|
10907
|
+
status: "added",
|
|
10908
|
+
approximate: approximate && baseline === null,
|
|
10909
|
+
macroClass: box.macroClass,
|
|
10910
|
+
...optLabel(box.label),
|
|
10911
|
+
...baseline !== null ? { origin: baseline } : {}
|
|
10912
|
+
});
|
|
10913
|
+
return;
|
|
10914
|
+
}
|
|
10915
|
+
const verdict = compareKept(box, baseline, adjustedIou);
|
|
10916
|
+
boxes.push({
|
|
10917
|
+
ref: box.id,
|
|
10918
|
+
savedId: box.id,
|
|
10919
|
+
status: verdict.status,
|
|
10920
|
+
approximate,
|
|
10921
|
+
macroClass: box.macroClass,
|
|
10922
|
+
...optLabel(box.label),
|
|
10923
|
+
origin: baseline,
|
|
10924
|
+
iou: verdict.iou
|
|
10925
|
+
});
|
|
10926
|
+
});
|
|
10927
|
+
for (const entry of dismissed) boxes.push({
|
|
10928
|
+
ref: entry.ref,
|
|
10929
|
+
status: "removed",
|
|
10930
|
+
approximate: false,
|
|
10931
|
+
macroClass: entry.snapshot.macroClass,
|
|
10932
|
+
...optLabel(entry.snapshot.label),
|
|
10933
|
+
origin: entry.snapshot
|
|
10934
|
+
});
|
|
10935
|
+
if (opts.inferRemoved === true) for (const origin of origins) {
|
|
10936
|
+
if (claimedRefs.has(origin.ref)) continue;
|
|
10937
|
+
boxes.push({
|
|
10938
|
+
ref: origin.ref,
|
|
10939
|
+
status: "removed",
|
|
10940
|
+
approximate: true,
|
|
10941
|
+
macroClass: origin.macroClass,
|
|
10942
|
+
...optLabel(origin.label),
|
|
10943
|
+
origin
|
|
10944
|
+
});
|
|
10945
|
+
}
|
|
10946
|
+
return {
|
|
10947
|
+
boxes,
|
|
10948
|
+
approximate: boxes.some((b) => b.approximate)
|
|
10949
|
+
};
|
|
10950
|
+
}
|
|
10951
|
+
/** Counts per status, plus the totals a list row shows. */
|
|
10952
|
+
function summarizeReview(review) {
|
|
10953
|
+
const counts = {
|
|
10954
|
+
unchanged: 0,
|
|
10955
|
+
adjusted: 0,
|
|
10956
|
+
reclassified: 0,
|
|
10957
|
+
added: 0,
|
|
10958
|
+
removed: 0,
|
|
10959
|
+
"model-error": 0
|
|
10960
|
+
};
|
|
10961
|
+
for (const box of review.boxes) counts[box.status] += 1;
|
|
10962
|
+
return {
|
|
10963
|
+
counts,
|
|
10964
|
+
total: review.boxes.length,
|
|
10965
|
+
changed: review.boxes.length - counts.unchanged,
|
|
10966
|
+
approximate: review.approximate
|
|
10967
|
+
};
|
|
10968
|
+
}
|
|
10969
|
+
/** The prefix of the error a stale `expectedRevision` save is refused with. */
|
|
10970
|
+
var RETRAIN_REVISION_CONFLICT = "retrain-revision-conflict";
|
|
10971
|
+
/** The message a refused save carries — `parseRetrainRevisionConflict` reads it back. */
|
|
10972
|
+
function retrainRevisionConflictMessage(frameId, conflict) {
|
|
10973
|
+
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)})`;
|
|
10974
|
+
}
|
|
10792
10975
|
/**
|
|
10793
10976
|
* Birth-decision ledger — one durable row per track-birth VERDICT (D409).
|
|
10794
10977
|
*
|
|
@@ -16426,6 +16609,38 @@ var BulkRecordSchema = object({
|
|
|
16426
16609
|
data: record(string(), unknown())
|
|
16427
16610
|
});
|
|
16428
16611
|
/**
|
|
16612
|
+
* One write inside a {@link settingsStoreCapability.methods.transact} call.
|
|
16613
|
+
* Only the three that a "replace this set, bump that revision" write needs.
|
|
16614
|
+
*/
|
|
16615
|
+
var TransactOpSchema = discriminatedUnion("op", [
|
|
16616
|
+
object({
|
|
16617
|
+
op: literal("deleteWhere"),
|
|
16618
|
+
collection: string(),
|
|
16619
|
+
filter: MutationFilterSchema
|
|
16620
|
+
}),
|
|
16621
|
+
object({
|
|
16622
|
+
op: literal("insertMany"),
|
|
16623
|
+
collection: string(),
|
|
16624
|
+
records: array(BulkRecordSchema).readonly()
|
|
16625
|
+
}),
|
|
16626
|
+
object({
|
|
16627
|
+
op: literal("update"),
|
|
16628
|
+
collection: string(),
|
|
16629
|
+
id: string(),
|
|
16630
|
+
data: record(string(), unknown())
|
|
16631
|
+
})
|
|
16632
|
+
]);
|
|
16633
|
+
/**
|
|
16634
|
+
* The precondition of a transaction: the row `key` of `collection` must hold
|
|
16635
|
+
* `equals` in `column`, read INSIDE the transaction.
|
|
16636
|
+
*/
|
|
16637
|
+
var TransactGuardSchema = object({
|
|
16638
|
+
collection: string(),
|
|
16639
|
+
key: string(),
|
|
16640
|
+
column: string(),
|
|
16641
|
+
equals: unknown()
|
|
16642
|
+
});
|
|
16643
|
+
/**
|
|
16429
16644
|
* Column declaration for a structured (SQL-backed) collection.
|
|
16430
16645
|
*
|
|
16431
16646
|
* Logical types — the backend translates each to the matching SQLite
|
|
@@ -16516,6 +16731,16 @@ id: union([string(), number()]) }), {
|
|
|
16516
16731
|
}), object({ inserted: number().int() }), {
|
|
16517
16732
|
kind: "mutation",
|
|
16518
16733
|
auth: "admin"
|
|
16734
|
+
}), method(object({
|
|
16735
|
+
namespace: string().optional(),
|
|
16736
|
+
guard: TransactGuardSchema.optional(),
|
|
16737
|
+
ops: array(TransactOpSchema).readonly()
|
|
16738
|
+
}), object({
|
|
16739
|
+
applied: boolean(),
|
|
16740
|
+
current: unknown().optional()
|
|
16741
|
+
}), {
|
|
16742
|
+
kind: "mutation",
|
|
16743
|
+
auth: "admin"
|
|
16519
16744
|
}), method(object({
|
|
16520
16745
|
namespace: string().optional(),
|
|
16521
16746
|
collection: string(),
|
|
@@ -16664,6 +16889,16 @@ id: union([string(), number()]) }), {
|
|
|
16664
16889
|
}), object({ inserted: number().int() }), {
|
|
16665
16890
|
kind: "mutation",
|
|
16666
16891
|
auth: "admin"
|
|
16892
|
+
}), method(object({
|
|
16893
|
+
namespace: string().optional(),
|
|
16894
|
+
guard: TransactGuardSchema.optional(),
|
|
16895
|
+
ops: array(TransactOpSchema).readonly()
|
|
16896
|
+
}), object({
|
|
16897
|
+
applied: boolean(),
|
|
16898
|
+
current: unknown().optional()
|
|
16899
|
+
}), {
|
|
16900
|
+
kind: "mutation",
|
|
16901
|
+
auth: "admin"
|
|
16667
16902
|
}), method(object({
|
|
16668
16903
|
namespace: string().optional(),
|
|
16669
16904
|
collection: string(),
|
|
@@ -26397,6 +26632,58 @@ var RetrainBboxSchema = object({
|
|
|
26397
26632
|
h: number()
|
|
26398
26633
|
});
|
|
26399
26634
|
/**
|
|
26635
|
+
* What a box LOOKED LIKE when it was offered, snapshotted at the moment the
|
|
26636
|
+
* operator accepted it. The saved row keeps only the final rectangle; this is
|
|
26637
|
+
* the other half of the pair, and the pair is what says whether the operator
|
|
26638
|
+
* accepted, nudged, relabelled or replaced a proposal (`retrain-review.ts`).
|
|
26639
|
+
*
|
|
26640
|
+
* `ref` names the proposal inside its frame: `pipeline:<trackId>` for a box the
|
|
26641
|
+
* live pipeline drew, `assist:<n>` for the n-th box of a detector or LLM run,
|
|
26642
|
+
* and anything unique for an operator-drawn box (`operator:<n>`). Re-derived
|
|
26643
|
+
* pipeline boxes carry the same ref every time, which is what lets a dismissal
|
|
26644
|
+
* stay dismissed.
|
|
26645
|
+
*/
|
|
26646
|
+
var RetrainOriginSchema = object({
|
|
26647
|
+
source: RetrainAnnotationSourceSchema,
|
|
26648
|
+
ref: string().min(1),
|
|
26649
|
+
bbox: RetrainBboxSchema,
|
|
26650
|
+
macroClass: RetrainMacroClassSchema,
|
|
26651
|
+
label: string().optional(),
|
|
26652
|
+
score: number().optional(),
|
|
26653
|
+
modelId: string().optional()
|
|
26654
|
+
});
|
|
26655
|
+
/**
|
|
26656
|
+
* A proposal the operator deleted. Durable on the frame, so a deleted pipeline
|
|
26657
|
+
* box does not come back as a draft every time the frame is reopened, and so
|
|
26658
|
+
* the deletion itself is a recorded fact rather than an absence.
|
|
26659
|
+
*/
|
|
26660
|
+
var RetrainDismissedSchema = object({
|
|
26661
|
+
ref: string().min(1),
|
|
26662
|
+
snapshot: RetrainOriginSchema
|
|
26663
|
+
});
|
|
26664
|
+
/** What the operator did with a proposal (see `retrain-review.ts`). */
|
|
26665
|
+
var RetrainReviewStatusSchema = _enum(RETRAIN_REVIEW_STATUSES);
|
|
26666
|
+
var RetrainFrameReviewSchema = object({
|
|
26667
|
+
boxes: array(object({
|
|
26668
|
+
ref: string(),
|
|
26669
|
+
savedId: string().optional(),
|
|
26670
|
+
status: RetrainReviewStatusSchema,
|
|
26671
|
+
/** The baseline was re-derived, not snapshotted (a pre-origin row). */
|
|
26672
|
+
approximate: boolean(),
|
|
26673
|
+
origin: RetrainOriginSchema.optional(),
|
|
26674
|
+
/** The class / label the box carries NOW (a removed box: its origin's). Absent on an older hub. */
|
|
26675
|
+
macroClass: RetrainMacroClassSchema.optional(),
|
|
26676
|
+
label: string().optional(),
|
|
26677
|
+
iou: number().optional()
|
|
26678
|
+
})).readonly(),
|
|
26679
|
+
summary: object({
|
|
26680
|
+
counts: record(RetrainReviewStatusSchema, number().int()),
|
|
26681
|
+
total: number().int(),
|
|
26682
|
+
changed: number().int(),
|
|
26683
|
+
approximate: boolean()
|
|
26684
|
+
})
|
|
26685
|
+
});
|
|
26686
|
+
/**
|
|
26400
26687
|
* One annotated subject.
|
|
26401
26688
|
*
|
|
26402
26689
|
* `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
|
|
@@ -26420,6 +26707,9 @@ var RetrainAnnotationSchema = object({
|
|
|
26420
26707
|
/** Which model proposed this box — or, on a `model_error`, drew the phantom. */
|
|
26421
26708
|
assistModelId: string().optional(),
|
|
26422
26709
|
assistScore: number().optional(),
|
|
26710
|
+
/** The proposal this box started from, snapshotted at accept time. `null` on
|
|
26711
|
+
* a row saved before origins existed; absent on a draft nobody snapshotted. */
|
|
26712
|
+
origin: RetrainOriginSchema.nullable().optional(),
|
|
26423
26713
|
exportedInBatch: string().optional(),
|
|
26424
26714
|
createdAt: number()
|
|
26425
26715
|
});
|
|
@@ -26512,7 +26802,19 @@ var RetrainFrameSchema = object({
|
|
|
26512
26802
|
* empty when nothing the track store holds can be placed on it. */
|
|
26513
26803
|
pipelineBoxes: array(RetrainPipelineBoxSchema).readonly().optional(),
|
|
26514
26804
|
/** The named collections this frame belongs to. Present on list answers. */
|
|
26515
|
-
collectionIds: array(string()).readonly().optional()
|
|
26805
|
+
collectionIds: array(string()).readonly().optional(),
|
|
26806
|
+
/** Bumped by every annotation save. A save that names a stale
|
|
26807
|
+
* `expectedRevision` is refused, so two surfaces cannot overwrite each other. */
|
|
26808
|
+
revision: number().int().optional(),
|
|
26809
|
+
/** Proposals the operator deleted — never re-seeded as drafts. */
|
|
26810
|
+
dismissed: array(RetrainDismissedSchema).readonly().optional(),
|
|
26811
|
+
/** What the operator did with the proposals, computed by the server. */
|
|
26812
|
+
review: RetrainFrameReviewSchema.optional(),
|
|
26813
|
+
/** The frame's pixels over the admin data plane (full size). Fetch with the
|
|
26814
|
+
* admin bearer token; relative to the hub root. */
|
|
26815
|
+
imageUrl: string().optional(),
|
|
26816
|
+
/** The same, as a ~480 px thumbnail for grids. */
|
|
26817
|
+
thumbnailUrl: string().optional()
|
|
26516
26818
|
});
|
|
26517
26819
|
/** Why a copy-on-select could not be honoured — named, never a silent skip. */
|
|
26518
26820
|
var RetrainCopyRefusalSchema = _enum([
|
|
@@ -28079,6 +28381,11 @@ var pipelineAnalyticsCapability = {
|
|
|
28079
28381
|
/**
|
|
28080
28382
|
* The pixels of ONE copied frame, base64.
|
|
28081
28383
|
*
|
|
28384
|
+
* @deprecated Use `RetrainFrame.imageUrl` / `thumbnailUrl` (the admin
|
|
28385
|
+
* `retrain-frame` data plane, D613). A base64 envelope holds the frame
|
|
28386
|
+
* whole in the producer AND the caller, and a grid of tiles paid that for
|
|
28387
|
+
* every tile. Kept for one release for callers that cannot fetch a URL.
|
|
28388
|
+
*
|
|
28082
28389
|
* Through the cap rather than a data plane because it is genuinely one
|
|
28083
28390
|
* frame at a time, on demand, at human speed — the shape D9/D18 permit
|
|
28084
28391
|
* (what they forbid is frames crossing a boundary at frame RATE). The
|
|
@@ -28141,18 +28448,59 @@ var pipelineAnalyticsCapability = {
|
|
|
28141
28448
|
* Refuses a macro class typed into `label` or `subLabel` — the tiers are
|
|
28142
28449
|
* separate and the guard is at the WRITE, because a mixed taxonomy cannot
|
|
28143
28450
|
* be un-mixed by reading it.
|
|
28451
|
+
*
|
|
28452
|
+
* ATOMIC and REVISIONED: the replaced rows, the frame's `dismissed` set and
|
|
28453
|
+
* its `revision` move in one transaction, guarded by the revision the
|
|
28454
|
+
* caller saw. A stale `expectedRevision` writes nothing and throws
|
|
28455
|
+
* `retrain-revision-conflict` (parse it with `parseRetrainRevisionConflict`);
|
|
28456
|
+
* the UI and an MCP agent no longer overwrite each other silently.
|
|
28144
28457
|
*/
|
|
28145
28458
|
saveRetrainAnnotations: method(object({
|
|
28146
28459
|
deviceId: number(),
|
|
28147
28460
|
/** The frame's track, when it has one — checked against the frame. */
|
|
28148
28461
|
trackId: string().optional(),
|
|
28149
28462
|
frameId: string(),
|
|
28150
|
-
annotations: array(RetrainAnnotationDraftSchema)
|
|
28463
|
+
annotations: array(RetrainAnnotationDraftSchema),
|
|
28464
|
+
/** The frame's `revision` the caller saw. A different current revision
|
|
28465
|
+
* refuses the save with a `retrain-revision-conflict` error
|
|
28466
|
+
* (`parseRetrainRevisionConflict`). Absent ⇒ last write wins. */
|
|
28467
|
+
expectedRevision: number().int().optional(),
|
|
28468
|
+
/** The proposals the operator deleted. Absent ⇒ keep the frame's
|
|
28469
|
+
* current set; present ⇒ replace it (an empty array un-dismisses). */
|
|
28470
|
+
dismissed: array(RetrainDismissedSchema).optional()
|
|
28151
28471
|
}), array(RetrainAnnotationSchema).readonly(), {
|
|
28152
28472
|
kind: "mutation",
|
|
28153
28473
|
auth: "admin"
|
|
28154
28474
|
}),
|
|
28155
28475
|
/**
|
|
28476
|
+
* Give annotations saved BEFORE origins existed the origin a caller
|
|
28477
|
+
* reconstructed for them (the MCP `track_review_backfill_origin` tool
|
|
28478
|
+
* matches each row to the pipeline box it equals).
|
|
28479
|
+
*
|
|
28480
|
+
* Writes `origin` and nothing else: ids, creation time and the export stamp
|
|
28481
|
+
* are untouched (a re-save through `saveRetrainAnnotations` would reset all
|
|
28482
|
+
* three). A row that already has an origin is SKIPPED — a snapshot taken at
|
|
28483
|
+
* accept time is evidence, a reconstruction is a guess. Atomic and
|
|
28484
|
+
* revision-guarded like the save; bumps the frame's `revision`.
|
|
28485
|
+
*/
|
|
28486
|
+
backfillRetrainOrigins: method(object({
|
|
28487
|
+
deviceId: number(),
|
|
28488
|
+
trackId: string().optional(),
|
|
28489
|
+
frameId: string(),
|
|
28490
|
+
expectedRevision: number().int().optional(),
|
|
28491
|
+
origins: array(object({
|
|
28492
|
+
annotationId: string(),
|
|
28493
|
+
origin: RetrainOriginSchema
|
|
28494
|
+
})).min(1).max(500)
|
|
28495
|
+
}), object({
|
|
28496
|
+
updated: number().int(),
|
|
28497
|
+
skipped: number().int(),
|
|
28498
|
+
revision: number().int()
|
|
28499
|
+
}), {
|
|
28500
|
+
kind: "mutation",
|
|
28501
|
+
auth: "admin"
|
|
28502
|
+
}),
|
|
28503
|
+
/**
|
|
28156
28504
|
* Finish with a track: `staging → trained`. **The only writer of that
|
|
28157
28505
|
* state** — D81 shipped the column with it deliberately unreachable.
|
|
28158
28506
|
*
|
|
@@ -48733,6 +49081,12 @@ Object.freeze({
|
|
|
48733
49081
|
addonId: null,
|
|
48734
49082
|
access: "create"
|
|
48735
49083
|
},
|
|
49084
|
+
"dataStoreProvider.transact": {
|
|
49085
|
+
capName: "data-store-provider",
|
|
49086
|
+
capScope: "system",
|
|
49087
|
+
addonId: null,
|
|
49088
|
+
access: "create"
|
|
49089
|
+
},
|
|
48736
49090
|
"dataStoreProvider.update": {
|
|
48737
49091
|
capName: "data-store-provider",
|
|
48738
49092
|
capScope: "system",
|
|
@@ -51577,6 +51931,12 @@ Object.freeze({
|
|
|
51577
51931
|
addonId: null,
|
|
51578
51932
|
access: "create"
|
|
51579
51933
|
},
|
|
51934
|
+
"pipelineAnalytics.backfillRetrainOrigins": {
|
|
51935
|
+
capName: "pipeline-analytics",
|
|
51936
|
+
capScope: "device",
|
|
51937
|
+
addonId: null,
|
|
51938
|
+
access: "create"
|
|
51939
|
+
},
|
|
51580
51940
|
"pipelineAnalytics.cancelRelocateMedia": {
|
|
51581
51941
|
capName: "pipeline-analytics",
|
|
51582
51942
|
capScope: "device",
|
|
@@ -53569,6 +53929,12 @@ Object.freeze({
|
|
|
53569
53929
|
addonId: null,
|
|
53570
53930
|
access: "create"
|
|
53571
53931
|
},
|
|
53932
|
+
"settingsStore.transact": {
|
|
53933
|
+
capName: "settings-store",
|
|
53934
|
+
capScope: "system",
|
|
53935
|
+
addonId: null,
|
|
53936
|
+
access: "create"
|
|
53937
|
+
},
|
|
53572
53938
|
"settingsStore.update": {
|
|
53573
53939
|
capName: "settings-store",
|
|
53574
53940
|
capScope: "system",
|
|
@@ -57895,6 +58261,11 @@ Object.freeze({
|
|
|
57895
58261
|
form: "single",
|
|
57896
58262
|
optional: false
|
|
57897
58263
|
}],
|
|
58264
|
+
"pipelineAnalytics.backfillRetrainOrigins": [{
|
|
58265
|
+
name: "deviceId",
|
|
58266
|
+
form: "single",
|
|
58267
|
+
optional: false
|
|
58268
|
+
}],
|
|
57898
58269
|
"pipelineAnalytics.clearTrackRelation": [{
|
|
57899
58270
|
name: "deviceId",
|
|
57900
58271
|
form: "single",
|
|
@@ -63846,6 +64217,18 @@ Object.defineProperty(exports, "RebuildObjectEmbeddingsRefusalSchema", {
|
|
|
63846
64217
|
return RebuildObjectEmbeddingsRefusalSchema;
|
|
63847
64218
|
}
|
|
63848
64219
|
});
|
|
64220
|
+
Object.defineProperty(exports, "RetrainDismissedSchema", {
|
|
64221
|
+
enumerable: true,
|
|
64222
|
+
get: function() {
|
|
64223
|
+
return RetrainDismissedSchema;
|
|
64224
|
+
}
|
|
64225
|
+
});
|
|
64226
|
+
Object.defineProperty(exports, "RetrainOriginSchema", {
|
|
64227
|
+
enumerable: true,
|
|
64228
|
+
get: function() {
|
|
64229
|
+
return RetrainOriginSchema;
|
|
64230
|
+
}
|
|
64231
|
+
});
|
|
63849
64232
|
Object.defineProperty(exports, "RetrainStatusSchema", {
|
|
63850
64233
|
enumerable: true,
|
|
63851
64234
|
get: function() {
|
|
@@ -64110,6 +64493,12 @@ Object.defineProperty(exports, "canonicalHash", {
|
|
|
64110
64493
|
return canonicalHash;
|
|
64111
64494
|
}
|
|
64112
64495
|
});
|
|
64496
|
+
Object.defineProperty(exports, "classifyRetrainReview", {
|
|
64497
|
+
enumerable: true,
|
|
64498
|
+
get: function() {
|
|
64499
|
+
return classifyRetrainReview;
|
|
64500
|
+
}
|
|
64501
|
+
});
|
|
64113
64502
|
Object.defineProperty(exports, "cloneAlarmSettings", {
|
|
64114
64503
|
enumerable: true,
|
|
64115
64504
|
get: function() {
|
|
@@ -64572,6 +64961,12 @@ Object.defineProperty(exports, "resolvePoolMemoryPolicy", {
|
|
|
64572
64961
|
return resolvePoolMemoryPolicy;
|
|
64573
64962
|
}
|
|
64574
64963
|
});
|
|
64964
|
+
Object.defineProperty(exports, "retrainRevisionConflictMessage", {
|
|
64965
|
+
enumerable: true,
|
|
64966
|
+
get: function() {
|
|
64967
|
+
return retrainRevisionConflictMessage;
|
|
64968
|
+
}
|
|
64969
|
+
});
|
|
64575
64970
|
Object.defineProperty(exports, "rootSupplyServes", {
|
|
64576
64971
|
enumerable: true,
|
|
64577
64972
|
get: function() {
|
|
@@ -64662,6 +65057,12 @@ Object.defineProperty(exports, "subKindsOf", {
|
|
|
64662
65057
|
return subKindsOf;
|
|
64663
65058
|
}
|
|
64664
65059
|
});
|
|
65060
|
+
Object.defineProperty(exports, "summarizeReview", {
|
|
65061
|
+
enumerable: true,
|
|
65062
|
+
get: function() {
|
|
65063
|
+
return summarizeReview;
|
|
65064
|
+
}
|
|
65065
|
+
});
|
|
64665
65066
|
Object.defineProperty(exports, "syncActiveAlarmProfileSettings", {
|
|
64666
65067
|
enumerable: true,
|
|
64667
65068
|
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-
|
|
5
|
+
const require_clip_model_registry = require("../clip-model-registry-CfYSfakK.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
|
|
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-Bsj2t3Ec.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-
|
|
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-DTg0F1dD.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-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.
|
|
21
|
+
version: "1.2.360",
|
|
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.284",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|