@camstack/addon-training 0.1.34 → 0.1.35

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 (23) hide show
  1. package/dist/{MotionZonesSettings-DmGil-Sd.mjs → MotionZonesSettings-DXqAP5wz.mjs} +3 -3
  2. package/dist/{PrivacyMaskSettings--gz2eSGB.mjs → PrivacyMaskSettings-CoNvkvc6.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-CslVp3Z2.mjs → SceneMonitorEditor-CwsEEzGt.mjs} +3 -3
  4. package/dist/_stub.js +1773 -1684
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BeFr_KhE.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-DL0IzS20.mjs} +3 -3
  6. package/dist/{_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DnH0udRu.mjs → _virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-cX_n863q.mjs} +8 -8
  7. package/dist/{dist-BH64IPHN.js → dist-B-VsYan_.js} +174 -3
  8. package/dist/{dist-8focs11m.mjs → dist-BquQjWLf.mjs} +174 -3
  9. package/dist/{grid-2x2-qyJL_j_g.mjs → grid-2x2-CpuOMtGX.mjs} +1 -1
  10. package/dist/{hostInit-B8LEaHwH.mjs → hostInit-D7qKQyKN.mjs} +2 -2
  11. package/dist/index.js +1 -1
  12. package/dist/orchestrator/training.addon.js +1 -1
  13. package/dist/orchestrator/training.addon.mjs +1 -1
  14. package/dist/{player-overlays-CCJGDv3A.mjs → player-overlays-HBuTHRa6.mjs} +1 -1
  15. package/dist/providers/modal/training-modal.addon.js +1 -1
  16. package/dist/providers/modal/training-modal.addon.mjs +1 -1
  17. package/dist/remoteEntry.js +1 -1
  18. package/dist/{responsive-BVIV-dmc.mjs → responsive-D9vCqgDU.mjs} +1 -1
  19. package/dist/{scene-monitor-copy-Be4537Z1.mjs → scene-monitor-copy-Cwu-a3SC.mjs} +1 -1
  20. package/dist/{square-GyEX7ul6.mjs → square-CuRDdJ1_.mjs} +1 -1
  21. package/dist/{trash-2-BpoLIu7c.mjs → trash-2-gnLrce8g.mjs} +1 -1
  22. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CkcnEQXW.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-MIdiPdsF.mjs} +1 -1
  23. package/package.json +1 -1
@@ -5387,7 +5387,7 @@ var ZodIssueCode = {
5387
5387
  var ZodFirstPartyTypeKind;
5388
5388
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5389
5389
  //#endregion
5390
- //#region ../types/dist/sleep-B_3F_YwS.mjs
5390
+ //#region ../types/dist/sleep-BBF1iXUi.mjs
5391
5391
  /**
5392
5392
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5393
5393
  * window to float samples (D455).
@@ -10121,6 +10121,15 @@ function parseTrainingEventLine(line) {
10121
10121
  const parsed = TrainingEventSchema.safeParse(raw);
10122
10122
  return parsed.success ? parsed.data : null;
10123
10123
  }
10124
+ /** Every status, in the order a summary lists them. */
10125
+ var RETRAIN_REVIEW_STATUSES = [
10126
+ "unchanged",
10127
+ "adjusted",
10128
+ "reclassified",
10129
+ "added",
10130
+ "removed",
10131
+ "model-error"
10132
+ ];
10124
10133
  /**
10125
10134
  * What the gate decided about a birth, from the CALLER's point of view.
10126
10135
  *
@@ -15219,6 +15228,38 @@ var BulkRecordSchema = object({
15219
15228
  data: record(string(), unknown())
15220
15229
  });
15221
15230
  /**
15231
+ * One write inside a {@link settingsStoreCapability.methods.transact} call.
15232
+ * Only the three that a "replace this set, bump that revision" write needs.
15233
+ */
15234
+ var TransactOpSchema = discriminatedUnion("op", [
15235
+ object({
15236
+ op: literal("deleteWhere"),
15237
+ collection: string(),
15238
+ filter: MutationFilterSchema
15239
+ }),
15240
+ object({
15241
+ op: literal("insertMany"),
15242
+ collection: string(),
15243
+ records: array(BulkRecordSchema).readonly()
15244
+ }),
15245
+ object({
15246
+ op: literal("update"),
15247
+ collection: string(),
15248
+ id: string(),
15249
+ data: record(string(), unknown())
15250
+ })
15251
+ ]);
15252
+ /**
15253
+ * The precondition of a transaction: the row `key` of `collection` must hold
15254
+ * `equals` in `column`, read INSIDE the transaction.
15255
+ */
15256
+ var TransactGuardSchema = object({
15257
+ collection: string(),
15258
+ key: string(),
15259
+ column: string(),
15260
+ equals: unknown()
15261
+ });
15262
+ /**
15222
15263
  * Column declaration for a structured (SQL-backed) collection.
15223
15264
  *
15224
15265
  * Logical types — the backend translates each to the matching SQLite
@@ -15309,6 +15350,16 @@ id: union([string(), number()]) }), {
15309
15350
  }), object({ inserted: number().int() }), {
15310
15351
  kind: "mutation",
15311
15352
  auth: "admin"
15353
+ }), method(object({
15354
+ namespace: string().optional(),
15355
+ guard: TransactGuardSchema.optional(),
15356
+ ops: array(TransactOpSchema).readonly()
15357
+ }), object({
15358
+ applied: boolean(),
15359
+ current: unknown().optional()
15360
+ }), {
15361
+ kind: "mutation",
15362
+ auth: "admin"
15312
15363
  }), method(object({
15313
15364
  namespace: string().optional(),
15314
15365
  collection: string(),
@@ -15457,6 +15508,16 @@ id: union([string(), number()]) }), {
15457
15508
  }), object({ inserted: number().int() }), {
15458
15509
  kind: "mutation",
15459
15510
  auth: "admin"
15511
+ }), method(object({
15512
+ namespace: string().optional(),
15513
+ guard: TransactGuardSchema.optional(),
15514
+ ops: array(TransactOpSchema).readonly()
15515
+ }), object({
15516
+ applied: boolean(),
15517
+ current: unknown().optional()
15518
+ }), {
15519
+ kind: "mutation",
15520
+ auth: "admin"
15460
15521
  }), method(object({
15461
15522
  namespace: string().optional(),
15462
15523
  collection: string(),
@@ -23869,6 +23930,55 @@ var RetrainBboxSchema = object({
23869
23930
  h: number()
23870
23931
  });
23871
23932
  /**
23933
+ * What a box LOOKED LIKE when it was offered, snapshotted at the moment the
23934
+ * operator accepted it. The saved row keeps only the final rectangle; this is
23935
+ * the other half of the pair, and the pair is what says whether the operator
23936
+ * accepted, nudged, relabelled or replaced a proposal (`retrain-review.ts`).
23937
+ *
23938
+ * `ref` names the proposal inside its frame: `pipeline:<trackId>` for a box the
23939
+ * live pipeline drew, `assist:<n>` for the n-th box of a detector or LLM run,
23940
+ * and anything unique for an operator-drawn box (`operator:<n>`). Re-derived
23941
+ * pipeline boxes carry the same ref every time, which is what lets a dismissal
23942
+ * stay dismissed.
23943
+ */
23944
+ var RetrainOriginSchema = object({
23945
+ source: RetrainAnnotationSourceSchema,
23946
+ ref: string().min(1),
23947
+ bbox: RetrainBboxSchema,
23948
+ macroClass: RetrainMacroClassSchema,
23949
+ label: string().optional(),
23950
+ score: number().optional(),
23951
+ modelId: string().optional()
23952
+ });
23953
+ /**
23954
+ * A proposal the operator deleted. Durable on the frame, so a deleted pipeline
23955
+ * box does not come back as a draft every time the frame is reopened, and so
23956
+ * the deletion itself is a recorded fact rather than an absence.
23957
+ */
23958
+ var RetrainDismissedSchema = object({
23959
+ ref: string().min(1),
23960
+ snapshot: RetrainOriginSchema
23961
+ });
23962
+ /** What the operator did with a proposal (see `retrain-review.ts`). */
23963
+ var RetrainReviewStatusSchema = _enum(RETRAIN_REVIEW_STATUSES);
23964
+ var RetrainFrameReviewSchema = object({
23965
+ boxes: array(object({
23966
+ ref: string(),
23967
+ savedId: string().optional(),
23968
+ status: RetrainReviewStatusSchema,
23969
+ /** The baseline was re-derived, not snapshotted (a pre-origin row). */
23970
+ approximate: boolean(),
23971
+ origin: RetrainOriginSchema.optional(),
23972
+ iou: number().optional()
23973
+ })).readonly(),
23974
+ summary: object({
23975
+ counts: record(RetrainReviewStatusSchema, number().int()),
23976
+ total: number().int(),
23977
+ changed: number().int(),
23978
+ approximate: boolean()
23979
+ })
23980
+ });
23981
+ /**
23872
23982
  * One annotated subject.
23873
23983
  *
23874
23984
  * `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
@@ -23892,6 +24002,9 @@ var RetrainAnnotationSchema = object({
23892
24002
  /** Which model proposed this box — or, on a `model_error`, drew the phantom. */
23893
24003
  assistModelId: string().optional(),
23894
24004
  assistScore: number().optional(),
24005
+ /** The proposal this box started from, snapshotted at accept time. `null` on
24006
+ * a row saved before origins existed; absent on a draft nobody snapshotted. */
24007
+ origin: RetrainOriginSchema.nullable().optional(),
23895
24008
  exportedInBatch: string().optional(),
23896
24009
  createdAt: number()
23897
24010
  });
@@ -23984,7 +24097,19 @@ var RetrainFrameSchema = object({
23984
24097
  * empty when nothing the track store holds can be placed on it. */
23985
24098
  pipelineBoxes: array(RetrainPipelineBoxSchema).readonly().optional(),
23986
24099
  /** The named collections this frame belongs to. Present on list answers. */
23987
- collectionIds: array(string()).readonly().optional()
24100
+ collectionIds: array(string()).readonly().optional(),
24101
+ /** Bumped by every annotation save. A save that names a stale
24102
+ * `expectedRevision` is refused, so two surfaces cannot overwrite each other. */
24103
+ revision: number().int().optional(),
24104
+ /** Proposals the operator deleted — never re-seeded as drafts. */
24105
+ dismissed: array(RetrainDismissedSchema).readonly().optional(),
24106
+ /** What the operator did with the proposals, computed by the server. */
24107
+ review: RetrainFrameReviewSchema.optional(),
24108
+ /** The frame's pixels over the admin data plane (full size). Fetch with the
24109
+ * admin bearer token; relative to the hub root. */
24110
+ imageUrl: string().optional(),
24111
+ /** The same, as a ~480 px thumbnail for grids. */
24112
+ thumbnailUrl: string().optional()
23988
24113
  });
23989
24114
  /** Why a copy-on-select could not be honoured — named, never a silent skip. */
23990
24115
  var RetrainCopyRefusalSchema = _enum([
@@ -25063,10 +25188,33 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
25063
25188
  /** The frame's track, when it has one — checked against the frame. */
25064
25189
  trackId: string().optional(),
25065
25190
  frameId: string(),
25066
- annotations: array(RetrainAnnotationDraftSchema)
25191
+ annotations: array(RetrainAnnotationDraftSchema),
25192
+ /** The frame's `revision` the caller saw. A different current revision
25193
+ * refuses the save with a `retrain-revision-conflict` error
25194
+ * (`parseRetrainRevisionConflict`). Absent ⇒ last write wins. */
25195
+ expectedRevision: number().int().optional(),
25196
+ /** The proposals the operator deleted. Absent ⇒ keep the frame's
25197
+ * current set; present ⇒ replace it (an empty array un-dismisses). */
25198
+ dismissed: array(RetrainDismissedSchema).optional()
25067
25199
  }), array(RetrainAnnotationSchema).readonly(), {
25068
25200
  kind: "mutation",
25069
25201
  auth: "admin"
25202
+ }), method(object({
25203
+ deviceId: number(),
25204
+ trackId: string().optional(),
25205
+ frameId: string(),
25206
+ expectedRevision: number().int().optional(),
25207
+ origins: array(object({
25208
+ annotationId: string(),
25209
+ origin: RetrainOriginSchema
25210
+ })).min(1).max(500)
25211
+ }), object({
25212
+ updated: number().int(),
25213
+ skipped: number().int(),
25214
+ revision: number().int()
25215
+ }), {
25216
+ kind: "mutation",
25217
+ auth: "admin"
25070
25218
  }), method(object({
25071
25219
  deviceId: number(),
25072
25220
  trackId: string()
@@ -41487,6 +41635,12 @@ Object.freeze({
41487
41635
  addonId: null,
41488
41636
  access: "create"
41489
41637
  },
41638
+ "dataStoreProvider.transact": {
41639
+ capName: "data-store-provider",
41640
+ capScope: "system",
41641
+ addonId: null,
41642
+ access: "create"
41643
+ },
41490
41644
  "dataStoreProvider.update": {
41491
41645
  capName: "data-store-provider",
41492
41646
  capScope: "system",
@@ -44331,6 +44485,12 @@ Object.freeze({
44331
44485
  addonId: null,
44332
44486
  access: "create"
44333
44487
  },
44488
+ "pipelineAnalytics.backfillRetrainOrigins": {
44489
+ capName: "pipeline-analytics",
44490
+ capScope: "device",
44491
+ addonId: null,
44492
+ access: "create"
44493
+ },
44334
44494
  "pipelineAnalytics.cancelRelocateMedia": {
44335
44495
  capName: "pipeline-analytics",
44336
44496
  capScope: "device",
@@ -46323,6 +46483,12 @@ Object.freeze({
46323
46483
  addonId: null,
46324
46484
  access: "create"
46325
46485
  },
46486
+ "settingsStore.transact": {
46487
+ capName: "settings-store",
46488
+ capScope: "system",
46489
+ addonId: null,
46490
+ access: "create"
46491
+ },
46326
46492
  "settingsStore.update": {
46327
46493
  capName: "settings-store",
46328
46494
  capScope: "system",
@@ -50649,6 +50815,11 @@ Object.freeze({
50649
50815
  form: "single",
50650
50816
  optional: false
50651
50817
  }],
50818
+ "pipelineAnalytics.backfillRetrainOrigins": [{
50819
+ name: "deviceId",
50820
+ form: "single",
50821
+ optional: false
50822
+ }],
50652
50823
  "pipelineAnalytics.clearTrackRelation": [{
50653
50824
  name: "deviceId",
50654
50825
  form: "single",
@@ -1,4 +1,4 @@
1
- import { b as e } from "./responsive-BVIV-dmc.mjs";
1
+ import { b as e } from "./responsive-D9vCqgDU.mjs";
2
2
  var t = e("grid-2x2", [
3
3
  ["path", {
4
4
  d: "M12 3v18",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.358",
39
+ version: "1.2.359",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.282",
84
+ version: "1.2.283",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("./dist-BH64IPHN.js");
2
+ require("./dist-B-VsYan_.js");
3
3
  const require_orchestrator_training_addon = require("./orchestrator/training.addon.js");
4
4
  const require_providers_modal_training_modal_addon = require("./providers/modal/training-modal.addon.js");
5
5
  //#region src/providers/fake/fake-provider.ts
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-BH64IPHN.js");
2
+ const require_dist = require("../dist-B-VsYan_.js");
3
3
  let node_path = require("node:path");
4
4
  node_path = require_dist.__toESM(node_path);
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA } from "../dist-8focs11m.mjs";
1
+ import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA } from "../dist-BquQjWLf.mjs";
2
2
  import path from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
  import { createReadStream } from "node:fs";
@@ -1,5 +1,5 @@
1
1
  import { S as e, _ as t, l as n, u as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { b as i, y as a } from "./responsive-BVIV-dmc.mjs";
2
+ import { b as i, y as a } from "./responsive-D9vCqgDU.mjs";
3
3
  import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
4
4
  var l = i("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../../dist-BH64IPHN.js");
2
+ const require_dist = require("../../dist-B-VsYan_.js");
3
3
  let node_path = require("node:path");
4
4
  node_path = require_dist.__toESM(node_path, 1);
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { _ as number, b as string, c as trainingProviderCapability, d as arrayItemFieldPath, f as globalSecretScope, g as boolean, h as toSecretFieldView, l as BaseAddon, m as isSecretMarker, p as isSecretClear, u as SECRET_CLEAR, v as object, y as record } from "../../dist-8focs11m.mjs";
1
+ import { _ as number, b as string, c as trainingProviderCapability, d as arrayItemFieldPath, f as globalSecretScope, g as boolean, h as toSecretFieldView, l as BaseAddon, m as isSecretMarker, p as isSecretClear, u as SECRET_CLEAR, v as object, y as record } from "../../dist-BquQjWLf.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import path, { dirname, posix } from "node:path";
4
4
  import { createHash, createPrivateKey, createPublicKey, createSign, randomBytes, randomUUID } from "node:crypto";
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CkcnEQXW.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-MIdiPdsF.mjs";
2
2
  export { t as get, e as init };
@@ -1,5 +1,5 @@
1
1
  import { S as e, _ as t, c as n, l as r, m as i, n as a, r as o, t as s, u as c, v as l } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { h as u } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DnH0udRu.mjs";
2
+ import { h as u } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-cX_n863q.mjs";
3
3
  import "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  e();
@@ -1,5 +1,5 @@
1
1
  import { S as e, _ as t, c as n, m as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { b as i } from "./responsive-BVIV-dmc.mjs";
2
+ import { b as i } from "./responsive-D9vCqgDU.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-BVIV-dmc.mjs";
1
+ import { b as e } from "./responsive-D9vCqgDU.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-BVIV-dmc.mjs";
1
+ import { b as e } from "./responsive-D9vCqgDU.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -2762,7 +2762,7 @@ async function or(e) {
2762
2762
  }
2763
2763
  }
2764
2764
  async function sr() {
2765
- return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BeFr_KhE.mjs")).catch((e) => {
2765
+ return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-DL0IzS20.mjs")).catch((e) => {
2766
2766
  throw ir = void 0, e;
2767
2767
  }), ir;
2768
2768
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-training",
3
- "version": "0.1.34",
3
+ "version": "0.1.35",
4
4
  "description": "Cloud training for CamStack: fine-tune the root detector on your own frames, on your own GPU-cloud account",
5
5
  "keywords": [
6
6
  "camstack",