@camstack/addon-training 0.1.50 → 0.1.52

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 (21) hide show
  1. package/dist/{MotionZonesSettings-UIEvGQ7i.mjs → MotionZonesSettings-Cau1SI-b.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-8HsoAjc4.mjs → PrivacyMaskSettings-DmJWF2_b.mjs} +2 -2
  3. package/dist/{SceneMonitorEditor-B-2phYr7.mjs → SceneMonitorEditor-BSZqSQ0p.mjs} +1 -1
  4. package/dist/_stub.js +4583 -4578
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-Cfr_CnWi.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-g28Hr7pc.mjs} +3 -3
  6. package/dist/{_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B91cVqvt.mjs → _virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DuAkPx1X.mjs} +1 -1
  7. package/dist/{dist-B1rRN1kP.js → dist-DVe1xcMf.js} +151 -11
  8. package/dist/{dist-BbjF3pqW.mjs → dist-KECbhuG2.mjs} +151 -11
  9. package/dist/{hostInit-Dq_MT5ON.mjs → hostInit-COAzU4jk.mjs} +2 -2
  10. package/dist/{icons-BwkaMam3.mjs → icons-BnErSNU6.mjs} +1056 -1073
  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-C8W-hfE1.mjs → player-overlays-Dd7lUDqm.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-BkgEJLES.mjs → responsive-kf4rDTpJ.mjs} +1 -1
  19. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CyQdXYqA.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-7yP2teCi.mjs} +1 -1
  20. package/dist/{zoom-out-DDZCsqkQ.mjs → zoom-out-hR5SOKZW.mjs} +82 -65
  21. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import "node:crypto";
2
- //#region ../types/dist/event-category-C4hVnRo8.mjs
2
+ //#region ../types/dist/event-category-BvOFi6PY.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -63,6 +63,24 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
63
63
  * consumes this category and maps it to the `addon-crash-loop` kind.
64
64
  */
65
65
  EventCategory["AddonRunnerFailed"] = "addon.runner-failed";
66
+ /**
67
+ * A runner whose addon refused to start with a typed reason (D877) - parked
68
+ * in `refused`, never counted by the crash breaker, retried on operator
69
+ * action. One event per refusal.
70
+ */
71
+ EventCategory["AddonRunnerRefused"] = "addon.runner-refused";
72
+ /**
73
+ * A runner settled on a state (D877): `running` (READY), `crashed`, `failed` or
74
+ * `refused`. In-process telemetry for the boot check (re-evaluate while any
75
+ * runner is still pending) and the alert centre (close a recovered runner).
76
+ */
77
+ EventCategory["ProcessStateChanged"] = "process.state-changed";
78
+ /**
79
+ * The node's one-shot runner boot check (D877): planned runners against the
80
+ * process service, `degraded` when any is failed, refused or missing. The
81
+ * alert centre turns it into one alert and a direct critical push.
82
+ */
83
+ EventCategory["SystemRunnerCheck"] = "system.runner-check";
66
84
  EventCategory["AddonError"] = "addon.error";
67
85
  EventCategory["AddonPageReady"] = "addon.page-ready";
68
86
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5387,7 +5405,7 @@ var ZodIssueCode = {
5387
5405
  var ZodFirstPartyTypeKind;
5388
5406
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5389
5407
  //#endregion
5390
- //#region ../types/dist/sleep-bwsTj221.mjs
5408
+ //#region ../types/dist/sleep-bgZLodYc.mjs
5391
5409
  /**
5392
5410
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5393
5411
  * window to float samples (D455).
@@ -8252,7 +8270,7 @@ object({
8252
8270
  params: record(string(), union([string(), number()])).optional()
8253
8271
  });
8254
8272
  //#endregion
8255
- //#region ../types/dist/err-msg-DLerKiVO.mjs
8273
+ //#region ../types/dist/err-msg--2RrYiLO.mjs
8256
8274
  var DeviceType = /* @__PURE__ */ function(DeviceType) {
8257
8275
  DeviceType["Camera"] = "camera";
8258
8276
  DeviceType["Hub"] = "hub";
@@ -8521,6 +8539,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
8521
8539
  /** Virtual HA toggle (input_boolean.*) — distinguishable from a
8522
8540
  * real Switch device for UI rendering / export adapters. */
8523
8541
  DeviceRole["BinaryHelper"] = "binary-helper";
8542
+ /** A smart plug: a `switch` whose source says it is an outlet (HA
8543
+ * `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
8544
+ DeviceRole["Outlet"] = "outlet";
8524
8545
  /** Generic motion / occupancy / moving event source. Distinct from
8525
8546
  * the camera accessory PirSensor role: that one is a camera child;
8526
8547
  * this is a standalone HA / 3rd-party motion sensor. */
@@ -8588,7 +8609,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
8588
8609
  return DeviceRole;
8589
8610
  }({});
8590
8611
  //#endregion
8591
- //#region ../types/dist/composition-EQ9Ok0Ee.mjs
8612
+ //#region ../types/dist/composition-DOwQB_Ua.mjs
8592
8613
  /**
8593
8614
  * The ffmpeg build every CamStack node downloads, per platform and arch.
8594
8615
  *
@@ -38803,6 +38824,36 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
38803
38824
  timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
38804
38825
  });
38805
38826
  /**
38827
+ * The report of a one-shot "move this owner's plaintext secrets into the
38828
+ * keychain" run (D878). COUNTS only - never a value, never a ref.
38829
+ *
38830
+ * The owner runs it on its own rows, through its own write path; an operator
38831
+ * script (`scripts/hub/migrate-raw-secrets.ts`) calls the owner's cap method.
38832
+ * Dry run (`apply: false`) reports what WOULD move and changes nothing.
38833
+ */
38834
+ var RawSecretMigrationInputSchema = object({
38835
+ /** `false` (the default of the script) = report only. */
38836
+ apply: boolean() });
38837
+ var RawSecretMigrationReportSchema = object({
38838
+ apply: boolean(),
38839
+ /** Rows that can carry a secret (a profile, an enrolment). */
38840
+ rows: number().int(),
38841
+ /** Rows whose secret was plaintext when the run started. */
38842
+ raw: number().int(),
38843
+ /** Rows that already held a keychain marker when the run started. */
38844
+ markers: number().int(),
38845
+ /** Plaintext rows moved by THIS run (always 0 on a dry run). */
38846
+ migrated: number().int(),
38847
+ /** Plaintext rows left in place because the move or its read-back failed. */
38848
+ failed: number().int(),
38849
+ /** After the run: rows still holding plaintext. */
38850
+ remainingRaw: number().int(),
38851
+ /** After the run: markers the keychain could not resolve right now. */
38852
+ unresolvedMarkers: number().int(),
38853
+ /** True when nothing is raw and every marker resolves. */
38854
+ verified: boolean()
38855
+ });
38856
+ /**
38806
38857
  * `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
38807
38858
  * methods concat-fan across providers; single-row methods route to ONE
38808
38859
  * provider by the `addonId` in the call input (the notification-output
@@ -38987,6 +39038,9 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
38987
39038
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
38988
39039
  kind: "mutation",
38989
39040
  auth: "admin"
39041
+ }), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
39042
+ kind: "mutation",
39043
+ auth: "admin"
38990
39044
  }), method(ProfileRefInputSchema, _void(), {
38991
39045
  kind: "mutation",
38992
39046
  auth: "admin"
@@ -49410,6 +49464,41 @@ var ServerRollbackInfoSchema = object({
49410
49464
  atMs: number(),
49411
49465
  reason: string()
49412
49466
  });
49467
+ /**
49468
+ * The runner boot check (D877): the runners this node PLANNED (hub: one per
49469
+ * `resolveRunnerId` over its forked addons; agent: the runners its process
49470
+ * service holds, because only the hub plans) against the states the process
49471
+ * service reports. Kept in memory, recomputed by the same one-shot check after
49472
+ * every boot, served on `getServerPackageStatus`.
49473
+ *
49474
+ * `failed` is the D6 breaker's terminal state, `refused` a deterministic Init
49475
+ * refusal (an addon that said "I will not start, and here is why"), `missing` a
49476
+ * planned runner the process service has no entry for.
49477
+ */
49478
+ var RunnerRefusalSchema = object({
49479
+ runnerId: string(),
49480
+ addonIds: array(string()),
49481
+ reason: string()
49482
+ });
49483
+ var RunnerBootCheckSchema = object({
49484
+ checkedAtMs: number(),
49485
+ /** Runners planned for this node. */
49486
+ expected: number(),
49487
+ /** Planned runners whose process is `running`. */
49488
+ running: number(),
49489
+ failed: array(string()),
49490
+ refused: array(RunnerRefusalSchema),
49491
+ missing: array(string()),
49492
+ /**
49493
+ * Runners still on their way: `starting`, or `crashed` waiting on a backoff
49494
+ * respawn. The check is FINAL only when this is empty; until then nothing is
49495
+ * pushed and the verdict is re-evaluated on the next runner state change.
49496
+ * Optional for version skew (absent = settled).
49497
+ */
49498
+ pending: array(string()).optional(),
49499
+ /** True when the plan is the hub's (`missing` is then meaningful); false on an agent. */
49500
+ planKnown: boolean()
49501
+ });
49413
49502
  var ServerPackageStatusSchema = object({
49414
49503
  /** Root package name (`@camstack/server` on the hub). */
49415
49504
  packageName: string(),
@@ -49472,7 +49561,14 @@ var ServerPackageStatusSchema = object({
49472
49561
  * for version skew: an older provider's payload simply omits it, and an
49473
49562
  * absent wrapper is unknown — never `native`.
49474
49563
  */
49475
- wrapper: WrapperIdentitySchema.optional()
49564
+ wrapper: WrapperIdentitySchema.optional(),
49565
+ /**
49566
+ * What this node PLANNED to run against what its process service reports
49567
+ * (D877). Absent until the one-shot boot check has run (~60 s after boot) and
49568
+ * on a provider that predates it. Absent is "not checked yet", never "all
49569
+ * well": a consumer that needs the answer treats it as pending.
49570
+ */
49571
+ runners: RunnerBootCheckSchema.optional()
49476
49572
  });
49477
49573
  var ServerUpdateCheckResultSchema = object({
49478
49574
  packageName: string(),
@@ -49523,6 +49619,13 @@ var ServerUpdateOutcomeSchema = _enum([
49523
49619
  "refused",
49524
49620
  "failed"
49525
49621
  ]);
49622
+ /** One addon the pre-flight found the target version would refuse (D877). */
49623
+ var UpdateBlockerSchema = object({
49624
+ addonId: string(),
49625
+ reason: string(),
49626
+ /** What the operator does about it. */
49627
+ remedy: string()
49628
+ });
49526
49629
  var ServerUpdateActionResultSchema = object({
49527
49630
  accepted: boolean(),
49528
49631
  targetVersion: string().nullable(),
@@ -49540,14 +49643,27 @@ var ServerUpdateActionResultSchema = object({
49540
49643
  * The failure itself, verbatim enough to act on (the npm output for a
49541
49644
  * staging install). Non-null only for `failed`.
49542
49645
  */
49543
- error: string().nullable().optional()
49646
+ error: string().nullable().optional(),
49647
+ /**
49648
+ * The addons the target version would refuse to start on this node's live
49649
+ * store (D877), present when the pre-flight refused the update
49650
+ * (`reason: 'addon-would-refuse'`). Optional for version skew.
49651
+ */
49652
+ blockers: array(UpdateBlockerSchema).optional()
49544
49653
  });
49545
49654
  method(_void(), ServerPackageStatusSchema, { auth: "admin" }), method(_void(), ServerUpdateCheckResultSchema, {
49546
49655
  kind: "mutation",
49547
49656
  auth: "admin"
49548
- }), method(object({
49549
- /** Explicit target version; omitted = latest from the registry. */
49550
- version: string().optional() }), ServerUpdateActionResultSchema, {
49657
+ }), method(object({
49658
+ /** Explicit target version; omitted = latest from the registry. */
49659
+ version: string().optional(),
49660
+ /**
49661
+ * Apply even though the pre-flight (D877) found addons the target would
49662
+ * refuse to start. Off by default: those addons stay down until the
49663
+ * remedy is run, which is the incident this gate exists to prevent.
49664
+ */
49665
+ acknowledgeRefusals: boolean().optional()
49666
+ }), ServerUpdateActionResultSchema, {
49551
49667
  kind: "mutation",
49552
49668
  auth: "admin",
49553
49669
  timeoutMs: 16 * 6e4
@@ -51960,7 +52076,9 @@ var ManifestShapeSchema = object({
51960
52076
  var AddonProcessSchema = object({
51961
52077
  pid: number().optional(),
51962
52078
  mode: string(),
51963
- state: string()
52079
+ state: string(),
52080
+ /** Why the runner is `refused` (an addon's own words), when it is (D877). */
52081
+ reason: string().optional()
51964
52082
  });
51965
52083
  /**
51966
52084
  * Per-addon health snapshot from the kernel's AddonHealthMonitor.
@@ -52963,6 +53081,12 @@ object({
52963
53081
  /** Horizontal louver swing on/off. Null when the device has no
52964
53082
  * horizontal swing surface (gate with `DeviceFeature.ClimateSwingHorizontal`). */
52965
53083
  swingHorizontal: boolean().nullable(),
53084
+ /** Lowest setpoint the device accepts, Celsius. Absent / null = not reported. */
53085
+ minTemp: number().nullable().optional(),
53086
+ /** Highest setpoint the device accepts, Celsius. Absent / null = not reported. */
53087
+ maxTemp: number().nullable().optional(),
53088
+ /** Setpoint granularity, Celsius (0.5, 1). Absent / null = not reported. */
53089
+ tempStep: number().positive().nullable().optional(),
52966
53090
  /** Ms epoch when the slice was last updated (push or command). */
52967
53091
  lastFetchedAt: number()
52968
53092
  });
@@ -59983,7 +60107,11 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
59983
60107
  kind: "mutation",
59984
60108
  auth: "admin",
59985
60109
  access: "delete"
59986
- }), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(object({
60110
+ }), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
60111
+ kind: "mutation",
60112
+ auth: "admin",
60113
+ access: "create"
60114
+ }), method(object({
59987
60115
  userId: string(),
59988
60116
  code: string()
59989
60117
  }), object({ valid: boolean() }), {
@@ -64144,6 +64272,12 @@ Object.freeze({
64144
64272
  addonId: null,
64145
64273
  access: "view"
64146
64274
  },
64275
+ "llm.migrateRawSecrets": {
64276
+ capName: "llm",
64277
+ capScope: "system",
64278
+ addonId: null,
64279
+ access: "create"
64280
+ },
64147
64281
  "llm.resolveModelRef": {
64148
64282
  capName: "llm",
64149
64283
  capScope: "system",
@@ -68686,6 +68820,12 @@ Object.freeze({
68686
68820
  addonId: null,
68687
68821
  access: "view"
68688
68822
  },
68823
+ "userManagement.migrateRawSecrets": {
68824
+ capName: "user-management",
68825
+ capScope: "system",
68826
+ addonId: null,
68827
+ access: "create"
68828
+ },
68689
68829
  "userManagement.oauthExchangeCode": {
68690
68830
  capName: "user-management",
68691
68831
  capScope: "system",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.376",
39
+ version: "1.2.378",
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.294",
84
+ version: "1.2.296",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,