@camstack/addon-post-analysis 1.2.631 → 1.2.633
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/{clip-model-registry-DMmf5o2X.mjs → clip-model-registry-CCbbEBYS.mjs} +493 -75
- package/dist/{clip-model-registry-BgsEOah6.js → clip-model-registry-CeNmplcH.js} +510 -74
- 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-DkE3t99L.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-ArpdWsMY.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BQq3WNOE.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-MOlfkem8.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-JabXipp8.mjs → hostInit-g5HpKRU7.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +150 -23
- package/dist/pipeline-analytics/index.mjs +150 -23
- 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-CTux2q1V.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-DdbV-R1z.mjs +0 -26
|
@@ -17555,6 +17555,13 @@ var ComposerUnreadableBlockSchema = object({
|
|
|
17555
17555
|
/** The parse error, in the operator's words. */
|
|
17556
17556
|
error: string()
|
|
17557
17557
|
});
|
|
17558
|
+
/** A confirmed release the hub did not accept. `deviceId` is the claim's device. */
|
|
17559
|
+
var UnreleasedClaimSchema = object({
|
|
17560
|
+
deviceId: number().int(),
|
|
17561
|
+
capName: string(),
|
|
17562
|
+
owner: string(),
|
|
17563
|
+
error: string()
|
|
17564
|
+
});
|
|
17558
17565
|
method(object({
|
|
17559
17566
|
/** The shared Blocks integration; null until `core-blocks` has reconciled it. */
|
|
17560
17567
|
integrationId: string().nullable(),
|
|
@@ -17564,7 +17571,13 @@ method(object({
|
|
|
17564
17571
|
/** Operator restarts: rebuild these runtimes and re-resolve their sources. Stores nothing (D62). */
|
|
17565
17572
|
restartBlockIds: array(string()),
|
|
17566
17573
|
/** Composition rows that exist but do not parse: held, never withdrawn, reported failed. */
|
|
17567
|
-
unreadableBlocks: array(ComposerUnreadableBlockSchema)
|
|
17574
|
+
unreadableBlocks: array(ComposerUnreadableBlockSchema),
|
|
17575
|
+
/**
|
|
17576
|
+
* Operator-confirmed deletions. Their claims are released on this apply,
|
|
17577
|
+
* before any replacement block claims. A block that merely vanished from the
|
|
17578
|
+
* snapshot is not listed here and still waits for two applies (D49).
|
|
17579
|
+
*/
|
|
17580
|
+
retiredBlockIds: array(string()).optional()
|
|
17568
17581
|
}), object({
|
|
17569
17582
|
blocks: array(object({
|
|
17570
17583
|
blockId: string(),
|
|
@@ -17576,7 +17589,13 @@ method(object({
|
|
|
17576
17589
|
* integration unknown, its own rows unread or read empty once). An empty
|
|
17577
17590
|
* apply the caller owes is paid off only by one the composer acted on (D49).
|
|
17578
17591
|
*/
|
|
17579
|
-
acted: boolean()
|
|
17592
|
+
acted: boolean(),
|
|
17593
|
+
/**
|
|
17594
|
+
* Confirmed releases this apply tried and the hub did not accept. Empty when
|
|
17595
|
+
* every one landed (or there was nothing to hand back). Absent on a result
|
|
17596
|
+
* that never got that far.
|
|
17597
|
+
*/
|
|
17598
|
+
unreleasedClaims: array(UnreleasedClaimSchema).optional()
|
|
17580
17599
|
}), {
|
|
17581
17600
|
kind: "mutation",
|
|
17582
17601
|
auth: "admin"
|
|
@@ -43776,6 +43795,381 @@ var _macroLookup = /* @__PURE__ */ new Map();
|
|
|
43776
43795
|
for (const [k, v] of Object.entries(YAMNET_TO_MACRO.mapping)) _macroLookup.set(k.toLowerCase(), v);
|
|
43777
43796
|
for (const [k, v] of Object.entries(APPLE_SA_TO_MACRO.mapping)) _macroLookup.set(k.toLowerCase(), v);
|
|
43778
43797
|
/**
|
|
43798
|
+
* Palette entry ids (D939). Audio is the one gradient; `audio-*` leaves are
|
|
43799
|
+
* not entries. `heatmapScrub` is a mark, not an event kind.
|
|
43800
|
+
*/
|
|
43801
|
+
var PALETTE_ENTRY_IDS = [
|
|
43802
|
+
"motion",
|
|
43803
|
+
"audio",
|
|
43804
|
+
"recording",
|
|
43805
|
+
"live",
|
|
43806
|
+
"heatmapScrub",
|
|
43807
|
+
"person",
|
|
43808
|
+
"vehicle",
|
|
43809
|
+
"animal",
|
|
43810
|
+
"package",
|
|
43811
|
+
"sensor",
|
|
43812
|
+
"control",
|
|
43813
|
+
"face",
|
|
43814
|
+
"plate",
|
|
43815
|
+
"car",
|
|
43816
|
+
"truck",
|
|
43817
|
+
"bus",
|
|
43818
|
+
"motorcycle",
|
|
43819
|
+
"bicycle",
|
|
43820
|
+
"airplane",
|
|
43821
|
+
"boat",
|
|
43822
|
+
"train",
|
|
43823
|
+
"bird",
|
|
43824
|
+
"dog",
|
|
43825
|
+
"cat",
|
|
43826
|
+
"horse",
|
|
43827
|
+
"sheep",
|
|
43828
|
+
"cow",
|
|
43829
|
+
"elephant",
|
|
43830
|
+
"bear",
|
|
43831
|
+
"zebra",
|
|
43832
|
+
"giraffe",
|
|
43833
|
+
"package-delivered",
|
|
43834
|
+
"package-picked-up",
|
|
43835
|
+
"suitcase",
|
|
43836
|
+
"backpack",
|
|
43837
|
+
"handbag",
|
|
43838
|
+
"contact",
|
|
43839
|
+
"motion-sensor",
|
|
43840
|
+
"smoke",
|
|
43841
|
+
"flood",
|
|
43842
|
+
"gas",
|
|
43843
|
+
"carbon-monoxide",
|
|
43844
|
+
"vibration",
|
|
43845
|
+
"tamper",
|
|
43846
|
+
"presence",
|
|
43847
|
+
"enum-sensor",
|
|
43848
|
+
"device-event",
|
|
43849
|
+
"lock",
|
|
43850
|
+
"cover",
|
|
43851
|
+
"switch",
|
|
43852
|
+
"siren",
|
|
43853
|
+
"button",
|
|
43854
|
+
"doorbell"
|
|
43855
|
+
];
|
|
43856
|
+
var AUDIO_ENTRY_ID = "audio";
|
|
43857
|
+
/** Six rungs, quiet → loud. The opaque end is the entry's hex. */
|
|
43858
|
+
var AUDIO_GRADIENT_ALPHAS = [
|
|
43859
|
+
.3,
|
|
43860
|
+
.42,
|
|
43861
|
+
.55,
|
|
43862
|
+
.7,
|
|
43863
|
+
.85,
|
|
43864
|
+
1
|
|
43865
|
+
];
|
|
43866
|
+
var PALETTE_PRESET_IDS = [
|
|
43867
|
+
"camstack",
|
|
43868
|
+
"high-contrast",
|
|
43869
|
+
"okabe-ito"
|
|
43870
|
+
];
|
|
43871
|
+
/** Frozen palette tables (D939). The spec refuses a table that breaks the rule. */
|
|
43872
|
+
var CAMSTACK_HEX = {
|
|
43873
|
+
motion: "#d946ef",
|
|
43874
|
+
audio: "#059eb8",
|
|
43875
|
+
recording: "#ef4444",
|
|
43876
|
+
live: "#8d7a00",
|
|
43877
|
+
heatmapScrub: "#4b32ff",
|
|
43878
|
+
person: "#11a64c",
|
|
43879
|
+
vehicle: "#3b82f6",
|
|
43880
|
+
animal: "#ea6a09",
|
|
43881
|
+
package: "#924667",
|
|
43882
|
+
sensor: "#624bbc",
|
|
43883
|
+
control: "#944d24",
|
|
43884
|
+
face: "#ed4f8d",
|
|
43885
|
+
plate: "#4b7027",
|
|
43886
|
+
car: "#9684cf",
|
|
43887
|
+
truck: "#0f9b89",
|
|
43888
|
+
bus: "#a734a9",
|
|
43889
|
+
motorcycle: "#c1133a",
|
|
43890
|
+
bicycle: "#0e6a9b",
|
|
43891
|
+
airplane: "#7c9928",
|
|
43892
|
+
boat: "#b17933",
|
|
43893
|
+
train: "#ad6ca3",
|
|
43894
|
+
bird: "#0f7c55",
|
|
43895
|
+
dog: "#c82700",
|
|
43896
|
+
cat: "#7268f2",
|
|
43897
|
+
horse: "#cb795e",
|
|
43898
|
+
sheep: "#b8636b",
|
|
43899
|
+
cow: "#cb2969",
|
|
43900
|
+
elephant: "#1158d2",
|
|
43901
|
+
bear: "#8d5e00",
|
|
43902
|
+
zebra: "#0097d6",
|
|
43903
|
+
giraffe: "#8f61bb",
|
|
43904
|
+
"package-delivered": "#cd3f9b",
|
|
43905
|
+
"package-picked-up": "#388a08",
|
|
43906
|
+
suitcase: "#666800",
|
|
43907
|
+
backpack: "#ec5022",
|
|
43908
|
+
handbag: "#a76ef8",
|
|
43909
|
+
contact: "#ab5a49",
|
|
43910
|
+
"motion-sensor": "#b95d1a",
|
|
43911
|
+
smoke: "#dd3858",
|
|
43912
|
+
flood: "#b31e7d",
|
|
43913
|
+
gas: "#5b70b5",
|
|
43914
|
+
"carbon-monoxide": "#7b4e8e",
|
|
43915
|
+
vibration: "#e65bba",
|
|
43916
|
+
tamper: "#98464b",
|
|
43917
|
+
presence: "#3a9468",
|
|
43918
|
+
"enum-sensor": "#7885f8",
|
|
43919
|
+
"device-event": "#8c43c8",
|
|
43920
|
+
lock: "#649653",
|
|
43921
|
+
cover: "#c67597",
|
|
43922
|
+
switch: "#7a812a",
|
|
43923
|
+
siren: "#ac5d7f",
|
|
43924
|
+
button: "#b276cd",
|
|
43925
|
+
doorbell: "#0087ab"
|
|
43926
|
+
};
|
|
43927
|
+
var CAMSTACK_FALLBACK = [
|
|
43928
|
+
"#b34dc7",
|
|
43929
|
+
"#1d7d34",
|
|
43930
|
+
"#db6b6c",
|
|
43931
|
+
"#a43d29",
|
|
43932
|
+
"#0e6ee6",
|
|
43933
|
+
"#29a10b",
|
|
43934
|
+
"#a98731",
|
|
43935
|
+
"#0181c6"
|
|
43936
|
+
];
|
|
43937
|
+
var HIGH_CONTRAST_HEX = {
|
|
43938
|
+
motion: "#964360",
|
|
43939
|
+
audio: "#23a132",
|
|
43940
|
+
recording: "#2494ca",
|
|
43941
|
+
live: "#bd7e2b",
|
|
43942
|
+
heatmapScrub: "#ad6eea",
|
|
43943
|
+
person: "#62611e",
|
|
43944
|
+
vehicle: "#f4534c",
|
|
43945
|
+
animal: "#1556cd",
|
|
43946
|
+
package: "#9c4415",
|
|
43947
|
+
sensor: "#066c48",
|
|
43948
|
+
control: "#f2479f",
|
|
43949
|
+
face: "#139d8a",
|
|
43950
|
+
plate: "#909024",
|
|
43951
|
+
car: "#8e35ab",
|
|
43952
|
+
truck: "#bd0b2b",
|
|
43953
|
+
bus: "#7a88ca",
|
|
43954
|
+
motorcycle: "#e26725",
|
|
43955
|
+
bicycle: "#a6679b",
|
|
43956
|
+
airplane: "#7c5720",
|
|
43957
|
+
boat: "#467a1b",
|
|
43958
|
+
train: "#6f65a4",
|
|
43959
|
+
bird: "#cb717f",
|
|
43960
|
+
dog: "#c62490",
|
|
43961
|
+
cat: "#b36850",
|
|
43962
|
+
horse: "#1872ac",
|
|
43963
|
+
sheep: "#927939",
|
|
43964
|
+
cow: "#428a5c",
|
|
43965
|
+
elephant: "#d41160",
|
|
43966
|
+
bear: "#799453",
|
|
43967
|
+
zebra: "#a85455",
|
|
43968
|
+
giraffe: "#746be8",
|
|
43969
|
+
"package-delivered": "#824a80",
|
|
43970
|
+
"package-picked-up": "#614ac1",
|
|
43971
|
+
suitcase: "#2f77f3",
|
|
43972
|
+
backpack: "#fa476d",
|
|
43973
|
+
handbag: "#c14cbe",
|
|
43974
|
+
contact: "#c83921",
|
|
43975
|
+
"motion-sensor": "#a07ebd",
|
|
43976
|
+
smoke: "#a25b13",
|
|
43977
|
+
flood: "#526bab",
|
|
43978
|
+
gas: "#924938",
|
|
43979
|
+
"carbon-monoxide": "#bb7e53",
|
|
43980
|
+
vibration: "#b66182",
|
|
43981
|
+
tamper: "#3c6931",
|
|
43982
|
+
presence: "#6c851d",
|
|
43983
|
+
"enum-sensor": "#ad2d48",
|
|
43984
|
+
"device-event": "#5e9b04",
|
|
43985
|
+
lock: "#00a062",
|
|
43986
|
+
cover: "#ad8624",
|
|
43987
|
+
switch: "#d05259",
|
|
43988
|
+
siren: "#cd67b3",
|
|
43989
|
+
button: "#c9746a",
|
|
43990
|
+
doorbell: "#338eeb"
|
|
43991
|
+
};
|
|
43992
|
+
var HIGH_CONTRAST_FALLBACK = [
|
|
43993
|
+
"#817f3b",
|
|
43994
|
+
"#a0733e",
|
|
43995
|
+
"#8658b2",
|
|
43996
|
+
"#956301",
|
|
43997
|
+
"#bc652d",
|
|
43998
|
+
"#647331",
|
|
43999
|
+
"#a14c9e",
|
|
44000
|
+
"#d14e71"
|
|
44001
|
+
];
|
|
44002
|
+
var OKABE_ITO_HEX = {
|
|
44003
|
+
motion: "#b88128",
|
|
44004
|
+
audio: "#1096c8",
|
|
44005
|
+
recording: "#009e73",
|
|
44006
|
+
live: "#9c8c22",
|
|
44007
|
+
heatmapScrub: "#0072b2",
|
|
44008
|
+
person: "#d55e00",
|
|
44009
|
+
vehicle: "#c0739f",
|
|
44010
|
+
animal: "#226d18",
|
|
44011
|
+
package: "#91446c",
|
|
44012
|
+
sensor: "#217b56",
|
|
44013
|
+
control: "#648647",
|
|
44014
|
+
face: "#c22998",
|
|
44015
|
+
plate: "#fa4575",
|
|
44016
|
+
car: "#956301",
|
|
44017
|
+
truck: "#2f77f3",
|
|
44018
|
+
bus: "#7a4e86",
|
|
44019
|
+
motorcycle: "#f54597",
|
|
44020
|
+
bicycle: "#bb3e75",
|
|
44021
|
+
airplane: "#e054c0",
|
|
44022
|
+
boat: "#457942",
|
|
44023
|
+
train: "#867afa",
|
|
44024
|
+
bird: "#88914c",
|
|
44025
|
+
dog: "#1556cd",
|
|
44026
|
+
cat: "#71702c",
|
|
44027
|
+
horse: "#9b4fa4",
|
|
44028
|
+
sheep: "#c0559d",
|
|
44029
|
+
cow: "#d14f65",
|
|
44030
|
+
elephant: "#98470f",
|
|
44031
|
+
bear: "#595896",
|
|
44032
|
+
zebra: "#96790e",
|
|
44033
|
+
giraffe: "#cb717b",
|
|
44034
|
+
"package-delivered": "#139d8a",
|
|
44035
|
+
"package-picked-up": "#906ead",
|
|
44036
|
+
suitcase: "#d02939",
|
|
44037
|
+
backpack: "#d41160",
|
|
44038
|
+
handbag: "#f64f54",
|
|
44039
|
+
contact: "#7258d2",
|
|
44040
|
+
"motion-sensor": "#b66182",
|
|
44041
|
+
smoke: "#627abb",
|
|
44042
|
+
flood: "#b86ae4",
|
|
44043
|
+
gas: "#a95261",
|
|
44044
|
+
"carbon-monoxide": "#c65d3c",
|
|
44045
|
+
vibration: "#7a40b7",
|
|
44046
|
+
tamper: "#914b34",
|
|
44047
|
+
presence: "#9481c3",
|
|
44048
|
+
"enum-sensor": "#ac6d47",
|
|
44049
|
+
"device-event": "#7b6fce",
|
|
44050
|
+
lock: "#c67662",
|
|
44051
|
+
cover: "#a6564d",
|
|
44052
|
+
switch: "#ad2c4e",
|
|
44053
|
+
siren: "#348e08",
|
|
44054
|
+
button: "#d27303",
|
|
44055
|
+
doorbell: "#55770f"
|
|
44056
|
+
};
|
|
44057
|
+
var OKABE_ITO_FALLBACK = [
|
|
44058
|
+
"#9a3784",
|
|
44059
|
+
"#a7392c",
|
|
44060
|
+
"#409d50",
|
|
44061
|
+
"#6987e7",
|
|
44062
|
+
"#ee5b3d",
|
|
44063
|
+
"#c0430d",
|
|
44064
|
+
"#af79b3",
|
|
44065
|
+
"#4b6628"
|
|
44066
|
+
];
|
|
44067
|
+
/**
|
|
44068
|
+
* The display palette (D939). One table of colours, three presets, one
|
|
44069
|
+
* validator. Taxonomy colours and every consumer read this — there is no
|
|
44070
|
+
* second hex table.
|
|
44071
|
+
*/
|
|
44072
|
+
var paletteHexSchema = string().regex(/^#[0-9a-f]{6}$/);
|
|
44073
|
+
var paletteSwatchSchema = discriminatedUnion("form", [object({
|
|
44074
|
+
form: literal("solid"),
|
|
44075
|
+
hex: paletteHexSchema
|
|
44076
|
+
}), object({
|
|
44077
|
+
form: literal("gradient"),
|
|
44078
|
+
hex: paletteHexSchema,
|
|
44079
|
+
alphas: array(number().gt(0).lte(1)).length(AUDIO_GRADIENT_ALPHAS.length)
|
|
44080
|
+
})]);
|
|
44081
|
+
var paletteReadySchema = object({
|
|
44082
|
+
status: literal("ready"),
|
|
44083
|
+
presetId: _enum(PALETTE_PRESET_IDS),
|
|
44084
|
+
customized: boolean(),
|
|
44085
|
+
source: _enum(["stored", "unconfigured"]),
|
|
44086
|
+
swatches: record(string(), paletteSwatchSchema),
|
|
44087
|
+
fallbacks: array(paletteHexSchema).length(8)
|
|
44088
|
+
});
|
|
44089
|
+
var paletteResultSchema = discriminatedUnion("status", [paletteReadySchema, object({
|
|
44090
|
+
status: literal("unknown"),
|
|
44091
|
+
reason: string()
|
|
44092
|
+
})]);
|
|
44093
|
+
var setPaletteInputSchema = union([object({ presetId: string() }), object({
|
|
44094
|
+
presetId: string(),
|
|
44095
|
+
overrides: record(string(), paletteSwatchSchema)
|
|
44096
|
+
})]);
|
|
44097
|
+
object({
|
|
44098
|
+
presetId: string(),
|
|
44099
|
+
overrides: record(string(), paletteSwatchSchema)
|
|
44100
|
+
});
|
|
44101
|
+
function solid(hex) {
|
|
44102
|
+
return {
|
|
44103
|
+
form: "solid",
|
|
44104
|
+
hex
|
|
44105
|
+
};
|
|
44106
|
+
}
|
|
44107
|
+
function audioGradient(hex) {
|
|
44108
|
+
return {
|
|
44109
|
+
form: "gradient",
|
|
44110
|
+
hex,
|
|
44111
|
+
alphas: [...AUDIO_GRADIENT_ALPHAS]
|
|
44112
|
+
};
|
|
44113
|
+
}
|
|
44114
|
+
function swatchesFrom(hexes) {
|
|
44115
|
+
const out = {};
|
|
44116
|
+
for (const id of PALETTE_ENTRY_IDS) {
|
|
44117
|
+
const hex = hexes[id];
|
|
44118
|
+
if (hex === void 0) throw new Error(`palette table missing ${id}`);
|
|
44119
|
+
out[id] = id === "audio" ? audioGradient(hex) : solid(hex);
|
|
44120
|
+
}
|
|
44121
|
+
return out;
|
|
44122
|
+
}
|
|
44123
|
+
function preset(id, name, hexes, fallbacks) {
|
|
44124
|
+
return {
|
|
44125
|
+
id,
|
|
44126
|
+
name,
|
|
44127
|
+
swatches: swatchesFrom(hexes),
|
|
44128
|
+
fallbacks
|
|
44129
|
+
};
|
|
44130
|
+
}
|
|
44131
|
+
var DISPLAY_PRESETS = [
|
|
44132
|
+
preset("camstack", "CamStack", CAMSTACK_HEX, CAMSTACK_FALLBACK),
|
|
44133
|
+
preset("high-contrast", "High contrast", HIGH_CONTRAST_HEX, HIGH_CONTRAST_FALLBACK),
|
|
44134
|
+
preset("okabe-ito", "Colour-blind safe", OKABE_ITO_HEX, OKABE_ITO_FALLBACK)
|
|
44135
|
+
];
|
|
44136
|
+
function presetById(id) {
|
|
44137
|
+
return DISPLAY_PRESETS.find((item) => item.id === id);
|
|
44138
|
+
}
|
|
44139
|
+
function bundledCamstack() {
|
|
44140
|
+
const presetRow = presetById("camstack");
|
|
44141
|
+
if (presetRow === void 0) throw new Error("CamStack preset missing");
|
|
44142
|
+
return readyOf(presetRow, "unconfigured", false);
|
|
44143
|
+
}
|
|
44144
|
+
function readyOf(row, source, customized) {
|
|
44145
|
+
return {
|
|
44146
|
+
status: "ready",
|
|
44147
|
+
presetId: row.id,
|
|
44148
|
+
customized,
|
|
44149
|
+
source,
|
|
44150
|
+
swatches: row.swatches,
|
|
44151
|
+
fallbacks: [...row.fallbacks]
|
|
44152
|
+
};
|
|
44153
|
+
}
|
|
44154
|
+
function hashFallback(kind, fallbacks) {
|
|
44155
|
+
let hash = 0;
|
|
44156
|
+
for (let i = 0; i < kind.length; i++) hash = hash * 31 + (kind.codePointAt(i) ?? 0) >>> 0;
|
|
44157
|
+
const hex = fallbacks[hash % fallbacks.length];
|
|
44158
|
+
if (hex === void 0) throw new Error("display palette has no fallback colour");
|
|
44159
|
+
return hex;
|
|
44160
|
+
}
|
|
44161
|
+
/** Colour a kind paints with. Audio leaves share the audio gradient's hex. */
|
|
44162
|
+
function paintHex(swatches, fallbacks, kind) {
|
|
44163
|
+
const key = kind.trim().toLowerCase();
|
|
44164
|
+
if (key.startsWith("audio-")) {
|
|
44165
|
+
const audio = swatches[AUDIO_ENTRY_ID];
|
|
44166
|
+
return audio !== void 0 ? audio.hex : hashFallback(key, fallbacks);
|
|
44167
|
+
}
|
|
44168
|
+
const direct = swatches[key];
|
|
44169
|
+
if (direct !== void 0) return direct.hex;
|
|
44170
|
+
return hashFallback(key, fallbacks);
|
|
44171
|
+
}
|
|
44172
|
+
/**
|
|
43779
44173
|
* Unified event-kind taxonomy — THE single source of truth for
|
|
43780
44174
|
* `kind → { parentKind, category, level, color, iconId, labelKey, label,
|
|
43781
44175
|
* icon }`.
|
|
@@ -43789,111 +44183,89 @@ for (const [k, v] of Object.entries(APPLE_SA_TO_MACRO.mapping)) _macroLookup.set
|
|
|
43789
44183
|
* - `addon-post-analysis/shared/frame/box-drawer.ts` (DEFAULT_COLOR)
|
|
43790
44184
|
* - the COCO / audio class maps (macro ↔ sub relationships)
|
|
43791
44185
|
*
|
|
43792
|
-
* The DATA (serializable —
|
|
43793
|
-
* `@camstack/types`.
|
|
43794
|
-
*
|
|
43795
|
-
*
|
|
43796
|
-
*
|
|
44186
|
+
* The DATA (serializable — parentKind / iconId / labelKey) lives here in
|
|
44187
|
+
* `@camstack/types`. Colour is NOT a second table: each entry's `color` is
|
|
44188
|
+
* the bundled CamStack display palette (D939). The effective cluster palette
|
|
44189
|
+
* is the `display-palette` capability. The UI-side mapping `iconId → lucide
|
|
44190
|
+
* component` and `labelKey → t()` lives in `@camstack/ui-library`.
|
|
43797
44191
|
*
|
|
43798
44192
|
* Two levels only (v1 YAGNI): macro → sub. `person` is a leaf macro.
|
|
43799
44193
|
*/
|
|
43800
|
-
var
|
|
43801
|
-
|
|
43802
|
-
|
|
43803
|
-
|
|
43804
|
-
|
|
43805
|
-
|
|
43806
|
-
|
|
43807
|
-
|
|
43808
|
-
|
|
43809
|
-
|
|
43810
|
-
|
|
43811
|
-
/** Global default color when a kind is unknown (matches legacy box-drawer). */
|
|
43812
|
-
var DEFAULT_EVENT_COLOR = "#22ff55";
|
|
43813
|
-
var DETECTION_SUB_COLORS = {
|
|
43814
|
-
car: "#f59e0b",
|
|
43815
|
-
truck: "#d97706",
|
|
43816
|
-
bus: "#b45309",
|
|
43817
|
-
motorcycle: "#eab308",
|
|
43818
|
-
bicycle: "#ca8a04",
|
|
43819
|
-
airplane: "#60a5fa",
|
|
43820
|
-
boat: "#2563eb",
|
|
43821
|
-
train: "#1d4ed8",
|
|
43822
|
-
bird: "#14b8a6",
|
|
43823
|
-
dog: "#84cc16",
|
|
43824
|
-
cat: "#f97316",
|
|
43825
|
-
horse: "#a16207",
|
|
43826
|
-
sheep: "#a3a3a3",
|
|
43827
|
-
cow: "#78716c",
|
|
43828
|
-
elephant: "#6b7280",
|
|
43829
|
-
bear: "#7c2d12",
|
|
43830
|
-
zebra: "#404040",
|
|
43831
|
-
giraffe: "#d4a373"
|
|
43832
|
-
};
|
|
44194
|
+
var BUNDLED_PALETTE = bundledCamstack();
|
|
44195
|
+
function kindColor(kind) {
|
|
44196
|
+
return paintHex(BUNDLED_PALETTE.swatches, BUNDLED_PALETTE.fallbacks, kind);
|
|
44197
|
+
}
|
|
44198
|
+
function firstFallback(fallbacks) {
|
|
44199
|
+
const hex = fallbacks[0];
|
|
44200
|
+
if (hex === void 0) throw new Error("display palette has no fallback colour");
|
|
44201
|
+
return hex;
|
|
44202
|
+
}
|
|
44203
|
+
/** Global default when a kind is unknown — the palette's first fallback. */
|
|
44204
|
+
var DEFAULT_EVENT_COLOR = firstFallback(BUNDLED_PALETTE.fallbacks);
|
|
43833
44205
|
function titleCase(id) {
|
|
43834
44206
|
return id.split(/[-_ ]/).filter((p) => p.length > 0).map((p) => p.charAt(0).toUpperCase() + p.slice(1)).join(" ");
|
|
43835
44207
|
}
|
|
43836
44208
|
var entries = /* @__PURE__ */ new Map();
|
|
43837
|
-
function macro(kind, category,
|
|
44209
|
+
function macro(kind, category, iconId, label) {
|
|
43838
44210
|
entries.set(kind, {
|
|
43839
44211
|
kind,
|
|
43840
44212
|
parentKind: null,
|
|
43841
44213
|
level: "macro",
|
|
43842
44214
|
category,
|
|
43843
|
-
color,
|
|
44215
|
+
color: kindColor(kind),
|
|
43844
44216
|
iconId,
|
|
43845
44217
|
labelKey: `eventKind.${kind}`,
|
|
43846
44218
|
label
|
|
43847
44219
|
});
|
|
43848
44220
|
}
|
|
43849
|
-
function sub(kind, parentKind, category,
|
|
44221
|
+
function sub(kind, parentKind, category, iconId, label) {
|
|
43850
44222
|
entries.set(kind, {
|
|
43851
44223
|
kind,
|
|
43852
44224
|
parentKind,
|
|
43853
44225
|
level: "sub",
|
|
43854
44226
|
category,
|
|
43855
|
-
color,
|
|
44227
|
+
color: kindColor(kind),
|
|
43856
44228
|
iconId,
|
|
43857
44229
|
labelKey: `eventKind.${kind}`,
|
|
43858
44230
|
label
|
|
43859
44231
|
});
|
|
43860
44232
|
}
|
|
43861
|
-
macro("motion", "motion",
|
|
43862
|
-
macro("audio", "audio",
|
|
43863
|
-
macro("person", "detection",
|
|
43864
|
-
macro("vehicle", "detection",
|
|
43865
|
-
macro("animal", "detection",
|
|
43866
|
-
macro("package", "package",
|
|
43867
|
-
macro("sensor", "sensor",
|
|
43868
|
-
macro("control", "control",
|
|
44233
|
+
macro("motion", "motion", "motion", "Motion");
|
|
44234
|
+
macro("audio", "audio", "audio", "Audio");
|
|
44235
|
+
macro("person", "detection", "person", "Person");
|
|
44236
|
+
macro("vehicle", "detection", "vehicle", "Vehicle");
|
|
44237
|
+
macro("animal", "detection", "animal", "Animal");
|
|
44238
|
+
macro("package", "package", "package", "Package");
|
|
44239
|
+
macro("sensor", "sensor", "sensor", "Sensor");
|
|
44240
|
+
macro("control", "control", "control", "Control");
|
|
43869
44241
|
for (const [cocoClass, macroClass] of Object.entries(COCO_TO_MACRO.mapping)) {
|
|
43870
44242
|
if (macroClass !== "vehicle" && macroClass !== "animal") continue;
|
|
43871
44243
|
if (entries.has(cocoClass)) continue;
|
|
43872
|
-
sub(cocoClass, macroClass, "detection",
|
|
43873
|
-
}
|
|
43874
|
-
sub("package-delivered", "package", "package",
|
|
43875
|
-
sub("package-picked-up", "package", "package",
|
|
43876
|
-
sub("contact", "sensor", "sensor", "
|
|
43877
|
-
sub("motion-sensor", "sensor", "sensor",
|
|
43878
|
-
sub("smoke", "sensor", "sensor", "
|
|
43879
|
-
sub("flood", "sensor", "sensor", "
|
|
43880
|
-
sub("gas", "sensor", "sensor", "
|
|
43881
|
-
sub("carbon-monoxide", "sensor", "sensor", "
|
|
43882
|
-
sub("vibration", "sensor", "sensor", "
|
|
43883
|
-
sub("tamper", "sensor", "sensor", "
|
|
43884
|
-
sub("presence", "sensor", "sensor", "
|
|
43885
|
-
sub("enum-sensor", "sensor", "sensor",
|
|
43886
|
-
sub("device-event", "sensor", "sensor", "
|
|
43887
|
-
sub("lock", "control", "control", "
|
|
43888
|
-
sub("cover", "control", "control", "
|
|
43889
|
-
sub("switch", "control", "control",
|
|
43890
|
-
sub("siren", "control", "control", "
|
|
43891
|
-
sub("button", "control", "control", "
|
|
43892
|
-
sub("doorbell", "control", "control", "
|
|
44244
|
+
sub(cocoClass, macroClass, "detection", cocoClass, titleCase(cocoClass));
|
|
44245
|
+
}
|
|
44246
|
+
sub("package-delivered", "package", "package", "package", "Package delivered");
|
|
44247
|
+
sub("package-picked-up", "package", "package", "package", "Package picked up");
|
|
44248
|
+
sub("contact", "sensor", "sensor", "door", "Contact");
|
|
44249
|
+
sub("motion-sensor", "sensor", "sensor", "pir", "Motion sensor");
|
|
44250
|
+
sub("smoke", "sensor", "sensor", "smoke", "Smoke");
|
|
44251
|
+
sub("flood", "sensor", "sensor", "water", "Water leak");
|
|
44252
|
+
sub("gas", "sensor", "sensor", "gas", "Gas");
|
|
44253
|
+
sub("carbon-monoxide", "sensor", "sensor", "smoke", "Carbon monoxide");
|
|
44254
|
+
sub("vibration", "sensor", "sensor", "vibration", "Vibration");
|
|
44255
|
+
sub("tamper", "sensor", "sensor", "tamper", "Tamper");
|
|
44256
|
+
sub("presence", "sensor", "sensor", "presence", "Presence");
|
|
44257
|
+
sub("enum-sensor", "sensor", "sensor", "generic", "Sensor state");
|
|
44258
|
+
sub("device-event", "sensor", "sensor", "button", "Device event");
|
|
44259
|
+
sub("lock", "control", "control", "lock", "Lock");
|
|
44260
|
+
sub("cover", "control", "control", "door", "Cover");
|
|
44261
|
+
sub("switch", "control", "control", "switch", "Switch");
|
|
44262
|
+
sub("siren", "control", "control", "siren", "Siren");
|
|
44263
|
+
sub("button", "control", "control", "button", "Button");
|
|
44264
|
+
sub("doorbell", "control", "control", "doorbell", "Doorbell");
|
|
43893
44265
|
for (const l of AUDIO_MACRO_LABELS) {
|
|
43894
44266
|
const kind = `audio-${l.id}`;
|
|
43895
44267
|
if (entries.has(kind)) continue;
|
|
43896
|
-
sub(kind, "audio", "audio",
|
|
44268
|
+
sub(kind, "audio", "audio", kind, l.name);
|
|
43897
44269
|
}
|
|
43898
44270
|
/** The complete taxonomy dictionary, keyed by kind. */
|
|
43899
44271
|
var EVENT_TAXONOMY = Object.freeze(Object.fromEntries(entries));
|
|
@@ -59575,6 +59947,30 @@ var dayNightCapability = {
|
|
|
59575
59947
|
volatileStateFields: ["lastFetchedAt"]
|
|
59576
59948
|
};
|
|
59577
59949
|
/**
|
|
59950
|
+
* display-palette — the cluster's one colour table (D939).
|
|
59951
|
+
*
|
|
59952
|
+
* Hub singleton. `getPalette` reports `unknown` when the settings store
|
|
59953
|
+
* cannot be read; it does not pretend the bundled preset was stored.
|
|
59954
|
+
* `setPalette` refuses a palette that fails the ΔE / contrast rule and names
|
|
59955
|
+
* the pairs.
|
|
59956
|
+
*/
|
|
59957
|
+
var presetSummarySchema = object({
|
|
59958
|
+
id: string(),
|
|
59959
|
+
name: string(),
|
|
59960
|
+
swatches: record(string(), paletteSwatchSchema),
|
|
59961
|
+
fallbacks: array(string())
|
|
59962
|
+
});
|
|
59963
|
+
method(_void(), paletteResultSchema, {
|
|
59964
|
+
auth: "protected",
|
|
59965
|
+
role: "viewer"
|
|
59966
|
+
}), method(_void(), array(presetSummarySchema).readonly(), {
|
|
59967
|
+
auth: "protected",
|
|
59968
|
+
role: "viewer"
|
|
59969
|
+
}), method(setPaletteInputSchema, paletteReadySchema, {
|
|
59970
|
+
kind: "mutation",
|
|
59971
|
+
auth: "admin"
|
|
59972
|
+
});
|
|
59973
|
+
/**
|
|
59578
59974
|
* Generic device-level status snapshot. Auto-registered by `BaseDevice`
|
|
59579
59975
|
* for every device, regardless of provider — the kernel needs a uniform
|
|
59580
59976
|
* cap-keyed slice for the basic device flags every consumer expects to
|
|
@@ -74363,6 +74759,27 @@ Object.freeze({
|
|
|
74363
74759
|
access: "create",
|
|
74364
74760
|
role: "viewer"
|
|
74365
74761
|
},
|
|
74762
|
+
"displayPalette.getPalette": {
|
|
74763
|
+
capName: "display-palette",
|
|
74764
|
+
capScope: "system",
|
|
74765
|
+
addonId: null,
|
|
74766
|
+
access: "view",
|
|
74767
|
+
role: "viewer"
|
|
74768
|
+
},
|
|
74769
|
+
"displayPalette.listPresets": {
|
|
74770
|
+
capName: "display-palette",
|
|
74771
|
+
capScope: "system",
|
|
74772
|
+
addonId: null,
|
|
74773
|
+
access: "view",
|
|
74774
|
+
role: "viewer"
|
|
74775
|
+
},
|
|
74776
|
+
"displayPalette.setPalette": {
|
|
74777
|
+
capName: "display-palette",
|
|
74778
|
+
capScope: "system",
|
|
74779
|
+
addonId: null,
|
|
74780
|
+
access: "create",
|
|
74781
|
+
role: "admin"
|
|
74782
|
+
},
|
|
74366
74783
|
"doorbell.getStatus": {
|
|
74367
74784
|
capName: "doorbell",
|
|
74368
74785
|
capScope: "device",
|
|
@@ -84819,6 +85236,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
84819
85236
|
"device-provider": system(INTERNAL),
|
|
84820
85237
|
"device-removal-hook": system(INTERNAL),
|
|
84821
85238
|
"device-state": system("the runtime-state mirror every trigger already reads through"),
|
|
85239
|
+
"display-palette": system("the cluster display palette — one colour table for every client, not a device action"),
|
|
84822
85240
|
"embedding-encoder": system(ML),
|
|
84823
85241
|
"face-gallery": system("the face gallery — curated on its own page"),
|
|
84824
85242
|
"failure-contribution": system(INTERNAL),
|
|
@@ -93804,6 +94222,12 @@ Object.defineProperty(exports, "buildViewerLink", {
|
|
|
93804
94222
|
return buildViewerLink;
|
|
93805
94223
|
}
|
|
93806
94224
|
});
|
|
94225
|
+
Object.defineProperty(exports, "bundledCamstack", {
|
|
94226
|
+
enumerable: true,
|
|
94227
|
+
get: function() {
|
|
94228
|
+
return bundledCamstack;
|
|
94229
|
+
}
|
|
94230
|
+
});
|
|
93807
94231
|
Object.defineProperty(exports, "calendarEventLocalSpan", {
|
|
93808
94232
|
enumerable: true,
|
|
93809
94233
|
get: function() {
|
|
@@ -94242,6 +94666,18 @@ Object.defineProperty(exports, "occupancyScope", {
|
|
|
94242
94666
|
return occupancyScope;
|
|
94243
94667
|
}
|
|
94244
94668
|
});
|
|
94669
|
+
Object.defineProperty(exports, "paintHex", {
|
|
94670
|
+
enumerable: true,
|
|
94671
|
+
get: function() {
|
|
94672
|
+
return paintHex;
|
|
94673
|
+
}
|
|
94674
|
+
});
|
|
94675
|
+
Object.defineProperty(exports, "paletteResultSchema", {
|
|
94676
|
+
enumerable: true,
|
|
94677
|
+
get: function() {
|
|
94678
|
+
return paletteResultSchema;
|
|
94679
|
+
}
|
|
94680
|
+
});
|
|
94245
94681
|
Object.defineProperty(exports, "parseAlertEpisodePayload", {
|
|
94246
94682
|
enumerable: true,
|
|
94247
94683
|
get: function() {
|
|
@@ -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-CeNmplcH.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");
|