@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.
- package/dist/{MotionZonesSettings-UIEvGQ7i.mjs → MotionZonesSettings-Cau1SI-b.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-8HsoAjc4.mjs → PrivacyMaskSettings-DmJWF2_b.mjs} +2 -2
- package/dist/{SceneMonitorEditor-B-2phYr7.mjs → SceneMonitorEditor-BSZqSQ0p.mjs} +1 -1
- package/dist/_stub.js +4583 -4578
- 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
- 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
- package/dist/{dist-B1rRN1kP.js → dist-DVe1xcMf.js} +151 -11
- package/dist/{dist-BbjF3pqW.mjs → dist-KECbhuG2.mjs} +151 -11
- package/dist/{hostInit-Dq_MT5ON.mjs → hostInit-COAzU4jk.mjs} +2 -2
- package/dist/{icons-BwkaMam3.mjs → icons-BnErSNU6.mjs} +1056 -1073
- package/dist/index.js +1 -1
- package/dist/orchestrator/training.addon.js +1 -1
- package/dist/orchestrator/training.addon.mjs +1 -1
- package/dist/{player-overlays-C8W-hfE1.mjs → player-overlays-Dd7lUDqm.mjs} +1 -1
- package/dist/providers/modal/training-modal.addon.js +1 -1
- package/dist/providers/modal/training-modal.addon.mjs +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-BkgEJLES.mjs → responsive-kf4rDTpJ.mjs} +1 -1
- 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
- package/dist/{zoom-out-DDZCsqkQ.mjs → zoom-out-hR5SOKZW.mjs} +82 -65
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "node:crypto";
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
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-
|
|
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
|
|
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-
|
|
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()
|
|
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(
|
|
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.
|
|
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.
|
|
84
|
+
version: "1.2.296",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|