@camstack/addon-training 0.1.101 → 0.1.103
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/CHANGELOG.md +12 -0
- package/dist/{MotionZonesSettings-BJesO_kB.mjs → MotionZonesSettings-HAJ6awj4.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-BdPxtLGP.mjs → PrivacyMaskSettings-BF0NUmVm.mjs} +2 -2
- package/dist/{SceneMonitorEditor-DZPmgWAn.mjs → SceneMonitorEditor-CeEWTp0p.mjs} +2 -2
- package/dist/_stub.js +9509 -9496
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-1Dc2a8Cs.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-T_zCH7zZ.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CLeWJI6-.mjs +26 -0
- package/dist/{dist-Bfob1jSz.mjs → dist-BfxOw6-O.mjs} +138 -5
- package/dist/{dist-DjTcrGXt.js → dist-Cq0HT75H.js} +138 -5
- package/dist/{hostInit-2grmKwjr.mjs → hostInit-DRiiL3Ka.mjs} +2 -2
- package/dist/{icons-BQdiqxUM.mjs → icons-CXruMajc.mjs} +1078 -1109
- 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-CTRTi-rS.mjs → player-overlays-NVql0bBe.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-BcjqJDUO.mjs → responsive-Cw10UV1G.mjs} +1 -1
- package/dist/{scene-monitor-copy-BIGdNSLV.mjs → scene-monitor-copy-BiaQA_PZ.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-DNBqRVkn.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-Bg8j40fX.mjs} +390 -399
- package/dist/{zoom-out-YWRm0VbK.mjs → zoom-out-D4rm3GoJ.mjs} +95 -64
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BEP4kcPJ.mjs +0 -26
|
@@ -5613,7 +5613,7 @@ var ZodIssueCode = {
|
|
|
5613
5613
|
var ZodFirstPartyTypeKind;
|
|
5614
5614
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5615
5615
|
//#endregion
|
|
5616
|
-
//#region ../types/dist/sleep-
|
|
5616
|
+
//#region ../types/dist/sleep-BAvUCi_2.mjs
|
|
5617
5617
|
/**
|
|
5618
5618
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5619
5619
|
* window to float samples (D455).
|
|
@@ -8995,6 +8995,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
8995
8995
|
"image-settings",
|
|
8996
8996
|
"integrations",
|
|
8997
8997
|
"intercom",
|
|
8998
|
+
"ir-transmitter",
|
|
8998
8999
|
"keychain",
|
|
8999
9000
|
"keychain-admin",
|
|
9000
9001
|
"lawn-mower-control",
|
|
@@ -10242,6 +10243,11 @@ Object.freeze({
|
|
|
10242
10243
|
"path": "batteryPower",
|
|
10243
10244
|
"valueType": "number"
|
|
10244
10245
|
},
|
|
10246
|
+
{
|
|
10247
|
+
"path": "powerSource",
|
|
10248
|
+
"valueType": "enum",
|
|
10249
|
+
"enumValues": ["mains", "battery"]
|
|
10250
|
+
},
|
|
10245
10251
|
{
|
|
10246
10252
|
"path": "desiccantLeftDays",
|
|
10247
10253
|
"valueType": "number"
|
|
@@ -10825,7 +10831,7 @@ object({
|
|
|
10825
10831
|
params: record(string(), union([string(), number()])).optional()
|
|
10826
10832
|
});
|
|
10827
10833
|
//#endregion
|
|
10828
|
-
//#region ../types/dist/err-msg-
|
|
10834
|
+
//#region ../types/dist/err-msg-BCdlR2Li.mjs
|
|
10829
10835
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
10830
10836
|
DeviceType["Camera"] = "camera";
|
|
10831
10837
|
DeviceType["Hub"] = "hub";
|
|
@@ -11171,10 +11177,13 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
11171
11177
|
/** Fallback when the notifier service name doesn't match a known
|
|
11172
11178
|
* pattern. */
|
|
11173
11179
|
DeviceRole["GenericNotifier"] = "generic-notifier";
|
|
11180
|
+
/** Emits a pulse train (infrared or RF) on request — the `ir-transmitter`
|
|
11181
|
+
* cap. A `DeviceType.Generic` device. */
|
|
11182
|
+
DeviceRole["IrTransmitter"] = "ir-transmitter";
|
|
11174
11183
|
return DeviceRole;
|
|
11175
11184
|
}({});
|
|
11176
11185
|
//#endregion
|
|
11177
|
-
//#region ../types/dist/composition-
|
|
11186
|
+
//#region ../types/dist/composition-DpFv_J6D.mjs
|
|
11178
11187
|
/**
|
|
11179
11188
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
11180
11189
|
*
|
|
@@ -16619,9 +16628,21 @@ var AlertSeveritySchema = _enum([
|
|
|
16619
16628
|
"error",
|
|
16620
16629
|
"critical"
|
|
16621
16630
|
]);
|
|
16631
|
+
/**
|
|
16632
|
+
* An action that RUNS something instead of going somewhere: the admin UI calls
|
|
16633
|
+
* the addon's custom action (`addons.custom`) with exactly these fields. The
|
|
16634
|
+
* producer owns the meaning; the UI knows nothing about the addon or the kind.
|
|
16635
|
+
*/
|
|
16636
|
+
var AlertActionInvokeSchema = object({
|
|
16637
|
+
addonId: string().min(1),
|
|
16638
|
+
action: string().min(1),
|
|
16639
|
+
input: record(string(), unknown()).optional()
|
|
16640
|
+
});
|
|
16641
|
+
/** An action has `href` (a link) OR `invoke` (a button that runs a custom action). */
|
|
16622
16642
|
var AlertActionSchema = object({
|
|
16623
16643
|
label: string(),
|
|
16624
16644
|
href: string().optional(),
|
|
16645
|
+
invoke: AlertActionInvokeSchema.optional(),
|
|
16625
16646
|
/**
|
|
16626
16647
|
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
16627
16648
|
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
@@ -43407,6 +43428,17 @@ var LlmProfileSchema = object({
|
|
|
43407
43428
|
* field in its editor only when its descriptor lists it in `profileFields`. */
|
|
43408
43429
|
topK: number().int().positive().optional(),
|
|
43409
43430
|
maxTokens: number().int().positive().optional(),
|
|
43431
|
+
/** How hard the model "thinks" before it answers. Omitted = the model's own
|
|
43432
|
+
* default. `off` matters for structured output: a thinking model can spend
|
|
43433
|
+
* the whole completion on reasoning and return an empty `content`. Carried
|
|
43434
|
+
* only by the wires that have it — a kind offers the field in its editor
|
|
43435
|
+
* only when its descriptor lists it in `profileFields`. */
|
|
43436
|
+
reasoningEffort: _enum([
|
|
43437
|
+
"off",
|
|
43438
|
+
"low",
|
|
43439
|
+
"medium",
|
|
43440
|
+
"high"
|
|
43441
|
+
]).optional(),
|
|
43410
43442
|
/** Prompt context window. Advisory for cloud kinds (they enforce their own). */
|
|
43411
43443
|
contextLength: number().int().positive().optional(),
|
|
43412
43444
|
/** Default system prompt. A caller's `system` REPLACES it (never appends —
|
|
@@ -43445,6 +43477,7 @@ var LlmProfileFieldSchema = _enum([
|
|
|
43445
43477
|
"topP",
|
|
43446
43478
|
"topK",
|
|
43447
43479
|
"maxTokens",
|
|
43480
|
+
"reasoningEffort",
|
|
43448
43481
|
"contextLength",
|
|
43449
43482
|
"systemPrompt",
|
|
43450
43483
|
"timeoutMs",
|
|
@@ -57765,6 +57798,56 @@ DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _v
|
|
|
57765
57798
|
auth: "protected"
|
|
57766
57799
|
});
|
|
57767
57800
|
/**
|
|
57801
|
+
* A pulse train in signed microseconds: mark (+) first, then space (-), strictly
|
|
57802
|
+
* alternating, no zeros, 2..1024 entries.
|
|
57803
|
+
*/
|
|
57804
|
+
var IrTimingsSchema = array(number().int()).min(2).max(1024).superRefine((timings, ctx) => {
|
|
57805
|
+
timings.forEach((value, index) => {
|
|
57806
|
+
const expectMark = index % 2 === 0;
|
|
57807
|
+
if (value === 0 || value > 0 !== expectMark) ctx.addIssue({
|
|
57808
|
+
code: "custom",
|
|
57809
|
+
message: `timing ${index} must be a non-zero ${expectMark ? "mark (positive)" : "space (negative)"}`,
|
|
57810
|
+
path: [index]
|
|
57811
|
+
});
|
|
57812
|
+
});
|
|
57813
|
+
});
|
|
57814
|
+
/** Per-command transmit options. Every key is optional; a transmitter applies what it can. */
|
|
57815
|
+
var TransmitSettingsSchema = object({
|
|
57816
|
+
carrierHz: number().int().positive().optional(),
|
|
57817
|
+
dutyCyclePercent: number().int().min(1).max(100).optional(),
|
|
57818
|
+
repeat: number().int().min(0).max(20).optional(),
|
|
57819
|
+
repeatDelayMs: number().int().min(0).optional()
|
|
57820
|
+
});
|
|
57821
|
+
/** The setting keys a transmitter may declare as settable (`getInfo.settable`). */
|
|
57822
|
+
var TransmitSettingKeySchema = _enum([
|
|
57823
|
+
"carrierHz",
|
|
57824
|
+
"dutyCyclePercent",
|
|
57825
|
+
"repeat",
|
|
57826
|
+
"repeatDelayMs"
|
|
57827
|
+
]);
|
|
57828
|
+
var IrMediumSchema = _enum(["ir", "rf"]);
|
|
57829
|
+
var IrSendResultSchema = object({
|
|
57830
|
+
ok: literal(true),
|
|
57831
|
+
/** Settings the transmitter could not apply; the train was still sent. */
|
|
57832
|
+
ignoredSettings: array(string())
|
|
57833
|
+
});
|
|
57834
|
+
var IrTransmitterInfoSchema = object({
|
|
57835
|
+
media: array(IrMediumSchema),
|
|
57836
|
+
settable: array(TransmitSettingKeySchema),
|
|
57837
|
+
maxTimings: number().int().positive()
|
|
57838
|
+
});
|
|
57839
|
+
DeviceType.Generic, method(object({
|
|
57840
|
+
deviceId: number().int().nonnegative(),
|
|
57841
|
+
timings: IrTimingsSchema,
|
|
57842
|
+
settings: TransmitSettingsSchema.optional()
|
|
57843
|
+
}), IrSendResultSchema, {
|
|
57844
|
+
kind: "mutation",
|
|
57845
|
+
auth: "protected"
|
|
57846
|
+
}), method(object({ deviceId: number().int().nonnegative() }), IrTransmitterInfoSchema, {
|
|
57847
|
+
kind: "query",
|
|
57848
|
+
auth: "protected"
|
|
57849
|
+
});
|
|
57850
|
+
/**
|
|
57768
57851
|
* `calendar-source` — collection cap exposing per-provider calendars and
|
|
57769
57852
|
* their events. Every addon that contributes calendars (Home Assistant,
|
|
57770
57853
|
* a future Google Calendar addon, …) registers a provider here. The hub
|
|
@@ -61867,9 +61950,14 @@ object({
|
|
|
61867
61950
|
* (`device_class: problem`, on = low). True when the tank reports empty,
|
|
61868
61951
|
* or, on a dual-hopper model, when EITHER hopper is empty. */
|
|
61869
61952
|
lowFood: boolean(),
|
|
61870
|
-
/** Battery charge 0..100 (%).
|
|
61871
|
-
*
|
|
61953
|
+
/** Battery charge 0..100 (%). On a feeder running on `mains` this is the
|
|
61954
|
+
* BACKUP battery's charge, not the power source. Null when the device has
|
|
61955
|
+
* no battery reading. */
|
|
61872
61956
|
batteryPower: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
61957
|
+
/** What the feeder is powered from right now: `mains` (plugged in, the
|
|
61958
|
+
* battery is only a backup) or `battery`. Null when the device does not
|
|
61959
|
+
* report it. */
|
|
61960
|
+
powerSource: _enum(["mains", "battery"]).nullable(),
|
|
61873
61961
|
/**
|
|
61874
61962
|
* Desiccant life remaining, stored in seconds (duration base, D944).
|
|
61875
61963
|
* Providers convert from the days the feeder reports. Null when the
|
|
@@ -70247,6 +70335,20 @@ Object.freeze({
|
|
|
70247
70335
|
access: "create",
|
|
70248
70336
|
role: "viewer"
|
|
70249
70337
|
},
|
|
70338
|
+
"irTransmitter.getInfo": {
|
|
70339
|
+
capName: "ir-transmitter",
|
|
70340
|
+
capScope: "device",
|
|
70341
|
+
addonId: null,
|
|
70342
|
+
access: "view",
|
|
70343
|
+
role: "viewer"
|
|
70344
|
+
},
|
|
70345
|
+
"irTransmitter.send": {
|
|
70346
|
+
capName: "ir-transmitter",
|
|
70347
|
+
capScope: "device",
|
|
70348
|
+
addonId: null,
|
|
70349
|
+
access: "create",
|
|
70350
|
+
role: "viewer"
|
|
70351
|
+
},
|
|
70250
70352
|
"keychain.delete": {
|
|
70251
70353
|
capName: "keychain",
|
|
70252
70354
|
capScope: "system",
|
|
@@ -77870,6 +77972,11 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
77870
77972
|
icon: "circle-dot"
|
|
77871
77973
|
}]
|
|
77872
77974
|
},
|
|
77975
|
+
"ir-transmitter": {
|
|
77976
|
+
scope: "device",
|
|
77977
|
+
noun: t("IR / RF transmitter", "Trasmettitore IR / RF"),
|
|
77978
|
+
notOperatorFacing: { send: "a raw pulse train is not something an operator composes in an automation; the remote that owns the command table sends it" }
|
|
77979
|
+
},
|
|
77873
77980
|
control: {
|
|
77874
77981
|
scope: "device",
|
|
77875
77982
|
noun: t("Control", "Controllo"),
|
|
@@ -81589,6 +81696,16 @@ Object.freeze({
|
|
|
81589
81696
|
form: "single",
|
|
81590
81697
|
optional: false
|
|
81591
81698
|
}],
|
|
81699
|
+
"irTransmitter.getInfo": [{
|
|
81700
|
+
name: "deviceId",
|
|
81701
|
+
form: "single",
|
|
81702
|
+
optional: false
|
|
81703
|
+
}],
|
|
81704
|
+
"irTransmitter.send": [{
|
|
81705
|
+
name: "deviceId",
|
|
81706
|
+
form: "single",
|
|
81707
|
+
optional: false
|
|
81708
|
+
}],
|
|
81592
81709
|
"keychain.deleteDeviceScope": [{
|
|
81593
81710
|
name: "deviceId",
|
|
81594
81711
|
form: "single",
|
|
@@ -84622,6 +84739,22 @@ DEFAULT_NATIVE_LEASE_SETTINGS.admission;
|
|
|
84622
84739
|
String.raw`(?<=^|["'(\s>,\[{])`;
|
|
84623
84740
|
var MB = 1024 * 1024;
|
|
84624
84741
|
1024 * MB, 3072 * MB;
|
|
84742
|
+
discriminatedUnion("kind", [object({
|
|
84743
|
+
kind: literal("raw"),
|
|
84744
|
+
timings: array(number().int()),
|
|
84745
|
+
settings: TransmitSettingsSchema.optional()
|
|
84746
|
+
}), object({
|
|
84747
|
+
kind: literal("pronto"),
|
|
84748
|
+
code: string()
|
|
84749
|
+
})]);
|
|
84750
|
+
object({
|
|
84751
|
+
manufacturer: string().optional(),
|
|
84752
|
+
supportedModels: array(string()).optional(),
|
|
84753
|
+
supportedController: string().optional(),
|
|
84754
|
+
commandsEncoding: string(),
|
|
84755
|
+
delay: number().nonnegative().optional(),
|
|
84756
|
+
commands: record(string(), unknown())
|
|
84757
|
+
});
|
|
84625
84758
|
//#endregion
|
|
84626
84759
|
Object.defineProperty(exports, "BaseAddon", {
|
|
84627
84760
|
enumerable: true,
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.440",
|
|
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.347",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|