@camstack/addon-training 0.1.102 → 0.1.104
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-HAJ6awj4.mjs → MotionZonesSettings-Bm3-aVd_.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-BF0NUmVm.mjs → PrivacyMaskSettings-CHKqJ1Jl.mjs} +2 -2
- package/dist/{SceneMonitorEditor-CeEWTp0p.mjs → SceneMonitorEditor-BLeDd1kR.mjs} +2 -2
- package/dist/_stub.js +1726 -1662
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-p2vBd39W.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-DsiAbTAk.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-rtY7yvpT.mjs +26 -0
- package/dist/addon-training.css +1 -1
- package/dist/{dist-u3tq3l-n.mjs → dist-CXZDrfkr.mjs} +484 -10
- package/dist/{dist-CNkCexYe.js → dist-DkRYepCT.js} +484 -10
- package/dist/{hostInit-CvBrePIu.mjs → hostInit-CkFf4SAO.mjs} +2 -2
- 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-NVql0bBe.mjs → player-overlays-DxLTXMBd.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-Cw10UV1G.mjs → responsive-1P4H2DQA.mjs} +1 -1
- package/dist/{scene-monitor-copy-BiaQA_PZ.mjs → scene-monitor-copy-DmazWKcQ.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-B2ShwDvL.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-BBdigjaL.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CLeWJI6-.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-DJws6ho7.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).
|
|
@@ -9054,6 +9054,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9054
9054
|
"recording-onboard",
|
|
9055
9055
|
"recording-signal",
|
|
9056
9056
|
"records",
|
|
9057
|
+
"remote",
|
|
9057
9058
|
"running-state",
|
|
9058
9059
|
"scene-monitor",
|
|
9059
9060
|
"script-runner",
|
|
@@ -9077,6 +9078,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9077
9078
|
"system",
|
|
9078
9079
|
"tamper",
|
|
9079
9080
|
"temperature-sensor",
|
|
9081
|
+
"template",
|
|
9080
9082
|
"terminal-session",
|
|
9081
9083
|
"toast",
|
|
9082
9084
|
"training",
|
|
@@ -10017,6 +10019,11 @@ Object.freeze({
|
|
|
10017
10019
|
"standby"
|
|
10018
10020
|
]
|
|
10019
10021
|
},
|
|
10022
|
+
{
|
|
10023
|
+
"path": "stateSource",
|
|
10024
|
+
"valueType": "enum",
|
|
10025
|
+
"enumValues": ["reported", "assumed"]
|
|
10026
|
+
},
|
|
10020
10027
|
{
|
|
10021
10028
|
"path": "volumeLevel",
|
|
10022
10029
|
"valueType": "number"
|
|
@@ -10292,6 +10299,18 @@ Object.freeze({
|
|
|
10292
10299
|
{
|
|
10293
10300
|
"path": "volume",
|
|
10294
10301
|
"valueType": "number"
|
|
10302
|
+
},
|
|
10303
|
+
{
|
|
10304
|
+
"path": "lastFeedGrams",
|
|
10305
|
+
"valueType": "number"
|
|
10306
|
+
},
|
|
10307
|
+
{
|
|
10308
|
+
"path": "lastFeedHopper1",
|
|
10309
|
+
"valueType": "number"
|
|
10310
|
+
},
|
|
10311
|
+
{
|
|
10312
|
+
"path": "lastFeedHopper2",
|
|
10313
|
+
"valueType": "number"
|
|
10295
10314
|
}
|
|
10296
10315
|
],
|
|
10297
10316
|
"power-meter": [
|
|
@@ -16628,9 +16647,21 @@ var AlertSeveritySchema = _enum([
|
|
|
16628
16647
|
"error",
|
|
16629
16648
|
"critical"
|
|
16630
16649
|
]);
|
|
16650
|
+
/**
|
|
16651
|
+
* An action that RUNS something instead of going somewhere: the admin UI calls
|
|
16652
|
+
* the addon's custom action (`addons.custom`) with exactly these fields. The
|
|
16653
|
+
* producer owns the meaning; the UI knows nothing about the addon or the kind.
|
|
16654
|
+
*/
|
|
16655
|
+
var AlertActionInvokeSchema = object({
|
|
16656
|
+
addonId: string().min(1),
|
|
16657
|
+
action: string().min(1),
|
|
16658
|
+
input: record(string(), unknown()).optional()
|
|
16659
|
+
});
|
|
16660
|
+
/** An action has `href` (a link) OR `invoke` (a button that runs a custom action). */
|
|
16631
16661
|
var AlertActionSchema = object({
|
|
16632
16662
|
label: string(),
|
|
16633
16663
|
href: string().optional(),
|
|
16664
|
+
invoke: AlertActionInvokeSchema.optional(),
|
|
16634
16665
|
/**
|
|
16635
16666
|
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
16636
16667
|
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
@@ -57781,6 +57812,318 @@ DeviceType.Light, method(object({
|
|
|
57781
57812
|
level: number().min(0).max(100),
|
|
57782
57813
|
lastChangedAt: number()
|
|
57783
57814
|
});
|
|
57815
|
+
/**
|
|
57816
|
+
* The role vocabulary of a remote (D963): what a button MEANS, independent of
|
|
57817
|
+
* how it is wired. A layout template places buttons by role; a device binds a
|
|
57818
|
+
* role to an action; an exporter asks for a role by name. Roles are shared so
|
|
57819
|
+
* one layout fits every appliance and one voice command fits every binding.
|
|
57820
|
+
*
|
|
57821
|
+
* A role outside this list is `custom:<key>` — the operator's own button (a
|
|
57822
|
+
* SmartIR source, a channel preset). The key is a lowercase slug.
|
|
57823
|
+
*/
|
|
57824
|
+
var REMOTE_KNOWN_ROLES = [
|
|
57825
|
+
"power",
|
|
57826
|
+
"power_on",
|
|
57827
|
+
"power_off",
|
|
57828
|
+
"volume_up",
|
|
57829
|
+
"volume_down",
|
|
57830
|
+
"mute",
|
|
57831
|
+
"channel_up",
|
|
57832
|
+
"channel_down",
|
|
57833
|
+
"up",
|
|
57834
|
+
"down",
|
|
57835
|
+
"left",
|
|
57836
|
+
"right",
|
|
57837
|
+
"ok",
|
|
57838
|
+
"back",
|
|
57839
|
+
"home",
|
|
57840
|
+
"menu",
|
|
57841
|
+
"info",
|
|
57842
|
+
"guide",
|
|
57843
|
+
"exit",
|
|
57844
|
+
"input",
|
|
57845
|
+
"play",
|
|
57846
|
+
"pause",
|
|
57847
|
+
"play_pause",
|
|
57848
|
+
"stop",
|
|
57849
|
+
"next",
|
|
57850
|
+
"previous",
|
|
57851
|
+
"fast_forward",
|
|
57852
|
+
"rewind",
|
|
57853
|
+
"digit_0",
|
|
57854
|
+
"digit_1",
|
|
57855
|
+
"digit_2",
|
|
57856
|
+
"digit_3",
|
|
57857
|
+
"digit_4",
|
|
57858
|
+
"digit_5",
|
|
57859
|
+
"digit_6",
|
|
57860
|
+
"digit_7",
|
|
57861
|
+
"digit_8",
|
|
57862
|
+
"digit_9"
|
|
57863
|
+
];
|
|
57864
|
+
var CUSTOM_KEY_RE = /^[a-z0-9][a-z0-9_]{0,47}$/;
|
|
57865
|
+
var KNOWN_ROLES = new Set(REMOTE_KNOWN_ROLES);
|
|
57866
|
+
function isRemoteKnownRole(value) {
|
|
57867
|
+
return KNOWN_ROLES.has(value);
|
|
57868
|
+
}
|
|
57869
|
+
function isRemoteCustomKey(key) {
|
|
57870
|
+
return CUSTOM_KEY_RE.test(key);
|
|
57871
|
+
}
|
|
57872
|
+
/** The key of a `custom:<key>` role, or null for any other string. */
|
|
57873
|
+
function customKeyOfRole(role) {
|
|
57874
|
+
if (!role.startsWith("custom:")) return null;
|
|
57875
|
+
const key = role.slice(7);
|
|
57876
|
+
return isRemoteCustomKey(key) ? key : null;
|
|
57877
|
+
}
|
|
57878
|
+
function isRemoteRole(value) {
|
|
57879
|
+
return isRemoteKnownRole(value) || customKeyOfRole(value) !== null;
|
|
57880
|
+
}
|
|
57881
|
+
var RemoteRoleSchema = string().refine(isRemoteRole, { message: "a role is one of the known roles or custom:<key> (lowercase letters, digits, _)" });
|
|
57882
|
+
var RemoteBindingSchema = object({ action: AutomationCapStepSchema.extend({ deviceId: number().int().nonnegative() }) });
|
|
57883
|
+
var RemoteCustomButtonSchema = object({
|
|
57884
|
+
/** The slug after `custom:` in the role. */
|
|
57885
|
+
key: string().refine(isRemoteCustomKey, { message: "a lowercase slug" }),
|
|
57886
|
+
/** What the operator calls it, and what a voice command may name. */
|
|
57887
|
+
name: string().min(1).max(60)
|
|
57888
|
+
});
|
|
57889
|
+
var RemotePowerModeSchema = _enum(["toggle", "discrete"]);
|
|
57890
|
+
var RemoteConfigSchema = object({
|
|
57891
|
+
layoutTemplateId: string().min(1).nullable(),
|
|
57892
|
+
/**
|
|
57893
|
+
* The transmitter device new bindings and an import send through. A binding
|
|
57894
|
+
* names its own device, so one command may override it.
|
|
57895
|
+
*/
|
|
57896
|
+
defaultTransmitterId: number().int().nonnegative().nullable().default(null),
|
|
57897
|
+
/** Keyed by role. A role with no entry falls back to the native cap. */
|
|
57898
|
+
bindings: record(string(), RemoteBindingSchema),
|
|
57899
|
+
customButtons: array(RemoteCustomButtonSchema).max(100),
|
|
57900
|
+
power: object({ mode: RemotePowerModeSchema })
|
|
57901
|
+
}).superRefine((config, ctx) => {
|
|
57902
|
+
const roles = Object.keys(config.bindings);
|
|
57903
|
+
if (roles.length > 200) ctx.addIssue({
|
|
57904
|
+
code: "custom",
|
|
57905
|
+
message: "too many bindings",
|
|
57906
|
+
path: ["bindings"]
|
|
57907
|
+
});
|
|
57908
|
+
for (const role of roles) if (!isRemoteRole(role)) ctx.addIssue({
|
|
57909
|
+
code: "custom",
|
|
57910
|
+
message: `"${role}" is not a role`,
|
|
57911
|
+
path: ["bindings", role]
|
|
57912
|
+
});
|
|
57913
|
+
const keys = /* @__PURE__ */ new Set();
|
|
57914
|
+
config.customButtons.forEach((button, index) => {
|
|
57915
|
+
if (keys.has(button.key)) ctx.addIssue({
|
|
57916
|
+
code: "custom",
|
|
57917
|
+
message: `custom button "${button.key}" is listed twice`,
|
|
57918
|
+
path: [
|
|
57919
|
+
"customButtons",
|
|
57920
|
+
index,
|
|
57921
|
+
"key"
|
|
57922
|
+
]
|
|
57923
|
+
});
|
|
57924
|
+
keys.add(button.key);
|
|
57925
|
+
});
|
|
57926
|
+
for (const role of roles) {
|
|
57927
|
+
const key = customKeyOfRole(role);
|
|
57928
|
+
if (key !== null && !keys.has(key)) ctx.addIssue({
|
|
57929
|
+
code: "custom",
|
|
57930
|
+
message: `${role} is bound but has no entry in customButtons`,
|
|
57931
|
+
path: ["bindings", role]
|
|
57932
|
+
});
|
|
57933
|
+
}
|
|
57934
|
+
});
|
|
57935
|
+
object({
|
|
57936
|
+
power: object({
|
|
57937
|
+
state: _enum(["on", "off"]),
|
|
57938
|
+
at: number()
|
|
57939
|
+
}).nullable(),
|
|
57940
|
+
muted: object({
|
|
57941
|
+
value: boolean(),
|
|
57942
|
+
at: number()
|
|
57943
|
+
}).nullable()
|
|
57944
|
+
});
|
|
57945
|
+
var RemoteLayoutButtonSchema = object({
|
|
57946
|
+
id: string().min(1).max(40),
|
|
57947
|
+
/** 0-based grid position. */
|
|
57948
|
+
row: number().int().min(0).max(24),
|
|
57949
|
+
col: number().int().min(0).max(24),
|
|
57950
|
+
rowSpan: number().int().min(1).max(24),
|
|
57951
|
+
colSpan: number().int().min(1).max(24),
|
|
57952
|
+
icon: string().min(1).max(60).optional(),
|
|
57953
|
+
label: string().min(1).max(40).optional(),
|
|
57954
|
+
role: RemoteRoleSchema
|
|
57955
|
+
});
|
|
57956
|
+
object({
|
|
57957
|
+
columns: number().int().min(1).max(24),
|
|
57958
|
+
rows: number().int().min(1).max(24),
|
|
57959
|
+
buttons: array(RemoteLayoutButtonSchema).max(200)
|
|
57960
|
+
}).superRefine((grid, ctx) => {
|
|
57961
|
+
const ids = /* @__PURE__ */ new Set();
|
|
57962
|
+
const taken = /* @__PURE__ */ new Map();
|
|
57963
|
+
grid.buttons.forEach((button, index) => {
|
|
57964
|
+
if (ids.has(button.id)) ctx.addIssue({
|
|
57965
|
+
code: "custom",
|
|
57966
|
+
message: `button id "${button.id}" is used twice`,
|
|
57967
|
+
path: [
|
|
57968
|
+
"buttons",
|
|
57969
|
+
index,
|
|
57970
|
+
"id"
|
|
57971
|
+
]
|
|
57972
|
+
});
|
|
57973
|
+
ids.add(button.id);
|
|
57974
|
+
if (button.row + button.rowSpan > grid.rows || button.col + button.colSpan > grid.columns) {
|
|
57975
|
+
ctx.addIssue({
|
|
57976
|
+
code: "custom",
|
|
57977
|
+
message: `button "${button.id}" leaves the grid`,
|
|
57978
|
+
path: ["buttons", index]
|
|
57979
|
+
});
|
|
57980
|
+
return;
|
|
57981
|
+
}
|
|
57982
|
+
for (let r = button.row; r < button.row + button.rowSpan; r += 1) for (let c = button.col; c < button.col + button.colSpan; c += 1) {
|
|
57983
|
+
const cell = `${r}:${c}`;
|
|
57984
|
+
const other = taken.get(cell);
|
|
57985
|
+
if (other !== void 0) {
|
|
57986
|
+
ctx.addIssue({
|
|
57987
|
+
code: "custom",
|
|
57988
|
+
message: `buttons "${other}" and "${button.id}" overlap`,
|
|
57989
|
+
path: ["buttons", index]
|
|
57990
|
+
});
|
|
57991
|
+
return;
|
|
57992
|
+
}
|
|
57993
|
+
taken.set(cell, button.id);
|
|
57994
|
+
}
|
|
57995
|
+
});
|
|
57996
|
+
});
|
|
57997
|
+
var RemoteBoundCommandSchema = object({
|
|
57998
|
+
role: RemoteRoleSchema,
|
|
57999
|
+
/** The operator's name for a custom button; absent for a known role. */
|
|
58000
|
+
label: string().optional(),
|
|
58001
|
+
custom: boolean()
|
|
58002
|
+
});
|
|
58003
|
+
var RemoteCommandListSchema = object({
|
|
58004
|
+
layoutTemplateId: string().nullable(),
|
|
58005
|
+
power: object({ mode: RemotePowerModeSchema }),
|
|
58006
|
+
/** Only the roles that are BOUND — the ones a press can reach. */
|
|
58007
|
+
commands: array(RemoteBoundCommandSchema)
|
|
58008
|
+
});
|
|
58009
|
+
var RemoteRefusalReasonSchema = _enum([
|
|
58010
|
+
"no-remote",
|
|
58011
|
+
"unbound-role",
|
|
58012
|
+
"action-failed"
|
|
58013
|
+
]);
|
|
58014
|
+
var RemoteSendResultSchema = discriminatedUnion("status", [
|
|
58015
|
+
object({
|
|
58016
|
+
status: literal("sent"),
|
|
58017
|
+
/** How many times the action ran. */
|
|
58018
|
+
sends: number().int().min(1)
|
|
58019
|
+
}),
|
|
58020
|
+
object({
|
|
58021
|
+
status: literal("skipped"),
|
|
58022
|
+
reason: literal("already-in-state")
|
|
58023
|
+
}),
|
|
58024
|
+
object({
|
|
58025
|
+
status: literal("refused"),
|
|
58026
|
+
reason: RemoteRefusalReasonSchema,
|
|
58027
|
+
detail: string().optional()
|
|
58028
|
+
})
|
|
58029
|
+
]);
|
|
58030
|
+
var RemoteMediaCommandSchema = _enum([
|
|
58031
|
+
"play",
|
|
58032
|
+
"pause",
|
|
58033
|
+
"stop",
|
|
58034
|
+
"next",
|
|
58035
|
+
"previous",
|
|
58036
|
+
"setMute",
|
|
58037
|
+
"selectSource"
|
|
58038
|
+
]);
|
|
58039
|
+
/** A send result, or `not-routed`: the role is not bound, so the native cap answers. */
|
|
58040
|
+
var RemoteMediaCommandResultSchema = discriminatedUnion("status", [...RemoteSendResultSchema.options, object({ status: literal("not-routed") })]);
|
|
58041
|
+
var RemoteSetConfigResultSchema = discriminatedUnion("status", [object({ status: literal("saved") }), object({
|
|
58042
|
+
status: literal("refused"),
|
|
58043
|
+
reason: _enum(["unknown-template", "not-a-media-player"]),
|
|
58044
|
+
detail: string()
|
|
58045
|
+
})]);
|
|
58046
|
+
var deviceInput = object({ deviceId: number().int().nonnegative() });
|
|
58047
|
+
DeviceType.MediaPlayer;
|
|
58048
|
+
method(deviceInput, RemoteConfigSchema, { auth: "admin" }), method(deviceInput.extend({ config: RemoteConfigSchema }), RemoteSetConfigResultSchema, {
|
|
58049
|
+
kind: "mutation",
|
|
58050
|
+
auth: "admin"
|
|
58051
|
+
}), method(deviceInput, RemoteCommandListSchema, { auth: "protected" }), method(deviceInput.extend({
|
|
58052
|
+
role: RemoteRoleSchema,
|
|
58053
|
+
/** Sends in a row (volume steps). */
|
|
58054
|
+
repeat: number().int().min(1).max(50).default(1)
|
|
58055
|
+
}), RemoteSendResultSchema, {
|
|
58056
|
+
kind: "mutation",
|
|
58057
|
+
auth: "protected"
|
|
58058
|
+
}), method(deviceInput.extend({
|
|
58059
|
+
command: RemoteMediaCommandSchema,
|
|
58060
|
+
muted: boolean().optional(),
|
|
58061
|
+
source: string().optional(),
|
|
58062
|
+
repeat: number().int().min(1).max(50).default(1)
|
|
58063
|
+
}), RemoteMediaCommandResultSchema, {
|
|
58064
|
+
kind: "mutation",
|
|
58065
|
+
auth: "protected"
|
|
58066
|
+
});
|
|
58067
|
+
var TemplateKindSchema = _enum(["remote"]);
|
|
58068
|
+
/**
|
|
58069
|
+
* template — the generic store of reusable, named operator data (D963). A
|
|
58070
|
+
* record is `{ id, kind, name, payload }`; the kinds (today only `remote`, the
|
|
58071
|
+
* button grid of a remote) and the schema each payload must satisfy are
|
|
58072
|
+
* declared by the system in `template-kinds.ts`. Nothing here is specific to a
|
|
58073
|
+
* kind: the engine validates a payload against its kind's schema and, on a
|
|
58074
|
+
* delete, asks the kind's owner whether anything still points at the record.
|
|
58075
|
+
*
|
|
58076
|
+
* Every refusal is a typed result — a UI says "unknown kind" or names the
|
|
58077
|
+
* devices that still use a template, without parsing text.
|
|
58078
|
+
*/
|
|
58079
|
+
var TemplateRecordSchema = object({
|
|
58080
|
+
id: string().min(1),
|
|
58081
|
+
kind: TemplateKindSchema,
|
|
58082
|
+
name: string().min(1).max(120),
|
|
58083
|
+
/** Shaped by the kind; `checkTemplatePayload(kind, payload)` reads it. */
|
|
58084
|
+
payload: unknown(),
|
|
58085
|
+
createdAt: number(),
|
|
58086
|
+
updatedAt: number()
|
|
58087
|
+
});
|
|
58088
|
+
var TemplateWriteResultSchema = discriminatedUnion("status", [object({
|
|
58089
|
+
status: literal("saved"),
|
|
58090
|
+
template: TemplateRecordSchema
|
|
58091
|
+
}), object({
|
|
58092
|
+
status: literal("refused"),
|
|
58093
|
+
reason: _enum(["invalid-payload", "not-found"]),
|
|
58094
|
+
detail: string()
|
|
58095
|
+
})]);
|
|
58096
|
+
/** A device still pointing at a template. */
|
|
58097
|
+
var TemplateUserSchema = object({
|
|
58098
|
+
deviceId: number().int().nonnegative(),
|
|
58099
|
+
name: string()
|
|
58100
|
+
});
|
|
58101
|
+
var TemplateDeleteResultSchema = discriminatedUnion("status", [
|
|
58102
|
+
object({ status: literal("deleted") }),
|
|
58103
|
+
object({ status: literal("not-found") }),
|
|
58104
|
+
object({
|
|
58105
|
+
status: literal("in-use"),
|
|
58106
|
+
devices: array(TemplateUserSchema).min(1)
|
|
58107
|
+
})
|
|
58108
|
+
]);
|
|
58109
|
+
method(object({ kind: TemplateKindSchema.optional() }), array(TemplateRecordSchema), { auth: "protected" }), method(object({ id: string().min(1) }), TemplateRecordSchema.nullable(), { auth: "protected" }), method(object({
|
|
58110
|
+
kind: TemplateKindSchema,
|
|
58111
|
+
name: string().min(1).max(120),
|
|
58112
|
+
payload: unknown()
|
|
58113
|
+
}), TemplateWriteResultSchema, {
|
|
58114
|
+
kind: "mutation",
|
|
58115
|
+
auth: "admin"
|
|
58116
|
+
}), method(object({
|
|
58117
|
+
id: string().min(1),
|
|
58118
|
+
name: string().min(1).max(120).optional(),
|
|
58119
|
+
payload: unknown().optional()
|
|
58120
|
+
}), TemplateWriteResultSchema, {
|
|
58121
|
+
kind: "mutation",
|
|
58122
|
+
auth: "admin"
|
|
58123
|
+
}), method(object({ id: string().min(1) }), TemplateDeleteResultSchema, {
|
|
58124
|
+
kind: "mutation",
|
|
58125
|
+
auth: "admin"
|
|
58126
|
+
});
|
|
57784
58127
|
DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
57785
58128
|
kind: "mutation",
|
|
57786
58129
|
auth: "protected"
|
|
@@ -60530,9 +60873,35 @@ var MediaInfoSchema = object({
|
|
|
60530
60873
|
/** Optional cover-art / thumbnail URL. */
|
|
60531
60874
|
imageUrl: string().optional()
|
|
60532
60875
|
});
|
|
60876
|
+
/**
|
|
60877
|
+
* Where `state`, `volumeLevel`, `isMuted` and `source` come from. `reported`:
|
|
60878
|
+
* the device said so. `assumed`: the driver has no feedback (infrared) and
|
|
60879
|
+
* tracks what it last SENT; it moves only after a send was accepted, and a
|
|
60880
|
+
* human at the real remote makes it wrong. A UI shows an assumed value as a
|
|
60881
|
+
* guess, never as a reading.
|
|
60882
|
+
*/
|
|
60883
|
+
var MediaPlayerStateSourceSchema = _enum(["reported", "assumed"]);
|
|
60884
|
+
/** The fields of a media-player status a driver can only guess. */
|
|
60885
|
+
var MediaPlayerAssumedFieldSchema = _enum([
|
|
60886
|
+
"state",
|
|
60887
|
+
"volumeLevel",
|
|
60888
|
+
"isMuted",
|
|
60889
|
+
"source"
|
|
60890
|
+
]);
|
|
60533
60891
|
object({
|
|
60534
60892
|
/** Playback lifecycle state. */
|
|
60535
60893
|
state: MediaPlayerStateSchema,
|
|
60894
|
+
/**
|
|
60895
|
+
* Whether the state fields are readings or the driver's own bookkeeping.
|
|
60896
|
+
* A slice written before this field existed parses as `reported`.
|
|
60897
|
+
*/
|
|
60898
|
+
stateSource: MediaPlayerStateSourceSchema.default("reported"),
|
|
60899
|
+
/**
|
|
60900
|
+
* Which fields are the driver's own guess. `stateSource` is `assumed` when
|
|
60901
|
+
* this is not empty; a field not listed here is a reading even then (power
|
|
60902
|
+
* from a running-state source, mute guessed from the last send).
|
|
60903
|
+
*/
|
|
60904
|
+
assumedFields: array(MediaPlayerAssumedFieldSchema).default([]),
|
|
60536
60905
|
/** Volume as 0..100 inclusive. Null when the device has no volume
|
|
60537
60906
|
* surface. Pair with `DeviceFeature.MediaPlayerVolume`. */
|
|
60538
60907
|
volumeLevel: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
@@ -61973,6 +62342,14 @@ object({
|
|
|
61973
62342
|
feedSound: boolean(),
|
|
61974
62343
|
/** Speaker / prompt volume level (device-scaled integer). */
|
|
61975
62344
|
volume: number().meta(readingMeta("none")),
|
|
62345
|
+
/** Portion (grams) of the last manual feed sent from a single-hopper
|
|
62346
|
+
* stepper — the default the next manual feed starts from. Persisted per
|
|
62347
|
+
* device by the provider; null until a manual feed has been sent. */
|
|
62348
|
+
lastFeedGrams: gramsPortion.nullable(),
|
|
62349
|
+
/** Hopper-1 portion of the last manual feed (dual-hopper); null until sent. */
|
|
62350
|
+
lastFeedHopper1: gramsPortion.nullable(),
|
|
62351
|
+
/** Hopper-2 portion of the last manual feed (dual-hopper); null until sent. */
|
|
62352
|
+
lastFeedHopper2: gramsPortion.nullable(),
|
|
61976
62353
|
/** Ms epoch when the slice was last refreshed from the cloud. */
|
|
61977
62354
|
lastFetchedAt: number()
|
|
61978
62355
|
});
|
|
@@ -66716,9 +67093,17 @@ var trainingCapability = {
|
|
|
66716
67093
|
})
|
|
66717
67094
|
}
|
|
66718
67095
|
};
|
|
67096
|
+
discriminatedUnion("kind", [object({
|
|
67097
|
+
kind: literal("raw"),
|
|
67098
|
+
timings: array(number().int()),
|
|
67099
|
+
settings: TransmitSettingsSchema.optional()
|
|
67100
|
+
}), object({
|
|
67101
|
+
kind: literal("pronto"),
|
|
67102
|
+
code: string()
|
|
67103
|
+
})]);
|
|
66719
67104
|
DeviceFeature.FanSpeed, DeviceFeature.FanPreset, DeviceFeature.FanDirection, DeviceFeature.FanOscillating, DeviceFeature.CoverPositionable, DeviceFeature.CoverTilt, DeviceFeature.ValvePositionable, DeviceFeature.MediaPlayerVolume, DeviceFeature.ClimateFanMode;
|
|
66720
67105
|
SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
|
|
66721
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.EventEmitter, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer, DeviceType.Camera, DeviceType.Camera, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
|
|
67106
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.EventEmitter, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer, DeviceType.Camera, DeviceType.Camera, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
|
|
66722
67107
|
String.raw`rose\(active(\d+), changed(\d+), (\d+(?:\.\d+)?)\)`;
|
|
66723
67108
|
DeviceRole.BinarySensor, DeviceRole.MotionSensor;
|
|
66724
67109
|
new Set(CAP_NAMES);
|
|
@@ -74460,6 +74845,41 @@ Object.freeze({
|
|
|
74460
74845
|
access: "create",
|
|
74461
74846
|
role: "admin"
|
|
74462
74847
|
},
|
|
74848
|
+
"remote.getConfig": {
|
|
74849
|
+
capName: "remote",
|
|
74850
|
+
capScope: "system",
|
|
74851
|
+
addonId: null,
|
|
74852
|
+
access: "view",
|
|
74853
|
+
role: "admin"
|
|
74854
|
+
},
|
|
74855
|
+
"remote.listCommands": {
|
|
74856
|
+
capName: "remote",
|
|
74857
|
+
capScope: "system",
|
|
74858
|
+
addonId: null,
|
|
74859
|
+
access: "view",
|
|
74860
|
+
role: "admin"
|
|
74861
|
+
},
|
|
74862
|
+
"remote.sendCommand": {
|
|
74863
|
+
capName: "remote",
|
|
74864
|
+
capScope: "system",
|
|
74865
|
+
addonId: null,
|
|
74866
|
+
access: "create",
|
|
74867
|
+
role: "admin"
|
|
74868
|
+
},
|
|
74869
|
+
"remote.sendMediaCommand": {
|
|
74870
|
+
capName: "remote",
|
|
74871
|
+
capScope: "system",
|
|
74872
|
+
addonId: null,
|
|
74873
|
+
access: "create",
|
|
74874
|
+
role: "admin"
|
|
74875
|
+
},
|
|
74876
|
+
"remote.setConfig": {
|
|
74877
|
+
capName: "remote",
|
|
74878
|
+
capScope: "system",
|
|
74879
|
+
addonId: null,
|
|
74880
|
+
access: "create",
|
|
74881
|
+
role: "admin"
|
|
74882
|
+
},
|
|
74463
74883
|
"runningState.getStatus": {
|
|
74464
74884
|
capName: "running-state",
|
|
74465
74885
|
capScope: "device",
|
|
@@ -75650,6 +76070,41 @@ Object.freeze({
|
|
|
75650
76070
|
access: "view",
|
|
75651
76071
|
role: "viewer"
|
|
75652
76072
|
},
|
|
76073
|
+
"template.create": {
|
|
76074
|
+
capName: "template",
|
|
76075
|
+
capScope: "system",
|
|
76076
|
+
addonId: null,
|
|
76077
|
+
access: "create",
|
|
76078
|
+
role: "admin"
|
|
76079
|
+
},
|
|
76080
|
+
"template.delete": {
|
|
76081
|
+
capName: "template",
|
|
76082
|
+
capScope: "system",
|
|
76083
|
+
addonId: null,
|
|
76084
|
+
access: "delete",
|
|
76085
|
+
role: "admin"
|
|
76086
|
+
},
|
|
76087
|
+
"template.get": {
|
|
76088
|
+
capName: "template",
|
|
76089
|
+
capScope: "system",
|
|
76090
|
+
addonId: null,
|
|
76091
|
+
access: "view",
|
|
76092
|
+
role: "admin"
|
|
76093
|
+
},
|
|
76094
|
+
"template.list": {
|
|
76095
|
+
capName: "template",
|
|
76096
|
+
capScope: "system",
|
|
76097
|
+
addonId: null,
|
|
76098
|
+
access: "view",
|
|
76099
|
+
role: "admin"
|
|
76100
|
+
},
|
|
76101
|
+
"template.update": {
|
|
76102
|
+
capName: "template",
|
|
76103
|
+
capScope: "system",
|
|
76104
|
+
addonId: null,
|
|
76105
|
+
access: "create",
|
|
76106
|
+
role: "admin"
|
|
76107
|
+
},
|
|
75653
76108
|
"terminalSession.adoptLegacyMonitor": {
|
|
75654
76109
|
capName: "terminal-session",
|
|
75655
76110
|
capScope: "system",
|
|
@@ -80481,6 +80936,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
80481
80936
|
"recording-archive": system(STORAGE),
|
|
80482
80937
|
"recording-export": system("recording exports — requested from the timeline, not an automation step"),
|
|
80483
80938
|
records: system(INTERNAL),
|
|
80939
|
+
remote: system("the per-device remote setup — authored in the Customize remote editor, sent through the remote UI"),
|
|
80484
80940
|
"server-management": system(CLUSTER),
|
|
80485
80941
|
"settings-store": system(INTERNAL),
|
|
80486
80942
|
"smtp-provider": system(INTERNAL),
|
|
@@ -80493,6 +80949,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
80493
80949
|
"storage-provider": system(STORAGE),
|
|
80494
80950
|
"stream-broker": system(PIPELINE),
|
|
80495
80951
|
system: system(CLUSTER),
|
|
80952
|
+
template: system("operator-authored templates — edited in their own editor, never actuated"),
|
|
80496
80953
|
"terminal-session": system(CLUSTER),
|
|
80497
80954
|
toast: system(UI_PLUMBING),
|
|
80498
80955
|
training: system(ML),
|
|
@@ -82919,6 +83376,31 @@ Object.freeze({
|
|
|
82919
83376
|
form: "single",
|
|
82920
83377
|
optional: true
|
|
82921
83378
|
}],
|
|
83379
|
+
"remote.getConfig": [{
|
|
83380
|
+
name: "deviceId",
|
|
83381
|
+
form: "single",
|
|
83382
|
+
optional: false
|
|
83383
|
+
}],
|
|
83384
|
+
"remote.listCommands": [{
|
|
83385
|
+
name: "deviceId",
|
|
83386
|
+
form: "single",
|
|
83387
|
+
optional: false
|
|
83388
|
+
}],
|
|
83389
|
+
"remote.sendCommand": [{
|
|
83390
|
+
name: "deviceId",
|
|
83391
|
+
form: "single",
|
|
83392
|
+
optional: false
|
|
83393
|
+
}],
|
|
83394
|
+
"remote.sendMediaCommand": [{
|
|
83395
|
+
name: "deviceId",
|
|
83396
|
+
form: "single",
|
|
83397
|
+
optional: false
|
|
83398
|
+
}],
|
|
83399
|
+
"remote.setConfig": [{
|
|
83400
|
+
name: "deviceId",
|
|
83401
|
+
form: "single",
|
|
83402
|
+
optional: false
|
|
83403
|
+
}],
|
|
82922
83404
|
"runningState.getStatus": [{
|
|
82923
83405
|
name: "deviceId",
|
|
82924
83406
|
form: "single",
|
|
@@ -84727,14 +85209,6 @@ DEFAULT_NATIVE_LEASE_SETTINGS.admission;
|
|
|
84727
85209
|
String.raw`(?<=^|["'(\s>,\[{])`;
|
|
84728
85210
|
var MB = 1024 * 1024;
|
|
84729
85211
|
1024 * MB, 3072 * MB;
|
|
84730
|
-
discriminatedUnion("kind", [object({
|
|
84731
|
-
kind: literal("raw"),
|
|
84732
|
-
timings: array(number().int()),
|
|
84733
|
-
settings: TransmitSettingsSchema.optional()
|
|
84734
|
-
}), object({
|
|
84735
|
-
kind: literal("pronto"),
|
|
84736
|
-
code: string()
|
|
84737
|
-
})]);
|
|
84738
85212
|
object({
|
|
84739
85213
|
manufacturer: string().optional(),
|
|
84740
85214
|
supportedModels: array(string()).optional(),
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.441",
|
|
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.348",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
require("./dist-
|
|
2
|
+
require("./dist-DkRYepCT.js");
|
|
3
3
|
const require_orchestrator_training_addon = require("./orchestrator/training.addon.js");
|
|
4
4
|
const require_providers_modal_training_modal_addon = require("./providers/modal/training-modal.addon.js");
|
|
5
5
|
//#region src/providers/fake/fake-provider.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_dist = require("../dist-
|
|
2
|
+
const require_dist = require("../dist-DkRYepCT.js");
|
|
3
3
|
let node_path = require("node:path");
|
|
4
4
|
node_path = require_dist.__toESM(node_path);
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, m as defineRecordKinds, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA, u as RECORD_MAX_DATA_BYTES } from "../dist-
|
|
1
|
+
import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, m as defineRecordKinds, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA, u as RECORD_MAX_DATA_BYTES } from "../dist-CXZDrfkr.mjs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { createReadStream } from "node:fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as e, u as t, w as n, y as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs";
|
|
2
2
|
import { n as i, r as a, t as o } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
|
|
3
3
|
import { n as s, t as c } from "./chevron-right-cA8Hucbi.mjs";
|
|
4
|
-
import { g as l } from "./responsive-
|
|
4
|
+
import { g as l } from "./responsive-1P4H2DQA.mjs";
|
|
5
5
|
//#region ../ui-library/src/composites/widget-panel.tsx
|
|
6
6
|
n();
|
|
7
7
|
function u({ title: e, icon: t, headerRight: n, collapsible: l = !1, defaultOpen: u = !0, open: d, onOpenChange: f, bodyClassName: p = "p-3", children: m }) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_dist = require("../../dist-
|
|
2
|
+
const require_dist = require("../../dist-DkRYepCT.js");
|
|
3
3
|
let node_path = require("node:path");
|
|
4
4
|
node_path = require_dist.__toESM(node_path, 1);
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as record, S as object, _ as isSecretClear, b as boolean, c as trainingProviderCapability, d as SECRET_CLEAR, f as arrayItemFieldPath, g as globalSecretScope, h as entryBody, l as BaseAddon, p as defineEntryKind, v as isSecretMarker, w as string, x as number, y as toSecretFieldView } from "../../dist-
|
|
1
|
+
import { C as record, S as object, _ as isSecretClear, b as boolean, c as trainingProviderCapability, d as SECRET_CLEAR, f as arrayItemFieldPath, g as globalSecretScope, h as entryBody, l as BaseAddon, p as defineEntryKind, v as isSecretMarker, w as string, x as number, y as toSecretFieldView } from "../../dist-CXZDrfkr.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import path, { dirname, posix } from "node:path";
|
|
4
4
|
import { createHash, createPrivateKey, createPublicKey, createSign, randomBytes, randomUUID } from "node:crypto";
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-BBdigjaL.mjs";
|
|
2
2
|
export { t as get, e as init };
|