@camstack/addon-model-studio 1.1.160 → 1.1.161

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/_stub.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./virtualExposes-CWSi4E_g.mjs";
2
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DodCXtYd.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DrSBhU3P.mjs";
3
3
  import { _ as e, c as t, d as n, h as r, i, l as a, m as o, p as s, r as c, t as l, u, y as d } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
4
4
  import { a as f, i as p, o as m, r as h, s as g } from "./cap-error-DHkvpvpc.mjs";
5
5
  import { d as _, l as v, u as y } from "./scene-monitor-copy-BKbPs3_1.mjs";
@@ -1,4 +1,4 @@
1
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DodCXtYd.mjs";
1
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DrSBhU3P.mjs";
2
2
  //#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_model_studio_page
3
3
  var e = {
4
4
  "@camstack/sdk": {
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.236",
21
+ version: "1.2.237",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_model_studio_page",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.192",
36
+ version: "1.2.193",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_model_studio_page",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.236",
39
+ version: "1.2.237",
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.192",
84
+ version: "1.2.193",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
@@ -24876,22 +24876,40 @@ DeviceType.Camera, method(object({
24876
24876
  limit: number().int().positive().optional(),
24877
24877
  /**
24878
24878
  * WHICH provider to ask — the `addonId` a {@link ClipSourceSchema} row
24879
- * carries, never a source id and never a list.
24880
- *
24881
- * Absent means the device's BOUND provider, which is CamStack on every
24882
- * camera today because that is what `deviceManager.getBindings`
24883
- * answers with. A provider the device is not bound to is refused by
24884
- * name rather than answered by another one (D552's
24885
- * `rejectUnresolvedAddonPin` rule).
24879
+ * carries, never a source id and never a list. **Required** (D554 amended).
24880
+ *
24881
+ * A provider the device is not bound to is refused by name rather than
24882
+ * answered by another one (D552's `rejectUnresolvedAddonPin` rule).
24883
+ *
24884
+ * It was optional, documented as "absent means the device's BOUND
24885
+ * provider, which is CamStack on every camera". No code implemented
24886
+ * that. Measured on the live hub 2026-09-20 — device 592, bound to
24887
+ * `recorder` AND `provider-reolink` — a bare call with `limit: 3`
24888
+ * answered SIX rows, three from each source, merged newest-first:
24889
+ * `device-collection-dispatch.ts` simply left the fan-out un-narrowed,
24890
+ * so absence bought the union this method exists not to be, and
24891
+ * `limit` meant `limit × sources`.
24892
+ *
24893
+ * There is nothing to restore the default to. `getBindings` answers a
24894
+ * collection cap with a DERIVED, PLURAL set (D554 amended, step 0);
24895
+ * `setWrapperActive` — the singleton authority that could name one —
24896
+ * throws for a collection cap by design. Naming CamStack here instead
24897
+ * would privilege one addon by id inside a surface whose premise is
24898
+ * that sources are peers, and would be wrong on the first camera with
24899
+ * no recorder binding. So absence is REFUSED, in the schema, where the
24900
+ * generated types make it unomittable rather than merely discouraged.
24901
+ *
24902
+ * The default belongs to the SURFACE, which has the `listSources` rows
24903
+ * and can say which one it picked (D569 § 1–3; the viewer already
24904
+ * always sends this).
24886
24905
  *
24887
24906
  * It replaced `sources?: string[]`, a VIEW filter over source ids that
24888
24907
  * assumed the answer was a fan-out over everything a camera has. The
24889
- * operator settled otherwise on 2026-09-20 — *"il get videoclips
24890
- * prendere un provider opzionale, di default va su camstack"*,
24891
- * *"l'utilizzatore è uno solo"* — so the list is asked of one provider
24892
- * at a time and there is nothing to filter out of it.
24908
+ * operator settled otherwise on 2026-09-20 — *"l'utilizzatore è uno
24909
+ * solo"* — so the list is asked of one provider at a time and there is
24910
+ * nothing to filter out of it.
24893
24911
  */
24894
- provider: string().optional()
24912
+ provider: string().min(1)
24895
24913
  }), array(ClipSchema).readonly(), {
24896
24914
  kind: "query",
24897
24915
  auth: "protected"
@@ -24855,22 +24855,40 @@ DeviceType.Camera, method(object({
24855
24855
  limit: number().int().positive().optional(),
24856
24856
  /**
24857
24857
  * WHICH provider to ask — the `addonId` a {@link ClipSourceSchema} row
24858
- * carries, never a source id and never a list.
24859
- *
24860
- * Absent means the device's BOUND provider, which is CamStack on every
24861
- * camera today because that is what `deviceManager.getBindings`
24862
- * answers with. A provider the device is not bound to is refused by
24863
- * name rather than answered by another one (D552's
24864
- * `rejectUnresolvedAddonPin` rule).
24858
+ * carries, never a source id and never a list. **Required** (D554 amended).
24859
+ *
24860
+ * A provider the device is not bound to is refused by name rather than
24861
+ * answered by another one (D552's `rejectUnresolvedAddonPin` rule).
24862
+ *
24863
+ * It was optional, documented as "absent means the device's BOUND
24864
+ * provider, which is CamStack on every camera". No code implemented
24865
+ * that. Measured on the live hub 2026-09-20 — device 592, bound to
24866
+ * `recorder` AND `provider-reolink` — a bare call with `limit: 3`
24867
+ * answered SIX rows, three from each source, merged newest-first:
24868
+ * `device-collection-dispatch.ts` simply left the fan-out un-narrowed,
24869
+ * so absence bought the union this method exists not to be, and
24870
+ * `limit` meant `limit × sources`.
24871
+ *
24872
+ * There is nothing to restore the default to. `getBindings` answers a
24873
+ * collection cap with a DERIVED, PLURAL set (D554 amended, step 0);
24874
+ * `setWrapperActive` — the singleton authority that could name one —
24875
+ * throws for a collection cap by design. Naming CamStack here instead
24876
+ * would privilege one addon by id inside a surface whose premise is
24877
+ * that sources are peers, and would be wrong on the first camera with
24878
+ * no recorder binding. So absence is REFUSED, in the schema, where the
24879
+ * generated types make it unomittable rather than merely discouraged.
24880
+ *
24881
+ * The default belongs to the SURFACE, which has the `listSources` rows
24882
+ * and can say which one it picked (D569 § 1–3; the viewer already
24883
+ * always sends this).
24865
24884
  *
24866
24885
  * It replaced `sources?: string[]`, a VIEW filter over source ids that
24867
24886
  * assumed the answer was a fan-out over everything a camera has. The
24868
- * operator settled otherwise on 2026-09-20 — *"il get videoclips
24869
- * prendere un provider opzionale, di default va su camstack"*,
24870
- * *"l'utilizzatore è uno solo"* — so the list is asked of one provider
24871
- * at a time and there is nothing to filter out of it.
24887
+ * operator settled otherwise on 2026-09-20 — *"l'utilizzatore è uno
24888
+ * solo"* — so the list is asked of one provider at a time and there is
24889
+ * nothing to filter out of it.
24872
24890
  */
24873
- provider: string().optional()
24891
+ provider: string().min(1)
24874
24892
  }), array(ClipSchema).readonly(), {
24875
24893
  kind: "query",
24876
24894
  auth: "protected"
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DodCXtYd.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DrSBhU3P.mjs";
2
2
  export { t as get, e as init };
@@ -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-Dl57Gf_x.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-B9uopzdn.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.160",
3
+ "version": "1.1.161",
4
4
  "description": "Custom detection model registry, conversion & distribution for CamStack",
5
5
  "keywords": [
6
6
  "camstack",