@camstack/addon-post-analysis 1.2.660 → 1.2.661
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 +7 -0
- package/dist/{clip-model-registry-D9BbIQ-h.mjs → clip-model-registry-CVajwmEk.mjs} +78 -7
- package/dist/{clip-model-registry-DAKPBZfa.js → clip-model-registry-RvEPUqvS.js} +83 -6
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CvrKdp_8.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CwKrui6c.mjs} +2 -2
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BwWOFFOc.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BGdtpHOa.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit--CbMNXQy.mjs → hostInit-DR75U6YM.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +330 -168
- package/dist/pipeline-analytics/index.mjs +330 -168
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.661] - 2026-11-01
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- A capture request now expires exactly at its deadline instead of one millisecond after, so an abandoned confirmation crop no longer holds the head of the lane and sheds key frames.
|
|
15
|
+
- Notification templates: {{camera}} is now {{device}}. Your saved rules, timelapse captions and text overrides are rewritten once at the first start; {{camera}} keeps rendering in a template an older app still writes
|
|
16
|
+
|
|
10
17
|
## [1.2.660] - 2026-11-01
|
|
11
18
|
|
|
12
19
|
### Changed
|
|
@@ -6537,6 +6537,53 @@ function emitReadiness(bus, params) {
|
|
|
6537
6537
|
ts
|
|
6538
6538
|
}));
|
|
6539
6539
|
}
|
|
6540
|
+
/** Why a catalogue entry is not a runnable body of its declared kind. */
|
|
6541
|
+
var AddonMigrationDefinitionError = class extends Error {
|
|
6542
|
+
id;
|
|
6543
|
+
constructor(id, message) {
|
|
6544
|
+
super(`${id}: ${message}`);
|
|
6545
|
+
this.id = id;
|
|
6546
|
+
this.name = "AddonMigrationDefinitionError";
|
|
6547
|
+
}
|
|
6548
|
+
};
|
|
6549
|
+
/**
|
|
6550
|
+
* Bind a catalogue to the addon's ports. Throws {@link AddonMigrationDefinitionError} when
|
|
6551
|
+
* an entry's `bodyKind` does not match the body it carries, or is `sql` (a hub-only
|
|
6552
|
+
* body). A throwing body never escapes `execute`: it is reported as a failed result.
|
|
6553
|
+
*/
|
|
6554
|
+
function defineAddonMigrations(catalogue, ports) {
|
|
6555
|
+
return catalogue.map((entry) => {
|
|
6556
|
+
const { meta } = entry;
|
|
6557
|
+
if ("plan" in entry) {
|
|
6558
|
+
if (meta.bodyKind !== "plan") throw new AddonMigrationDefinitionError(meta.id, `carries a plan body but declares "${meta.bodyKind}"`);
|
|
6559
|
+
return {
|
|
6560
|
+
meta,
|
|
6561
|
+
execute: () => guarded(async () => ({
|
|
6562
|
+
kind: "plan",
|
|
6563
|
+
plan: await entry.plan(ports)
|
|
6564
|
+
}))
|
|
6565
|
+
};
|
|
6566
|
+
}
|
|
6567
|
+
if (meta.bodyKind !== "procedure") throw new AddonMigrationDefinitionError(meta.id, `carries a procedure body but declares "${meta.bodyKind}"`);
|
|
6568
|
+
return {
|
|
6569
|
+
meta,
|
|
6570
|
+
execute: () => guarded(async () => ({
|
|
6571
|
+
kind: "procedure",
|
|
6572
|
+
result: await entry.procedure(ports)
|
|
6573
|
+
}))
|
|
6574
|
+
};
|
|
6575
|
+
});
|
|
6576
|
+
}
|
|
6577
|
+
async function guarded(work) {
|
|
6578
|
+
try {
|
|
6579
|
+
return await work();
|
|
6580
|
+
} catch (err) {
|
|
6581
|
+
return {
|
|
6582
|
+
kind: "failed",
|
|
6583
|
+
error: errMsg(err)
|
|
6584
|
+
};
|
|
6585
|
+
}
|
|
6586
|
+
}
|
|
6540
6587
|
var NOT_RUN = {
|
|
6541
6588
|
declared: false,
|
|
6542
6589
|
snapshot: null,
|
|
@@ -14458,7 +14505,13 @@ var MigrationLedgerEntrySchema = object({
|
|
|
14458
14505
|
/** Why it is `blocked` or `held` (`dependency-failed`, `snapshot-refused`, …). */
|
|
14459
14506
|
reason: string().nullable(),
|
|
14460
14507
|
nodeId: string().nullable(),
|
|
14461
|
-
bootId: string().nullable()
|
|
14508
|
+
bootId: string().nullable(),
|
|
14509
|
+
/**
|
|
14510
|
+
* The catalogued meta of this id (description, body kind, store, `dependsOn`…),
|
|
14511
|
+
* joined by the engine from the catalogues it knows this boot. Absent when no
|
|
14512
|
+
* catalogue lists the id (a newer database).
|
|
14513
|
+
*/
|
|
14514
|
+
meta: MigrationMetaSchema.optional()
|
|
14462
14515
|
});
|
|
14463
14516
|
/** A catalogued migration that is not applied, with where it stands. */
|
|
14464
14517
|
var MigrationPendingEntrySchema = object({
|
|
@@ -80630,7 +80683,7 @@ var ExternalIdentityKeySchema = object({
|
|
|
80630
80683
|
provider: string().min(1),
|
|
80631
80684
|
subject: string().min(1)
|
|
80632
80685
|
});
|
|
80633
|
-
method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserInputSchema, UserSummarySchema, {
|
|
80686
|
+
method(_void(), array(UserSummarySchema), { auth: "admin" }), method(_void(), object({ defaultPasswordInUse: boolean() }), { auth: "admin" }), method(CreateUserInputSchema, UserSummarySchema, {
|
|
80634
80687
|
kind: "mutation",
|
|
80635
80688
|
auth: "admin",
|
|
80636
80689
|
access: "create"
|
|
@@ -92985,6 +93038,13 @@ Object.freeze({
|
|
|
92985
93038
|
access: "view",
|
|
92986
93039
|
role: "admin"
|
|
92987
93040
|
},
|
|
93041
|
+
"userManagement.getAdminBootstrapStatus": {
|
|
93042
|
+
capName: "user-management",
|
|
93043
|
+
capScope: "system",
|
|
93044
|
+
addonId: null,
|
|
93045
|
+
access: "view",
|
|
93046
|
+
role: "admin"
|
|
93047
|
+
},
|
|
92988
93048
|
"userManagement.getTotpStatus": {
|
|
92989
93049
|
capName: "user-management",
|
|
92990
93050
|
capScope: "system",
|
|
@@ -98758,8 +98818,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
98758
98818
|
];
|
|
98759
98819
|
var NC_TEMPLATE_VARS = [
|
|
98760
98820
|
{
|
|
98761
|
-
name: "
|
|
98762
|
-
label: "
|
|
98821
|
+
name: "device",
|
|
98822
|
+
label: "Device",
|
|
98823
|
+
description: "The device the event is about: the camera for a track, the appliance or sensor for a device event.",
|
|
98763
98824
|
example: "Front door",
|
|
98764
98825
|
group: "subject",
|
|
98765
98826
|
families: ["rule", "timelapse"],
|
|
@@ -99144,6 +99205,16 @@ var NC_TEMPLATE_VARS = [
|
|
|
99144
99205
|
kinds: ["system"],
|
|
99145
99206
|
systemEventKinds: ["node-online", "node-offline"]
|
|
99146
99207
|
},
|
|
99208
|
+
{
|
|
99209
|
+
name: "graceMin",
|
|
99210
|
+
label: "Update grace (minutes)",
|
|
99211
|
+
example: "10",
|
|
99212
|
+
group: "system",
|
|
99213
|
+
families: ["rule"],
|
|
99214
|
+
fields: [...RULE_TEXT],
|
|
99215
|
+
kinds: ["system"],
|
|
99216
|
+
systemEventKinds: ["node-offline"]
|
|
99217
|
+
},
|
|
99147
99218
|
{
|
|
99148
99219
|
name: "offlineFor",
|
|
99149
99220
|
label: "Offline for",
|
|
@@ -99776,7 +99847,7 @@ function templateVarDeliveryApplies(d, ctx) {
|
|
|
99776
99847
|
* descriptor so the whole rule stays in one line of code. */
|
|
99777
99848
|
var CAPTION_VARS = {
|
|
99778
99849
|
previewText: [
|
|
99779
|
-
"
|
|
99850
|
+
"device",
|
|
99780
99851
|
"rule",
|
|
99781
99852
|
"from",
|
|
99782
99853
|
"to"
|
|
@@ -100726,7 +100797,7 @@ var TimelapseRuleInputSchema = object({
|
|
|
100726
100797
|
* before this field existed still reads "Timelapse Camera front door" and
|
|
100727
100798
|
* not the literal braces.
|
|
100728
100799
|
*/
|
|
100729
|
-
var DEFAULT_TIMELAPSE_PREVIEW_TEXT = "Timelapse {{
|
|
100800
|
+
var DEFAULT_TIMELAPSE_PREVIEW_TEXT = "Timelapse {{device}}";
|
|
100730
100801
|
/**
|
|
100731
100802
|
* Partial patch for an update — any subset of the INPUT fields, with NO
|
|
100732
100803
|
* defaults (an absent key means "leave unchanged", never "reset to default").
|
|
@@ -101850,4 +101921,4 @@ function buildClipModelRegistry(entries) {
|
|
|
101850
101921
|
/** The built-in catalog's registry. */
|
|
101851
101922
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
101852
101923
|
//#endregion
|
|
101853
|
-
export { MAX_TRACK_RELATIONS as $, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as $i, bundledCamstack as $n, normalizeNcAction as $r, NcTemplateVarDescriptorSchema as $t, DETECTION_MACRO_CLASSES as A,
|
|
101924
|
+
export { MAX_TRACK_RELATIONS as $, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as $i, bundledCamstack as $n, normalizeNcAction as $r, NcTemplateVarDescriptorSchema as $t, DETECTION_MACRO_CLASSES as A, strictObject as Aa, sceneMonitorCapability as Ai, TrackPuritySchema as An, isAlertEpisodeOpen as Ar, NcAlarmConfigSchema as At, EXPORT_DENSE_MAX_RANGES as B, sunTimes as Bi, alertEpisodeKind as Bn, isLabelSupplyStepId as Br, NcRuleSchema as Bt, COCO_TO_MACRO as C, discriminatedUnion as Ca, retrainRevisionConflictMessage as Ci, SetTrackRelationInputSchema as Cn, eventKindLabel as Cr, NC_GROUPING_MIN_SEC as Ct, DEFAULT_DETAIL_CROP_CONVENTION as D, object as Da, ruleDeviceCompatCapQueries as Di, TimelapseRulePatchSchema as Dn, gifDeriveSpeed as Dr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as Dt, CoverStateSchema as E, number as Ea, ruleBelongsToAlarm as Ei, TimelapseRuleInputSchema as En, failureContributionCapability as Er, NC_STATE_SUMMARY_SECTION_IDS as Et, EMBEDDING_REQUIREMENTS_FAILED as F, unknown as Fa, storageOccupancyCapability as Fi, activateAlarmProfile as Fn, isDetectionMacroClass as Fr, NcConditionDescriptorSchema as Ft, LabelAttributionSchema as G, systemEventSummaryScheduleOf as Gi, applySecureOnArmEdit as Gn, isSystemDelivery as Gr, NcSnoozeInputSchema as Gt, FULL_IMAGE_BBOX as H, systemEventDeliveryProblems as Hi, applyBlockingEdit as Hn, isRetiredClearKey as Hr, NcRuleUpdateInputSchema as Ht, EMBEDDING_REQUIREMENTS_UNAVAILABLE as I, DeviceType as Ia, subKindsOf as Ii, addonWidgetsSourceCapability as In, isDrawableSubjectPath as Ir, NcConditionsSchema as It, LockStateSchema as J, templateVarsFor as Ji, audioMetricsCapability as Jn, kebabToCamel as Jr, NcStateSummarySectionIdSchema as Jt, ListTrackRelationsInputSchema as K, systemEventSummarySplitOf as Ki, armRemovalReconcile as Kn, isSystemEventSummaryRule as Kr, NcSnoozeSchema as Kt, EVENT_DENSITY_BATCH_MAX as L, errMsg as La, subjectPathSampleFromBox as Li, alarmDeviceSecureOnArm as Ln, isEventKindLabelKey as Lr, NcRuleActionSchema as Lt, DeclaredDevices as M, templateLiteral as Ma, sensorRaisedOf as Mi, TrackRelationSchema as Mn, isAppLinkBase as Mr, NcAlarmSensorsInputSchema as Mt, DetectionSourceSchema as N, tuple as Na, servedTemplateVars as Ni, TrackSideSchema as Nn, isAudioClassName as Nr, NcAlarmSensorsSchema as Nt, DEFAULT_EVENT_COLOR as O, partialRecord as Oa, ruleGroupingApplies as Oi, TimelapseRuleSchema as On, gifFromMp4Args as Or, NC_TAXONOMY as Ot, EMBEDDING_MODEL_FAILED as P, union as Pa, startMoverUnderClearance as Pi, TrackSourceSchema as Pn, isDefaultAlarmProfileId as Pr, NcAlarmSettingsPatchSchema as Pt, MAX_TRACK_PURITIES as Q, zoneAnalyticsCapability as Qi, buildViewerLink as Qn, ncMediaPolicyError as Qr, NcTemplatePreviewSchema as Qt, EVENT_KIND_BY_CAP as R, EventCategory as Ra, subjectPathSvgPoints as Ri, alarmPanelCapability as Rn, isEventOwnerType as Rr, NcRuleInputSchema as Rt, BucketAccumulator as S, boolean as Sa, resolvePoolMemoryPolicy as Si, SetTrackPurityResultSchema as Sn, ensureAlarmProfiles as Sr, NC_GROUPING_MAX_SEC as St, ClearTrackRelationResultSchema as T, looseObject as Ta, ruleAutoTriggersAlarm as Ti, TRACK_RELATIONS_DEFAULT_LIMIT as Tn, faceGalleryCapability as Tr, NC_SNOOZE_MAX_MINUTES as Tt, FailureCounters as U, systemEventFamilyProblems as Ui, applyModeDelaysEdits as Un, isRootSuppliableStepId as Ur, NcScheduleSchema as Ut, FIRST_LEVEL_MACRO_CLASSES as V, syncActiveAlarmProfileSettings as Vi, alertEpisodePayload as Vn, isMediaOwnerType as Vr, NcRuleTargetSchema as Vt, LABEL_SUPPLY_MACRO as W, systemEventFilterApplies as Wi, applyNonBlockingEdit as Wn, isScheduleActive as Wr, NcSharedSequenceSchema as Wt, MAX_BIRTH_DECISION_RECORDS as X, viewerLinkBaseOf as Xi, buildEventKindDescriptor as Xn, mayWriteToLocation as Xr, NcTaxonomySchema as Xt, MAX_ARCHIVED_DEBUG_NOTES as Y, vectorDimFromBase64 as Yi, audioModeOf as Yn, linkedStepOf as Yr, NcSystemEventKindSchema as Yt, MAX_BIRTH_LATENCY_PROXY_MS as Z, withSystemEventClasses as Zi, buildSubjectPath as Zn, memoizePinnedFfmpeg as Zr, NcTemplatePreviewInputSchema as Zt, AlarmArmModeSchema as _, normalizeNodeId as _a, resolveDeliveryParams as _i, SCENE_DEFAULT_UNCOVERED_POLICY as _n, embeddingModelFailedError as _r, NC_CONFIRM_DEFAULT_TIMEOUT_MS as _t, CLIP_EMBEDDING_STEP_ID as a, CamProfileSchema as aa, paletteResultSchema as ai, RECORDING_SOURCE_CAMSTACK_ADDON as an, coreBlockIdFromAddonId as ar, NC_ALARM_DELAY_FIELDS as at, BaseDevice as b, _enum as ba, resolveModeNotifyPolicy as bi, SceneMonitorSchema as bn, embeddingRequirementsUnavailableError as br, NC_DEFAULT_SNOOZE_MINUTES as bt, readClusterModelPinStrict as c, RECORD_QUERY_MAX as ca, pickFaceRescoreIntervalMinutes as ci, RetrainOriginSchema as cn, deleteAlarmProfile as cr, NC_ALARM_SYSTEM_EVENT_KINDS as ct, APPEARANCE_BIN_COUNT as d, defineAddonMigrations as da, projectSubjectPath as di, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as dn, deriveRecordingMode as dr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as dt, canonicalHash as ea, normalizeNcCapTarget as ei, OPS_LOG_DEFAULT_LIMIT as en, calendarEventLocalSpan as er, MOTION_CLOSE_AFTER_MS as et, APPEARANCE_BLOCKS as f, defineCustomActions as fa, readDeviceStateFrom as fi, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as fn, describeSystemEventDeliveryProblem as fr, NC_CLIP_POST_ROLL_DEFAULT_SEC as ft, ActionTargetResolver as g, nodePin as ga, resolveClipSearchMinScore as gi, SCENE_DEFAULT_QUIET_SECONDS as gn, embeddingEncoderCapability as gr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as gt, AUDIO_MACRO_LABELS as h, isDeviceScopedCap as ha, renameAlarmProfile as hi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as hn, deviceRemovalHookCapability as hr, NC_CONDITION_CATALOG as ht, CLIP_TEXT_MODELS as i, CAP_ADVANCE_FIELDS as ia, paintHex as ii, RECORDING_EXPORT_MAX_READ_BYTES as in, consumableLowPercentOf as ir, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as it, DETECTION_PIPELINE_CAP_NAME as j, string as ja, secureActuationFor as ji, TrackRelationKindSchema as jn, isAlertEpisodeSeverity as jr, NcAlarmPostTriggeredActionSchema as jt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as k, record as ka, ruleKindOf as ki, TrackPlacementSchema as kn, isAlarmControllableCap as kr, NC_TEMPLATE_VARS as kt, resolveClusterModelPin as l, createEvent as la, pipelineAnalyticsCapability as li, RetrainStatusSchema as ln, deriveDetailCropRect as lr, NC_ALARM_TRIGGERED_MAX_SEC as lt, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as m, hydrateSchema as ma, readTimelapseGeneratedAt as mi, SCENE_DEFAULT_CHECK_INTERVAL_SEC as mn, deviceAttentionKind as mr, NC_CLIP_RETENTION_MAX_SEC as mt, DEFAULT_CLIP_MODEL as n, isSourceCap as na, notificationRulesCapability as ni, PackageLlmVerdictSchema as nn, cloneAlarmSettings as nr, MotionTriggeredBySchema as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, InvalidRecordError as oa, parseAlertEpisodePayload as oi, RebuildObjectEmbeddingsRefusalSchema as on, cosineSimilarity as or, NC_ALARM_DELAY_MAX_SEC as ot, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as p, defineRecordKinds as pa, readMotionTriggeredBy as pi, SCENE_DEFAULT_ANCHOR_THRESHOLD as pn, describeSystemEventFamilyProblem as pr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as pt, ListTrackRelationsResultSchema as q, templateCarriesSummary as qi, assertTimelapseCadences as qn, isVectorIndexDimConflict as qr, NcSnoozeSuppressedSchema as qt, CLIP_IMAGE_MODELS as r, BaseAddon as ra, occupancyScope as ri, PoolMemoryWatchdog as rn, consumableFormOf as rr, NC_ALARM_DEFAULT_PROFILE_ID as rt, FACE_EMBEDDING_STEP_ID as s, RECORD_MAX_DATA_BYTES as sa, parseProcStatus as si, RetrainDismissedSchema as sn, createAlarmProfile as sr, NC_ALARM_NOTIFY_FIELDS as st, BUILTIN_CLIP_MODELS as t, evaluateSensorEdge as ta, normalizeNcMediaPolicy as ti, OpsLogEntrySchema as tn, classifyRetrainReview as tr, MediaFileKindEnum as tt, ACTION_TARGET_INVALIDATION_EVENTS as u, customAction as ua, plateGalleryCapability as ui, RetrainVerdictSubjectSchema as un, derivePostTriggeredAction as ur, NC_AUDIO_CONFIRM_HITS_DEFAULT as ut, ArchivedDebugNoteSchema as v, sleep as va, resolveLocationMode as vi, SCENE_DIVERGED as vn, embeddingRefusalOf as vr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as vt, ClearTrackRelationInputSchema as w, literal as wa, rootSupplyServes as wi, TIMELAPSE_DENSE_FLOOR_SEC as wn, evictionPolicyOfLocation as wr, NC_SENSOR_TRANSITION_KINDS as wt, BirthDecisionRecordSchema as x, array as xa, resolveNcMediaImage as xi, SetTrackPurityInputSchema as xn, encodeVectorBase64 as xr, NC_GROUPING_DEFAULT_SEC as xt, BIRTH_DECISION_DEFAULT_LIMIT as y, ZodObject as ya, resolveModeDelays as yi, SCENE_RESET_RECAPTURES as yn, embeddingRequirementsFailedError as yr, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as yt, EVENT_OWNER_TYPES as z, summarizeReview as zi, alertEpisodeId as zn, isKnownTemplateVar as zr, NcRulePatchSchema as zt };
|
|
@@ -6568,6 +6568,53 @@ function emitReadiness(bus, params) {
|
|
|
6568
6568
|
ts
|
|
6569
6569
|
}));
|
|
6570
6570
|
}
|
|
6571
|
+
/** Why a catalogue entry is not a runnable body of its declared kind. */
|
|
6572
|
+
var AddonMigrationDefinitionError = class extends Error {
|
|
6573
|
+
id;
|
|
6574
|
+
constructor(id, message) {
|
|
6575
|
+
super(`${id}: ${message}`);
|
|
6576
|
+
this.id = id;
|
|
6577
|
+
this.name = "AddonMigrationDefinitionError";
|
|
6578
|
+
}
|
|
6579
|
+
};
|
|
6580
|
+
/**
|
|
6581
|
+
* Bind a catalogue to the addon's ports. Throws {@link AddonMigrationDefinitionError} when
|
|
6582
|
+
* an entry's `bodyKind` does not match the body it carries, or is `sql` (a hub-only
|
|
6583
|
+
* body). A throwing body never escapes `execute`: it is reported as a failed result.
|
|
6584
|
+
*/
|
|
6585
|
+
function defineAddonMigrations(catalogue, ports) {
|
|
6586
|
+
return catalogue.map((entry) => {
|
|
6587
|
+
const { meta } = entry;
|
|
6588
|
+
if ("plan" in entry) {
|
|
6589
|
+
if (meta.bodyKind !== "plan") throw new AddonMigrationDefinitionError(meta.id, `carries a plan body but declares "${meta.bodyKind}"`);
|
|
6590
|
+
return {
|
|
6591
|
+
meta,
|
|
6592
|
+
execute: () => guarded(async () => ({
|
|
6593
|
+
kind: "plan",
|
|
6594
|
+
plan: await entry.plan(ports)
|
|
6595
|
+
}))
|
|
6596
|
+
};
|
|
6597
|
+
}
|
|
6598
|
+
if (meta.bodyKind !== "procedure") throw new AddonMigrationDefinitionError(meta.id, `carries a procedure body but declares "${meta.bodyKind}"`);
|
|
6599
|
+
return {
|
|
6600
|
+
meta,
|
|
6601
|
+
execute: () => guarded(async () => ({
|
|
6602
|
+
kind: "procedure",
|
|
6603
|
+
result: await entry.procedure(ports)
|
|
6604
|
+
}))
|
|
6605
|
+
};
|
|
6606
|
+
});
|
|
6607
|
+
}
|
|
6608
|
+
async function guarded(work) {
|
|
6609
|
+
try {
|
|
6610
|
+
return await work();
|
|
6611
|
+
} catch (err) {
|
|
6612
|
+
return {
|
|
6613
|
+
kind: "failed",
|
|
6614
|
+
error: errMsg(err)
|
|
6615
|
+
};
|
|
6616
|
+
}
|
|
6617
|
+
}
|
|
6571
6618
|
var NOT_RUN = {
|
|
6572
6619
|
declared: false,
|
|
6573
6620
|
snapshot: null,
|
|
@@ -14489,7 +14536,13 @@ var MigrationLedgerEntrySchema = object({
|
|
|
14489
14536
|
/** Why it is `blocked` or `held` (`dependency-failed`, `snapshot-refused`, …). */
|
|
14490
14537
|
reason: string().nullable(),
|
|
14491
14538
|
nodeId: string().nullable(),
|
|
14492
|
-
bootId: string().nullable()
|
|
14539
|
+
bootId: string().nullable(),
|
|
14540
|
+
/**
|
|
14541
|
+
* The catalogued meta of this id (description, body kind, store, `dependsOn`…),
|
|
14542
|
+
* joined by the engine from the catalogues it knows this boot. Absent when no
|
|
14543
|
+
* catalogue lists the id (a newer database).
|
|
14544
|
+
*/
|
|
14545
|
+
meta: MigrationMetaSchema.optional()
|
|
14493
14546
|
});
|
|
14494
14547
|
/** A catalogued migration that is not applied, with where it stands. */
|
|
14495
14548
|
var MigrationPendingEntrySchema = object({
|
|
@@ -80661,7 +80714,7 @@ var ExternalIdentityKeySchema = object({
|
|
|
80661
80714
|
provider: string().min(1),
|
|
80662
80715
|
subject: string().min(1)
|
|
80663
80716
|
});
|
|
80664
|
-
method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserInputSchema, UserSummarySchema, {
|
|
80717
|
+
method(_void(), array(UserSummarySchema), { auth: "admin" }), method(_void(), object({ defaultPasswordInUse: boolean() }), { auth: "admin" }), method(CreateUserInputSchema, UserSummarySchema, {
|
|
80665
80718
|
kind: "mutation",
|
|
80666
80719
|
auth: "admin",
|
|
80667
80720
|
access: "create"
|
|
@@ -93016,6 +93069,13 @@ Object.freeze({
|
|
|
93016
93069
|
access: "view",
|
|
93017
93070
|
role: "admin"
|
|
93018
93071
|
},
|
|
93072
|
+
"userManagement.getAdminBootstrapStatus": {
|
|
93073
|
+
capName: "user-management",
|
|
93074
|
+
capScope: "system",
|
|
93075
|
+
addonId: null,
|
|
93076
|
+
access: "view",
|
|
93077
|
+
role: "admin"
|
|
93078
|
+
},
|
|
93019
93079
|
"userManagement.getTotpStatus": {
|
|
93020
93080
|
capName: "user-management",
|
|
93021
93081
|
capScope: "system",
|
|
@@ -98789,8 +98849,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
98789
98849
|
];
|
|
98790
98850
|
var NC_TEMPLATE_VARS = [
|
|
98791
98851
|
{
|
|
98792
|
-
name: "
|
|
98793
|
-
label: "
|
|
98852
|
+
name: "device",
|
|
98853
|
+
label: "Device",
|
|
98854
|
+
description: "The device the event is about: the camera for a track, the appliance or sensor for a device event.",
|
|
98794
98855
|
example: "Front door",
|
|
98795
98856
|
group: "subject",
|
|
98796
98857
|
families: ["rule", "timelapse"],
|
|
@@ -99175,6 +99236,16 @@ var NC_TEMPLATE_VARS = [
|
|
|
99175
99236
|
kinds: ["system"],
|
|
99176
99237
|
systemEventKinds: ["node-online", "node-offline"]
|
|
99177
99238
|
},
|
|
99239
|
+
{
|
|
99240
|
+
name: "graceMin",
|
|
99241
|
+
label: "Update grace (minutes)",
|
|
99242
|
+
example: "10",
|
|
99243
|
+
group: "system",
|
|
99244
|
+
families: ["rule"],
|
|
99245
|
+
fields: [...RULE_TEXT],
|
|
99246
|
+
kinds: ["system"],
|
|
99247
|
+
systemEventKinds: ["node-offline"]
|
|
99248
|
+
},
|
|
99178
99249
|
{
|
|
99179
99250
|
name: "offlineFor",
|
|
99180
99251
|
label: "Offline for",
|
|
@@ -99807,7 +99878,7 @@ function templateVarDeliveryApplies(d, ctx) {
|
|
|
99807
99878
|
* descriptor so the whole rule stays in one line of code. */
|
|
99808
99879
|
var CAPTION_VARS = {
|
|
99809
99880
|
previewText: [
|
|
99810
|
-
"
|
|
99881
|
+
"device",
|
|
99811
99882
|
"rule",
|
|
99812
99883
|
"from",
|
|
99813
99884
|
"to"
|
|
@@ -100757,7 +100828,7 @@ var TimelapseRuleInputSchema = object({
|
|
|
100757
100828
|
* before this field existed still reads "Timelapse Camera front door" and
|
|
100758
100829
|
* not the literal braces.
|
|
100759
100830
|
*/
|
|
100760
|
-
var DEFAULT_TIMELAPSE_PREVIEW_TEXT = "Timelapse {{
|
|
100831
|
+
var DEFAULT_TIMELAPSE_PREVIEW_TEXT = "Timelapse {{device}}";
|
|
100761
100832
|
/**
|
|
100762
100833
|
* Partial patch for an update — any subset of the INPUT fields, with NO
|
|
100763
100834
|
* defaults (an absent key means "leave unchanged", never "reset to default").
|
|
@@ -102991,6 +103062,12 @@ Object.defineProperty(exports, "customAction", {
|
|
|
102991
103062
|
return customAction;
|
|
102992
103063
|
}
|
|
102993
103064
|
});
|
|
103065
|
+
Object.defineProperty(exports, "defineAddonMigrations", {
|
|
103066
|
+
enumerable: true,
|
|
103067
|
+
get: function() {
|
|
103068
|
+
return defineAddonMigrations;
|
|
103069
|
+
}
|
|
103070
|
+
});
|
|
102994
103071
|
Object.defineProperty(exports, "defineCustomActions", {
|
|
102995
103072
|
enumerable: true,
|
|
102996
103073
|
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-RvEPUqvS.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 { Si as resolvePoolMemoryPolicy, _r as embeddingModelFailedError, a as CLIP_EMBEDDING_STEP_ID, br as embeddingRequirementsUnavailableError,
|
|
1
|
+
import { Si as resolvePoolMemoryPolicy, _a as normalizeNodeId, _r as embeddingModelFailedError, a as CLIP_EMBEDDING_STEP_ID, br as embeddingRequirementsUnavailableError, gr as embeddingEncoderCapability, i as CLIP_TEXT_MODELS, l as resolveClusterModelPin, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, ra as BaseAddon, rn as PoolMemoryWatchdog, si as parseProcStatus, t as BUILTIN_CLIP_MODELS, yr as embeddingRequirementsFailedError } from "../clip-model-registry-CVajwmEk.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,6 +1,6 @@
|
|
|
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-BGdtpHOa.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
5
|
import { t as C } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BDKliSzv.mjs";
|
|
6
6
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.468",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.367",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|