@camstack/addon-model-studio 1.1.252 → 1.1.253

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.
Files changed (17) hide show
  1. package/dist/{MotionZonesSettings-d7R9fNX4.mjs → MotionZonesSettings-CDQwRCoT.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-DrGSWT67.mjs → PrivacyMaskSettings-Bqjt6j-n.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-Dop7jels.mjs → SceneMonitorEditor-CSttF4Hq.mjs} +3 -3
  4. package/dist/_stub.js +14 -14
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-Dw8uAk5I.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DbOwI3GM.mjs} +3 -3
  6. package/dist/{_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-tfHw-0Bq.mjs → _virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CW7-7FqB.mjs} +2 -2
  7. package/dist/{hostInit-D36hHmDz.mjs → hostInit-BB7TluF5.mjs} +2 -2
  8. package/dist/model-studio.addon.js +174 -3
  9. package/dist/model-studio.addon.mjs +174 -3
  10. package/dist/{player-overlays-D5-vmA5J.mjs → player-overlays-D3nGwf3m.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-BzE5vG45.mjs → responsive-DyGAg9qU.mjs} +1 -1
  13. package/dist/{scene-monitor-copy-BihLE04_.mjs → scene-monitor-copy-CIw9oZTb.mjs} +1 -1
  14. package/dist/{square-D0cMa1nt.mjs → square-DqVANN3Q.mjs} +1 -1
  15. package/dist/{trash-2-D0vctyi0.mjs → trash-2-CQbGsv9O.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Doe57L1Z.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CzgQrlk5.mjs} +1 -1
  17. package/package.json +1 -1
@@ -5756,7 +5756,7 @@ var ZodIssueCode = {
5756
5756
  var ZodFirstPartyTypeKind;
5757
5757
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5758
5758
  //#endregion
5759
- //#region ../types/dist/sleep-B_3F_YwS.mjs
5759
+ //#region ../types/dist/sleep-BBF1iXUi.mjs
5760
5760
  /**
5761
5761
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5762
5762
  * window to float samples (D455).
@@ -10553,6 +10553,15 @@ discriminatedUnion("type", [
10553
10553
  message: string()
10554
10554
  })
10555
10555
  ]);
10556
+ /** Every status, in the order a summary lists them. */
10557
+ var RETRAIN_REVIEW_STATUSES = [
10558
+ "unchanged",
10559
+ "adjusted",
10560
+ "reclassified",
10561
+ "added",
10562
+ "removed",
10563
+ "model-error"
10564
+ ];
10556
10565
  /**
10557
10566
  * What the gate decided about a birth, from the CALLER's point of view.
10558
10567
  *
@@ -15818,6 +15827,38 @@ var BulkRecordSchema = object({
15818
15827
  data: record(string(), unknown())
15819
15828
  });
15820
15829
  /**
15830
+ * One write inside a {@link settingsStoreCapability.methods.transact} call.
15831
+ * Only the three that a "replace this set, bump that revision" write needs.
15832
+ */
15833
+ var TransactOpSchema = discriminatedUnion("op", [
15834
+ object({
15835
+ op: literal("deleteWhere"),
15836
+ collection: string(),
15837
+ filter: MutationFilterSchema
15838
+ }),
15839
+ object({
15840
+ op: literal("insertMany"),
15841
+ collection: string(),
15842
+ records: array(BulkRecordSchema).readonly()
15843
+ }),
15844
+ object({
15845
+ op: literal("update"),
15846
+ collection: string(),
15847
+ id: string(),
15848
+ data: record(string(), unknown())
15849
+ })
15850
+ ]);
15851
+ /**
15852
+ * The precondition of a transaction: the row `key` of `collection` must hold
15853
+ * `equals` in `column`, read INSIDE the transaction.
15854
+ */
15855
+ var TransactGuardSchema = object({
15856
+ collection: string(),
15857
+ key: string(),
15858
+ column: string(),
15859
+ equals: unknown()
15860
+ });
15861
+ /**
15821
15862
  * Column declaration for a structured (SQL-backed) collection.
15822
15863
  *
15823
15864
  * Logical types — the backend translates each to the matching SQLite
@@ -15908,6 +15949,16 @@ id: union([string(), number()]) }), {
15908
15949
  }), object({ inserted: number().int() }), {
15909
15950
  kind: "mutation",
15910
15951
  auth: "admin"
15952
+ }), method(object({
15953
+ namespace: string().optional(),
15954
+ guard: TransactGuardSchema.optional(),
15955
+ ops: array(TransactOpSchema).readonly()
15956
+ }), object({
15957
+ applied: boolean(),
15958
+ current: unknown().optional()
15959
+ }), {
15960
+ kind: "mutation",
15961
+ auth: "admin"
15911
15962
  }), method(object({
15912
15963
  namespace: string().optional(),
15913
15964
  collection: string(),
@@ -16056,6 +16107,16 @@ id: union([string(), number()]) }), {
16056
16107
  }), object({ inserted: number().int() }), {
16057
16108
  kind: "mutation",
16058
16109
  auth: "admin"
16110
+ }), method(object({
16111
+ namespace: string().optional(),
16112
+ guard: TransactGuardSchema.optional(),
16113
+ ops: array(TransactOpSchema).readonly()
16114
+ }), object({
16115
+ applied: boolean(),
16116
+ current: unknown().optional()
16117
+ }), {
16118
+ kind: "mutation",
16119
+ auth: "admin"
16059
16120
  }), method(object({
16060
16121
  namespace: string().optional(),
16061
16122
  collection: string(),
@@ -24474,6 +24535,55 @@ var RetrainBboxSchema = object({
24474
24535
  h: number()
24475
24536
  });
24476
24537
  /**
24538
+ * What a box LOOKED LIKE when it was offered, snapshotted at the moment the
24539
+ * operator accepted it. The saved row keeps only the final rectangle; this is
24540
+ * the other half of the pair, and the pair is what says whether the operator
24541
+ * accepted, nudged, relabelled or replaced a proposal (`retrain-review.ts`).
24542
+ *
24543
+ * `ref` names the proposal inside its frame: `pipeline:<trackId>` for a box the
24544
+ * live pipeline drew, `assist:<n>` for the n-th box of a detector or LLM run,
24545
+ * and anything unique for an operator-drawn box (`operator:<n>`). Re-derived
24546
+ * pipeline boxes carry the same ref every time, which is what lets a dismissal
24547
+ * stay dismissed.
24548
+ */
24549
+ var RetrainOriginSchema = object({
24550
+ source: RetrainAnnotationSourceSchema,
24551
+ ref: string().min(1),
24552
+ bbox: RetrainBboxSchema,
24553
+ macroClass: RetrainMacroClassSchema,
24554
+ label: string().optional(),
24555
+ score: number().optional(),
24556
+ modelId: string().optional()
24557
+ });
24558
+ /**
24559
+ * A proposal the operator deleted. Durable on the frame, so a deleted pipeline
24560
+ * box does not come back as a draft every time the frame is reopened, and so
24561
+ * the deletion itself is a recorded fact rather than an absence.
24562
+ */
24563
+ var RetrainDismissedSchema = object({
24564
+ ref: string().min(1),
24565
+ snapshot: RetrainOriginSchema
24566
+ });
24567
+ /** What the operator did with a proposal (see `retrain-review.ts`). */
24568
+ var RetrainReviewStatusSchema = _enum(RETRAIN_REVIEW_STATUSES);
24569
+ var RetrainFrameReviewSchema = object({
24570
+ boxes: array(object({
24571
+ ref: string(),
24572
+ savedId: string().optional(),
24573
+ status: RetrainReviewStatusSchema,
24574
+ /** The baseline was re-derived, not snapshotted (a pre-origin row). */
24575
+ approximate: boolean(),
24576
+ origin: RetrainOriginSchema.optional(),
24577
+ iou: number().optional()
24578
+ })).readonly(),
24579
+ summary: object({
24580
+ counts: record(RetrainReviewStatusSchema, number().int()),
24581
+ total: number().int(),
24582
+ changed: number().int(),
24583
+ approximate: boolean()
24584
+ })
24585
+ });
24586
+ /**
24477
24587
  * One annotated subject.
24478
24588
  *
24479
24589
  * `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
@@ -24497,6 +24607,9 @@ var RetrainAnnotationSchema = object({
24497
24607
  /** Which model proposed this box — or, on a `model_error`, drew the phantom. */
24498
24608
  assistModelId: string().optional(),
24499
24609
  assistScore: number().optional(),
24610
+ /** The proposal this box started from, snapshotted at accept time. `null` on
24611
+ * a row saved before origins existed; absent on a draft nobody snapshotted. */
24612
+ origin: RetrainOriginSchema.nullable().optional(),
24500
24613
  exportedInBatch: string().optional(),
24501
24614
  createdAt: number()
24502
24615
  });
@@ -24589,7 +24702,19 @@ var RetrainFrameSchema = object({
24589
24702
  * empty when nothing the track store holds can be placed on it. */
24590
24703
  pipelineBoxes: array(RetrainPipelineBoxSchema).readonly().optional(),
24591
24704
  /** The named collections this frame belongs to. Present on list answers. */
24592
- collectionIds: array(string()).readonly().optional()
24705
+ collectionIds: array(string()).readonly().optional(),
24706
+ /** Bumped by every annotation save. A save that names a stale
24707
+ * `expectedRevision` is refused, so two surfaces cannot overwrite each other. */
24708
+ revision: number().int().optional(),
24709
+ /** Proposals the operator deleted — never re-seeded as drafts. */
24710
+ dismissed: array(RetrainDismissedSchema).readonly().optional(),
24711
+ /** What the operator did with the proposals, computed by the server. */
24712
+ review: RetrainFrameReviewSchema.optional(),
24713
+ /** The frame's pixels over the admin data plane (full size). Fetch with the
24714
+ * admin bearer token; relative to the hub root. */
24715
+ imageUrl: string().optional(),
24716
+ /** The same, as a ~480 px thumbnail for grids. */
24717
+ thumbnailUrl: string().optional()
24593
24718
  });
24594
24719
  /** Why a copy-on-select could not be honoured — named, never a silent skip. */
24595
24720
  var RetrainCopyRefusalSchema = _enum([
@@ -25668,10 +25793,33 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
25668
25793
  /** The frame's track, when it has one — checked against the frame. */
25669
25794
  trackId: string().optional(),
25670
25795
  frameId: string(),
25671
- annotations: array(RetrainAnnotationDraftSchema)
25796
+ annotations: array(RetrainAnnotationDraftSchema),
25797
+ /** The frame's `revision` the caller saw. A different current revision
25798
+ * refuses the save with a `retrain-revision-conflict` error
25799
+ * (`parseRetrainRevisionConflict`). Absent ⇒ last write wins. */
25800
+ expectedRevision: number().int().optional(),
25801
+ /** The proposals the operator deleted. Absent ⇒ keep the frame's
25802
+ * current set; present ⇒ replace it (an empty array un-dismisses). */
25803
+ dismissed: array(RetrainDismissedSchema).optional()
25672
25804
  }), array(RetrainAnnotationSchema).readonly(), {
25673
25805
  kind: "mutation",
25674
25806
  auth: "admin"
25807
+ }), method(object({
25808
+ deviceId: number(),
25809
+ trackId: string().optional(),
25810
+ frameId: string(),
25811
+ expectedRevision: number().int().optional(),
25812
+ origins: array(object({
25813
+ annotationId: string(),
25814
+ origin: RetrainOriginSchema
25815
+ })).min(1).max(500)
25816
+ }), object({
25817
+ updated: number().int(),
25818
+ skipped: number().int(),
25819
+ revision: number().int()
25820
+ }), {
25821
+ kind: "mutation",
25822
+ auth: "admin"
25675
25823
  }), method(object({
25676
25824
  deviceId: number(),
25677
25825
  trackId: string()
@@ -42090,6 +42238,12 @@ Object.freeze({
42090
42238
  addonId: null,
42091
42239
  access: "create"
42092
42240
  },
42241
+ "dataStoreProvider.transact": {
42242
+ capName: "data-store-provider",
42243
+ capScope: "system",
42244
+ addonId: null,
42245
+ access: "create"
42246
+ },
42093
42247
  "dataStoreProvider.update": {
42094
42248
  capName: "data-store-provider",
42095
42249
  capScope: "system",
@@ -44934,6 +45088,12 @@ Object.freeze({
44934
45088
  addonId: null,
44935
45089
  access: "create"
44936
45090
  },
45091
+ "pipelineAnalytics.backfillRetrainOrigins": {
45092
+ capName: "pipeline-analytics",
45093
+ capScope: "device",
45094
+ addonId: null,
45095
+ access: "create"
45096
+ },
44937
45097
  "pipelineAnalytics.cancelRelocateMedia": {
44938
45098
  capName: "pipeline-analytics",
44939
45099
  capScope: "device",
@@ -46926,6 +47086,12 @@ Object.freeze({
46926
47086
  addonId: null,
46927
47087
  access: "create"
46928
47088
  },
47089
+ "settingsStore.transact": {
47090
+ capName: "settings-store",
47091
+ capScope: "system",
47092
+ addonId: null,
47093
+ access: "create"
47094
+ },
46929
47095
  "settingsStore.update": {
46930
47096
  capName: "settings-store",
46931
47097
  capScope: "system",
@@ -51252,6 +51418,11 @@ Object.freeze({
51252
51418
  form: "single",
51253
51419
  optional: false
51254
51420
  }],
51421
+ "pipelineAnalytics.backfillRetrainOrigins": [{
51422
+ name: "deviceId",
51423
+ form: "single",
51424
+ optional: false
51425
+ }],
51255
51426
  "pipelineAnalytics.clearTrackRelation": [{
51256
51427
  name: "deviceId",
51257
51428
  form: "single",
@@ -1,5 +1,5 @@
1
1
  import { b as e, g as t, l as n, u as r } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-CHL8loOl.mjs";
2
- import { b as i, y as a } from "./responsive-BzE5vG45.mjs";
2
+ import { b as i, y as a } from "./responsive-DyGAg9qU.mjs";
3
3
  import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
4
4
  var l = i("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Doe57L1Z.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CzgQrlk5.mjs";
2
2
  export { t as get, e as init };
@@ -1,5 +1,5 @@
1
1
  import { _ as e, b as t, c as n, g as r, l as i, m as a, n as o, r as s, t as c, u as l } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-CHL8loOl.mjs";
2
- import { g as u } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-tfHw-0Bq.mjs";
2
+ import { g as u } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CW7-7FqB.mjs";
3
3
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  t();
@@ -1,5 +1,5 @@
1
1
  import { b as e, c as t, g as n, m as r } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-CHL8loOl.mjs";
2
- import { b as i } from "./responsive-BzE5vG45.mjs";
2
+ import { b as i } from "./responsive-DyGAg9qU.mjs";
3
3
  var a = i("camera", [["path", {
4
4
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
5
5
  key: "18u6gg"
@@ -1,4 +1,4 @@
1
- import { b as e } from "./responsive-BzE5vG45.mjs";
1
+ import { b as e } from "./responsive-DyGAg9qU.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { b as e } from "./responsive-BzE5vG45.mjs";
1
+ import { b as e } from "./responsive-DyGAg9qU.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-Dw8uAk5I.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DbOwI3GM.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-model-studio",
3
- "version": "1.1.252",
3
+ "version": "1.1.253",
4
4
  "description": "Custom detection model registry, conversion & distribution for CamStack",
5
5
  "keywords": [
6
6
  "camstack",