@camstack/addon-post-analysis 1.2.354 → 1.2.356

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 (15) hide show
  1. package/dist/{clip-model-registry-DWQFAe2Y.js → clip-model-registry-DG_jp-en.js} +185 -7
  2. package/dist/{clip-model-registry-DLYuD2y2.mjs → clip-model-registry-DfIHnFg4.mjs} +185 -7
  3. package/dist/embedding-encoder/index.js +1 -1
  4. package/dist/embedding-encoder/index.mjs +1 -1
  5. package/dist/pipeline-analytics/_stub.js +2 -2
  6. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-ll6BQzPU.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CZWX_8EQ.mjs} +3 -3
  7. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ckM_CHJd.mjs +26 -0
  8. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-X_26tehC.mjs +26 -0
  9. package/dist/pipeline-analytics/{hostInit-DDGRt-Nf.mjs → hostInit-BdMBUOiK.mjs} +3 -3
  10. package/dist/pipeline-analytics/index.js +1 -1
  11. package/dist/pipeline-analytics/index.mjs +1 -1
  12. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  13. package/package.json +1 -1
  14. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-N64PaPIw.mjs +0 -26
  15. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BHMkAzxv.mjs +0 -26
@@ -5480,7 +5480,7 @@ var ZodIssueCode = {
5480
5480
  var ZodFirstPartyTypeKind;
5481
5481
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5482
5482
  //#endregion
5483
- //#region ../types/dist/sleep-CI0n5D44.mjs
5483
+ //#region ../types/dist/sleep-DwAQ9sqX.mjs
5484
5484
  /**
5485
5485
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5486
5486
  * window to float samples (D455).
@@ -21889,14 +21889,14 @@ var LlmProfileSchema = object({
21889
21889
  /** ConfigUISchema tree passed through untyped on the wire (the
21890
21890
  * notification-output `ConfigSchemaPassthrough` precedent at
21891
21891
  * notification-output.cap.ts:151); the exported TS type re-tightens it. */
21892
- var ConfigSchemaPassthrough$1 = unknown();
21892
+ var ConfigSchemaPassthrough$3 = unknown();
21893
21893
  var LlmProfileKindDescriptorSchema = object({
21894
21894
  kind: LlmProfileKindSchema,
21895
21895
  label: string(),
21896
21896
  icon: string(),
21897
21897
  /** Stamped by each provider so the concat-fanned catalog stays routable. */
21898
21898
  addonId: string(),
21899
- configSchema: ConfigSchemaPassthrough$1
21899
+ configSchema: ConfigSchemaPassthrough$3
21900
21900
  });
21901
21901
  var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
21902
21902
  var LlmDefaultSchema = object({
@@ -23251,7 +23251,7 @@ var TargetKindCapsSchema = object({
23251
23251
  * the union is large and not meant for runtime validation here; the exported
23252
23252
  * `TargetKind` type re-tightens `configSchema` to `ConfigUISchema`.
23253
23253
  */
23254
- var ConfigSchemaPassthrough = unknown();
23254
+ var ConfigSchemaPassthrough$2 = unknown();
23255
23255
  var TargetKindSchema = object({
23256
23256
  kind: string(),
23257
23257
  label: string(),
@@ -23288,7 +23288,7 @@ var TargetKindSchema = object({
23288
23288
  * its raster path, which is the safe default for an unknown image.
23289
23289
  */
23290
23290
  iconMediaType: string().optional(),
23291
- configSchema: ConfigSchemaPassthrough,
23291
+ configSchema: ConfigSchemaPassthrough$2,
23292
23292
  /**
23293
23293
  * The config keys that decide WHERE this kind's secrets are sent (server,
23294
23294
  * base URL, instance, chat, recipient). A save that changes any of them
@@ -27549,6 +27549,77 @@ var oauthIntegrationCapability = {
27549
27549
  getDescriptor: method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" }) }
27550
27550
  };
27551
27551
  /**
27552
+ * `oidc-connections` — CRUD for IdP rows under `auth-oidc` (D828 sibling).
27553
+ *
27554
+ * One hub-only singleton (`auth-oidc`). The Settings UI is a DataTable +
27555
+ * ItemFormDialog; there is no `editable-array` in `globalSettingsSchema`.
27556
+ * Operator-chosen `id` is the URL slug (`/addon/auth-oidc/<id>/…`) and is
27557
+ * immutable after create.
27558
+ */
27559
+ var ConfigSchemaPassthrough$1 = unknown();
27560
+ var OidcConnectionSchema = object({
27561
+ id: string().min(1),
27562
+ displayName: string(),
27563
+ icon: string(),
27564
+ issuerUrl: string(),
27565
+ clientId: string(),
27566
+ /** Client id + secret present — never the secret value. */
27567
+ configured: boolean(),
27568
+ /**
27569
+ * Values for the connection form schema. `clientSecret` is a keychain
27570
+ * {@link SecretFieldView} or `null` / `''`, never plaintext (D789).
27571
+ */
27572
+ formValues: record(string(), unknown()).optional()
27573
+ });
27574
+ /**
27575
+ * Patch one connection. Omitted or empty `clientSecret` keeps the stored
27576
+ * secret (D787). `{ $secretClear: true }` clears it. `id` is never renamed.
27577
+ */
27578
+ var OidcConnectionUpdateInputSchema = object({
27579
+ id: string().min(1),
27580
+ displayName: string().min(1),
27581
+ icon: string().optional(),
27582
+ issuerUrl: string().optional(),
27583
+ clientId: string().optional(),
27584
+ clientSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
27585
+ redirectUri: string().optional(),
27586
+ scopes: string().optional(),
27587
+ usernameClaim: _enum([
27588
+ "preferred_username",
27589
+ "email",
27590
+ "sub"
27591
+ ]).optional()
27592
+ });
27593
+ var oidcConnectionsCapability = {
27594
+ name: "oidc-connections",
27595
+ scope: "system",
27596
+ mode: "singleton",
27597
+ methods: {
27598
+ /** Form fields for Add/Edit (ConfigFormBuilder). */
27599
+ connectionFormSchema: method(object({}), ConfigSchemaPassthrough$1, { auth: "admin" }),
27600
+ listConnections: method(object({}), array(OidcConnectionSchema).readonly(), { auth: "admin" }),
27601
+ /**
27602
+ * Create a row with the operator-chosen URL slug. Credentials follow via
27603
+ * `updateConnection` (same Save path as Training Providers).
27604
+ */
27605
+ createConnection: method(object({
27606
+ id: string().min(1).regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "id must be a lowercase slug"),
27607
+ displayName: string().min(1)
27608
+ }), object({ id: string() }), {
27609
+ kind: "mutation",
27610
+ auth: "admin"
27611
+ }),
27612
+ updateConnection: method(OidcConnectionUpdateInputSchema, object({ ok: literal(true) }), {
27613
+ kind: "mutation",
27614
+ auth: "admin"
27615
+ }),
27616
+ deleteConnection: method(object({ id: string().min(1) }), object({ ok: literal(true) }), {
27617
+ kind: "mutation",
27618
+ auth: "admin"
27619
+ })
27620
+ }
27621
+ };
27622
+ /**
27552
27623
  * What started a camera's onboard motion (D672). `camera` is the camera's own
27553
27624
  * firmware; `sensor` is a device the operator ATTACHED to it. Absent on the
27554
27625
  * wire means the camera: only the camera-sensors bridge ever says `sensor`.
@@ -39749,6 +39820,7 @@ var calendarSourceCapability = {
39749
39820
  scope: "system",
39750
39821
  mode: "collection",
39751
39822
  internal: true,
39823
+ providerKind: "calendar",
39752
39824
  methods: {
39753
39825
  listCalendars: method(_void(), array(CalendarInfoSchema).readonly(), { auth: "admin" }),
39754
39826
  listEvents: method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" })
@@ -45054,6 +45126,7 @@ var OsdNamedTemplateSchema = object({
45054
45126
  });
45055
45127
  /** Where a slot's value comes from. */
45056
45128
  var OsdSourceSchema = discriminatedUnion("kind", [
45129
+ object({ kind: literal("none") }),
45057
45130
  object({
45058
45131
  kind: literal("static"),
45059
45132
  text: string().max(64)
@@ -45213,6 +45286,19 @@ var osdManagerCapability = {
45213
45286
  auth: "admin"
45214
45287
  }),
45215
45288
  /**
45289
+ * Toggle the camera firmware overlay on/off (`osd.setOverlay` `enabled`).
45290
+ * Distinct from the binding's own `enabled` flag — this is what the
45291
+ * operator sees on the live picture (e.g. Reolink camera name layer).
45292
+ */
45293
+ setSlotCameraEnabled: method(object({
45294
+ deviceId: number().int(),
45295
+ slotId: string().min(1),
45296
+ enabled: boolean()
45297
+ }), object({ success: literal(true) }), {
45298
+ kind: "mutation",
45299
+ auth: "admin"
45300
+ }),
45301
+ /**
45216
45302
  * Replace one camera's binding configuration from another. Writable source
45217
45303
  * slots are mapped by ordinal onto writable target slots so different
45218
45304
  * provider slot ids do not make the copied configuration disappear.
@@ -51126,6 +51212,12 @@ var TrainingProviderDefaultsSchema = object({
51126
51212
  /** Hours a FAILED job's cloud dataset is kept for debugging; 0 = delete at once. */
51127
51213
  failedDatasetGraceHours: number().nonnegative()
51128
51214
  });
51215
+ /**
51216
+ * Entry form schema for a provider type — same seam as notification
51217
+ * `TargetKind.configSchema` (`z.unknown()` at the wire; callers tighten to
51218
+ * {@link ConfigUISchema}). Drives `ConfigFormBuilder` on Training → Providers.
51219
+ */
51220
+ var ConfigSchemaPassthrough = unknown();
51129
51221
  /** One creatable provider type, for the Add-entry dialog. */
51130
51222
  var TrainingProviderTypeSchema = object({
51131
51223
  typeId: string(),
@@ -51133,7 +51225,13 @@ var TrainingProviderTypeSchema = object({
51133
51225
  /** Path under the addon package (e.g. `assets/training-modal/icon.svg`). */
51134
51226
  iconAsset: string(),
51135
51227
  /** Owning `training-provider` addon — collection selector for createEntry. */
51136
- addonId: string()
51228
+ addonId: string(),
51229
+ /**
51230
+ * Fields for one entry of this type (credentials + defaults). Absent on a
51231
+ * type that only needs a name. Password fields are keychain-backed on the
51232
+ * provider addon (`secretStatePaths`), not D634 plaintext.
51233
+ */
51234
+ configSchema: ConfigSchemaPassthrough.optional()
51137
51235
  });
51138
51236
  /** One configured account / workspace under a provider type. */
51139
51237
  var TrainingProviderEntrySchema = object({
@@ -51163,7 +51261,30 @@ var TrainingProviderDescriptorSchema = object({
51163
51261
  dataResidencyNote: string(),
51164
51262
  /** Credentials are present — never the values. */
51165
51263
  configured: boolean(),
51166
- defaults: TrainingProviderDefaultsSchema
51264
+ defaults: TrainingProviderDefaultsSchema,
51265
+ /**
51266
+ * Values for {@link TrainingProviderTypeSchema}'s `configSchema` — password
51267
+ * fields are keychain {@link SecretFieldView} or `null` / `''` (create),
51268
+ * never plaintext. Same hydrate contract as settings forms (D789).
51269
+ */
51270
+ formValues: record(string(), unknown()).optional()
51271
+ });
51272
+ /**
51273
+ * Patch one entry's name, credentials and defaults. Pin with owning `{ addonId }`.
51274
+ * An omitted or empty `tokenSecret` means KEEP the stored secret (D787).
51275
+ * `{ $secretClear: true }` clears it.
51276
+ */
51277
+ var TrainingProviderUpdateEntryInputSchema = object({
51278
+ entryId: string().min(1),
51279
+ name: string().min(1),
51280
+ tokenId: string().optional(),
51281
+ tokenSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
51282
+ environment: string().optional(),
51283
+ gpuType: string().optional(),
51284
+ region: string().optional(),
51285
+ costCapUsd: number().nonnegative().optional(),
51286
+ maxRuntimeSec: number().int().positive().optional(),
51287
+ failedDatasetGraceHours: number().nonnegative().optional()
51167
51288
  });
51168
51289
  var TrainingCredentialCheckSchema = object({
51169
51290
  ok: boolean(),
@@ -51252,6 +51373,14 @@ var trainingProviderCapability = {
51252
51373
  kind: "mutation",
51253
51374
  auth: "admin"
51254
51375
  }),
51376
+ /**
51377
+ * Update one entry (name, credentials, defaults). Pin with owning
51378
+ * `{ addonId }`. Empty/omitted `tokenSecret` keeps the stored secret.
51379
+ */
51380
+ updateEntry: method(TrainingProviderUpdateEntryInputSchema, object({ ok: literal(true) }), {
51381
+ kind: "mutation",
51382
+ auth: "admin"
51383
+ }),
51255
51384
  /** Call the provider with the entry's stored credentials. Never returns them. */
51256
51385
  validateCredentials: method(object({ entryId: string().min(1) }), TrainingCredentialCheckSchema, {
51257
51386
  kind: "mutation",
@@ -56804,6 +56933,36 @@ Object.freeze({
56804
56933
  addonId: null,
56805
56934
  access: "view"
56806
56935
  },
56936
+ "oidcConnections.connectionFormSchema": {
56937
+ capName: "oidc-connections",
56938
+ capScope: "system",
56939
+ addonId: null,
56940
+ access: "view"
56941
+ },
56942
+ "oidcConnections.createConnection": {
56943
+ capName: "oidc-connections",
56944
+ capScope: "system",
56945
+ addonId: null,
56946
+ access: "create"
56947
+ },
56948
+ "oidcConnections.deleteConnection": {
56949
+ capName: "oidc-connections",
56950
+ capScope: "system",
56951
+ addonId: null,
56952
+ access: "delete"
56953
+ },
56954
+ "oidcConnections.listConnections": {
56955
+ capName: "oidc-connections",
56956
+ capScope: "system",
56957
+ addonId: null,
56958
+ access: "view"
56959
+ },
56960
+ "oidcConnections.updateConnection": {
56961
+ capName: "oidc-connections",
56962
+ capScope: "system",
56963
+ addonId: null,
56964
+ access: "create"
56965
+ },
56807
56966
  "osd.getStatus": {
56808
56967
  capName: "osd",
56809
56968
  capScope: "device",
@@ -56876,6 +57035,12 @@ Object.freeze({
56876
57035
  addonId: null,
56877
57036
  access: "create"
56878
57037
  },
57038
+ "osdManager.setSlotCameraEnabled": {
57039
+ capName: "osd-manager",
57040
+ capScope: "system",
57041
+ addonId: null,
57042
+ access: "create"
57043
+ },
56879
57044
  "osdManager.upsertTemplate": {
56880
57045
  capName: "osd-manager",
56881
57046
  capScope: "system",
@@ -59984,6 +60149,12 @@ Object.freeze({
59984
60149
  addonId: null,
59985
60150
  access: "create"
59986
60151
  },
60152
+ "trainingProvider.updateEntry": {
60153
+ capName: "training-provider",
60154
+ capScope: "system",
60155
+ addonId: null,
60156
+ access: "create"
60157
+ },
59987
60158
  "trainingProvider.uploadDataset": {
59988
60159
  capName: "training-provider",
59989
60160
  capScope: "system",
@@ -62027,6 +62198,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
62027
62198
  notifierCapability,
62028
62199
  numericSensorCapability,
62029
62200
  oauthIntegrationCapability,
62201
+ oidcConnectionsCapability,
62030
62202
  osdCapability,
62031
62203
  osdManagerCapability,
62032
62204
  petFeederCapability,
@@ -63370,6 +63542,11 @@ Object.freeze({
63370
63542
  form: "single",
63371
63543
  optional: false
63372
63544
  }],
63545
+ "osdManager.setSlotCameraEnabled": [{
63546
+ name: "deviceId",
63547
+ form: "single",
63548
+ optional: false
63549
+ }],
63373
63550
  "petFeeder.callPet": [{
63374
63551
  name: "deviceId",
63375
63552
  form: "single",
@@ -64704,6 +64881,7 @@ Object.freeze({
64704
64881
  });
64705
64882
  Object.freeze({
64706
64883
  "broker": "broker",
64884
+ "calendar-source": "calendar",
64707
64885
  "device-export": "device-export",
64708
64886
  "llm": "ai",
64709
64887
  "mesh-network": "mesh",
@@ -5449,7 +5449,7 @@ var ZodIssueCode = {
5449
5449
  var ZodFirstPartyTypeKind;
5450
5450
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5451
5451
  //#endregion
5452
- //#region ../types/dist/sleep-CI0n5D44.mjs
5452
+ //#region ../types/dist/sleep-DwAQ9sqX.mjs
5453
5453
  /**
5454
5454
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5455
5455
  * window to float samples (D455).
@@ -21858,14 +21858,14 @@ var LlmProfileSchema = object({
21858
21858
  /** ConfigUISchema tree passed through untyped on the wire (the
21859
21859
  * notification-output `ConfigSchemaPassthrough` precedent at
21860
21860
  * notification-output.cap.ts:151); the exported TS type re-tightens it. */
21861
- var ConfigSchemaPassthrough$1 = unknown();
21861
+ var ConfigSchemaPassthrough$3 = unknown();
21862
21862
  var LlmProfileKindDescriptorSchema = object({
21863
21863
  kind: LlmProfileKindSchema,
21864
21864
  label: string(),
21865
21865
  icon: string(),
21866
21866
  /** Stamped by each provider so the concat-fanned catalog stays routable. */
21867
21867
  addonId: string(),
21868
- configSchema: ConfigSchemaPassthrough$1
21868
+ configSchema: ConfigSchemaPassthrough$3
21869
21869
  });
21870
21870
  var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
21871
21871
  var LlmDefaultSchema = object({
@@ -23220,7 +23220,7 @@ var TargetKindCapsSchema = object({
23220
23220
  * the union is large and not meant for runtime validation here; the exported
23221
23221
  * `TargetKind` type re-tightens `configSchema` to `ConfigUISchema`.
23222
23222
  */
23223
- var ConfigSchemaPassthrough = unknown();
23223
+ var ConfigSchemaPassthrough$2 = unknown();
23224
23224
  var TargetKindSchema = object({
23225
23225
  kind: string(),
23226
23226
  label: string(),
@@ -23257,7 +23257,7 @@ var TargetKindSchema = object({
23257
23257
  * its raster path, which is the safe default for an unknown image.
23258
23258
  */
23259
23259
  iconMediaType: string().optional(),
23260
- configSchema: ConfigSchemaPassthrough,
23260
+ configSchema: ConfigSchemaPassthrough$2,
23261
23261
  /**
23262
23262
  * The config keys that decide WHERE this kind's secrets are sent (server,
23263
23263
  * base URL, instance, chat, recipient). A save that changes any of them
@@ -27518,6 +27518,77 @@ var oauthIntegrationCapability = {
27518
27518
  getDescriptor: method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" }) }
27519
27519
  };
27520
27520
  /**
27521
+ * `oidc-connections` — CRUD for IdP rows under `auth-oidc` (D828 sibling).
27522
+ *
27523
+ * One hub-only singleton (`auth-oidc`). The Settings UI is a DataTable +
27524
+ * ItemFormDialog; there is no `editable-array` in `globalSettingsSchema`.
27525
+ * Operator-chosen `id` is the URL slug (`/addon/auth-oidc/<id>/…`) and is
27526
+ * immutable after create.
27527
+ */
27528
+ var ConfigSchemaPassthrough$1 = unknown();
27529
+ var OidcConnectionSchema = object({
27530
+ id: string().min(1),
27531
+ displayName: string(),
27532
+ icon: string(),
27533
+ issuerUrl: string(),
27534
+ clientId: string(),
27535
+ /** Client id + secret present — never the secret value. */
27536
+ configured: boolean(),
27537
+ /**
27538
+ * Values for the connection form schema. `clientSecret` is a keychain
27539
+ * {@link SecretFieldView} or `null` / `''`, never plaintext (D789).
27540
+ */
27541
+ formValues: record(string(), unknown()).optional()
27542
+ });
27543
+ /**
27544
+ * Patch one connection. Omitted or empty `clientSecret` keeps the stored
27545
+ * secret (D787). `{ $secretClear: true }` clears it. `id` is never renamed.
27546
+ */
27547
+ var OidcConnectionUpdateInputSchema = object({
27548
+ id: string().min(1),
27549
+ displayName: string().min(1),
27550
+ icon: string().optional(),
27551
+ issuerUrl: string().optional(),
27552
+ clientId: string().optional(),
27553
+ clientSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
27554
+ redirectUri: string().optional(),
27555
+ scopes: string().optional(),
27556
+ usernameClaim: _enum([
27557
+ "preferred_username",
27558
+ "email",
27559
+ "sub"
27560
+ ]).optional()
27561
+ });
27562
+ var oidcConnectionsCapability = {
27563
+ name: "oidc-connections",
27564
+ scope: "system",
27565
+ mode: "singleton",
27566
+ methods: {
27567
+ /** Form fields for Add/Edit (ConfigFormBuilder). */
27568
+ connectionFormSchema: method(object({}), ConfigSchemaPassthrough$1, { auth: "admin" }),
27569
+ listConnections: method(object({}), array(OidcConnectionSchema).readonly(), { auth: "admin" }),
27570
+ /**
27571
+ * Create a row with the operator-chosen URL slug. Credentials follow via
27572
+ * `updateConnection` (same Save path as Training Providers).
27573
+ */
27574
+ createConnection: method(object({
27575
+ id: string().min(1).regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "id must be a lowercase slug"),
27576
+ displayName: string().min(1)
27577
+ }), object({ id: string() }), {
27578
+ kind: "mutation",
27579
+ auth: "admin"
27580
+ }),
27581
+ updateConnection: method(OidcConnectionUpdateInputSchema, object({ ok: literal(true) }), {
27582
+ kind: "mutation",
27583
+ auth: "admin"
27584
+ }),
27585
+ deleteConnection: method(object({ id: string().min(1) }), object({ ok: literal(true) }), {
27586
+ kind: "mutation",
27587
+ auth: "admin"
27588
+ })
27589
+ }
27590
+ };
27591
+ /**
27521
27592
  * What started a camera's onboard motion (D672). `camera` is the camera's own
27522
27593
  * firmware; `sensor` is a device the operator ATTACHED to it. Absent on the
27523
27594
  * wire means the camera: only the camera-sensors bridge ever says `sensor`.
@@ -39718,6 +39789,7 @@ var calendarSourceCapability = {
39718
39789
  scope: "system",
39719
39790
  mode: "collection",
39720
39791
  internal: true,
39792
+ providerKind: "calendar",
39721
39793
  methods: {
39722
39794
  listCalendars: method(_void(), array(CalendarInfoSchema).readonly(), { auth: "admin" }),
39723
39795
  listEvents: method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" })
@@ -45023,6 +45095,7 @@ var OsdNamedTemplateSchema = object({
45023
45095
  });
45024
45096
  /** Where a slot's value comes from. */
45025
45097
  var OsdSourceSchema = discriminatedUnion("kind", [
45098
+ object({ kind: literal("none") }),
45026
45099
  object({
45027
45100
  kind: literal("static"),
45028
45101
  text: string().max(64)
@@ -45182,6 +45255,19 @@ var osdManagerCapability = {
45182
45255
  auth: "admin"
45183
45256
  }),
45184
45257
  /**
45258
+ * Toggle the camera firmware overlay on/off (`osd.setOverlay` `enabled`).
45259
+ * Distinct from the binding's own `enabled` flag — this is what the
45260
+ * operator sees on the live picture (e.g. Reolink camera name layer).
45261
+ */
45262
+ setSlotCameraEnabled: method(object({
45263
+ deviceId: number().int(),
45264
+ slotId: string().min(1),
45265
+ enabled: boolean()
45266
+ }), object({ success: literal(true) }), {
45267
+ kind: "mutation",
45268
+ auth: "admin"
45269
+ }),
45270
+ /**
45185
45271
  * Replace one camera's binding configuration from another. Writable source
45186
45272
  * slots are mapped by ordinal onto writable target slots so different
45187
45273
  * provider slot ids do not make the copied configuration disappear.
@@ -51095,6 +51181,12 @@ var TrainingProviderDefaultsSchema = object({
51095
51181
  /** Hours a FAILED job's cloud dataset is kept for debugging; 0 = delete at once. */
51096
51182
  failedDatasetGraceHours: number().nonnegative()
51097
51183
  });
51184
+ /**
51185
+ * Entry form schema for a provider type — same seam as notification
51186
+ * `TargetKind.configSchema` (`z.unknown()` at the wire; callers tighten to
51187
+ * {@link ConfigUISchema}). Drives `ConfigFormBuilder` on Training → Providers.
51188
+ */
51189
+ var ConfigSchemaPassthrough = unknown();
51098
51190
  /** One creatable provider type, for the Add-entry dialog. */
51099
51191
  var TrainingProviderTypeSchema = object({
51100
51192
  typeId: string(),
@@ -51102,7 +51194,13 @@ var TrainingProviderTypeSchema = object({
51102
51194
  /** Path under the addon package (e.g. `assets/training-modal/icon.svg`). */
51103
51195
  iconAsset: string(),
51104
51196
  /** Owning `training-provider` addon — collection selector for createEntry. */
51105
- addonId: string()
51197
+ addonId: string(),
51198
+ /**
51199
+ * Fields for one entry of this type (credentials + defaults). Absent on a
51200
+ * type that only needs a name. Password fields are keychain-backed on the
51201
+ * provider addon (`secretStatePaths`), not D634 plaintext.
51202
+ */
51203
+ configSchema: ConfigSchemaPassthrough.optional()
51106
51204
  });
51107
51205
  /** One configured account / workspace under a provider type. */
51108
51206
  var TrainingProviderEntrySchema = object({
@@ -51132,7 +51230,30 @@ var TrainingProviderDescriptorSchema = object({
51132
51230
  dataResidencyNote: string(),
51133
51231
  /** Credentials are present — never the values. */
51134
51232
  configured: boolean(),
51135
- defaults: TrainingProviderDefaultsSchema
51233
+ defaults: TrainingProviderDefaultsSchema,
51234
+ /**
51235
+ * Values for {@link TrainingProviderTypeSchema}'s `configSchema` — password
51236
+ * fields are keychain {@link SecretFieldView} or `null` / `''` (create),
51237
+ * never plaintext. Same hydrate contract as settings forms (D789).
51238
+ */
51239
+ formValues: record(string(), unknown()).optional()
51240
+ });
51241
+ /**
51242
+ * Patch one entry's name, credentials and defaults. Pin with owning `{ addonId }`.
51243
+ * An omitted or empty `tokenSecret` means KEEP the stored secret (D787).
51244
+ * `{ $secretClear: true }` clears it.
51245
+ */
51246
+ var TrainingProviderUpdateEntryInputSchema = object({
51247
+ entryId: string().min(1),
51248
+ name: string().min(1),
51249
+ tokenId: string().optional(),
51250
+ tokenSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
51251
+ environment: string().optional(),
51252
+ gpuType: string().optional(),
51253
+ region: string().optional(),
51254
+ costCapUsd: number().nonnegative().optional(),
51255
+ maxRuntimeSec: number().int().positive().optional(),
51256
+ failedDatasetGraceHours: number().nonnegative().optional()
51136
51257
  });
51137
51258
  var TrainingCredentialCheckSchema = object({
51138
51259
  ok: boolean(),
@@ -51221,6 +51342,14 @@ var trainingProviderCapability = {
51221
51342
  kind: "mutation",
51222
51343
  auth: "admin"
51223
51344
  }),
51345
+ /**
51346
+ * Update one entry (name, credentials, defaults). Pin with owning
51347
+ * `{ addonId }`. Empty/omitted `tokenSecret` keeps the stored secret.
51348
+ */
51349
+ updateEntry: method(TrainingProviderUpdateEntryInputSchema, object({ ok: literal(true) }), {
51350
+ kind: "mutation",
51351
+ auth: "admin"
51352
+ }),
51224
51353
  /** Call the provider with the entry's stored credentials. Never returns them. */
51225
51354
  validateCredentials: method(object({ entryId: string().min(1) }), TrainingCredentialCheckSchema, {
51226
51355
  kind: "mutation",
@@ -56773,6 +56902,36 @@ Object.freeze({
56773
56902
  addonId: null,
56774
56903
  access: "view"
56775
56904
  },
56905
+ "oidcConnections.connectionFormSchema": {
56906
+ capName: "oidc-connections",
56907
+ capScope: "system",
56908
+ addonId: null,
56909
+ access: "view"
56910
+ },
56911
+ "oidcConnections.createConnection": {
56912
+ capName: "oidc-connections",
56913
+ capScope: "system",
56914
+ addonId: null,
56915
+ access: "create"
56916
+ },
56917
+ "oidcConnections.deleteConnection": {
56918
+ capName: "oidc-connections",
56919
+ capScope: "system",
56920
+ addonId: null,
56921
+ access: "delete"
56922
+ },
56923
+ "oidcConnections.listConnections": {
56924
+ capName: "oidc-connections",
56925
+ capScope: "system",
56926
+ addonId: null,
56927
+ access: "view"
56928
+ },
56929
+ "oidcConnections.updateConnection": {
56930
+ capName: "oidc-connections",
56931
+ capScope: "system",
56932
+ addonId: null,
56933
+ access: "create"
56934
+ },
56776
56935
  "osd.getStatus": {
56777
56936
  capName: "osd",
56778
56937
  capScope: "device",
@@ -56845,6 +57004,12 @@ Object.freeze({
56845
57004
  addonId: null,
56846
57005
  access: "create"
56847
57006
  },
57007
+ "osdManager.setSlotCameraEnabled": {
57008
+ capName: "osd-manager",
57009
+ capScope: "system",
57010
+ addonId: null,
57011
+ access: "create"
57012
+ },
56848
57013
  "osdManager.upsertTemplate": {
56849
57014
  capName: "osd-manager",
56850
57015
  capScope: "system",
@@ -59953,6 +60118,12 @@ Object.freeze({
59953
60118
  addonId: null,
59954
60119
  access: "create"
59955
60120
  },
60121
+ "trainingProvider.updateEntry": {
60122
+ capName: "training-provider",
60123
+ capScope: "system",
60124
+ addonId: null,
60125
+ access: "create"
60126
+ },
59956
60127
  "trainingProvider.uploadDataset": {
59957
60128
  capName: "training-provider",
59958
60129
  capScope: "system",
@@ -61996,6 +62167,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
61996
62167
  notifierCapability,
61997
62168
  numericSensorCapability,
61998
62169
  oauthIntegrationCapability,
62170
+ oidcConnectionsCapability,
61999
62171
  osdCapability,
62000
62172
  osdManagerCapability,
62001
62173
  petFeederCapability,
@@ -63339,6 +63511,11 @@ Object.freeze({
63339
63511
  form: "single",
63340
63512
  optional: false
63341
63513
  }],
63514
+ "osdManager.setSlotCameraEnabled": [{
63515
+ name: "deviceId",
63516
+ form: "single",
63517
+ optional: false
63518
+ }],
63342
63519
  "petFeeder.callPet": [{
63343
63520
  name: "deviceId",
63344
63521
  form: "single",
@@ -64673,6 +64850,7 @@ Object.freeze({
64673
64850
  });
64674
64851
  Object.freeze({
64675
64852
  "broker": "broker",
64853
+ "calendar-source": "calendar",
64676
64854
  "device-export": "device-export",
64677
64855
  "llm": "ai",
64678
64856
  "mesh-network": "mesh",
@@ -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-DWQFAe2Y.js");
5
+ const require_clip_model_registry = require("../clip-model-registry-DG_jp-en.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, Ar as parseProcStatus, Qt as PoolMemoryWatchdog, Ti as normalizeNodeId, Vr as resolvePoolMemoryPolicy, Xn as embeddingEncoderCapability, Zn as embeddingModelFailedError, _i as BaseAddon, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, er as embeddingRequirementsUnavailableError, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-DLYuD2y2.mjs";
1
+ import { $n as embeddingRequirementsFailedError, Ar as parseProcStatus, Qt as PoolMemoryWatchdog, Ti as normalizeNodeId, Vr as resolvePoolMemoryPolicy, Xn as embeddingEncoderCapability, Zn as embeddingModelFailedError, _i as BaseAddon, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, er as embeddingRequirementsUnavailableError, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-DfIHnFg4.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-BHMkAzxv.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-X_26tehC.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-N64PaPIw.mjs";
5
+ import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ckM_CHJd.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);