@camstack/addon-post-analysis 1.2.650 → 1.2.651
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 +6 -0
- package/dist/{clip-model-registry-B_mY0hd7.mjs → clip-model-registry-BWY8P-AK.mjs} +502 -11
- package/dist/{clip-model-registry-CC7pvitG.js → clip-model-registry-Dte3QQEt.js} +502 -11
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-HjnmptAc.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-_vVfXkDx.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-6PIugMbv.mjs +26 -0
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Bk6VlAsZ.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-BjUFFpLS.mjs → hostInit-A7m5uu3n.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +40 -2
- package/dist/pipeline-analytics/index.mjs +40 -3
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-YNYqWfWY.mjs +0 -26
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-OPayQG8i.mjs +0 -26
|
@@ -5676,7 +5676,7 @@ var ZodIssueCode = {
|
|
|
5676
5676
|
var ZodFirstPartyTypeKind;
|
|
5677
5677
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5678
5678
|
//#endregion
|
|
5679
|
-
//#region ../types/dist/sleep-
|
|
5679
|
+
//#region ../types/dist/sleep-C_u6cEAJ.mjs
|
|
5680
5680
|
/**
|
|
5681
5681
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5682
5682
|
* window to float samples (D455).
|
|
@@ -9138,6 +9138,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9138
9138
|
"network-link",
|
|
9139
9139
|
"network-quality",
|
|
9140
9140
|
"node-certificates",
|
|
9141
|
+
"node-removal-hook",
|
|
9141
9142
|
"nodes",
|
|
9142
9143
|
"notification-output",
|
|
9143
9144
|
"notification-rules",
|
|
@@ -9168,6 +9169,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9168
9169
|
"recording-onboard",
|
|
9169
9170
|
"recording-signal",
|
|
9170
9171
|
"records",
|
|
9172
|
+
"remote",
|
|
9171
9173
|
"running-state",
|
|
9172
9174
|
"scene-monitor",
|
|
9173
9175
|
"script-runner",
|
|
@@ -9191,6 +9193,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9191
9193
|
"system",
|
|
9192
9194
|
"tamper",
|
|
9193
9195
|
"temperature-sensor",
|
|
9196
|
+
"template",
|
|
9194
9197
|
"terminal-session",
|
|
9195
9198
|
"toast",
|
|
9196
9199
|
"training",
|
|
@@ -10131,6 +10134,11 @@ Object.freeze({
|
|
|
10131
10134
|
"standby"
|
|
10132
10135
|
]
|
|
10133
10136
|
},
|
|
10137
|
+
{
|
|
10138
|
+
"path": "stateSource",
|
|
10139
|
+
"valueType": "enum",
|
|
10140
|
+
"enumValues": ["reported", "assumed"]
|
|
10141
|
+
},
|
|
10134
10142
|
{
|
|
10135
10143
|
"path": "volumeLevel",
|
|
10136
10144
|
"valueType": "number"
|
|
@@ -10406,6 +10414,18 @@ Object.freeze({
|
|
|
10406
10414
|
{
|
|
10407
10415
|
"path": "volume",
|
|
10408
10416
|
"valueType": "number"
|
|
10417
|
+
},
|
|
10418
|
+
{
|
|
10419
|
+
"path": "lastFeedGrams",
|
|
10420
|
+
"valueType": "number"
|
|
10421
|
+
},
|
|
10422
|
+
{
|
|
10423
|
+
"path": "lastFeedHopper1",
|
|
10424
|
+
"valueType": "number"
|
|
10425
|
+
},
|
|
10426
|
+
{
|
|
10427
|
+
"path": "lastFeedHopper2",
|
|
10428
|
+
"valueType": "number"
|
|
10409
10429
|
}
|
|
10410
10430
|
],
|
|
10411
10431
|
"power-meter": [
|
|
@@ -11453,7 +11473,7 @@ function errMsg(err) {
|
|
|
11453
11473
|
return String(err);
|
|
11454
11474
|
}
|
|
11455
11475
|
//#endregion
|
|
11456
|
-
//#region ../types/dist/composition-
|
|
11476
|
+
//#region ../types/dist/composition-bIBW5_13.mjs
|
|
11457
11477
|
/**
|
|
11458
11478
|
* Deterministic SHA-256 hash of an arbitrary serialisable value. The
|
|
11459
11479
|
* canonical form sorts object keys alphabetically at every depth so two
|
|
@@ -17824,9 +17844,21 @@ var AlertSeveritySchema = _enum([
|
|
|
17824
17844
|
"error",
|
|
17825
17845
|
"critical"
|
|
17826
17846
|
]);
|
|
17847
|
+
/**
|
|
17848
|
+
* An action that RUNS something instead of going somewhere: the admin UI calls
|
|
17849
|
+
* the addon's custom action (`addons.custom`) with exactly these fields. The
|
|
17850
|
+
* producer owns the meaning; the UI knows nothing about the addon or the kind.
|
|
17851
|
+
*/
|
|
17852
|
+
var AlertActionInvokeSchema = object({
|
|
17853
|
+
addonId: string().min(1),
|
|
17854
|
+
action: string().min(1),
|
|
17855
|
+
input: record(string(), unknown()).optional()
|
|
17856
|
+
});
|
|
17857
|
+
/** An action has `href` (a link) OR `invoke` (a button that runs a custom action). */
|
|
17827
17858
|
var AlertActionSchema = object({
|
|
17828
17859
|
label: string(),
|
|
17829
17860
|
href: string().optional(),
|
|
17861
|
+
invoke: AlertActionInvokeSchema.optional(),
|
|
17830
17862
|
/**
|
|
17831
17863
|
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
17832
17864
|
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
@@ -44268,6 +44300,14 @@ var embeddingEncoderCapability = {
|
|
|
44268
44300
|
})
|
|
44269
44301
|
}
|
|
44270
44302
|
};
|
|
44303
|
+
method(object({
|
|
44304
|
+
nodeId: string().min(1),
|
|
44305
|
+
/** Epoch ms the node was forgotten (the tombstone's `removedAt`). */
|
|
44306
|
+
removedAt: number()
|
|
44307
|
+
}), object({ counts: record(string(), number().int().nonnegative()) }), {
|
|
44308
|
+
kind: "mutation",
|
|
44309
|
+
auth: "admin"
|
|
44310
|
+
});
|
|
44271
44311
|
/**
|
|
44272
44312
|
* `device-removal-hook` — the reliable way an addon learns a device was DELETED,
|
|
44273
44313
|
* so it can delete what it keeps for that device (D865).
|
|
@@ -61797,6 +61837,318 @@ onBrightnessChanged: { data: object({
|
|
|
61797
61837
|
minIntervalMs: 0
|
|
61798
61838
|
} } }
|
|
61799
61839
|
};
|
|
61840
|
+
/**
|
|
61841
|
+
* The role vocabulary of a remote (D963): what a button MEANS, independent of
|
|
61842
|
+
* how it is wired. A layout template places buttons by role; a device binds a
|
|
61843
|
+
* role to an action; an exporter asks for a role by name. Roles are shared so
|
|
61844
|
+
* one layout fits every appliance and one voice command fits every binding.
|
|
61845
|
+
*
|
|
61846
|
+
* A role outside this list is `custom:<key>` — the operator's own button (a
|
|
61847
|
+
* SmartIR source, a channel preset). The key is a lowercase slug.
|
|
61848
|
+
*/
|
|
61849
|
+
var REMOTE_KNOWN_ROLES = [
|
|
61850
|
+
"power",
|
|
61851
|
+
"power_on",
|
|
61852
|
+
"power_off",
|
|
61853
|
+
"volume_up",
|
|
61854
|
+
"volume_down",
|
|
61855
|
+
"mute",
|
|
61856
|
+
"channel_up",
|
|
61857
|
+
"channel_down",
|
|
61858
|
+
"up",
|
|
61859
|
+
"down",
|
|
61860
|
+
"left",
|
|
61861
|
+
"right",
|
|
61862
|
+
"ok",
|
|
61863
|
+
"back",
|
|
61864
|
+
"home",
|
|
61865
|
+
"menu",
|
|
61866
|
+
"info",
|
|
61867
|
+
"guide",
|
|
61868
|
+
"exit",
|
|
61869
|
+
"input",
|
|
61870
|
+
"play",
|
|
61871
|
+
"pause",
|
|
61872
|
+
"play_pause",
|
|
61873
|
+
"stop",
|
|
61874
|
+
"next",
|
|
61875
|
+
"previous",
|
|
61876
|
+
"fast_forward",
|
|
61877
|
+
"rewind",
|
|
61878
|
+
"digit_0",
|
|
61879
|
+
"digit_1",
|
|
61880
|
+
"digit_2",
|
|
61881
|
+
"digit_3",
|
|
61882
|
+
"digit_4",
|
|
61883
|
+
"digit_5",
|
|
61884
|
+
"digit_6",
|
|
61885
|
+
"digit_7",
|
|
61886
|
+
"digit_8",
|
|
61887
|
+
"digit_9"
|
|
61888
|
+
];
|
|
61889
|
+
var CUSTOM_KEY_RE = /^[a-z0-9][a-z0-9_]{0,47}$/;
|
|
61890
|
+
var KNOWN_ROLES = new Set(REMOTE_KNOWN_ROLES);
|
|
61891
|
+
function isRemoteKnownRole(value) {
|
|
61892
|
+
return KNOWN_ROLES.has(value);
|
|
61893
|
+
}
|
|
61894
|
+
function isRemoteCustomKey(key) {
|
|
61895
|
+
return CUSTOM_KEY_RE.test(key);
|
|
61896
|
+
}
|
|
61897
|
+
/** The key of a `custom:<key>` role, or null for any other string. */
|
|
61898
|
+
function customKeyOfRole(role) {
|
|
61899
|
+
if (!role.startsWith("custom:")) return null;
|
|
61900
|
+
const key = role.slice(7);
|
|
61901
|
+
return isRemoteCustomKey(key) ? key : null;
|
|
61902
|
+
}
|
|
61903
|
+
function isRemoteRole(value) {
|
|
61904
|
+
return isRemoteKnownRole(value) || customKeyOfRole(value) !== null;
|
|
61905
|
+
}
|
|
61906
|
+
var RemoteRoleSchema = string().refine(isRemoteRole, { message: "a role is one of the known roles or custom:<key> (lowercase letters, digits, _)" });
|
|
61907
|
+
var RemoteBindingSchema = object({ action: AutomationCapStepSchema.extend({ deviceId: number().int().nonnegative() }) });
|
|
61908
|
+
var RemoteCustomButtonSchema = object({
|
|
61909
|
+
/** The slug after `custom:` in the role. */
|
|
61910
|
+
key: string().refine(isRemoteCustomKey, { message: "a lowercase slug" }),
|
|
61911
|
+
/** What the operator calls it, and what a voice command may name. */
|
|
61912
|
+
name: string().min(1).max(60)
|
|
61913
|
+
});
|
|
61914
|
+
var RemotePowerModeSchema = _enum(["toggle", "discrete"]);
|
|
61915
|
+
var RemoteConfigSchema = object({
|
|
61916
|
+
layoutTemplateId: string().min(1).nullable(),
|
|
61917
|
+
/**
|
|
61918
|
+
* The transmitter device new bindings and an import send through. A binding
|
|
61919
|
+
* names its own device, so one command may override it.
|
|
61920
|
+
*/
|
|
61921
|
+
defaultTransmitterId: number().int().nonnegative().nullable().default(null),
|
|
61922
|
+
/** Keyed by role. A role with no entry falls back to the native cap. */
|
|
61923
|
+
bindings: record(string(), RemoteBindingSchema),
|
|
61924
|
+
customButtons: array(RemoteCustomButtonSchema).max(100),
|
|
61925
|
+
power: object({ mode: RemotePowerModeSchema })
|
|
61926
|
+
}).superRefine((config, ctx) => {
|
|
61927
|
+
const roles = Object.keys(config.bindings);
|
|
61928
|
+
if (roles.length > 200) ctx.addIssue({
|
|
61929
|
+
code: "custom",
|
|
61930
|
+
message: "too many bindings",
|
|
61931
|
+
path: ["bindings"]
|
|
61932
|
+
});
|
|
61933
|
+
for (const role of roles) if (!isRemoteRole(role)) ctx.addIssue({
|
|
61934
|
+
code: "custom",
|
|
61935
|
+
message: `"${role}" is not a role`,
|
|
61936
|
+
path: ["bindings", role]
|
|
61937
|
+
});
|
|
61938
|
+
const keys = /* @__PURE__ */ new Set();
|
|
61939
|
+
config.customButtons.forEach((button, index) => {
|
|
61940
|
+
if (keys.has(button.key)) ctx.addIssue({
|
|
61941
|
+
code: "custom",
|
|
61942
|
+
message: `custom button "${button.key}" is listed twice`,
|
|
61943
|
+
path: [
|
|
61944
|
+
"customButtons",
|
|
61945
|
+
index,
|
|
61946
|
+
"key"
|
|
61947
|
+
]
|
|
61948
|
+
});
|
|
61949
|
+
keys.add(button.key);
|
|
61950
|
+
});
|
|
61951
|
+
for (const role of roles) {
|
|
61952
|
+
const key = customKeyOfRole(role);
|
|
61953
|
+
if (key !== null && !keys.has(key)) ctx.addIssue({
|
|
61954
|
+
code: "custom",
|
|
61955
|
+
message: `${role} is bound but has no entry in customButtons`,
|
|
61956
|
+
path: ["bindings", role]
|
|
61957
|
+
});
|
|
61958
|
+
}
|
|
61959
|
+
});
|
|
61960
|
+
object({
|
|
61961
|
+
power: object({
|
|
61962
|
+
state: _enum(["on", "off"]),
|
|
61963
|
+
at: number()
|
|
61964
|
+
}).nullable(),
|
|
61965
|
+
muted: object({
|
|
61966
|
+
value: boolean(),
|
|
61967
|
+
at: number()
|
|
61968
|
+
}).nullable()
|
|
61969
|
+
});
|
|
61970
|
+
var RemoteLayoutButtonSchema = object({
|
|
61971
|
+
id: string().min(1).max(40),
|
|
61972
|
+
/** 0-based grid position. */
|
|
61973
|
+
row: number().int().min(0).max(24),
|
|
61974
|
+
col: number().int().min(0).max(24),
|
|
61975
|
+
rowSpan: number().int().min(1).max(24),
|
|
61976
|
+
colSpan: number().int().min(1).max(24),
|
|
61977
|
+
icon: string().min(1).max(60).optional(),
|
|
61978
|
+
label: string().min(1).max(40).optional(),
|
|
61979
|
+
role: RemoteRoleSchema
|
|
61980
|
+
});
|
|
61981
|
+
object({
|
|
61982
|
+
columns: number().int().min(1).max(24),
|
|
61983
|
+
rows: number().int().min(1).max(24),
|
|
61984
|
+
buttons: array(RemoteLayoutButtonSchema).max(200)
|
|
61985
|
+
}).superRefine((grid, ctx) => {
|
|
61986
|
+
const ids = /* @__PURE__ */ new Set();
|
|
61987
|
+
const taken = /* @__PURE__ */ new Map();
|
|
61988
|
+
grid.buttons.forEach((button, index) => {
|
|
61989
|
+
if (ids.has(button.id)) ctx.addIssue({
|
|
61990
|
+
code: "custom",
|
|
61991
|
+
message: `button id "${button.id}" is used twice`,
|
|
61992
|
+
path: [
|
|
61993
|
+
"buttons",
|
|
61994
|
+
index,
|
|
61995
|
+
"id"
|
|
61996
|
+
]
|
|
61997
|
+
});
|
|
61998
|
+
ids.add(button.id);
|
|
61999
|
+
if (button.row + button.rowSpan > grid.rows || button.col + button.colSpan > grid.columns) {
|
|
62000
|
+
ctx.addIssue({
|
|
62001
|
+
code: "custom",
|
|
62002
|
+
message: `button "${button.id}" leaves the grid`,
|
|
62003
|
+
path: ["buttons", index]
|
|
62004
|
+
});
|
|
62005
|
+
return;
|
|
62006
|
+
}
|
|
62007
|
+
for (let r = button.row; r < button.row + button.rowSpan; r += 1) for (let c = button.col; c < button.col + button.colSpan; c += 1) {
|
|
62008
|
+
const cell = `${r}:${c}`;
|
|
62009
|
+
const other = taken.get(cell);
|
|
62010
|
+
if (other !== void 0) {
|
|
62011
|
+
ctx.addIssue({
|
|
62012
|
+
code: "custom",
|
|
62013
|
+
message: `buttons "${other}" and "${button.id}" overlap`,
|
|
62014
|
+
path: ["buttons", index]
|
|
62015
|
+
});
|
|
62016
|
+
return;
|
|
62017
|
+
}
|
|
62018
|
+
taken.set(cell, button.id);
|
|
62019
|
+
}
|
|
62020
|
+
});
|
|
62021
|
+
});
|
|
62022
|
+
var RemoteBoundCommandSchema = object({
|
|
62023
|
+
role: RemoteRoleSchema,
|
|
62024
|
+
/** The operator's name for a custom button; absent for a known role. */
|
|
62025
|
+
label: string().optional(),
|
|
62026
|
+
custom: boolean()
|
|
62027
|
+
});
|
|
62028
|
+
var RemoteCommandListSchema = object({
|
|
62029
|
+
layoutTemplateId: string().nullable(),
|
|
62030
|
+
power: object({ mode: RemotePowerModeSchema }),
|
|
62031
|
+
/** Only the roles that are BOUND — the ones a press can reach. */
|
|
62032
|
+
commands: array(RemoteBoundCommandSchema)
|
|
62033
|
+
});
|
|
62034
|
+
var RemoteRefusalReasonSchema = _enum([
|
|
62035
|
+
"no-remote",
|
|
62036
|
+
"unbound-role",
|
|
62037
|
+
"action-failed"
|
|
62038
|
+
]);
|
|
62039
|
+
var RemoteSendResultSchema = discriminatedUnion("status", [
|
|
62040
|
+
object({
|
|
62041
|
+
status: literal("sent"),
|
|
62042
|
+
/** How many times the action ran. */
|
|
62043
|
+
sends: number().int().min(1)
|
|
62044
|
+
}),
|
|
62045
|
+
object({
|
|
62046
|
+
status: literal("skipped"),
|
|
62047
|
+
reason: literal("already-in-state")
|
|
62048
|
+
}),
|
|
62049
|
+
object({
|
|
62050
|
+
status: literal("refused"),
|
|
62051
|
+
reason: RemoteRefusalReasonSchema,
|
|
62052
|
+
detail: string().optional()
|
|
62053
|
+
})
|
|
62054
|
+
]);
|
|
62055
|
+
var RemoteMediaCommandSchema = _enum([
|
|
62056
|
+
"play",
|
|
62057
|
+
"pause",
|
|
62058
|
+
"stop",
|
|
62059
|
+
"next",
|
|
62060
|
+
"previous",
|
|
62061
|
+
"setMute",
|
|
62062
|
+
"selectSource"
|
|
62063
|
+
]);
|
|
62064
|
+
/** A send result, or `not-routed`: the role is not bound, so the native cap answers. */
|
|
62065
|
+
var RemoteMediaCommandResultSchema = discriminatedUnion("status", [...RemoteSendResultSchema.options, object({ status: literal("not-routed") })]);
|
|
62066
|
+
var RemoteSetConfigResultSchema = discriminatedUnion("status", [object({ status: literal("saved") }), object({
|
|
62067
|
+
status: literal("refused"),
|
|
62068
|
+
reason: _enum(["unknown-template", "not-a-media-player"]),
|
|
62069
|
+
detail: string()
|
|
62070
|
+
})]);
|
|
62071
|
+
var deviceInput = object({ deviceId: number().int().nonnegative() });
|
|
62072
|
+
DeviceType.MediaPlayer;
|
|
62073
|
+
method(deviceInput, RemoteConfigSchema, { auth: "admin" }), method(deviceInput.extend({ config: RemoteConfigSchema }), RemoteSetConfigResultSchema, {
|
|
62074
|
+
kind: "mutation",
|
|
62075
|
+
auth: "admin"
|
|
62076
|
+
}), method(deviceInput, RemoteCommandListSchema, { auth: "protected" }), method(deviceInput.extend({
|
|
62077
|
+
role: RemoteRoleSchema,
|
|
62078
|
+
/** Sends in a row (volume steps). */
|
|
62079
|
+
repeat: number().int().min(1).max(50).default(1)
|
|
62080
|
+
}), RemoteSendResultSchema, {
|
|
62081
|
+
kind: "mutation",
|
|
62082
|
+
auth: "protected"
|
|
62083
|
+
}), method(deviceInput.extend({
|
|
62084
|
+
command: RemoteMediaCommandSchema,
|
|
62085
|
+
muted: boolean().optional(),
|
|
62086
|
+
source: string().optional(),
|
|
62087
|
+
repeat: number().int().min(1).max(50).default(1)
|
|
62088
|
+
}), RemoteMediaCommandResultSchema, {
|
|
62089
|
+
kind: "mutation",
|
|
62090
|
+
auth: "protected"
|
|
62091
|
+
});
|
|
62092
|
+
var TemplateKindSchema = _enum(["remote"]);
|
|
62093
|
+
/**
|
|
62094
|
+
* template — the generic store of reusable, named operator data (D963). A
|
|
62095
|
+
* record is `{ id, kind, name, payload }`; the kinds (today only `remote`, the
|
|
62096
|
+
* button grid of a remote) and the schema each payload must satisfy are
|
|
62097
|
+
* declared by the system in `template-kinds.ts`. Nothing here is specific to a
|
|
62098
|
+
* kind: the engine validates a payload against its kind's schema and, on a
|
|
62099
|
+
* delete, asks the kind's owner whether anything still points at the record.
|
|
62100
|
+
*
|
|
62101
|
+
* Every refusal is a typed result — a UI says "unknown kind" or names the
|
|
62102
|
+
* devices that still use a template, without parsing text.
|
|
62103
|
+
*/
|
|
62104
|
+
var TemplateRecordSchema = object({
|
|
62105
|
+
id: string().min(1),
|
|
62106
|
+
kind: TemplateKindSchema,
|
|
62107
|
+
name: string().min(1).max(120),
|
|
62108
|
+
/** Shaped by the kind; `checkTemplatePayload(kind, payload)` reads it. */
|
|
62109
|
+
payload: unknown(),
|
|
62110
|
+
createdAt: number(),
|
|
62111
|
+
updatedAt: number()
|
|
62112
|
+
});
|
|
62113
|
+
var TemplateWriteResultSchema = discriminatedUnion("status", [object({
|
|
62114
|
+
status: literal("saved"),
|
|
62115
|
+
template: TemplateRecordSchema
|
|
62116
|
+
}), object({
|
|
62117
|
+
status: literal("refused"),
|
|
62118
|
+
reason: _enum(["invalid-payload", "not-found"]),
|
|
62119
|
+
detail: string()
|
|
62120
|
+
})]);
|
|
62121
|
+
/** A device still pointing at a template. */
|
|
62122
|
+
var TemplateUserSchema = object({
|
|
62123
|
+
deviceId: number().int().nonnegative(),
|
|
62124
|
+
name: string()
|
|
62125
|
+
});
|
|
62126
|
+
var TemplateDeleteResultSchema = discriminatedUnion("status", [
|
|
62127
|
+
object({ status: literal("deleted") }),
|
|
62128
|
+
object({ status: literal("not-found") }),
|
|
62129
|
+
object({
|
|
62130
|
+
status: literal("in-use"),
|
|
62131
|
+
devices: array(TemplateUserSchema).min(1)
|
|
62132
|
+
})
|
|
62133
|
+
]);
|
|
62134
|
+
method(object({ kind: TemplateKindSchema.optional() }), array(TemplateRecordSchema), { auth: "protected" }), method(object({ id: string().min(1) }), TemplateRecordSchema.nullable(), { auth: "protected" }), method(object({
|
|
62135
|
+
kind: TemplateKindSchema,
|
|
62136
|
+
name: string().min(1).max(120),
|
|
62137
|
+
payload: unknown()
|
|
62138
|
+
}), TemplateWriteResultSchema, {
|
|
62139
|
+
kind: "mutation",
|
|
62140
|
+
auth: "admin"
|
|
62141
|
+
}), method(object({
|
|
62142
|
+
id: string().min(1),
|
|
62143
|
+
name: string().min(1).max(120).optional(),
|
|
62144
|
+
payload: unknown().optional()
|
|
62145
|
+
}), TemplateWriteResultSchema, {
|
|
62146
|
+
kind: "mutation",
|
|
62147
|
+
auth: "admin"
|
|
62148
|
+
}), method(object({ id: string().min(1) }), TemplateDeleteResultSchema, {
|
|
62149
|
+
kind: "mutation",
|
|
62150
|
+
auth: "admin"
|
|
62151
|
+
});
|
|
61800
62152
|
DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
61801
62153
|
kind: "mutation",
|
|
61802
62154
|
auth: "protected"
|
|
@@ -66072,9 +66424,35 @@ var MediaInfoSchema = object({
|
|
|
66072
66424
|
/** Optional cover-art / thumbnail URL. */
|
|
66073
66425
|
imageUrl: string().optional()
|
|
66074
66426
|
});
|
|
66427
|
+
/**
|
|
66428
|
+
* Where `state`, `volumeLevel`, `isMuted` and `source` come from. `reported`:
|
|
66429
|
+
* the device said so. `assumed`: the driver has no feedback (infrared) and
|
|
66430
|
+
* tracks what it last SENT; it moves only after a send was accepted, and a
|
|
66431
|
+
* human at the real remote makes it wrong. A UI shows an assumed value as a
|
|
66432
|
+
* guess, never as a reading.
|
|
66433
|
+
*/
|
|
66434
|
+
var MediaPlayerStateSourceSchema = _enum(["reported", "assumed"]);
|
|
66435
|
+
/** The fields of a media-player status a driver can only guess. */
|
|
66436
|
+
var MediaPlayerAssumedFieldSchema = _enum([
|
|
66437
|
+
"state",
|
|
66438
|
+
"volumeLevel",
|
|
66439
|
+
"isMuted",
|
|
66440
|
+
"source"
|
|
66441
|
+
]);
|
|
66075
66442
|
var MediaPlayerStatusSchema = object({
|
|
66076
66443
|
/** Playback lifecycle state. */
|
|
66077
66444
|
state: MediaPlayerStateSchema,
|
|
66445
|
+
/**
|
|
66446
|
+
* Whether the state fields are readings or the driver's own bookkeeping.
|
|
66447
|
+
* A slice written before this field existed parses as `reported`.
|
|
66448
|
+
*/
|
|
66449
|
+
stateSource: MediaPlayerStateSourceSchema.default("reported"),
|
|
66450
|
+
/**
|
|
66451
|
+
* Which fields are the driver's own guess. `stateSource` is `assumed` when
|
|
66452
|
+
* this is not empty; a field not listed here is a reading even then (power
|
|
66453
|
+
* from a running-state source, mute guessed from the last send).
|
|
66454
|
+
*/
|
|
66455
|
+
assumedFields: array(MediaPlayerAssumedFieldSchema).default([]),
|
|
66078
66456
|
/** Volume as 0..100 inclusive. Null when the device has no volume
|
|
66079
66457
|
* surface. Pair with `DeviceFeature.MediaPlayerVolume`. */
|
|
66080
66458
|
volumeLevel: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
@@ -68062,6 +68440,14 @@ var PetFeederStatusSchema = object({
|
|
|
68062
68440
|
feedSound: boolean(),
|
|
68063
68441
|
/** Speaker / prompt volume level (device-scaled integer). */
|
|
68064
68442
|
volume: number().meta(readingMeta("none")),
|
|
68443
|
+
/** Portion (grams) of the last manual feed sent from a single-hopper
|
|
68444
|
+
* stepper — the default the next manual feed starts from. Persisted per
|
|
68445
|
+
* device by the provider; null until a manual feed has been sent. */
|
|
68446
|
+
lastFeedGrams: gramsPortion.nullable(),
|
|
68447
|
+
/** Hopper-1 portion of the last manual feed (dual-hopper); null until sent. */
|
|
68448
|
+
lastFeedHopper1: gramsPortion.nullable(),
|
|
68449
|
+
/** Hopper-2 portion of the last manual feed (dual-hopper); null until sent. */
|
|
68450
|
+
lastFeedHopper2: gramsPortion.nullable(),
|
|
68065
68451
|
/** Ms epoch when the slice was last refreshed from the cloud. */
|
|
68066
68452
|
lastFetchedAt: number()
|
|
68067
68453
|
});
|
|
@@ -74184,9 +74570,17 @@ method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" })
|
|
|
74184
74570
|
kind: "mutation",
|
|
74185
74571
|
auth: "admin"
|
|
74186
74572
|
});
|
|
74573
|
+
discriminatedUnion("kind", [object({
|
|
74574
|
+
kind: literal("raw"),
|
|
74575
|
+
timings: array(number().int()),
|
|
74576
|
+
settings: TransmitSettingsSchema.optional()
|
|
74577
|
+
}), object({
|
|
74578
|
+
kind: literal("pronto"),
|
|
74579
|
+
code: string()
|
|
74580
|
+
})]);
|
|
74187
74581
|
DeviceFeature.FanSpeed, DeviceFeature.FanPreset, DeviceFeature.FanDirection, DeviceFeature.FanOscillating, DeviceFeature.CoverPositionable, DeviceFeature.CoverTilt, DeviceFeature.ValvePositionable, DeviceFeature.MediaPlayerVolume, DeviceFeature.ClimateFanMode;
|
|
74188
74582
|
SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
|
|
74189
|
-
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;
|
|
74583
|
+
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;
|
|
74190
74584
|
String.raw`rose\(active(\d+), changed(\d+), (\d+(?:\.\d+)?)\)`;
|
|
74191
74585
|
DeviceRole.BinarySensor, DeviceRole.MotionSensor;
|
|
74192
74586
|
new Set(CAP_NAMES);
|
|
@@ -80155,6 +80549,13 @@ Object.freeze({
|
|
|
80155
80549
|
access: "create",
|
|
80156
80550
|
role: "admin"
|
|
80157
80551
|
},
|
|
80552
|
+
"nodeRemovalHook.onNodeRemoved": {
|
|
80553
|
+
capName: "node-removal-hook",
|
|
80554
|
+
capScope: "system",
|
|
80555
|
+
addonId: null,
|
|
80556
|
+
access: "create",
|
|
80557
|
+
role: "admin"
|
|
80558
|
+
},
|
|
80158
80559
|
"nodes.clusterAddonStatus": {
|
|
80159
80560
|
capName: "nodes",
|
|
80160
80561
|
capScope: "system",
|
|
@@ -83046,6 +83447,41 @@ Object.freeze({
|
|
|
83046
83447
|
access: "create",
|
|
83047
83448
|
role: "admin"
|
|
83048
83449
|
},
|
|
83450
|
+
"remote.getConfig": {
|
|
83451
|
+
capName: "remote",
|
|
83452
|
+
capScope: "system",
|
|
83453
|
+
addonId: null,
|
|
83454
|
+
access: "view",
|
|
83455
|
+
role: "admin"
|
|
83456
|
+
},
|
|
83457
|
+
"remote.listCommands": {
|
|
83458
|
+
capName: "remote",
|
|
83459
|
+
capScope: "system",
|
|
83460
|
+
addonId: null,
|
|
83461
|
+
access: "view",
|
|
83462
|
+
role: "admin"
|
|
83463
|
+
},
|
|
83464
|
+
"remote.sendCommand": {
|
|
83465
|
+
capName: "remote",
|
|
83466
|
+
capScope: "system",
|
|
83467
|
+
addonId: null,
|
|
83468
|
+
access: "create",
|
|
83469
|
+
role: "admin"
|
|
83470
|
+
},
|
|
83471
|
+
"remote.sendMediaCommand": {
|
|
83472
|
+
capName: "remote",
|
|
83473
|
+
capScope: "system",
|
|
83474
|
+
addonId: null,
|
|
83475
|
+
access: "create",
|
|
83476
|
+
role: "admin"
|
|
83477
|
+
},
|
|
83478
|
+
"remote.setConfig": {
|
|
83479
|
+
capName: "remote",
|
|
83480
|
+
capScope: "system",
|
|
83481
|
+
addonId: null,
|
|
83482
|
+
access: "create",
|
|
83483
|
+
role: "admin"
|
|
83484
|
+
},
|
|
83049
83485
|
"runningState.getStatus": {
|
|
83050
83486
|
capName: "running-state",
|
|
83051
83487
|
capScope: "device",
|
|
@@ -84236,6 +84672,41 @@ Object.freeze({
|
|
|
84236
84672
|
access: "view",
|
|
84237
84673
|
role: "viewer"
|
|
84238
84674
|
},
|
|
84675
|
+
"template.create": {
|
|
84676
|
+
capName: "template",
|
|
84677
|
+
capScope: "system",
|
|
84678
|
+
addonId: null,
|
|
84679
|
+
access: "create",
|
|
84680
|
+
role: "admin"
|
|
84681
|
+
},
|
|
84682
|
+
"template.delete": {
|
|
84683
|
+
capName: "template",
|
|
84684
|
+
capScope: "system",
|
|
84685
|
+
addonId: null,
|
|
84686
|
+
access: "delete",
|
|
84687
|
+
role: "admin"
|
|
84688
|
+
},
|
|
84689
|
+
"template.get": {
|
|
84690
|
+
capName: "template",
|
|
84691
|
+
capScope: "system",
|
|
84692
|
+
addonId: null,
|
|
84693
|
+
access: "view",
|
|
84694
|
+
role: "admin"
|
|
84695
|
+
},
|
|
84696
|
+
"template.list": {
|
|
84697
|
+
capName: "template",
|
|
84698
|
+
capScope: "system",
|
|
84699
|
+
addonId: null,
|
|
84700
|
+
access: "view",
|
|
84701
|
+
role: "admin"
|
|
84702
|
+
},
|
|
84703
|
+
"template.update": {
|
|
84704
|
+
capName: "template",
|
|
84705
|
+
capScope: "system",
|
|
84706
|
+
addonId: null,
|
|
84707
|
+
access: "create",
|
|
84708
|
+
role: "admin"
|
|
84709
|
+
},
|
|
84239
84710
|
"terminalSession.adoptLegacyMonitor": {
|
|
84240
84711
|
capName: "terminal-session",
|
|
84241
84712
|
capScope: "system",
|
|
@@ -89028,6 +89499,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
89028
89499
|
"device-manager": system("the device registry itself — rename, move and remove are administration"),
|
|
89029
89500
|
"device-provider": system(INTERNAL),
|
|
89030
89501
|
"device-removal-hook": system(INTERNAL),
|
|
89502
|
+
"node-removal-hook": system(INTERNAL),
|
|
89031
89503
|
"device-state": system("the runtime-state mirror every trigger already reads through"),
|
|
89032
89504
|
"display-palette": system("the cluster display palette — one colour table for every client, not a device action"),
|
|
89033
89505
|
"embedding-encoder": system(ML),
|
|
@@ -89067,6 +89539,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
89067
89539
|
"recording-archive": system(STORAGE),
|
|
89068
89540
|
"recording-export": system("recording exports — requested from the timeline, not an automation step"),
|
|
89069
89541
|
records: system(INTERNAL),
|
|
89542
|
+
remote: system("the per-device remote setup — authored in the Customize remote editor, sent through the remote UI"),
|
|
89070
89543
|
"server-management": system(CLUSTER),
|
|
89071
89544
|
"settings-store": system(INTERNAL),
|
|
89072
89545
|
"smtp-provider": system(INTERNAL),
|
|
@@ -89079,6 +89552,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
89079
89552
|
"storage-provider": system(STORAGE),
|
|
89080
89553
|
"stream-broker": system(PIPELINE),
|
|
89081
89554
|
system: system(CLUSTER),
|
|
89555
|
+
template: system("operator-authored templates — edited in their own editor, never actuated"),
|
|
89082
89556
|
"terminal-session": system(CLUSTER),
|
|
89083
89557
|
toast: system(UI_PLUMBING),
|
|
89084
89558
|
training: system(ML),
|
|
@@ -91505,6 +91979,31 @@ Object.freeze({
|
|
|
91505
91979
|
form: "single",
|
|
91506
91980
|
optional: true
|
|
91507
91981
|
}],
|
|
91982
|
+
"remote.getConfig": [{
|
|
91983
|
+
name: "deviceId",
|
|
91984
|
+
form: "single",
|
|
91985
|
+
optional: false
|
|
91986
|
+
}],
|
|
91987
|
+
"remote.listCommands": [{
|
|
91988
|
+
name: "deviceId",
|
|
91989
|
+
form: "single",
|
|
91990
|
+
optional: false
|
|
91991
|
+
}],
|
|
91992
|
+
"remote.sendCommand": [{
|
|
91993
|
+
name: "deviceId",
|
|
91994
|
+
form: "single",
|
|
91995
|
+
optional: false
|
|
91996
|
+
}],
|
|
91997
|
+
"remote.sendMediaCommand": [{
|
|
91998
|
+
name: "deviceId",
|
|
91999
|
+
form: "single",
|
|
92000
|
+
optional: false
|
|
92001
|
+
}],
|
|
92002
|
+
"remote.setConfig": [{
|
|
92003
|
+
name: "deviceId",
|
|
92004
|
+
form: "single",
|
|
92005
|
+
optional: false
|
|
92006
|
+
}],
|
|
91508
92007
|
"runningState.getStatus": [{
|
|
91509
92008
|
name: "deviceId",
|
|
91510
92009
|
form: "single",
|
|
@@ -96874,14 +97373,6 @@ function armRemovalReconcile(opts) {
|
|
|
96874
97373
|
timer.unref?.();
|
|
96875
97374
|
return () => clearInterval(timer);
|
|
96876
97375
|
}
|
|
96877
|
-
discriminatedUnion("kind", [object({
|
|
96878
|
-
kind: literal("raw"),
|
|
96879
|
-
timings: array(number().int()),
|
|
96880
|
-
settings: TransmitSettingsSchema.optional()
|
|
96881
|
-
}), object({
|
|
96882
|
-
kind: literal("pronto"),
|
|
96883
|
-
code: string()
|
|
96884
|
-
})]);
|
|
96885
97376
|
object({
|
|
96886
97377
|
manufacturer: string().optional(),
|
|
96887
97378
|
supportedModels: array(string()).optional(),
|
|
@@ -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-
|
|
5
|
+
const require_clip_model_registry = require("../clip-model-registry-Dte3QQEt.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 { $i as BaseAddon, _i as resolvePoolMemoryPolicy, _r as embeddingRequirementsUnavailableError, a as CLIP_EMBEDDING_STEP_ID, fa as normalizeNodeId, gr as embeddingRequirementsFailedError, i as CLIP_TEXT_MODELS, l as resolveClusterModelPin, mr as embeddingModelFailedError, n as DEFAULT_CLIP_MODEL, ni as parseProcStatus, pr as embeddingEncoderCapability, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, tn as PoolMemoryWatchdog } from "../clip-model-registry-
|
|
1
|
+
import { $i as BaseAddon, _i as resolvePoolMemoryPolicy, _r as embeddingRequirementsUnavailableError, a as CLIP_EMBEDDING_STEP_ID, fa as normalizeNodeId, gr as embeddingRequirementsFailedError, i as CLIP_TEXT_MODELS, l as resolveClusterModelPin, mr as embeddingModelFailedError, n as DEFAULT_CLIP_MODEL, ni as parseProcStatus, pr as embeddingEncoderCapability, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, tn as PoolMemoryWatchdog } from "../clip-model-registry-BWY8P-AK.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-Cx9AsA5q.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, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-
|
|
3
|
+
import { a as s, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Bk6VlAsZ.mjs";
|
|
4
4
|
import { n as x, t as S } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-CkwmHEi0.mjs";
|
|
5
|
-
import { t as C } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
5
|
+
import { t as C } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-6PIugMbv.mjs";
|
|
6
6
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
7
7
|
var w = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), T = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), E = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), D = (e) => {
|
|
8
8
|
let t = E(e);
|