@camstack/types 1.2.403 → 1.2.405
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/addon.js +2 -2
- package/dist/addon.mjs +2 -2
- package/dist/capabilities/index.d.ts +4 -3
- package/dist/capabilities/pipeline-analytics.cap.d.ts +27 -0
- package/dist/capabilities/pipeline-executor.cap.d.ts +0 -64
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +68 -124
- package/dist/capabilities/platform-probe.cap.d.ts +34 -0
- package/dist/capabilities/schemas/package-llm-verdict.d.ts +14 -0
- package/dist/capabilities/schemas/zone-rule.d.ts +4 -0
- package/dist/capabilities/training.cap.d.ts +91 -71
- package/dist/capabilities/zone-rules.cap.d.ts +10 -0
- package/dist/client.js +2 -8
- package/dist/client.mjs +2 -8
- package/dist/enums/event-category.d.ts +2 -3
- package/dist/enums.js +1 -1
- package/dist/enums.mjs +1 -1
- package/dist/{event-category-7AwNbPjm.js → event-category-CXrwjC3e.js} +2 -3
- package/dist/{event-category-BfJwUd2S.mjs → event-category-fDPduoeC.mjs} +2 -3
- package/dist/generated/addon-api.d.ts +14 -56
- package/dist/generated/device-proxy.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +2 -2
- package/dist/generated/system-proxy.d.ts +3 -3
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2250 -1529
- package/dist/index.mjs +2197 -1528
- package/dist/interfaces/birth-decision-ledger.d.ts +3 -0
- package/dist/interfaces/pipeline-executor-capability.d.ts +2 -8
- package/dist/interfaces/platform.d.ts +7 -0
- package/dist/node-color.d.ts +1 -1
- package/dist/pipeline/auto-tune/accelerator-compute.d.ts +116 -0
- package/dist/pipeline/auto-tune/detector-performance.d.ts +5 -0
- package/dist/pipeline/auto-tune/hardware-class.d.ts +5 -4
- package/dist/pipeline/auto-tune/index.d.ts +1 -0
- package/dist/pipeline/auto-tune/plan-schemas.d.ts +108 -80
- package/dist/pipeline/auto-tune/recommend.d.ts +31 -9
- package/dist/pipeline/second-pass/index.d.ts +2 -0
- package/dist/pipeline/second-pass/motion-crop-plan.d.ts +183 -0
- package/dist/pipeline/second-pass/small-subject-recovery.d.ts +216 -0
- package/dist/pipeline/step-settings-layers.d.ts +7 -8
- package/dist/{sleep-Ch67uumJ.js → sleep-BKS4OPMo.js} +1 -4
- package/dist/{sleep-6AqUnQIT.mjs → sleep-CHIEEJkY.mjs} +1 -4
- package/dist/types/agent-pipeline-settings.d.ts +37 -70
- package/dist/types/camera-pipeline.d.ts +2 -2
- package/dist/types/detection.d.ts +15 -5
- package/dist/types/pipeline-step.d.ts +0 -16
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as method, $n as PEER_BYTES_TICKET_TTL_MS, $r as audioChunkBytesPerSample, $t as parseSecretPath, A as HF_REPO, An as RECORD_DEFAULT_MAX_DATA_BYTES, Ar as WELL_KNOWN_TAB_MAP, At as SubscribeAudioChunksResultSchema, B as describeCustomActions, Bn as resolveSecretViewsIn, Br as isSecretFieldView, Bt as EntryDescriptorSchema, Cn as UnknownRecordKindError, Cr as parseSecretRef, Ct as FrameHandleSchema, D as createSliceHandle, Dn as RECORD_BATCH_MAX_BYTES, Dr as emitReadiness, Dt as StreamSourceEntrySchema, E as createMirrorSource, En as RECORD_BATCH_MAX, Er as createEvent, Et as ProfileSlotStatusSchema, F as DEVICE_CHILDREN_BATCH_MAX, Fn as RECORD_MAX_INDEX_FIELDS, Fr as hydrateSchema, Ft as makeInMemoryRecords, G as DEVICE_STATUS_METHOD, Gn as forgetKnownSecret, Gr as REDACTED_SECRET, Gt as RecordRetentionSchema, H as adminUiCapability, Hn as createSecretsAccess, Hr as isSecretMarkerLike, Ht as RecordIndexSchema, I as CALLER_STAMPED_CAPABILITIES, In as RECORD_QUERY_MAX, Ir as resolveHydratedFieldValue, It as defineEntryKind, J as PROVIDER_PIN_FIELD, Jn as scrubKnownSecrets, Jr as isKeychainStoredField, Jt as declarationsOf, K as HISTORY_DEFAULT_MIN_INTERVAL_MS, Kn as knownSecretCount, Kr as collectKeychainStoredKeys, Kt as StoredRecordKindDeclarationSchema, L as withoutCallerStamp, Ln as RECORD_SECRET_COLLECTION_PREFIX, Lr as SECRET_CLEAR, Lt as entryBody, M as RawStateResultSchema, Mn as RECORD_ID_MAX_LENGTH, Mr as collectHydratedFieldValues, Mt as makeSourceBrokerId, N as deviceOpsCapability, Nn as RECORD_MAX_DATA_BYTES, Nr as dehydrateConfigField, Nt as parseProfileBrokerId, O as DEFAULT_TOKEN_EXPIRY, On as RECORD_CLASSES, Or as isEvent, Ot as StreamSourceSchema, P as viewerUiCapability, Pn as RECORD_MAX_INDEXES, Pr as dehydrateSchema, Pt as selectAssignedProfileSlots, Q as isDeviceConfigCap, Qn as PEER_BYTES_STALL_MS, Qr as AUDIO_CHUNK_FORMATS, Qt as mapSecretLeaves, R as customAction, Rn as RECORD_SETTINGS_MAX_ROWS, Rr as classifySecretWrite, Rt as createRecordsAccess, S as invokeTrpcLeaf, Sn as UnindexedFilterError, Sr as normalizeSecretOwner, St as DecodedAudioChunkSchema, T as createLazyTrpcSource, Tn as recordsErrorFromMessage, Tr as createDurableState, Tt as ProfileSlotSchema, U as DEFAULT_RUNTIME_STATE_DURABILITY, Un as MIN_SCRUBBED_LENGTH, Ur as makeSecretMarker, Ut as RecordKindDeclarationSchema, V as deviceCustomAction, Vn as REVALIDATE_AFTER_MS, Vr as isSecretMarker, Vt as RecordFieldPathSchema, W as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Wn as clearKnownSecrets, Wr as toSecretFieldView, Wt as RecordKindNameSchema, X as expandCapMethods, Xn as PEER_BYTES_CHUNK_BYTES, Xr as omitTransientConfig, Xt as REMOVE_LEAF, Y as event, Yn as shortSecretRefHash, Yr as isSecretConfigField, Yt as defineRecordKinds, Z as historyItemFieldPath, Zn as PEER_BYTES_MAX_OUTSTANDING, Zr as schemaDeclaresAnyField, Zt as collectSecretLeaves, _ as readErrorI18n, _n as RecordTooLargeError, _r as arrayItemFieldPath, _t as CAM_PROFILE_ORDER, a as asJsonArray, an as collectZodSecretPaths, ar as classifyStoreError, at as readNodePin, b as isDeviceScopedCap, bn as RevConflictError, br as globalSecretScope, bt as CamStreamResolutionSchema, c as asString, cn as DeclarationRefusedError, cr as parseSecretStatePath, ct as ReadinessRegistry, d as parseJsonUnknown, dn as InvalidRecordError, dr as KeychainWriteRefusedError, dt as readinessKey, ei as expandAudioChunkToF32le, en as recordArrayItemPath, er as PeerBytesTicketSchema, et as optionalMethod, f as hfModelUrl, fn as NoCallerError, fr as collectSecretMarkerRefs, ft as scopeKey, g as ErrorI18nPayloadSchema, gn as RecordSecretUnavailableError, gr as SECRET_REF_SCHEME, gt as BrokerStatusSchema, h as ErrorCodeSchema, hn as RecordNotFoundError, hr as transformSecretWrite, ht as BrokerStatsSchema, i as asBoolean, in as SECRET_META, ir as BaseAddon, it as nodePin, j as RUNTIME_DEFAULTS, jn as RECORD_DELETE_BATCH, jr as collectHydratedFieldEntries, jt as makeProfileBrokerId, k as HF_BASE_URL, kn as RECORD_DATABASES, kr as WELL_KNOWN_TABS, kt as SubscribeAudioChunksInputSchema, l as parseJsonArray, ln as FilterRequiredError, lr as secretTreeFromPaths, lt as ReadinessTimeoutError, m as CamstackError, mn as RECORDS_ERROR_CODES, mr as resolveSecretMarkers, mt as AudioStreamPickSchema, n as sleepCancellable, nn as recordSecretRef, nr as SHARE_VIEW_KINDS, nt as systemMethod, o as asJsonObject, on as isZodSecret, or as normalizeAddonInitResult, ot as toNodeId, p as BOOT_RECOVERY_BACKOFF_MS, pn as PlaintextSecretError, pr as isSecretRefOwnedBy, pt as AudioChunkFormatSchema, q as HISTORY_UNIT_LABELS, qn as registerKnownSecret, qr as collectSecretConfigKeys, qt as assertValidDeclaration, r as maskUrlCredentials, rn as secretArrayPrefixes, rr as DisposerChain, rt as CAP_NODE_PIN_CONTEXT_KEY, s as asNumber, sn as BatchTooLargeError, sr as mergeSecretStatePaths, st as MODEL_FORMATS, t as sleep, ti as isAudioChunkFormat, tn as recordSecretCollection, tr as DATAPLANE_SECRET_HEADER, tt as resolveCapMount, u as parseJsonObject, un as ForeignSecretMarkerError, ur as secretTreeFromSchema, ut as emitDownForOwnedCaps, v as userError, vn as RecordUniqueViolationError, vr as buildSecretRef, vt as CamProfileSchema, w as createEventBusSliceSource, wn as asRecordsError, wr as normalizeNodeId, wt as ProfileRtspEntrySchema, x as createDeviceProxy, xn as TransactRefusedError, xr as isSecretRef, xt as CameraStreamSchema, y as DEVICE_SCOPED_CAPS, yn as RecordsError, yr as formatSecretScope, yt as CamStreamKindSchema, z as defineCustomActions, zn as RECORD_SWEEP_INTERVAL_MS, zr as isSecretClear, zt as assertTransactScope } from "./sleep-
|
|
2
|
-
import { i as publicEventCategories, n as OWNER_ONLY_EVENT_CATEGORIES, r as isOwnerOnlyEventCategory, t as EventCategory } from "./event-category-
|
|
1
|
+
import { $ as method, $n as PEER_BYTES_TICKET_TTL_MS, $r as audioChunkBytesPerSample, $t as parseSecretPath, A as HF_REPO, An as RECORD_DEFAULT_MAX_DATA_BYTES, Ar as WELL_KNOWN_TAB_MAP, At as SubscribeAudioChunksResultSchema, B as describeCustomActions, Bn as resolveSecretViewsIn, Br as isSecretFieldView, Bt as EntryDescriptorSchema, Cn as UnknownRecordKindError, Cr as parseSecretRef, Ct as FrameHandleSchema, D as createSliceHandle, Dn as RECORD_BATCH_MAX_BYTES, Dr as emitReadiness, Dt as StreamSourceEntrySchema, E as createMirrorSource, En as RECORD_BATCH_MAX, Er as createEvent, Et as ProfileSlotStatusSchema, F as DEVICE_CHILDREN_BATCH_MAX, Fn as RECORD_MAX_INDEX_FIELDS, Fr as hydrateSchema, Ft as makeInMemoryRecords, G as DEVICE_STATUS_METHOD, Gn as forgetKnownSecret, Gr as REDACTED_SECRET, Gt as RecordRetentionSchema, H as adminUiCapability, Hn as createSecretsAccess, Hr as isSecretMarkerLike, Ht as RecordIndexSchema, I as CALLER_STAMPED_CAPABILITIES, In as RECORD_QUERY_MAX, Ir as resolveHydratedFieldValue, It as defineEntryKind, J as PROVIDER_PIN_FIELD, Jn as scrubKnownSecrets, Jr as isKeychainStoredField, Jt as declarationsOf, K as HISTORY_DEFAULT_MIN_INTERVAL_MS, Kn as knownSecretCount, Kr as collectKeychainStoredKeys, Kt as StoredRecordKindDeclarationSchema, L as withoutCallerStamp, Ln as RECORD_SECRET_COLLECTION_PREFIX, Lr as SECRET_CLEAR, Lt as entryBody, M as RawStateResultSchema, Mn as RECORD_ID_MAX_LENGTH, Mr as collectHydratedFieldValues, Mt as makeSourceBrokerId, N as deviceOpsCapability, Nn as RECORD_MAX_DATA_BYTES, Nr as dehydrateConfigField, Nt as parseProfileBrokerId, O as DEFAULT_TOKEN_EXPIRY, On as RECORD_CLASSES, Or as isEvent, Ot as StreamSourceSchema, P as viewerUiCapability, Pn as RECORD_MAX_INDEXES, Pr as dehydrateSchema, Pt as selectAssignedProfileSlots, Q as isDeviceConfigCap, Qn as PEER_BYTES_STALL_MS, Qr as AUDIO_CHUNK_FORMATS, Qt as mapSecretLeaves, R as customAction, Rn as RECORD_SETTINGS_MAX_ROWS, Rr as classifySecretWrite, Rt as createRecordsAccess, S as invokeTrpcLeaf, Sn as UnindexedFilterError, Sr as normalizeSecretOwner, St as DecodedAudioChunkSchema, T as createLazyTrpcSource, Tn as recordsErrorFromMessage, Tr as createDurableState, Tt as ProfileSlotSchema, U as DEFAULT_RUNTIME_STATE_DURABILITY, Un as MIN_SCRUBBED_LENGTH, Ur as makeSecretMarker, Ut as RecordKindDeclarationSchema, V as deviceCustomAction, Vn as REVALIDATE_AFTER_MS, Vr as isSecretMarker, Vt as RecordFieldPathSchema, W as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Wn as clearKnownSecrets, Wr as toSecretFieldView, Wt as RecordKindNameSchema, X as expandCapMethods, Xn as PEER_BYTES_CHUNK_BYTES, Xr as omitTransientConfig, Xt as REMOVE_LEAF, Y as event, Yn as shortSecretRefHash, Yr as isSecretConfigField, Yt as defineRecordKinds, Z as historyItemFieldPath, Zn as PEER_BYTES_MAX_OUTSTANDING, Zr as schemaDeclaresAnyField, Zt as collectSecretLeaves, _ as readErrorI18n, _n as RecordTooLargeError, _r as arrayItemFieldPath, _t as CAM_PROFILE_ORDER, a as asJsonArray, an as collectZodSecretPaths, ar as classifyStoreError, at as readNodePin, b as isDeviceScopedCap, bn as RevConflictError, br as globalSecretScope, bt as CamStreamResolutionSchema, c as asString, cn as DeclarationRefusedError, cr as parseSecretStatePath, ct as ReadinessRegistry, d as parseJsonUnknown, dn as InvalidRecordError, dr as KeychainWriteRefusedError, dt as readinessKey, ei as expandAudioChunkToF32le, en as recordArrayItemPath, er as PeerBytesTicketSchema, et as optionalMethod, f as hfModelUrl, fn as NoCallerError, fr as collectSecretMarkerRefs, ft as scopeKey, g as ErrorI18nPayloadSchema, gn as RecordSecretUnavailableError, gr as SECRET_REF_SCHEME, gt as BrokerStatusSchema, h as ErrorCodeSchema, hn as RecordNotFoundError, hr as transformSecretWrite, ht as BrokerStatsSchema, i as asBoolean, in as SECRET_META, ir as BaseAddon, it as nodePin, j as RUNTIME_DEFAULTS, jn as RECORD_DELETE_BATCH, jr as collectHydratedFieldEntries, jt as makeProfileBrokerId, k as HF_BASE_URL, kn as RECORD_DATABASES, kr as WELL_KNOWN_TABS, kt as SubscribeAudioChunksInputSchema, l as parseJsonArray, ln as FilterRequiredError, lr as secretTreeFromPaths, lt as ReadinessTimeoutError, m as CamstackError, mn as RECORDS_ERROR_CODES, mr as resolveSecretMarkers, mt as AudioStreamPickSchema, n as sleepCancellable, nn as recordSecretRef, nr as SHARE_VIEW_KINDS, nt as systemMethod, o as asJsonObject, on as isZodSecret, or as normalizeAddonInitResult, ot as toNodeId, p as BOOT_RECOVERY_BACKOFF_MS, pn as PlaintextSecretError, pr as isSecretRefOwnedBy, pt as AudioChunkFormatSchema, q as HISTORY_UNIT_LABELS, qn as registerKnownSecret, qr as collectSecretConfigKeys, qt as assertValidDeclaration, r as maskUrlCredentials, rn as secretArrayPrefixes, rr as DisposerChain, rt as CAP_NODE_PIN_CONTEXT_KEY, s as asNumber, sn as BatchTooLargeError, sr as mergeSecretStatePaths, st as MODEL_FORMATS, t as sleep, ti as isAudioChunkFormat, tn as recordSecretCollection, tr as DATAPLANE_SECRET_HEADER, tt as resolveCapMount, u as parseJsonObject, un as ForeignSecretMarkerError, ur as secretTreeFromSchema, ut as emitDownForOwnedCaps, v as userError, vn as RecordUniqueViolationError, vr as buildSecretRef, vt as CamProfileSchema, w as createEventBusSliceSource, wn as asRecordsError, wr as normalizeNodeId, wt as ProfileRtspEntrySchema, x as createDeviceProxy, xn as TransactRefusedError, xr as isSecretRef, xt as CameraStreamSchema, y as DEVICE_SCOPED_CAPS, yn as RecordsError, yr as formatSecretScope, yt as CamStreamKindSchema, z as defineCustomActions, zn as RECORD_SWEEP_INTERVAL_MS, zr as isSecretClear, zt as assertTransactScope } from "./sleep-CHIEEJkY.mjs";
|
|
2
|
+
import { i as publicEventCategories, n as OWNER_ONLY_EVENT_CATEGORIES, r as isOwnerOnlyEventCategory, t as EventCategory } from "./event-category-fDPduoeC.mjs";
|
|
3
3
|
import { $ as MAX_EXPRESSION_AST_NODES, A as compositionFeatureEnabled, At as Fmp4BoxSplitter, B as createStatefulExpressionMemory, Bt as pickVideoEncoder, C as CompositionTargetSchema, Ct as FFMPEG_PATH_ENV, D as MAX_COMPOSITION_ITEMS, E as MAX_COMPOSITION_FIELDS_PER_FEATURE, F as featureFieldEntries, Ft as buildInputArgs, G as createExpressionScope, H as evaluateStatefulExpressionCall, I as featureSources, It as buildVideoArgs, J as compileExpressionSafe, K as evaluateAst, L as fieldReads, Lt as invocationFromEncodeProfile, M as compositionReadKey, Mt as audioPlanFromEncodeProfile, N as compositionSliceKey, Nt as buildAudioArgs, O as composedDeviceRef, P as compositionSourceKey, Pt as buildFfmpegArgs, Q as EXPRESSION_IDENTIFIER_RE, R as EXPRESSION_INJECTED_NOW, Rt as isSoftwareDecode, S as CompositionSourceRefSchema, St as sliceChangedAt, T as MAX_COMPOSITION_FEATURES, U as toExpressionValue, V as evaluateExpressionSource, Vt as resolveStreamMaps, W as validateExpressionSource, X as tokenize, Y as parseExpression, Z as EXPRESSION_COMPILE_CACHE_CAPACITY, _ as CompositionItemEntrySchema, _t as SOURCE_DEVICE_TYPES, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, at as EXPRESSION_BUILTINS, b as CompositionPassthroughFeatureSchema, bt as isSourceCap, c as CompositionCommandTargetSchema, ct as evaluateCount, d as CompositionFeatureSchema, dt as ExpressionEvalError, et as MAX_EXPRESSION_BINDINGS, f as CompositionFieldReadSchema, ft as ExpressionParseError, g as CompositionFromSourceSchema, gt as SOURCE_CAP_CHANGED_AT_FIELD, h as CompositionForwardCommandSchema, ht as SOURCE_CAP_ACTIVE_FIELD, i as COMPOSITION_ITEM_KEY_RE, it as RESERVED_BINDING_NAMES, j as compositionItemFieldPath, jt as AUDIO_PRESETS, k as composedDeviceStableId, kt as canonicalHash, l as CompositionExistingTargetSchema, lt as evaluateRose, m as CompositionFieldsFeatureSchema, mt as SOURCE_CAPS, n as COMPOSER_ADDON_ID, nt as MAX_EXPRESSION_EVAL_STEPS, o as CompositionBindingSchema, ot as EXPRESSION_BUILTIN_NAMES, p as CompositionFieldSourceSchema, pt as DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, q as compileExpression, r as COMPOSITION_ITEM_ARRAY_PATH, rt as MAX_EXPRESSION_SOURCE_LENGTH, s as CompositionCodeSourceSchema, st as disarmRoseMemory, t as COMPOSED_DEVICE_STABLE_ID_PREFIX, tt as MAX_EXPRESSION_CALL_ARGS, u as CompositionExpressionSourceSchema, ut as isStatefulBuiltin, v as CompositionLiteralBindingSchema, vt as evaluateSensorEdge, w as MAX_COMPOSITION_CODE_LENGTH, x as CompositionSchema, xt as sliceActiveValue, y as CompositionNewTargetSchema, yt as evaluateSensorLevelEdge, z as cloneStatefulExpressionMemory, zt as logBannerArgs } from "./composition-CB6PMT9p.mjs";
|
|
4
4
|
import { NODE_COLOR_IDS, NodeColorIdSchema, assignNodeColorId } from "./node-color.mjs";
|
|
5
5
|
import { a as DeviceType, i as DeviceRole, n as ChargingStatus, r as DeviceFeature, t as errMsg } from "./err-msg-BXKzRBwg.mjs";
|
|
@@ -2287,13 +2287,22 @@ var BirthDecisionRecordSchema = z.object({
|
|
|
2287
2287
|
decidedByBirthEvidence: z.boolean(),
|
|
2288
2288
|
/** Best class-compatible crop score, or `null` when nothing compatible was
|
|
2289
2289
|
* found — deliberately not 0, which would be a measurement that never was.
|
|
2290
|
-
* Includes a box the detector's own per-class floor refused (
|
|
2291
|
-
*
|
|
2292
|
-
* score the crop really held. */
|
|
2290
|
+
* Includes a box the detector's own per-class floor refused (D922): since
|
|
2291
|
+
* D925 the gate's bar, not that floor, decides whether it confirms. */
|
|
2293
2292
|
bestScore: z.number().nullable(),
|
|
2294
2293
|
/** The bar this candidate actually faced (the phantom-cell hook may raise it). */
|
|
2295
2294
|
appliedMinConfidence: z.number().nullable(),
|
|
2296
2295
|
/**
|
|
2296
|
+
* The detector the gate re-judged the birth WITH (D925): the session's own
|
|
2297
|
+
* root model, inference-device pool and node — never a node default. `null`
|
|
2298
|
+
* when the frame named no session detector or no gate ran, and on rows
|
|
2299
|
+
* written before D925. A `session-device-unavailable` row names the session
|
|
2300
|
+
* detector that could not be reached.
|
|
2301
|
+
*/
|
|
2302
|
+
detectorModelId: z.string().nullable().default(null),
|
|
2303
|
+
detectorDeviceKey: z.string().nullable().default(null),
|
|
2304
|
+
detectorNodeId: z.string().nullable().default(null),
|
|
2305
|
+
/**
|
|
2297
2306
|
* The track's own `firstSeen` — the candidate's first frame, which is where
|
|
2298
2307
|
* the timeline starts. `null` for a suppressed birth, which has no track.
|
|
2299
2308
|
*/
|
|
@@ -5415,6 +5424,27 @@ function pickClosestResolution(entries, target) {
|
|
|
5415
5424
|
}])].sort((a, b) => compareToTarget(a.pixels, b.pixels, targetPixels))[0]?.entry;
|
|
5416
5425
|
}
|
|
5417
5426
|
//#endregion
|
|
5427
|
+
//#region src/types/agent-pipeline-settings.ts
|
|
5428
|
+
/**
|
|
5429
|
+
* Is `key` a step setting that only the accelerator running the model may
|
|
5430
|
+
* carry (D927)? A model id, a model binding (`<key>ModelId`, D738) or a
|
|
5431
|
+
* confidence floor (`minConfidence*` — every `bindsToModel` field). A camera
|
|
5432
|
+
* layer never stores one: the floor of one model is wrong on the next, and a
|
|
5433
|
+
* camera does not know which accelerator — or which model — it lands on.
|
|
5434
|
+
* (Per-camera thresholds are a possible future extension, see D927.)
|
|
5435
|
+
*/
|
|
5436
|
+
function isModelScopedStepSettingKey(key) {
|
|
5437
|
+
return key === "modelId" || key.endsWith("ModelId") || key.startsWith("minConfidence");
|
|
5438
|
+
}
|
|
5439
|
+
/** The keys of `bag` a camera layer may not carry ({@link isModelScopedStepSettingKey}), sorted. */
|
|
5440
|
+
function modelScopedStepSettingKeys(bag) {
|
|
5441
|
+
return Object.keys(bag).filter(isModelScopedStepSettingKey).toSorted();
|
|
5442
|
+
}
|
|
5443
|
+
/** `bag` without its model-scoped keys — what a camera layer contributes at dispatch. Fresh object. */
|
|
5444
|
+
function cameraScopedStepSettings(bag) {
|
|
5445
|
+
return Object.fromEntries(Object.entries(bag).filter(([key]) => !isModelScopedStepSettingKey(key)));
|
|
5446
|
+
}
|
|
5447
|
+
//#endregion
|
|
5418
5448
|
//#region src/types/appearance.ts
|
|
5419
5449
|
/**
|
|
5420
5450
|
* A model-free appearance descriptor of one detection box (D683 §8).
|
|
@@ -12852,7 +12882,7 @@ function kindOfValue(value) {
|
|
|
12852
12882
|
function only(kind) {
|
|
12853
12883
|
return new Set([kind]);
|
|
12854
12884
|
}
|
|
12855
|
-
function union(...sets) {
|
|
12885
|
+
function union$1(...sets) {
|
|
12856
12886
|
return new Set(sets.flatMap((s) => [...s]));
|
|
12857
12887
|
}
|
|
12858
12888
|
function withoutNull(set) {
|
|
@@ -12880,8 +12910,8 @@ function callKinds(callee, args) {
|
|
|
12880
12910
|
const rule = BUILTIN_RESULT_KINDS[callee];
|
|
12881
12911
|
if (rule === void 0) throw new KindInferenceError(`no result-kind rule for builtin '${callee}'`);
|
|
12882
12912
|
if (rule.kind === "fixed") return new Set(rule.result);
|
|
12883
|
-
const nonNull = union(...args.map(withoutNull));
|
|
12884
|
-
return args.every((a) => a.has("null")) ? union(nonNull, only("null")) : nonNull;
|
|
12913
|
+
const nonNull = union$1(...args.map(withoutNull));
|
|
12914
|
+
return args.every((a) => a.has("null")) ? union$1(nonNull, only("null")) : nonNull;
|
|
12885
12915
|
}
|
|
12886
12916
|
function kindsOf(node, bindings) {
|
|
12887
12917
|
switch (node.kind) {
|
|
@@ -12894,8 +12924,8 @@ function kindsOf(node, bindings) {
|
|
|
12894
12924
|
}
|
|
12895
12925
|
case "unary": return only(node.op === "!" ? "boolean" : "number");
|
|
12896
12926
|
case "binary": return binaryKinds(node.op, kindsOf(node.left, bindings), kindsOf(node.right, bindings));
|
|
12897
|
-
case "logical": return union(kindsOf(node.left, bindings), kindsOf(node.right, bindings));
|
|
12898
|
-
case "conditional": return union(kindsOf(node.consequent, bindings), kindsOf(node.alternate, bindings));
|
|
12927
|
+
case "logical": return union$1(kindsOf(node.left, bindings), kindsOf(node.right, bindings));
|
|
12928
|
+
case "conditional": return union$1(kindsOf(node.consequent, bindings), kindsOf(node.alternate, bindings));
|
|
12899
12929
|
case "call": return callKinds(node.callee, node.args.map((a) => kindsOf(a, bindings)));
|
|
12900
12930
|
}
|
|
12901
12931
|
}
|
|
@@ -47258,6 +47288,20 @@ var CAMERA_SENSORS_NOT_LOADED = Object.freeze({
|
|
|
47258
47288
|
reason: "camera sensor mappings not loaded"
|
|
47259
47289
|
});
|
|
47260
47290
|
//#endregion
|
|
47291
|
+
//#region src/capabilities/schemas/package-llm-verdict.ts
|
|
47292
|
+
/**
|
|
47293
|
+
* What the vision model must answer before a package event is emitted
|
|
47294
|
+
* when a packages rule has "Confirm with the LLM" on.
|
|
47295
|
+
*
|
|
47296
|
+
* `package` is the verdict. `confidence` is 0..1. `reason` is the model's
|
|
47297
|
+
* one-line explanation, stored on the event so a drop is not silent.
|
|
47298
|
+
*/
|
|
47299
|
+
var PackageLlmVerdictSchema = z.object({
|
|
47300
|
+
package: z.boolean(),
|
|
47301
|
+
confidence: z.number().min(0).max(1),
|
|
47302
|
+
reason: z.string().min(1)
|
|
47303
|
+
});
|
|
47304
|
+
//#endregion
|
|
47261
47305
|
//#region src/pipeline/cluster-model-scope.ts
|
|
47262
47306
|
/**
|
|
47263
47307
|
* A model choice has a SCOPE, and a scope change has a workflow.
|
|
@@ -48376,6 +48420,21 @@ var ObjectEventSchema = z.object({
|
|
|
48376
48420
|
* pick-up written before D684 — UNKNOWN, never 0 and never `timestamp`.
|
|
48377
48421
|
*/
|
|
48378
48422
|
observedAt: z.number().optional(),
|
|
48423
|
+
/**
|
|
48424
|
+
* The delivery was emitted without a vision-model yes (D931).
|
|
48425
|
+
*
|
|
48426
|
+
* Set only when the packages rule asked for an LLM confirm and the model
|
|
48427
|
+
* was unreachable, timed out, or answered something that did not parse.
|
|
48428
|
+
* A notification reads it so it can say "possible" instead of a definite
|
|
48429
|
+
* delivery. Absent on every other row, and on a confirm that said yes.
|
|
48430
|
+
*/
|
|
48431
|
+
packagePossible: z.boolean().optional(),
|
|
48432
|
+
/**
|
|
48433
|
+
* The vision model's verdict, when a packages rule asked for one and the
|
|
48434
|
+
* model answered the schema (D931). A "no" never becomes a row — the
|
|
48435
|
+
* detector drops it and logs the reason. Present on a yes.
|
|
48436
|
+
*/
|
|
48437
|
+
packageLlmVerdict: PackageLlmVerdictSchema.optional(),
|
|
48379
48438
|
/** The parent track's key-event importance [0,1], propagated to every object
|
|
48380
48439
|
* event of the track (so an event row can be sorted by importance without a
|
|
48381
48440
|
* track join). Absent on legacy rows / before the track was scored. */
|
|
@@ -51014,7 +51073,6 @@ var PipelineAddonSchemaSchema = z.object({
|
|
|
51014
51073
|
defaultModelId: z.string(),
|
|
51015
51074
|
defaultModelIdByFormat: z.record(z.string(), z.string()).optional(),
|
|
51016
51075
|
enabledByDefault: z.boolean().optional(),
|
|
51017
|
-
backfillIntoExistingOverrides: z.boolean().optional(),
|
|
51018
51076
|
defaultConfidence: z.number(),
|
|
51019
51077
|
group: z.string().optional(),
|
|
51020
51078
|
configSchema: z.array(ConfigFieldBridge).readonly().optional()
|
|
@@ -51141,7 +51199,6 @@ var AudioTestResultSchema = z.object({
|
|
|
51141
51199
|
error: z.string().optional(),
|
|
51142
51200
|
frame: z.custom().optional()
|
|
51143
51201
|
});
|
|
51144
|
-
var PipelineConfigBridge = z.custom();
|
|
51145
51202
|
var ConfigUISchemaBridge = z.custom();
|
|
51146
51203
|
var ConfigUISchemaNullableBridge = z.custom();
|
|
51147
51204
|
var InferenceCapabilitiesBridge = z.custom();
|
|
@@ -51166,7 +51223,6 @@ var pipelineExecutorCapability = {
|
|
|
51166
51223
|
methods: {
|
|
51167
51224
|
getAvailableEngines: method(z.void(), z.array(PipelineEngineChoiceSchema)),
|
|
51168
51225
|
getSelectedEngine: method(z.void(), PipelineEngineChoiceSchema),
|
|
51169
|
-
getDefaultSteps: method(PipelineEngineChoiceSchema, z.array(PipelineDefaultStepSchema)),
|
|
51170
51226
|
/**
|
|
51171
51227
|
* Per-node detection-engine provisioning snapshot. Returns the live
|
|
51172
51228
|
* state of the lazy runtime-provisioning machine on `nodeId`
|
|
@@ -51188,54 +51244,6 @@ var pipelineExecutorCapability = {
|
|
|
51188
51244
|
auth: "admin"
|
|
51189
51245
|
}),
|
|
51190
51246
|
/**
|
|
51191
|
-
* Clear THIS node's executor-side PER-DEVICE settings stores (the
|
|
51192
|
-
* per-camera step overrides the object-detection root reads via
|
|
51193
|
-
* `applyDeviceOverridesToTree`). `nodeId` is the ROUTING key — the
|
|
51194
|
-
* generated cap-router strips it (default `nodeIdMode: 'routing'`) and
|
|
51195
|
-
* dispatches to that node, so the provider method runs ON the target
|
|
51196
|
-
* node and receives no `nodeId`.
|
|
51197
|
-
*
|
|
51198
|
-
* This is the slimmed executor leg of the orchestrator's
|
|
51199
|
-
* `resetNodePipelineDefaults` flow (which owns the real reset: node
|
|
51200
|
-
* addonDefaults pins + per-camera orchestrator overrides). The legacy
|
|
51201
|
-
* `resetToDefault` — which reset a persisted global step-tree seed
|
|
51202
|
-
* nothing in the live per-camera path read — was removed together with
|
|
51203
|
-
* that seed.
|
|
51204
|
-
*/
|
|
51205
|
-
clearDeviceOverrides: method(z.object({ nodeId: z.string() }), z.object({
|
|
51206
|
-
success: z.literal(true),
|
|
51207
|
-
clearedDevices: z.number()
|
|
51208
|
-
}), {
|
|
51209
|
-
kind: "mutation",
|
|
51210
|
-
auth: "admin"
|
|
51211
|
-
}),
|
|
51212
|
-
/**
|
|
51213
|
-
* Auto tune (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
|
|
51214
|
-
* the object-detection root, and their binding keys) stored in THIS node's
|
|
51215
|
-
* per-camera detector settings — and, unless `dryRun`, remove them so the
|
|
51216
|
-
* running model's own defaults apply. Every other key of a camera's store
|
|
51217
|
-
* is kept. `nodeId` is the ROUTING key. `deviceIds` absent ⇒ every camera
|
|
51218
|
-
* with a store. A camera whose store could not be read is `refused`, never
|
|
51219
|
-
* reported as clean.
|
|
51220
|
-
*/
|
|
51221
|
-
clearModelBoundDeviceOverrides: method(z.object({
|
|
51222
|
-
nodeId: z.string(),
|
|
51223
|
-
deviceIds: z.array(z.number()).readonly().optional(),
|
|
51224
|
-
dryRun: z.boolean()
|
|
51225
|
-
}), z.object({
|
|
51226
|
-
entries: z.array(z.object({
|
|
51227
|
-
deviceId: z.number(),
|
|
51228
|
-
keys: z.array(z.string()).readonly()
|
|
51229
|
-
})).readonly(),
|
|
51230
|
-
refused: z.array(z.object({
|
|
51231
|
-
deviceId: z.number(),
|
|
51232
|
-
reason: z.string()
|
|
51233
|
-
})).readonly()
|
|
51234
|
-
}), {
|
|
51235
|
-
kind: "mutation",
|
|
51236
|
-
auth: "admin"
|
|
51237
|
-
}),
|
|
51238
|
-
/**
|
|
51239
51247
|
* Which of THIS node's inference devices the executor currently refuses,
|
|
51240
51248
|
* and why. `nodeId` is the ROUTING key (stripped by the generated router).
|
|
51241
51249
|
*
|
|
@@ -51290,8 +51298,6 @@ var pipelineExecutorCapability = {
|
|
|
51290
51298
|
auth: "admin"
|
|
51291
51299
|
}),
|
|
51292
51300
|
getSchema: method(z.void(), PipelineSchemaSchema),
|
|
51293
|
-
getGlobalSteps: method(z.void(), z.array(PipelineDefaultStepSchema).readonly().nullable()),
|
|
51294
|
-
getGlobalPipelineConfig: method(z.void(), PipelineConfigBridge),
|
|
51295
51301
|
getOrchestratorConfigSchema: method(z.void(), ConfigUISchemaBridge),
|
|
51296
51302
|
/**
|
|
51297
51303
|
* Gate B (pre-init config-correctness gate). PURE COMPUTE against this
|
|
@@ -51654,11 +51660,18 @@ var KeptReasonSchema = z.enum(["custom-pin"]);
|
|
|
51654
51660
|
* Where a choice's latency came from (D791): this node's own benchmark
|
|
51655
51661
|
* result, or the hardware-class table. Measured on the node beats the table.
|
|
51656
51662
|
*/
|
|
51657
|
-
var LatencySourceSchema = z.discriminatedUnion("kind", [
|
|
51658
|
-
kind: z.literal("
|
|
51659
|
-
|
|
51660
|
-
|
|
51661
|
-
|
|
51663
|
+
var LatencySourceSchema = z.discriminatedUnion("kind", [
|
|
51664
|
+
z.object({ kind: z.literal("table") }),
|
|
51665
|
+
z.object({
|
|
51666
|
+
kind: z.literal("node-benchmark"),
|
|
51667
|
+
resultId: z.string(),
|
|
51668
|
+
measuredAtMs: z.number()
|
|
51669
|
+
}),
|
|
51670
|
+
z.object({
|
|
51671
|
+
kind: z.literal("estimated"),
|
|
51672
|
+
estimatedFrom: HardwareClassIdSchema
|
|
51673
|
+
})
|
|
51674
|
+
]);
|
|
51662
51675
|
var DeviceModelChoiceSchema = z.object({
|
|
51663
51676
|
modelId: z.string(),
|
|
51664
51677
|
p50Ms: z.number(),
|
|
@@ -51666,6 +51679,11 @@ var DeviceModelChoiceSchema = z.object({
|
|
|
51666
51679
|
measured: z.boolean(),
|
|
51667
51680
|
/** Absent on a plan from before D791 — read as the table. */
|
|
51668
51681
|
source: LatencySourceSchema.optional(),
|
|
51682
|
+
/**
|
|
51683
|
+
* The measured class this latency was scaled from (D930). Absent when the
|
|
51684
|
+
* cell is the table or a node benchmark.
|
|
51685
|
+
*/
|
|
51686
|
+
estimatedFrom: HardwareClassIdSchema.optional(),
|
|
51669
51687
|
/** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
|
|
51670
51688
|
capacitySessions: z.number(),
|
|
51671
51689
|
personRecall: z.number()
|
|
@@ -51705,40 +51723,20 @@ var NodeDeviceChangeSchema = z.object({
|
|
|
51705
51723
|
keys: z.array(z.string()).readonly()
|
|
51706
51724
|
})).readonly()
|
|
51707
51725
|
});
|
|
51708
|
-
|
|
51709
|
-
|
|
51710
|
-
|
|
51726
|
+
/**
|
|
51727
|
+
* Every model and model-bound threshold lives on the accelerator that runs it
|
|
51728
|
+
* (D927), so the plan writes node / device entries only — there is no camera
|
|
51729
|
+
* layer for it to clear.
|
|
51730
|
+
*/
|
|
51731
|
+
var AutoTuneWarningSchema = z.discriminatedUnion("kind", [z.object({
|
|
51732
|
+
kind: z.literal("custom-pin-kept"),
|
|
51711
51733
|
nodeId: z.string(),
|
|
51712
|
-
deviceKey: z.string()
|
|
51713
|
-
|
|
51714
|
-
|
|
51715
|
-
|
|
51716
|
-
|
|
51717
|
-
|
|
51718
|
-
deviceId: z.number(),
|
|
51719
|
-
keys: z.array(z.string()).readonly()
|
|
51720
|
-
});
|
|
51721
|
-
var AutoTuneWarningSchema = z.discriminatedUnion("kind", [
|
|
51722
|
-
z.object({
|
|
51723
|
-
kind: z.literal("detector-store-cluster-wide"),
|
|
51724
|
-
skippedNodes: z.array(z.string()).readonly()
|
|
51725
|
-
}),
|
|
51726
|
-
z.object({
|
|
51727
|
-
kind: z.literal("detector-store-unreadable"),
|
|
51728
|
-
error: z.string()
|
|
51729
|
-
}),
|
|
51730
|
-
z.object({
|
|
51731
|
-
kind: z.literal("custom-pin-kept"),
|
|
51732
|
-
nodeId: z.string(),
|
|
51733
|
-
deviceKey: z.string().nullable(),
|
|
51734
|
-
deviceId: z.number().nullable(),
|
|
51735
|
-
modelId: z.string()
|
|
51736
|
-
}),
|
|
51737
|
-
z.object({
|
|
51738
|
-
kind: z.literal("custom-registry-unreadable"),
|
|
51739
|
-
error: z.string()
|
|
51740
|
-
})
|
|
51741
|
-
]);
|
|
51734
|
+
deviceKey: z.string(),
|
|
51735
|
+
modelId: z.string()
|
|
51736
|
+
}), z.object({
|
|
51737
|
+
kind: z.literal("custom-registry-unreadable"),
|
|
51738
|
+
error: z.string()
|
|
51739
|
+
})]);
|
|
51742
51740
|
var AutoTuneOptionsSchema = z.object({
|
|
51743
51741
|
/** Share of each accelerator's throughput kept free (0.3–0.5). */
|
|
51744
51742
|
headroom: z.number().min(.3).max(.5).default(.4),
|
|
@@ -51760,8 +51758,6 @@ var AutoTunePlanSchema = z.object({
|
|
|
51760
51758
|
generatedAt: z.number(),
|
|
51761
51759
|
nodes: z.array(NodeRecommendationSchema).readonly(),
|
|
51762
51760
|
nodeChanges: z.array(NodeDeviceChangeSchema).readonly(),
|
|
51763
|
-
cameraClears: z.array(CameraOverrideClearSchema).readonly(),
|
|
51764
|
-
detectorStoreClears: z.array(DetectorStoreClearSchema).readonly(),
|
|
51765
51761
|
warnings: z.array(AutoTuneWarningSchema).readonly()
|
|
51766
51762
|
});
|
|
51767
51763
|
var AutoTuneApplyInputSchema = z.object({
|
|
@@ -51772,8 +51768,6 @@ var AutoTuneApplyInputSchema = z.object({
|
|
|
51772
51768
|
var AutoTunePhaseResultSchema = z.object({
|
|
51773
51769
|
phase: z.enum([
|
|
51774
51770
|
"download",
|
|
51775
|
-
"camera-overrides",
|
|
51776
|
-
"detector-thresholds",
|
|
51777
51771
|
"node-models",
|
|
51778
51772
|
"redispatch"
|
|
51779
51773
|
]),
|
|
@@ -53965,6 +53959,12 @@ var AgentPipelineSettingsSchema = z.object({
|
|
|
53965
53959
|
/** Hub-persisted UI colour (`--color-node-*` theme tokens). */
|
|
53966
53960
|
color: NodeColorIdSchema.optional(),
|
|
53967
53961
|
/**
|
|
53962
|
+
* NODE-wide step settings (D927): `stepId → { key → value }`, applied on
|
|
53963
|
+
* every accelerator of the node under the device's own settings. Never a
|
|
53964
|
+
* model or a model-bound threshold. Written by `setNodeStepSettings`.
|
|
53965
|
+
*/
|
|
53966
|
+
stepSettings: z.record(z.string(), z.record(z.string(), z.unknown()).readonly()).optional(),
|
|
53967
|
+
/**
|
|
53968
53968
|
* Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
|
|
53969
53969
|
* weight, steps}. Absent / all-disabled ⇒ the node's single default
|
|
53970
53970
|
* accelerator (safe default); two+ enabled ⇒ the dispatcher balances
|
|
@@ -53980,17 +53980,6 @@ var AgentPipelineSettingsSchema = z.object({
|
|
|
53980
53980
|
steps: z.record(z.string(), DeviceStepConfigSchema).optional()
|
|
53981
53981
|
})).optional()
|
|
53982
53982
|
});
|
|
53983
|
-
var CameraPipelineForAgentSchema = z.object({
|
|
53984
|
-
steps: z.array(PipelineStepInputSchema).readonly(),
|
|
53985
|
-
audio: z.object({
|
|
53986
|
-
modelId: z.string(),
|
|
53987
|
-
enabled: z.boolean()
|
|
53988
|
-
}).nullable()
|
|
53989
|
-
});
|
|
53990
|
-
var CameraStepOverridePatchSchema = z.object({
|
|
53991
|
-
modelId: z.string().optional(),
|
|
53992
|
-
settings: z.record(z.string(), z.unknown()).readonly().optional()
|
|
53993
|
-
});
|
|
53994
53983
|
var CameraStepSettingsSchema = z.record(z.string(), z.record(z.string(), z.unknown()).readonly());
|
|
53995
53984
|
/** The three root-detector choices a camera has (D507: at most one root). */
|
|
53996
53985
|
var CameraDetectionSourceSchema = z.enum([
|
|
@@ -54000,9 +53989,7 @@ var CameraDetectionSourceSchema = z.enum([
|
|
|
54000
53989
|
]);
|
|
54001
53990
|
var CameraPipelineSettingsSchema = z.object({
|
|
54002
53991
|
stepToggles: z.record(z.string(), z.boolean()).optional(),
|
|
54003
|
-
stepSettings: CameraStepSettingsSchema.optional()
|
|
54004
|
-
stepOverridesByDevice: z.record(z.string(), z.record(z.string(), z.record(z.string(), CameraStepOverridePatchSchema))).optional(),
|
|
54005
|
-
pipelineByAgent: z.record(z.string(), CameraPipelineForAgentSchema).optional()
|
|
53992
|
+
stepSettings: CameraStepSettingsSchema.optional()
|
|
54006
53993
|
});
|
|
54007
53994
|
/**
|
|
54008
53995
|
* Pipeline placement record persisted by `addon-pipeline-orchestrator` via
|
|
@@ -54789,6 +54776,21 @@ var pipelineOrchestratorCapability = {
|
|
|
54789
54776
|
auth: "admin"
|
|
54790
54777
|
}),
|
|
54791
54778
|
/**
|
|
54779
|
+
* Write or clear one step's NODE-wide settings (D927) — the content that
|
|
54780
|
+
* holds on every accelerator of the node (`agentSettings[node].stepSettings`).
|
|
54781
|
+
* `settings` is the whole bag for the step; `null` or `{}` clears it.
|
|
54782
|
+
* REFUSES a model-scoped key (a model id, a binding, a `minConfidence*`
|
|
54783
|
+
* floor): those are set on the accelerator (`setAgentInferenceDevices`).
|
|
54784
|
+
*/
|
|
54785
|
+
setNodeStepSettings: method(z.object({
|
|
54786
|
+
agentNodeId: z.string(),
|
|
54787
|
+
addonId: z.string(),
|
|
54788
|
+
settings: z.record(z.string(), z.unknown()).nullable()
|
|
54789
|
+
}), z.object({ success: z.literal(true) }), {
|
|
54790
|
+
kind: "mutation",
|
|
54791
|
+
auth: "admin"
|
|
54792
|
+
}),
|
|
54793
|
+
/**
|
|
54792
54794
|
* DEVICE-AWARE merged view of ONE node's inference accelerators. Joins each
|
|
54793
54795
|
* physical device the node HAS — probed live via a node-pinned
|
|
54794
54796
|
* `platformProbe.getCapabilities` (the platform-probe singleton is targeted
|
|
@@ -54822,23 +54824,17 @@ var pipelineOrchestratorCapability = {
|
|
|
54822
54824
|
* (a) strips every `modelId` pin from that node's
|
|
54823
54825
|
* `agentSettings.addonDefaults` (cells revert to Auto — the node
|
|
54824
54826
|
* resolves its own hardware-aware format default at runtime);
|
|
54825
|
-
* (b)
|
|
54826
|
-
*
|
|
54827
|
-
* `pipelineByAgent[node]` escape hatch);
|
|
54828
|
-
* (c) clears the executor-side per-device settings stores on that node
|
|
54829
|
-
* (`pipelineExecutor.clearDeviceOverrides`);
|
|
54830
|
-
* (d) hot-reloads every camera assigned to the node.
|
|
54827
|
+
* (b) hot-reloads every camera assigned to the node.
|
|
54828
|
+
* There is no per-camera model to clear (D927).
|
|
54831
54829
|
*
|
|
54832
54830
|
* Returns the EFFECTIVE post-reset object-detection model for the node
|
|
54833
|
-
* (the
|
|
54834
|
-
*
|
|
54831
|
+
* (the format default of the accelerator hosting the camera root) so the
|
|
54832
|
+
* UI can report what will actually run.
|
|
54835
54833
|
*/
|
|
54836
54834
|
resetNodePipelineDefaults: method(z.object({ agentNodeId: z.string() }), z.object({
|
|
54837
54835
|
success: z.literal(true),
|
|
54838
54836
|
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
54839
|
-
effectiveModelId: z.string().nullable()
|
|
54840
|
-
/** Number of cameras whose node-scoped overrides were cleared. */
|
|
54841
|
-
clearedCameraOverrides: z.number()
|
|
54837
|
+
effectiveModelId: z.string().nullable()
|
|
54842
54838
|
}), {
|
|
54843
54839
|
kind: "mutation",
|
|
54844
54840
|
auth: "admin"
|
|
@@ -54850,8 +54846,8 @@ var pipelineOrchestratorCapability = {
|
|
|
54850
54846
|
* that sustains at least `minSessionsPerDevice` parallel sessions at the
|
|
54851
54847
|
* camera rate with the headroom kept free (no load input), and lists every write
|
|
54852
54848
|
* the apply would make: the node model pins set, the enrichment pins and
|
|
54853
|
-
* model-bound thresholds removed
|
|
54854
|
-
*
|
|
54849
|
+
* model-bound thresholds removed — all on the accelerators, the only
|
|
54850
|
+
* layer that carries a model (D927). Writes nothing. Step
|
|
54855
54851
|
* enablement, device enablement, pins, recording, notifications, zones and
|
|
54856
54852
|
* rules are never part of it. `planHash` names exactly this diff.
|
|
54857
54853
|
*/
|
|
@@ -55004,31 +55000,14 @@ var pipelineOrchestratorCapability = {
|
|
|
55004
55000
|
kind: "mutation",
|
|
55005
55001
|
auth: "admin"
|
|
55006
55002
|
}),
|
|
55007
|
-
/** Read every per-(node,device) override map for a device. Null when device has no overrides. */
|
|
55008
|
-
getCameraStepOverrides: method(z.object({ deviceId: z.number() }), z.record(z.string(), z.record(z.string(), z.record(z.string(), CameraStepOverridePatchSchema))).nullable()),
|
|
55009
|
-
/**
|
|
55010
|
-
* Write or clear the per-(camera,node,device) override for one addonId.
|
|
55011
|
-
* `patch: null` clears the entry entirely for that (node, deviceKey, addon)
|
|
55012
|
-
* triple (empty parents are pruned). Model/settings only — enablement is
|
|
55013
|
-
* the per-camera `stepToggles` authority.
|
|
55014
|
-
*/
|
|
55015
|
-
setCameraStepOverride: method(z.object({
|
|
55016
|
-
deviceId: z.number(),
|
|
55017
|
-
agentNodeId: z.string(),
|
|
55018
|
-
deviceKey: z.string(),
|
|
55019
|
-
addonId: z.string(),
|
|
55020
|
-
patch: CameraStepOverridePatchSchema.nullable()
|
|
55021
|
-
}), z.object({ success: z.literal(true) }), {
|
|
55022
|
-
kind: "mutation",
|
|
55023
|
-
auth: "admin"
|
|
55024
|
-
}),
|
|
55025
55003
|
/**
|
|
55026
|
-
* Write or clear one step's CAMERA-WIDE settings (D754) — the
|
|
55027
|
-
* camera overrides on every accelerator it
|
|
55028
|
-
* whole field-level bag for that step (only the
|
|
55029
|
-
*
|
|
55030
|
-
*
|
|
55031
|
-
*
|
|
55004
|
+
* Write or clear one step's CAMERA-WIDE settings (D754) — the
|
|
55005
|
+
* camera-semantic fields this camera overrides on every accelerator it
|
|
55006
|
+
* runs on. `settings` is the whole field-level bag for that step (only the
|
|
55007
|
+
* overridden keys); `null` or `{}` clears it. Merged at dispatch over the
|
|
55008
|
+
* node base, key by key. REFUSES a model-scoped key — a model id, a model
|
|
55009
|
+
* binding or a `minConfidence*` floor (D927): those belong to the
|
|
55010
|
+
* accelerator that runs the model.
|
|
55032
55011
|
*/
|
|
55033
55012
|
setCameraStepSettings: method(z.object({
|
|
55034
55013
|
deviceId: z.number(),
|
|
@@ -55038,15 +55017,6 @@ var pipelineOrchestratorCapability = {
|
|
|
55038
55017
|
kind: "mutation",
|
|
55039
55018
|
auth: "admin"
|
|
55040
55019
|
}),
|
|
55041
|
-
/** Write or clear the wholesale per-agent pipeline override. Pass `pipeline: null` to drop the override. */
|
|
55042
|
-
setCameraPipelineForAgent: method(z.object({
|
|
55043
|
-
deviceId: z.number(),
|
|
55044
|
-
agentNodeId: z.string(),
|
|
55045
|
-
pipeline: CameraPipelineForAgentSchema.nullable()
|
|
55046
|
-
}), z.object({ success: z.literal(true) }), {
|
|
55047
|
-
kind: "mutation",
|
|
55048
|
-
auth: "admin"
|
|
55049
|
-
}),
|
|
55050
55020
|
/** Resolve the effective pipeline for `(deviceId, agentNodeId?)` — walks the full precedence chain. Read-only preview used by the UI to show what will run. */
|
|
55051
55021
|
resolvePipeline: method(z.object({
|
|
55052
55022
|
deviceId: z.number(),
|
|
@@ -67732,352 +67702,1126 @@ includeCrops: z.boolean().optional() }).optional(), z.array(VehicleSchema).reado
|
|
|
67732
67702
|
}
|
|
67733
67703
|
};
|
|
67734
67704
|
//#endregion
|
|
67735
|
-
//#region src/
|
|
67736
|
-
var
|
|
67737
|
-
|
|
67738
|
-
|
|
67739
|
-
|
|
67740
|
-
|
|
67741
|
-
|
|
67742
|
-
|
|
67743
|
-
|
|
67744
|
-
|
|
67745
|
-
|
|
67746
|
-
|
|
67747
|
-
|
|
67748
|
-
|
|
67749
|
-
|
|
67750
|
-
|
|
67751
|
-
|
|
67752
|
-
|
|
67753
|
-
|
|
67754
|
-
|
|
67755
|
-
|
|
67756
|
-
|
|
67757
|
-
|
|
67758
|
-
}
|
|
67759
|
-
|
|
67760
|
-
|
|
67761
|
-
|
|
67762
|
-
|
|
67763
|
-
|
|
67764
|
-
|
|
67765
|
-
|
|
67766
|
-
|
|
67767
|
-
|
|
67768
|
-
|
|
67769
|
-
|
|
67770
|
-
|
|
67771
|
-
|
|
67772
|
-
|
|
67773
|
-
|
|
67774
|
-
|
|
67775
|
-
|
|
67776
|
-
|
|
67777
|
-
|
|
67778
|
-
|
|
67779
|
-
|
|
67780
|
-
|
|
67781
|
-
|
|
67782
|
-
|
|
67783
|
-
|
|
67784
|
-
|
|
67785
|
-
|
|
67786
|
-
|
|
67787
|
-
|
|
67788
|
-
|
|
67789
|
-
|
|
67790
|
-
|
|
67791
|
-
|
|
67792
|
-
|
|
67793
|
-
|
|
67794
|
-
|
|
67795
|
-
|
|
67796
|
-
|
|
67797
|
-
|
|
67798
|
-
|
|
67799
|
-
"linux",
|
|
67800
|
-
"win32"
|
|
67801
|
-
]);
|
|
67802
|
-
var HardwareArchSchema = z.enum(["arm64", "x64"]);
|
|
67803
|
-
var GpuInfoSchema = z.object({
|
|
67804
|
-
type: z.enum([
|
|
67805
|
-
"nvidia",
|
|
67806
|
-
"amd",
|
|
67807
|
-
"intel",
|
|
67808
|
-
"apple"
|
|
67809
|
-
]),
|
|
67810
|
-
name: z.string(),
|
|
67811
|
-
memoryMB: z.number().optional()
|
|
67812
|
-
});
|
|
67813
|
-
var NpuInfoSchema = z.object({
|
|
67814
|
-
type: z.enum([
|
|
67815
|
-
"apple-ane",
|
|
67816
|
-
"intel-npu",
|
|
67817
|
-
"amd-xdna"
|
|
67818
|
-
]),
|
|
67819
|
-
name: z.string().optional(),
|
|
67820
|
-
generation: z.enum(["xdna1", "xdna2"]).optional()
|
|
67821
|
-
});
|
|
67822
|
-
var CoralBusSchema = z.enum(["usb", "pci"]);
|
|
67823
|
-
var CoralInfoSchema = z.object({
|
|
67824
|
-
type: z.literal("coral-edgetpu"),
|
|
67825
|
-
/** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
|
|
67826
|
-
bus: z.string().optional(),
|
|
67827
|
-
/** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
|
|
67828
|
-
count: z.number().int().nonnegative().optional(),
|
|
67829
|
-
/** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
|
|
67830
|
-
units: z.array(z.object({
|
|
67831
|
-
bus: CoralBusSchema,
|
|
67832
|
-
count: z.number().int().nonnegative()
|
|
67833
|
-
})).readonly().optional(),
|
|
67834
|
-
/** Present-but-unusable units, each with its typed reason (never "absent"). */
|
|
67835
|
-
unavailable: z.array(z.object({
|
|
67836
|
-
bus: CoralBusSchema,
|
|
67837
|
-
count: z.number().int().nonnegative(),
|
|
67838
|
-
reason: z.enum(["driver-missing", "device-not-accessible"])
|
|
67839
|
-
})).readonly().optional()
|
|
67840
|
-
});
|
|
67841
|
-
var HardwareInfoSchema = z.object({
|
|
67842
|
-
platform: HardwarePlatformSchema,
|
|
67843
|
-
arch: HardwareArchSchema,
|
|
67844
|
-
cpuModel: z.string(),
|
|
67845
|
-
cpuCores: z.number(),
|
|
67846
|
-
totalRAM_MB: z.number(),
|
|
67847
|
-
availableRAM_MB: z.number(),
|
|
67848
|
-
gpu: GpuInfoSchema.nullable(),
|
|
67849
|
-
npu: NpuInfoSchema.nullable(),
|
|
67850
|
-
coral: CoralInfoSchema.nullable().optional()
|
|
67851
|
-
});
|
|
67852
|
-
var PlatformScoreSchema = z.object({
|
|
67853
|
-
runtime: z.literal("python"),
|
|
67854
|
-
backend: z.string(),
|
|
67855
|
-
format: z.enum([
|
|
67856
|
-
"onnx",
|
|
67857
|
-
"coreml",
|
|
67858
|
-
"openvino",
|
|
67859
|
-
"tflite"
|
|
67860
|
-
]),
|
|
67861
|
-
score: z.number(),
|
|
67862
|
-
reason: z.string(),
|
|
67863
|
-
available: z.boolean()
|
|
67864
|
-
});
|
|
67865
|
-
var InferenceDeviceDescriptorSchema = z.object({
|
|
67866
|
-
key: z.string(),
|
|
67867
|
-
backend: z.string(),
|
|
67868
|
-
device: z.string(),
|
|
67869
|
-
format: ModelFormatSchema,
|
|
67870
|
-
runtime: z.literal("python"),
|
|
67871
|
-
score: z.number(),
|
|
67872
|
-
available: z.boolean()
|
|
67873
|
-
});
|
|
67874
|
-
var PlatformCapabilitiesSchema = z.object({
|
|
67875
|
-
hardware: HardwareInfoSchema,
|
|
67876
|
-
scores: z.array(PlatformScoreSchema).readonly(),
|
|
67877
|
-
bestScore: PlatformScoreSchema,
|
|
67878
|
-
pythonPath: z.string().nullable(),
|
|
67879
|
-
devices: z.array(InferenceDeviceDescriptorSchema).readonly()
|
|
67880
|
-
});
|
|
67881
|
-
var ModelRequirementSchema = z.object({
|
|
67882
|
-
modelId: z.string(),
|
|
67883
|
-
name: z.string(),
|
|
67884
|
-
minRAM_MB: z.number(),
|
|
67885
|
-
accuracyScore: z.number(),
|
|
67886
|
-
formats: z.array(z.string()).readonly()
|
|
67887
|
-
});
|
|
67888
|
-
var ResolvedInferenceConfigSchema = z.object({
|
|
67889
|
-
modelId: z.string(),
|
|
67890
|
-
runtime: z.literal("python"),
|
|
67891
|
-
backend: z.string(),
|
|
67892
|
-
format: ModelFormatSchema,
|
|
67893
|
-
reason: z.string()
|
|
67894
|
-
});
|
|
67895
|
-
/**
|
|
67896
|
-
* The answer of an accelerator rescan (D919): the node's device list after
|
|
67897
|
-
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
67898
|
-
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
67899
|
-
* bus, the installed-delegate fallback, or nothing).
|
|
67900
|
-
*/
|
|
67901
|
-
var AcceleratorRescanSchema = z.object({
|
|
67902
|
-
devices: z.array(InferenceDeviceDescriptorSchema).readonly(),
|
|
67903
|
-
appeared: z.array(z.string()).readonly(),
|
|
67904
|
-
disappeared: z.array(z.string()).readonly(),
|
|
67905
|
-
usbBus: z.enum(["observed", "unobservable"]),
|
|
67906
|
-
decidedBy: z.enum([
|
|
67907
|
-
"usb-ids",
|
|
67908
|
-
"pci",
|
|
67909
|
-
"delegate-fallback",
|
|
67910
|
-
"none"
|
|
67911
|
-
])
|
|
67912
|
-
});
|
|
67913
|
-
var platformProbeCapability = {
|
|
67914
|
-
name: "platform-probe",
|
|
67915
|
-
scope: "system",
|
|
67916
|
-
mode: "singleton",
|
|
67917
|
-
methods: {
|
|
67918
|
-
getCapabilities: method(z.void(), PlatformCapabilitiesSchema),
|
|
67919
|
-
getHardware: method(z.void(), HardwareInfoSchema),
|
|
67920
|
-
resolveInferenceConfig: method(z.object({ requirements: z.array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema),
|
|
67921
|
-
resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema),
|
|
67922
|
-
/**
|
|
67923
|
-
* Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
|
|
67924
|
-
* `/sys` and `/dev` reads, no model load) and rebuild the device list that
|
|
67925
|
-
* `getCapabilities` serves. The same re-probe runs every 60 s on its own;
|
|
67926
|
-
* this is the operator's "rescan inference devices". Target a node with the
|
|
67927
|
-
* `{ nodeId }` routing input, like `getCapabilities`.
|
|
67928
|
-
*/
|
|
67929
|
-
rescanAccelerators: method(z.void(), AcceleratorRescanSchema, {
|
|
67930
|
-
kind: "mutation",
|
|
67931
|
-
auth: "admin"
|
|
67932
|
-
})
|
|
67933
|
-
}
|
|
67934
|
-
};
|
|
67935
|
-
//#endregion
|
|
67936
|
-
//#region src/capabilities/power-meter.cap.ts
|
|
67937
|
-
/**
|
|
67938
|
-
* Multi-metric electrical meter. One slice can carry any combination
|
|
67939
|
-
* of instantaneous power (W), cumulative energy (kWh), voltage (V),
|
|
67940
|
-
* and current (A) — all fields optional so a single-metric source
|
|
67941
|
-
* (HA `sensor` with `device_class: power`) populates only what it
|
|
67942
|
-
* has and aggregators (energy dashboards, billing exports) compose
|
|
67943
|
-
* across providers without needing one cap per metric.
|
|
67944
|
-
*
|
|
67945
|
-
* Trade-off acknowledged: a HomeKit export that wants to surface
|
|
67946
|
-
* "power" and "energy" as separate services has to crack open the
|
|
67947
|
-
* slice and emit two characteristics from one cap. Worth it to avoid
|
|
67948
|
-
* exploding the cap catalog with `power-w` / `energy-kwh` /
|
|
67949
|
-
* `voltage-v` / `current-a` quartets that always travel together
|
|
67950
|
-
* in real-world devices.
|
|
67951
|
-
*/
|
|
67952
|
-
var PowerMeterStatusSchema = z.object({
|
|
67953
|
-
/** Instantaneous power draw in watts. */
|
|
67954
|
-
watts: z.number().optional(),
|
|
67955
|
-
/** Cumulative energy in kilowatt-hours since the meter was reset. */
|
|
67956
|
-
kwhTotal: z.number().optional(),
|
|
67957
|
-
/** Voltage in volts. */
|
|
67958
|
-
volts: z.number().optional(),
|
|
67959
|
-
/** Current in amperes. */
|
|
67960
|
-
amps: z.number().optional(),
|
|
67961
|
-
/** Apparent power in volt-amperes (W × power-factor reciprocal). */
|
|
67962
|
-
va: z.number().optional(),
|
|
67963
|
-
/** Power factor (0..1) if reported. */
|
|
67964
|
-
powerFactor: z.number().min(0).max(1).optional(),
|
|
67965
|
-
/** Ms epoch when the slice was last updated. */
|
|
67966
|
-
lastFetchedAt: z.number(),
|
|
67967
|
-
/** Live display unit of the single metric this slice carries (e.g. HA
|
|
67968
|
-
* `attributes.unit_of_measurement` → 'V' / 'A' / 'W' / 'kW' / 'kWh').
|
|
67969
|
-
* Each upstream `sensor.*` entity surfaces ONE device_class, so one
|
|
67970
|
-
* unit per slice is unambiguous. The UI prefers this over the role's
|
|
67971
|
-
* canonical unit so a 'kW' / 'Wh' feed renders verbatim. */
|
|
67972
|
-
unit: z.string().optional(),
|
|
67973
|
-
/** Suggested decimal places for numeric display.
|
|
67974
|
-
* Populated live from the upstream source when provided (e.g. HA
|
|
67975
|
-
* `attributes.suggested_display_precision`). Falls back to
|
|
67976
|
-
* auto-formatting when absent. */
|
|
67977
|
-
precision: z.number().int().min(0).max(10).optional()
|
|
67978
|
-
});
|
|
67979
|
-
var powerMeterCapability = {
|
|
67980
|
-
name: "power-meter",
|
|
67981
|
-
scope: "device",
|
|
67982
|
-
deviceNative: true,
|
|
67983
|
-
mode: "singleton",
|
|
67984
|
-
deviceTypes: [DeviceType.Sensor],
|
|
67985
|
-
methods: {},
|
|
67986
|
-
status: {
|
|
67987
|
-
schema: PowerMeterStatusSchema,
|
|
67988
|
-
kind: "push"
|
|
67989
|
-
},
|
|
67990
|
-
runtimeState: PowerMeterStatusSchema,
|
|
67991
|
-
/**
|
|
67992
|
-
* Runtime-state durability: **restored** — as `numeric-sensor`; `kwhTotal` is an accumulator whose restored value is the baseline.
|
|
67993
|
-
*
|
|
67994
|
-
* See `RuntimeStateDurability`. Enforced by
|
|
67995
|
-
* `scripts/check-runtime-state-durability.ts`.
|
|
67996
|
-
*/
|
|
67997
|
-
durability: "restored",
|
|
67998
|
-
/**
|
|
67999
|
-
* History (D850): recorded series. Gauges are floored at 30 s; `kwhTotal` is the one monotonic meter (counter).
|
|
68000
|
-
*/
|
|
68001
|
-
history: { fields: {
|
|
68002
|
-
watts: {
|
|
68003
|
-
kind: "gauge",
|
|
68004
|
-
unit: "W",
|
|
68005
|
-
deadband: 1,
|
|
68006
|
-
minIntervalMs: 3e4
|
|
67705
|
+
//#region src/pipeline/auto-tune/detector-performance.ts
|
|
67706
|
+
var DETECTOR_PERF = {
|
|
67707
|
+
"intel-core-ultra": {
|
|
67708
|
+
"intel-npu": {
|
|
67709
|
+
"yolov9t-320": {
|
|
67710
|
+
p50Ms: 2.9,
|
|
67711
|
+
fps: 383,
|
|
67712
|
+
measured: true
|
|
67713
|
+
},
|
|
67714
|
+
"yolov9t-320-int8": {
|
|
67715
|
+
p50Ms: 3.8,
|
|
67716
|
+
fps: 333,
|
|
67717
|
+
measured: true
|
|
67718
|
+
},
|
|
67719
|
+
"yolov9t-640": {
|
|
67720
|
+
p50Ms: 7.4,
|
|
67721
|
+
fps: 139,
|
|
67722
|
+
measured: true
|
|
67723
|
+
},
|
|
67724
|
+
"yolov9t-640-int8": {
|
|
67725
|
+
p50Ms: 7.5,
|
|
67726
|
+
fps: 144,
|
|
67727
|
+
measured: true
|
|
67728
|
+
},
|
|
67729
|
+
"yolov9s-320": {
|
|
67730
|
+
p50Ms: 4.4,
|
|
67731
|
+
fps: 241,
|
|
67732
|
+
measured: true
|
|
67733
|
+
},
|
|
67734
|
+
"yolov9s-320-int8": {
|
|
67735
|
+
p50Ms: 4.1,
|
|
67736
|
+
fps: 264,
|
|
67737
|
+
measured: true
|
|
67738
|
+
},
|
|
67739
|
+
"yolov9s-640": {
|
|
67740
|
+
p50Ms: 12.7,
|
|
67741
|
+
fps: 82,
|
|
67742
|
+
measured: true
|
|
67743
|
+
},
|
|
67744
|
+
"yolov9s-640-int8": {
|
|
67745
|
+
p50Ms: 10.7,
|
|
67746
|
+
fps: 99,
|
|
67747
|
+
measured: true
|
|
67748
|
+
},
|
|
67749
|
+
"yolov9m-320": {
|
|
67750
|
+
p50Ms: 8.4,
|
|
67751
|
+
fps: 123,
|
|
67752
|
+
measured: true
|
|
67753
|
+
},
|
|
67754
|
+
"yolov9m-320-int8": {
|
|
67755
|
+
p50Ms: 6.5,
|
|
67756
|
+
fps: 165,
|
|
67757
|
+
measured: true
|
|
67758
|
+
},
|
|
67759
|
+
"yolov9m-640": {
|
|
67760
|
+
p50Ms: 29.5,
|
|
67761
|
+
fps: 32,
|
|
67762
|
+
measured: true
|
|
67763
|
+
},
|
|
67764
|
+
"yolov9m-640-int8": {
|
|
67765
|
+
p50Ms: 19.5,
|
|
67766
|
+
fps: 52,
|
|
67767
|
+
measured: true
|
|
67768
|
+
}
|
|
68007
67769
|
},
|
|
68008
|
-
|
|
68009
|
-
|
|
68010
|
-
|
|
68011
|
-
|
|
68012
|
-
|
|
67770
|
+
"intel-igpu": {
|
|
67771
|
+
"yolov9t-320": {
|
|
67772
|
+
p50Ms: 2.6,
|
|
67773
|
+
fps: 405,
|
|
67774
|
+
measured: true
|
|
67775
|
+
},
|
|
67776
|
+
"yolov9t-320-int8": {
|
|
67777
|
+
p50Ms: 2.8,
|
|
67778
|
+
fps: 324,
|
|
67779
|
+
measured: true
|
|
67780
|
+
},
|
|
67781
|
+
"yolov9t-640": {
|
|
67782
|
+
p50Ms: 6.5,
|
|
67783
|
+
fps: 157,
|
|
67784
|
+
measured: true
|
|
67785
|
+
},
|
|
67786
|
+
"yolov9t-640-int8": {
|
|
67787
|
+
p50Ms: 5.6,
|
|
67788
|
+
fps: 185,
|
|
67789
|
+
measured: true
|
|
67790
|
+
},
|
|
67791
|
+
"yolov9s-320": {
|
|
67792
|
+
p50Ms: 4.6,
|
|
67793
|
+
fps: 200,
|
|
67794
|
+
measured: true
|
|
67795
|
+
},
|
|
67796
|
+
"yolov9s-320-int8": {
|
|
67797
|
+
p50Ms: 4.1,
|
|
67798
|
+
fps: 239,
|
|
67799
|
+
measured: true
|
|
67800
|
+
},
|
|
67801
|
+
"yolov9s-640": {
|
|
67802
|
+
p50Ms: 15.2,
|
|
67803
|
+
fps: 69,
|
|
67804
|
+
measured: true
|
|
67805
|
+
},
|
|
67806
|
+
"yolov9s-640-int8": {
|
|
67807
|
+
p50Ms: 10.5,
|
|
67808
|
+
fps: 99,
|
|
67809
|
+
measured: true
|
|
67810
|
+
},
|
|
67811
|
+
"yolov9m-320": {
|
|
67812
|
+
p50Ms: 11.4,
|
|
67813
|
+
fps: 88,
|
|
67814
|
+
measured: true
|
|
67815
|
+
},
|
|
67816
|
+
"yolov9m-320-int8": {
|
|
67817
|
+
p50Ms: 7,
|
|
67818
|
+
fps: 127,
|
|
67819
|
+
measured: true
|
|
67820
|
+
},
|
|
67821
|
+
"yolov9m-640": {
|
|
67822
|
+
p50Ms: 40,
|
|
67823
|
+
fps: 25,
|
|
67824
|
+
measured: true
|
|
67825
|
+
},
|
|
67826
|
+
"yolov9m-640-int8": {
|
|
67827
|
+
p50Ms: 23.5,
|
|
67828
|
+
fps: 44,
|
|
67829
|
+
measured: true
|
|
67830
|
+
}
|
|
68013
67831
|
},
|
|
68014
|
-
|
|
68015
|
-
|
|
68016
|
-
|
|
68017
|
-
|
|
68018
|
-
|
|
67832
|
+
"x86-cpu": {
|
|
67833
|
+
"yolov9t-320": {
|
|
67834
|
+
p50Ms: 6.9,
|
|
67835
|
+
fps: 145,
|
|
67836
|
+
measured: true
|
|
67837
|
+
},
|
|
67838
|
+
"yolov9t-320-int8": {
|
|
67839
|
+
p50Ms: 2.7,
|
|
67840
|
+
fps: 405,
|
|
67841
|
+
measured: true
|
|
67842
|
+
},
|
|
67843
|
+
"yolov9t-640": {
|
|
67844
|
+
p50Ms: 23,
|
|
67845
|
+
fps: 44,
|
|
67846
|
+
measured: true
|
|
67847
|
+
},
|
|
67848
|
+
"yolov9t-640-int8": {
|
|
67849
|
+
p50Ms: 8.8,
|
|
67850
|
+
fps: 124,
|
|
67851
|
+
measured: true
|
|
67852
|
+
},
|
|
67853
|
+
"yolov9s-320": {
|
|
67854
|
+
p50Ms: 15.8,
|
|
67855
|
+
fps: 63,
|
|
67856
|
+
measured: true
|
|
67857
|
+
},
|
|
67858
|
+
"yolov9s-320-int8": {
|
|
67859
|
+
p50Ms: 6.5,
|
|
67860
|
+
fps: 180,
|
|
67861
|
+
measured: true
|
|
67862
|
+
},
|
|
67863
|
+
"yolov9s-640": {
|
|
67864
|
+
p50Ms: 58.2,
|
|
67865
|
+
fps: 17,
|
|
67866
|
+
measured: true
|
|
67867
|
+
},
|
|
67868
|
+
"yolov9s-640-int8": {
|
|
67869
|
+
p50Ms: 20.1,
|
|
67870
|
+
fps: 52,
|
|
67871
|
+
measured: true
|
|
67872
|
+
},
|
|
67873
|
+
"yolov9m-320": {
|
|
67874
|
+
p50Ms: 40,
|
|
67875
|
+
fps: 25,
|
|
67876
|
+
measured: true
|
|
67877
|
+
},
|
|
67878
|
+
"yolov9m-320-int8": {
|
|
67879
|
+
p50Ms: 14.2,
|
|
67880
|
+
fps: 74,
|
|
67881
|
+
measured: true
|
|
67882
|
+
},
|
|
67883
|
+
"yolov9m-640": {
|
|
67884
|
+
p50Ms: 155.8,
|
|
67885
|
+
fps: 6,
|
|
67886
|
+
measured: true
|
|
67887
|
+
},
|
|
67888
|
+
"yolov9m-640-int8": {
|
|
67889
|
+
p50Ms: 52.4,
|
|
67890
|
+
fps: 19,
|
|
67891
|
+
measured: true
|
|
67892
|
+
}
|
|
68019
67893
|
},
|
|
68020
|
-
|
|
68021
|
-
|
|
68022
|
-
|
|
68023
|
-
|
|
68024
|
-
|
|
67894
|
+
coral: { "yolov9s-320-edgetpu": {
|
|
67895
|
+
p50Ms: 32,
|
|
67896
|
+
fps: 31,
|
|
67897
|
+
measured: false
|
|
67898
|
+
} }
|
|
67899
|
+
},
|
|
67900
|
+
"intel-n-series": {
|
|
67901
|
+
"intel-igpu": {
|
|
67902
|
+
"yolov9t-320": {
|
|
67903
|
+
p50Ms: 15,
|
|
67904
|
+
fps: 48,
|
|
67905
|
+
measured: true
|
|
67906
|
+
},
|
|
67907
|
+
"yolov9t-320-int8": {
|
|
67908
|
+
p50Ms: 14.1,
|
|
67909
|
+
fps: 67,
|
|
67910
|
+
measured: true
|
|
67911
|
+
},
|
|
67912
|
+
"yolov9t-640": {
|
|
67913
|
+
p50Ms: 38.5,
|
|
67914
|
+
fps: 26,
|
|
67915
|
+
measured: true
|
|
67916
|
+
},
|
|
67917
|
+
"yolov9t-640-int8": {
|
|
67918
|
+
p50Ms: 50,
|
|
67919
|
+
fps: 20,
|
|
67920
|
+
measured: true
|
|
67921
|
+
},
|
|
67922
|
+
"yolov9s-320": {
|
|
67923
|
+
p50Ms: 41.4,
|
|
67924
|
+
fps: 24,
|
|
67925
|
+
measured: true
|
|
67926
|
+
},
|
|
67927
|
+
"yolov9s-320-int8": {
|
|
67928
|
+
p50Ms: 23.3,
|
|
67929
|
+
fps: 34,
|
|
67930
|
+
measured: true
|
|
67931
|
+
},
|
|
67932
|
+
"yolov9s-640": {
|
|
67933
|
+
p50Ms: 127.4,
|
|
67934
|
+
fps: 8,
|
|
67935
|
+
measured: true
|
|
67936
|
+
},
|
|
67937
|
+
"yolov9s-640-int8": {
|
|
67938
|
+
p50Ms: 81,
|
|
67939
|
+
fps: 12,
|
|
67940
|
+
measured: true
|
|
67941
|
+
},
|
|
67942
|
+
"yolov9m-320": {
|
|
67943
|
+
p50Ms: 63.5,
|
|
67944
|
+
fps: 16,
|
|
67945
|
+
measured: true
|
|
67946
|
+
},
|
|
67947
|
+
"yolov9m-320-int8": {
|
|
67948
|
+
p50Ms: 66,
|
|
67949
|
+
fps: 15,
|
|
67950
|
+
measured: true
|
|
67951
|
+
},
|
|
67952
|
+
"yolov9m-640": {
|
|
67953
|
+
p50Ms: 215.5,
|
|
67954
|
+
fps: 5,
|
|
67955
|
+
measured: true
|
|
67956
|
+
},
|
|
67957
|
+
"yolov9m-640-int8": {
|
|
67958
|
+
p50Ms: 163,
|
|
67959
|
+
fps: 6,
|
|
67960
|
+
measured: true
|
|
67961
|
+
}
|
|
68025
67962
|
},
|
|
68026
|
-
|
|
68027
|
-
|
|
68028
|
-
|
|
68029
|
-
|
|
68030
|
-
|
|
67963
|
+
"x86-cpu": {
|
|
67964
|
+
"yolov9t-320": {
|
|
67965
|
+
p50Ms: 86.2,
|
|
67966
|
+
fps: 12,
|
|
67967
|
+
measured: true
|
|
67968
|
+
},
|
|
67969
|
+
"yolov9t-320-int8": {
|
|
67970
|
+
p50Ms: 52.7,
|
|
67971
|
+
fps: 20,
|
|
67972
|
+
measured: true
|
|
67973
|
+
},
|
|
67974
|
+
"yolov9t-640": {
|
|
67975
|
+
p50Ms: 322.1,
|
|
67976
|
+
fps: 3,
|
|
67977
|
+
measured: true
|
|
67978
|
+
},
|
|
67979
|
+
"yolov9t-640-int8": {
|
|
67980
|
+
p50Ms: 205.6,
|
|
67981
|
+
fps: 5,
|
|
67982
|
+
measured: true
|
|
67983
|
+
},
|
|
67984
|
+
"yolov9s-320": {
|
|
67985
|
+
p50Ms: 164.4,
|
|
67986
|
+
fps: 6,
|
|
67987
|
+
measured: true
|
|
67988
|
+
},
|
|
67989
|
+
"yolov9s-320-int8": {
|
|
67990
|
+
p50Ms: 86.9,
|
|
67991
|
+
fps: 12,
|
|
67992
|
+
measured: true
|
|
67993
|
+
},
|
|
67994
|
+
"yolov9s-640": {
|
|
67995
|
+
p50Ms: 341.3,
|
|
67996
|
+
fps: 3,
|
|
67997
|
+
measured: true
|
|
67998
|
+
},
|
|
67999
|
+
"yolov9s-640-int8": {
|
|
68000
|
+
p50Ms: 185.3,
|
|
68001
|
+
fps: 5,
|
|
68002
|
+
measured: true
|
|
68003
|
+
},
|
|
68004
|
+
"yolov9m-320": {
|
|
68005
|
+
p50Ms: 166.8,
|
|
68006
|
+
fps: 6,
|
|
68007
|
+
measured: true
|
|
68008
|
+
},
|
|
68009
|
+
"yolov9m-320-int8": {
|
|
68010
|
+
p50Ms: 226.3,
|
|
68011
|
+
fps: 4,
|
|
68012
|
+
measured: true
|
|
68013
|
+
},
|
|
68014
|
+
"yolov9m-640": {
|
|
68015
|
+
p50Ms: 663.5,
|
|
68016
|
+
fps: 2,
|
|
68017
|
+
measured: true
|
|
68018
|
+
},
|
|
68019
|
+
"yolov9m-640-int8": {
|
|
68020
|
+
p50Ms: 324.4,
|
|
68021
|
+
fps: 3,
|
|
68022
|
+
measured: true
|
|
68023
|
+
}
|
|
68031
68024
|
},
|
|
68032
|
-
|
|
68033
|
-
|
|
68034
|
-
|
|
68035
|
-
|
|
68036
|
-
|
|
68037
|
-
|
|
68038
|
-
|
|
68039
|
-
|
|
68040
|
-
|
|
68041
|
-
|
|
68025
|
+
coral: { "yolov9s-320-edgetpu": {
|
|
68026
|
+
p50Ms: 32,
|
|
68027
|
+
fps: 31,
|
|
68028
|
+
measured: false
|
|
68029
|
+
} }
|
|
68030
|
+
},
|
|
68031
|
+
"amd-phoenix": {
|
|
68032
|
+
"x86-cpu": {
|
|
68033
|
+
"yolov9t-320": {
|
|
68034
|
+
p50Ms: 24,
|
|
68035
|
+
fps: 42,
|
|
68036
|
+
measured: true
|
|
68037
|
+
},
|
|
68038
|
+
"yolov9t-320-int8": {
|
|
68039
|
+
p50Ms: 12,
|
|
68040
|
+
fps: 83,
|
|
68041
|
+
measured: true
|
|
68042
|
+
},
|
|
68043
|
+
"yolov9t-640": {
|
|
68044
|
+
p50Ms: 50,
|
|
68045
|
+
fps: 20,
|
|
68046
|
+
measured: true
|
|
68047
|
+
},
|
|
68048
|
+
"yolov9t-640-int8": {
|
|
68049
|
+
p50Ms: 20,
|
|
68050
|
+
fps: 50,
|
|
68051
|
+
measured: true
|
|
68052
|
+
},
|
|
68053
|
+
"yolov9s-320": {
|
|
68054
|
+
p50Ms: 30,
|
|
68055
|
+
fps: 33,
|
|
68056
|
+
measured: true
|
|
68057
|
+
},
|
|
68058
|
+
"yolov9s-320-int8": {
|
|
68059
|
+
p50Ms: 15,
|
|
68060
|
+
fps: 67,
|
|
68061
|
+
measured: true
|
|
68062
|
+
},
|
|
68063
|
+
"yolov9s-640": {
|
|
68064
|
+
p50Ms: 92,
|
|
68065
|
+
fps: 11,
|
|
68066
|
+
measured: true
|
|
68067
|
+
},
|
|
68068
|
+
"yolov9s-640-int8": {
|
|
68069
|
+
p50Ms: 27,
|
|
68070
|
+
fps: 37,
|
|
68071
|
+
measured: true
|
|
68072
|
+
},
|
|
68073
|
+
"yolov9m-320": {
|
|
68074
|
+
p50Ms: 67,
|
|
68075
|
+
fps: 15,
|
|
68076
|
+
measured: true
|
|
68077
|
+
},
|
|
68078
|
+
"yolov9m-320-int8": {
|
|
68079
|
+
p50Ms: 21,
|
|
68080
|
+
fps: 48,
|
|
68081
|
+
measured: true
|
|
68082
|
+
},
|
|
68083
|
+
"yolov9m-640": {
|
|
68084
|
+
p50Ms: 229,
|
|
68085
|
+
fps: 4,
|
|
68086
|
+
measured: true
|
|
68087
|
+
},
|
|
68088
|
+
"yolov9m-640-int8": {
|
|
68089
|
+
p50Ms: 48,
|
|
68090
|
+
fps: 21,
|
|
68091
|
+
measured: true
|
|
68092
|
+
}
|
|
68093
|
+
},
|
|
68094
|
+
"amd-igpu": {
|
|
68095
|
+
"yolov9t-320": {
|
|
68096
|
+
p50Ms: 40,
|
|
68097
|
+
fps: 25,
|
|
68098
|
+
measured: true
|
|
68099
|
+
},
|
|
68100
|
+
"yolov9t-640": {
|
|
68101
|
+
p50Ms: 89,
|
|
68102
|
+
fps: 11,
|
|
68103
|
+
measured: true
|
|
68104
|
+
},
|
|
68105
|
+
"yolov9s-320": {
|
|
68106
|
+
p50Ms: 65,
|
|
68107
|
+
fps: 15,
|
|
68108
|
+
measured: true
|
|
68109
|
+
},
|
|
68110
|
+
"yolov9s-640": {
|
|
68111
|
+
p50Ms: 125,
|
|
68112
|
+
fps: 8,
|
|
68113
|
+
measured: true
|
|
68114
|
+
},
|
|
68115
|
+
"yolov9m-320": {
|
|
68116
|
+
p50Ms: 85,
|
|
68117
|
+
fps: 12,
|
|
68118
|
+
measured: true
|
|
68119
|
+
},
|
|
68120
|
+
"yolov9m-640": {
|
|
68121
|
+
p50Ms: 228,
|
|
68122
|
+
fps: 4,
|
|
68123
|
+
measured: true
|
|
68124
|
+
}
|
|
68125
|
+
},
|
|
68126
|
+
coral: { "yolov9s-320-edgetpu": {
|
|
68127
|
+
p50Ms: 32,
|
|
68128
|
+
fps: 31,
|
|
68129
|
+
measured: true
|
|
68130
|
+
} }
|
|
68131
|
+
},
|
|
68132
|
+
"apple-m-pro": {
|
|
68133
|
+
"apple-ane": {
|
|
68134
|
+
"yolov9t-320": {
|
|
68135
|
+
p50Ms: 1.1,
|
|
68136
|
+
fps: 952,
|
|
68137
|
+
measured: true
|
|
68138
|
+
},
|
|
68139
|
+
"yolov9t-640": {
|
|
68140
|
+
p50Ms: 3,
|
|
68141
|
+
fps: 333,
|
|
68142
|
+
measured: true
|
|
68143
|
+
},
|
|
68144
|
+
"yolov9s-320": {
|
|
68145
|
+
p50Ms: 1.5,
|
|
68146
|
+
fps: 667,
|
|
68147
|
+
measured: true
|
|
68148
|
+
},
|
|
68149
|
+
"yolov9s-640": {
|
|
68150
|
+
p50Ms: 5.1,
|
|
68151
|
+
fps: 196,
|
|
68152
|
+
measured: true
|
|
68153
|
+
},
|
|
68154
|
+
"yolov9m-320": {
|
|
68155
|
+
p50Ms: 3.2,
|
|
68156
|
+
fps: 312,
|
|
68157
|
+
measured: true
|
|
68158
|
+
},
|
|
68159
|
+
"yolov9m-640": {
|
|
68160
|
+
p50Ms: 10.2,
|
|
68161
|
+
fps: 98,
|
|
68162
|
+
measured: true
|
|
68163
|
+
}
|
|
68164
|
+
},
|
|
68165
|
+
coral: { "yolov9s-320-edgetpu": {
|
|
68166
|
+
p50Ms: 32,
|
|
68167
|
+
fps: 31,
|
|
68168
|
+
measured: false
|
|
68169
|
+
} }
|
|
68170
|
+
},
|
|
68171
|
+
"apple-m-base": {
|
|
68172
|
+
"apple-ane": {
|
|
68173
|
+
"yolov9t-320": {
|
|
68174
|
+
p50Ms: 1.32,
|
|
68175
|
+
fps: 758,
|
|
68176
|
+
measured: false
|
|
68177
|
+
},
|
|
68178
|
+
"yolov9t-640": {
|
|
68179
|
+
p50Ms: 3.45,
|
|
68180
|
+
fps: 290,
|
|
68181
|
+
measured: true
|
|
68182
|
+
},
|
|
68183
|
+
"yolov9s-320": {
|
|
68184
|
+
p50Ms: 1.8,
|
|
68185
|
+
fps: 556,
|
|
68186
|
+
measured: false
|
|
68187
|
+
},
|
|
68188
|
+
"yolov9s-640": {
|
|
68189
|
+
p50Ms: 5.46,
|
|
68190
|
+
fps: 183,
|
|
68191
|
+
measured: true
|
|
68192
|
+
},
|
|
68193
|
+
"yolov9m-320": {
|
|
68194
|
+
p50Ms: 3.79,
|
|
68195
|
+
fps: 264,
|
|
68196
|
+
measured: true
|
|
68197
|
+
},
|
|
68198
|
+
"yolov9m-640": {
|
|
68199
|
+
p50Ms: 10.34,
|
|
68200
|
+
fps: 97,
|
|
68201
|
+
measured: true
|
|
68202
|
+
}
|
|
68203
|
+
},
|
|
68204
|
+
coral: { "yolov9s-320-edgetpu": {
|
|
68205
|
+
p50Ms: 32,
|
|
68206
|
+
fps: 31,
|
|
68207
|
+
measured: false
|
|
68208
|
+
} }
|
|
68209
|
+
}
|
|
68210
|
+
};
|
|
68211
|
+
var DETECTOR_ACCURACY = {
|
|
68212
|
+
"yolov9m-320": {
|
|
68213
|
+
personPrecision: .979,
|
|
68214
|
+
personRecall: .649
|
|
68215
|
+
},
|
|
68216
|
+
"yolov9m-320-int8": {
|
|
68217
|
+
personPrecision: .974,
|
|
68218
|
+
personRecall: .684
|
|
68219
|
+
},
|
|
68220
|
+
"yolov9m-640": {
|
|
68221
|
+
personPrecision: .976,
|
|
68222
|
+
personRecall: .854
|
|
68223
|
+
},
|
|
68224
|
+
"yolov9m-640-int8": {
|
|
68225
|
+
personPrecision: .976,
|
|
68226
|
+
personRecall: .847
|
|
68227
|
+
},
|
|
68228
|
+
"yolov9s-320": {
|
|
68229
|
+
personPrecision: .958,
|
|
68230
|
+
personRecall: .479
|
|
68231
|
+
},
|
|
68232
|
+
"yolov9s-320-int8": {
|
|
68233
|
+
personPrecision: .969,
|
|
68234
|
+
personRecall: .438
|
|
68235
|
+
},
|
|
68236
|
+
"yolov9s-640": {
|
|
68237
|
+
personPrecision: .986,
|
|
68238
|
+
personRecall: .753
|
|
68239
|
+
},
|
|
68240
|
+
"yolov9s-640-int8": {
|
|
68241
|
+
personPrecision: .963,
|
|
68242
|
+
personRecall: .823
|
|
68243
|
+
},
|
|
68244
|
+
"yolov9t-320": {
|
|
68245
|
+
personPrecision: .946,
|
|
68246
|
+
personRecall: .368
|
|
68247
|
+
},
|
|
68248
|
+
"yolov9t-320-int8": {
|
|
68249
|
+
personPrecision: .943,
|
|
68250
|
+
personRecall: .347
|
|
68251
|
+
},
|
|
68252
|
+
"yolov9t-640": {
|
|
68253
|
+
personPrecision: .979,
|
|
68254
|
+
personRecall: .646
|
|
68255
|
+
},
|
|
68256
|
+
"yolov9t-640-int8": {
|
|
68257
|
+
personPrecision: .979,
|
|
68258
|
+
personRecall: .646
|
|
68259
|
+
}
|
|
68042
68260
|
};
|
|
68043
68261
|
//#endregion
|
|
68044
|
-
//#region src/
|
|
68262
|
+
//#region src/pipeline/auto-tune/accelerator-compute.ts
|
|
68263
|
+
/**
|
|
68264
|
+
* Capacity of an accelerator we have not measured (D930).
|
|
68265
|
+
*
|
|
68266
|
+
* The latency table stays the measured columns. A device that reports compute
|
|
68267
|
+
* (OpenVINO GOPS, or execution units × clock, or compute units, or TOPS) is
|
|
68268
|
+
* estimated from the nearest measured column of the same accelerator kind,
|
|
68269
|
+
* scaled by the compute ratio and clamped. A node benchmark still replaces
|
|
68270
|
+
* the estimate. A device that reports neither compute nor a known class stays
|
|
68271
|
+
* `unknown`.
|
|
68272
|
+
*
|
|
68273
|
+
* A failed probe field is `null`, never `0` (D393): zero would be a compute
|
|
68274
|
+
* ratio of zero and would size the device as if it could not run.
|
|
68275
|
+
*/
|
|
68276
|
+
/**
|
|
68277
|
+
* An unmeasured device is never estimated outside this band of its reference.
|
|
68278
|
+
*
|
|
68279
|
+
* Peak GOPS and detector latency do not move together: a 640 model is memory
|
|
68280
|
+
* bound, a 320 model less so, and the N100→N305 public EU×clock ratio is
|
|
68281
|
+
* about 2.2×. 2× is the widest that spread justifies without a measurement
|
|
68282
|
+
* on the device; 0.5× is the symmetric floor so a tiny iGPU is not told it
|
|
68283
|
+
* is many times slower than the weakest column we measured. A node benchmark
|
|
68284
|
+
* replaces the estimate and is not clamped.
|
|
68285
|
+
*/
|
|
68286
|
+
var ESTIMATE_COMPUTE_RATIO_MIN = .5;
|
|
68287
|
+
var ESTIMATE_COMPUTE_RATIO_MAX = 2;
|
|
68288
|
+
/**
|
|
68289
|
+
* Within this of 1.0, a device whose class IS the reference is that measured
|
|
68290
|
+
* machine (a probe clock a few percent off the spec), not a different chip.
|
|
68291
|
+
* An unknown class is still estimated, so the plan says so.
|
|
68292
|
+
*/
|
|
68293
|
+
var REFERENCE_MATCH_FRACTION = .05;
|
|
68294
|
+
/** N100 iGPU: 24 execution units, 750 MHz graphics max (Intel specification). */
|
|
68295
|
+
var N100_IGPU_EU = 24;
|
|
68296
|
+
var N100_IGPU_CLOCK_MHZ = 750;
|
|
68297
|
+
/**
|
|
68298
|
+
* Core Ultra 7 265K iGPU: 4 Xe-cores. OpenVINO's execution-unit count for
|
|
68299
|
+
* Xe-LP is 16 per Xe-core, and the graphics max dynamic frequency is 2000 MHz.
|
|
68300
|
+
* Used only to choose the nearest column for a chip that is not itself a
|
|
68301
|
+
* Core Ultra — that class is the measurement and is never scaled.
|
|
68302
|
+
*/
|
|
68303
|
+
var CORE_ULTRA_265K_IGPU_EU = 64;
|
|
68304
|
+
var CORE_ULTRA_265K_IGPU_CLOCK_MHZ = 2e3;
|
|
68305
|
+
/** Phoenix / Hawk Point Radeon 780M: 12 compute units. */
|
|
68306
|
+
var PHOENIX_780M_CU = 12;
|
|
68307
|
+
var positiveOrNull = z.number().nullable().transform((value) => value !== null && Number.isFinite(value) && value > 0 ? value : null);
|
|
68308
|
+
var textOrNull = z.string().nullable().transform((value) => value !== null && value.trim() !== "" ? value : null);
|
|
68309
|
+
var PrecisionGopsSchema = z.object({
|
|
68310
|
+
int8: positiveOrNull,
|
|
68311
|
+
fp16: positiveOrNull
|
|
68312
|
+
});
|
|
68313
|
+
/** What one accelerator device reported. Every failed query is null. */
|
|
68314
|
+
var AcceleratorComputeSchema = z.object({
|
|
68315
|
+
deviceKey: z.string(),
|
|
68316
|
+
fullDeviceName: textOrNull,
|
|
68317
|
+
executionUnits: positiveOrNull,
|
|
68318
|
+
clockMHz: positiveOrNull,
|
|
68319
|
+
gops: PrecisionGopsSchema.nullable(),
|
|
68320
|
+
architecture: textOrNull,
|
|
68321
|
+
npuName: textOrNull,
|
|
68322
|
+
tops: positiveOrNull,
|
|
68323
|
+
vendor: textOrNull,
|
|
68324
|
+
webgpuArchitecture: textOrNull,
|
|
68325
|
+
webgpuDevice: textOrNull,
|
|
68326
|
+
computeUnits: positiveOrNull
|
|
68327
|
+
});
|
|
68328
|
+
var AcceleratorFactsPayloadSchema = z.object({ accelerators: z.array(AcceleratorComputeSchema).nullable() });
|
|
68329
|
+
/**
|
|
68330
|
+
* Compute of the machines the latency columns were measured on.
|
|
68331
|
+
* GOPS is preferred when a column carries it; none of these do yet — the
|
|
68332
|
+
* boxes were measured before the probe reported `DEVICE_GOPS` — so the scale
|
|
68333
|
+
* uses execution units × clock (Intel) or compute units (AMD) until a
|
|
68334
|
+
* re-measure locks a GOPS figure on the column.
|
|
68335
|
+
*/
|
|
68336
|
+
var REFERENCE_COMPUTE = [
|
|
68337
|
+
{
|
|
68338
|
+
hardwareClass: "intel-n-series",
|
|
68339
|
+
accelerator: "intel-igpu",
|
|
68340
|
+
score: {
|
|
68341
|
+
metric: "eu-mhz",
|
|
68342
|
+
value: 24 * 750
|
|
68343
|
+
}
|
|
68344
|
+
},
|
|
68345
|
+
{
|
|
68346
|
+
hardwareClass: "intel-core-ultra",
|
|
68347
|
+
accelerator: "intel-igpu",
|
|
68348
|
+
score: {
|
|
68349
|
+
metric: "eu-mhz",
|
|
68350
|
+
value: 64 * CORE_ULTRA_265K_IGPU_CLOCK_MHZ
|
|
68351
|
+
}
|
|
68352
|
+
},
|
|
68353
|
+
{
|
|
68354
|
+
hardwareClass: "amd-phoenix",
|
|
68355
|
+
accelerator: "amd-igpu",
|
|
68356
|
+
score: {
|
|
68357
|
+
metric: "cu",
|
|
68358
|
+
value: 12
|
|
68359
|
+
}
|
|
68360
|
+
}
|
|
68361
|
+
];
|
|
68362
|
+
/** Parse a probe payload. `null` means the probe failed — not "no accelerators". */
|
|
68363
|
+
function parseAcceleratorFactsJson(raw) {
|
|
68364
|
+
const parsed = AcceleratorFactsPayloadSchema.safeParse(raw);
|
|
68365
|
+
if (!parsed.success || parsed.data.accelerators === null) return null;
|
|
68366
|
+
return parsed.data.accelerators;
|
|
68367
|
+
}
|
|
68368
|
+
function positive$1(value) {
|
|
68369
|
+
return value !== null && value > 0 ? value : null;
|
|
68370
|
+
}
|
|
68371
|
+
/** Scores in the order the estimate prefers. A non-positive field is absent. */
|
|
68372
|
+
function computeScores(report) {
|
|
68373
|
+
const scores = [];
|
|
68374
|
+
const int8 = positive$1(report.gops?.int8 ?? null);
|
|
68375
|
+
if (int8 !== null) scores.push({
|
|
68376
|
+
metric: "gops-int8",
|
|
68377
|
+
value: int8
|
|
68378
|
+
});
|
|
68379
|
+
const fp16 = positive$1(report.gops?.fp16 ?? null);
|
|
68380
|
+
if (fp16 !== null) scores.push({
|
|
68381
|
+
metric: "gops-fp16",
|
|
68382
|
+
value: fp16
|
|
68383
|
+
});
|
|
68384
|
+
const units = positive$1(report.executionUnits);
|
|
68385
|
+
const clock = positive$1(report.clockMHz);
|
|
68386
|
+
if (units !== null && clock !== null) scores.push({
|
|
68387
|
+
metric: "eu-mhz",
|
|
68388
|
+
value: units * clock
|
|
68389
|
+
});
|
|
68390
|
+
const computeUnits = positive$1(report.computeUnits);
|
|
68391
|
+
if (computeUnits !== null) scores.push({
|
|
68392
|
+
metric: "cu",
|
|
68393
|
+
value: computeUnits
|
|
68394
|
+
});
|
|
68395
|
+
const tops = positive$1(report.tops);
|
|
68396
|
+
if (tops !== null) scores.push({
|
|
68397
|
+
metric: "tops",
|
|
68398
|
+
value: tops
|
|
68399
|
+
});
|
|
68400
|
+
return scores;
|
|
68401
|
+
}
|
|
68402
|
+
function nearestReference(kind, score, references) {
|
|
68403
|
+
const same = references.filter((ref) => ref.accelerator === kind && ref.score.metric === score.metric && ref.score.value > 0);
|
|
68404
|
+
const first = same[0];
|
|
68405
|
+
if (first === void 0) return null;
|
|
68406
|
+
return same.reduce((best, ref) => {
|
|
68407
|
+
return Math.abs(Math.log(score.value / ref.score.value)) < Math.abs(Math.log(score.value / best.score.value)) ? ref : best;
|
|
68408
|
+
}, first);
|
|
68409
|
+
}
|
|
68410
|
+
function scoreAgainstReferences(report, kind, references) {
|
|
68411
|
+
for (const score of computeScores(report)) if (nearestReference(kind, score, references) !== null) return score;
|
|
68412
|
+
return null;
|
|
68413
|
+
}
|
|
68414
|
+
/** True when this report can scale a measured column of `kind`. */
|
|
68415
|
+
function reportIsScalable(report, kind, references = REFERENCE_COMPUTE) {
|
|
68416
|
+
return scoreAgainstReferences(report, kind, references) !== null;
|
|
68417
|
+
}
|
|
68418
|
+
function classColumn(perf, hardwareClass, accelerator) {
|
|
68419
|
+
if (hardwareClass === "unknown") return void 0;
|
|
68420
|
+
return perf[hardwareClass]?.[accelerator];
|
|
68421
|
+
}
|
|
68422
|
+
function round1(value) {
|
|
68423
|
+
return Math.round(value * 10) / 10;
|
|
68424
|
+
}
|
|
68425
|
+
function clampRatio(ratio) {
|
|
68426
|
+
return Math.min(2, Math.max(ESTIMATE_COMPUTE_RATIO_MIN, ratio));
|
|
68427
|
+
}
|
|
68428
|
+
function scaleColumn(column, ratio, estimatedFrom) {
|
|
68429
|
+
const out = {};
|
|
68430
|
+
for (const [modelId, cell] of Object.entries(column)) out[modelId] = {
|
|
68431
|
+
p50Ms: round1(cell.p50Ms / ratio),
|
|
68432
|
+
fps: Math.max(1, Math.round(cell.fps * ratio)),
|
|
68433
|
+
measured: false,
|
|
68434
|
+
estimatedFrom
|
|
68435
|
+
};
|
|
68436
|
+
return out;
|
|
68437
|
+
}
|
|
68045
68438
|
/**
|
|
68046
|
-
*
|
|
68047
|
-
*
|
|
68048
|
-
*
|
|
68049
|
-
*
|
|
68050
|
-
* slice.
|
|
68051
|
-
*
|
|
68052
|
-
* `state` follows HA's canonical values — `home` / `not_home` /
|
|
68053
|
-
* `<zone-name>` for any other named zone. The zone name is freeform
|
|
68054
|
-
* because users define arbitrary zones (`work`, `gym`, `school`).
|
|
68055
|
-
*
|
|
68056
|
-
* GPS coordinates are nullable — tracker types without location
|
|
68057
|
-
* (Bluetooth scanner, MQTT presence) omit them. The presence of
|
|
68058
|
-
* GPS data is signaled by `DeviceFeature.PresenceGps` for fast
|
|
68059
|
-
* UI map-pin rendering.
|
|
68439
|
+
* The latency column for one device. A measured class other than the N-series
|
|
68440
|
+
* spread is returned unchanged — one class there is one measured machine.
|
|
68441
|
+
* `intel-n-series` is the N100 column; a different reported compute scales it.
|
|
68442
|
+
* An unknown class scales from the nearest reference of the same kind.
|
|
68060
68443
|
*/
|
|
68061
|
-
|
|
68062
|
-
|
|
68063
|
-
|
|
68064
|
-
|
|
68065
|
-
|
|
68066
|
-
|
|
68067
|
-
|
|
68068
|
-
}
|
|
68069
|
-
|
|
68070
|
-
|
|
68071
|
-
|
|
68072
|
-
|
|
68073
|
-
|
|
68074
|
-
|
|
68075
|
-
|
|
68076
|
-
|
|
68077
|
-
|
|
68078
|
-
|
|
68079
|
-
|
|
68080
|
-
|
|
68444
|
+
function resolveLatencyColumn(input) {
|
|
68445
|
+
const perf = input.perf ?? DETECTOR_PERF;
|
|
68446
|
+
const references = input.references ?? REFERENCE_COMPUTE;
|
|
68447
|
+
const measured = classColumn(perf, input.hardwareClass, input.accelerator);
|
|
68448
|
+
if (measured !== void 0 && input.hardwareClass !== "intel-n-series") return {
|
|
68449
|
+
column: measured,
|
|
68450
|
+
estimatedFrom: null
|
|
68451
|
+
};
|
|
68452
|
+
const score = input.report === null ? null : scoreAgainstReferences(input.report, input.accelerator, references);
|
|
68453
|
+
if (score === null) return measured === void 0 ? null : {
|
|
68454
|
+
column: measured,
|
|
68455
|
+
estimatedFrom: null
|
|
68456
|
+
};
|
|
68457
|
+
const nearest = nearestReference(input.accelerator, score, references);
|
|
68458
|
+
const base = nearest === null ? void 0 : classColumn(perf, nearest.hardwareClass, input.accelerator);
|
|
68459
|
+
if (nearest === null || base === void 0) return measured === void 0 ? null : {
|
|
68460
|
+
column: measured,
|
|
68461
|
+
estimatedFrom: null
|
|
68462
|
+
};
|
|
68463
|
+
const rawRatio = score.value / nearest.score.value;
|
|
68464
|
+
if (input.hardwareClass === nearest.hardwareClass && Math.abs(rawRatio - 1) <= .05) return {
|
|
68465
|
+
column: base,
|
|
68466
|
+
estimatedFrom: null
|
|
68467
|
+
};
|
|
68468
|
+
return {
|
|
68469
|
+
column: scaleColumn(base, clampRatio(rawRatio), nearest.hardwareClass),
|
|
68470
|
+
estimatedFrom: nearest.hardwareClass
|
|
68471
|
+
};
|
|
68472
|
+
}
|
|
68473
|
+
//#endregion
|
|
68474
|
+
//#region src/capabilities/platform-probe.cap.ts
|
|
68475
|
+
var ModelFormatSchema = z.enum(MODEL_FORMATS);
|
|
68476
|
+
var HwAccelBackendInputSchema = z.enum([
|
|
68477
|
+
"videotoolbox",
|
|
68478
|
+
"cuda",
|
|
68479
|
+
"nvdec",
|
|
68480
|
+
"vaapi",
|
|
68481
|
+
"qsv",
|
|
68482
|
+
"d3d11va",
|
|
68483
|
+
"dxva2",
|
|
68484
|
+
"amf",
|
|
68485
|
+
"vdpau",
|
|
68486
|
+
"drm",
|
|
68487
|
+
"coreml",
|
|
68488
|
+
"tensorrt",
|
|
68489
|
+
"openvino",
|
|
68490
|
+
"directml",
|
|
68491
|
+
"webgpu",
|
|
68492
|
+
"none"
|
|
68493
|
+
]).nullable().optional();
|
|
68494
|
+
var HwAccelResolutionSchema = z.object({
|
|
68495
|
+
preferred: z.array(z.string()).readonly(),
|
|
68496
|
+
rationale: z.string()
|
|
68497
|
+
});
|
|
68498
|
+
var HardwareEncoderIdSchema = z.enum([
|
|
68499
|
+
"h264_videotoolbox",
|
|
68500
|
+
"hevc_videotoolbox",
|
|
68501
|
+
"h264_vaapi",
|
|
68502
|
+
"hevc_vaapi",
|
|
68503
|
+
"h264_nvenc",
|
|
68504
|
+
"hevc_nvenc",
|
|
68505
|
+
"h264_qsv",
|
|
68506
|
+
"hevc_qsv",
|
|
68507
|
+
"h264_amf",
|
|
68508
|
+
"hevc_amf",
|
|
68509
|
+
"libx264",
|
|
68510
|
+
"libx265"
|
|
68511
|
+
]);
|
|
68512
|
+
var HardwareEncoderProbeSchema = z.object({
|
|
68513
|
+
encoder: HardwareEncoderIdSchema,
|
|
68514
|
+
codec: z.enum(["H264", "H265"]),
|
|
68515
|
+
family: z.enum([
|
|
68516
|
+
"videotoolbox",
|
|
68517
|
+
"vaapi",
|
|
68518
|
+
"nvenc",
|
|
68519
|
+
"qsv",
|
|
68520
|
+
"amf",
|
|
68521
|
+
"software"
|
|
68522
|
+
]),
|
|
68523
|
+
available: z.boolean(),
|
|
68524
|
+
reason: z.string().optional()
|
|
68525
|
+
});
|
|
68526
|
+
z.object({
|
|
68527
|
+
encoders: z.array(HardwareEncoderProbeSchema).readonly(),
|
|
68528
|
+
defaultH264: HardwareEncoderIdSchema,
|
|
68529
|
+
defaultH265: HardwareEncoderIdSchema,
|
|
68530
|
+
probedAt: z.number()
|
|
68531
|
+
});
|
|
68532
|
+
z.object({
|
|
68533
|
+
methods: z.array(z.string()).readonly(),
|
|
68534
|
+
probedAt: z.number()
|
|
68535
|
+
});
|
|
68536
|
+
var HardwarePlatformSchema = z.enum([
|
|
68537
|
+
"darwin",
|
|
68538
|
+
"linux",
|
|
68539
|
+
"win32"
|
|
68540
|
+
]);
|
|
68541
|
+
var HardwareArchSchema = z.enum(["arm64", "x64"]);
|
|
68542
|
+
var GpuInfoSchema = z.object({
|
|
68543
|
+
type: z.enum([
|
|
68544
|
+
"nvidia",
|
|
68545
|
+
"amd",
|
|
68546
|
+
"intel",
|
|
68547
|
+
"apple"
|
|
68548
|
+
]),
|
|
68549
|
+
name: z.string(),
|
|
68550
|
+
memoryMB: z.number().optional()
|
|
68551
|
+
});
|
|
68552
|
+
var NpuInfoSchema = z.object({
|
|
68553
|
+
type: z.enum([
|
|
68554
|
+
"apple-ane",
|
|
68555
|
+
"intel-npu",
|
|
68556
|
+
"amd-xdna"
|
|
68557
|
+
]),
|
|
68558
|
+
name: z.string().optional(),
|
|
68559
|
+
generation: z.enum(["xdna1", "xdna2"]).optional()
|
|
68560
|
+
});
|
|
68561
|
+
var CoralBusSchema = z.enum(["usb", "pci"]);
|
|
68562
|
+
var CoralInfoSchema = z.object({
|
|
68563
|
+
type: z.literal("coral-edgetpu"),
|
|
68564
|
+
/** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
|
|
68565
|
+
bus: z.string().optional(),
|
|
68566
|
+
/** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
|
|
68567
|
+
count: z.number().int().nonnegative().optional(),
|
|
68568
|
+
/** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
|
|
68569
|
+
units: z.array(z.object({
|
|
68570
|
+
bus: CoralBusSchema,
|
|
68571
|
+
count: z.number().int().nonnegative()
|
|
68572
|
+
})).readonly().optional(),
|
|
68573
|
+
/** Present-but-unusable units, each with its typed reason (never "absent"). */
|
|
68574
|
+
unavailable: z.array(z.object({
|
|
68575
|
+
bus: CoralBusSchema,
|
|
68576
|
+
count: z.number().int().nonnegative(),
|
|
68577
|
+
reason: z.enum(["driver-missing", "device-not-accessible"])
|
|
68578
|
+
})).readonly().optional()
|
|
68579
|
+
});
|
|
68580
|
+
var HardwareInfoSchema = z.object({
|
|
68581
|
+
platform: HardwarePlatformSchema,
|
|
68582
|
+
arch: HardwareArchSchema,
|
|
68583
|
+
cpuModel: z.string(),
|
|
68584
|
+
cpuCores: z.number(),
|
|
68585
|
+
totalRAM_MB: z.number(),
|
|
68586
|
+
availableRAM_MB: z.number(),
|
|
68587
|
+
gpu: GpuInfoSchema.nullable(),
|
|
68588
|
+
npu: NpuInfoSchema.nullable(),
|
|
68589
|
+
coral: CoralInfoSchema.nullable().optional(),
|
|
68590
|
+
/**
|
|
68591
|
+
* Per-accelerator compute (D930). Omitted by a node that has not probed it.
|
|
68592
|
+
* `null` fields inside an entry are a failed query, never a zero.
|
|
68593
|
+
*/
|
|
68594
|
+
accelerators: z.array(AcceleratorComputeSchema).readonly().optional()
|
|
68595
|
+
});
|
|
68596
|
+
var PlatformScoreSchema = z.object({
|
|
68597
|
+
runtime: z.literal("python"),
|
|
68598
|
+
backend: z.string(),
|
|
68599
|
+
format: z.enum([
|
|
68600
|
+
"onnx",
|
|
68601
|
+
"coreml",
|
|
68602
|
+
"openvino",
|
|
68603
|
+
"tflite"
|
|
68604
|
+
]),
|
|
68605
|
+
score: z.number(),
|
|
68606
|
+
reason: z.string(),
|
|
68607
|
+
available: z.boolean()
|
|
68608
|
+
});
|
|
68609
|
+
var InferenceDeviceDescriptorSchema = z.object({
|
|
68610
|
+
key: z.string(),
|
|
68611
|
+
backend: z.string(),
|
|
68612
|
+
device: z.string(),
|
|
68613
|
+
format: ModelFormatSchema,
|
|
68614
|
+
runtime: z.literal("python"),
|
|
68615
|
+
score: z.number(),
|
|
68616
|
+
available: z.boolean()
|
|
68617
|
+
});
|
|
68618
|
+
var PlatformCapabilitiesSchema = z.object({
|
|
68619
|
+
hardware: HardwareInfoSchema,
|
|
68620
|
+
scores: z.array(PlatformScoreSchema).readonly(),
|
|
68621
|
+
bestScore: PlatformScoreSchema,
|
|
68622
|
+
pythonPath: z.string().nullable(),
|
|
68623
|
+
devices: z.array(InferenceDeviceDescriptorSchema).readonly()
|
|
68624
|
+
});
|
|
68625
|
+
var ModelRequirementSchema = z.object({
|
|
68626
|
+
modelId: z.string(),
|
|
68627
|
+
name: z.string(),
|
|
68628
|
+
minRAM_MB: z.number(),
|
|
68629
|
+
accuracyScore: z.number(),
|
|
68630
|
+
formats: z.array(z.string()).readonly()
|
|
68631
|
+
});
|
|
68632
|
+
var ResolvedInferenceConfigSchema = z.object({
|
|
68633
|
+
modelId: z.string(),
|
|
68634
|
+
runtime: z.literal("python"),
|
|
68635
|
+
backend: z.string(),
|
|
68636
|
+
format: ModelFormatSchema,
|
|
68637
|
+
reason: z.string()
|
|
68638
|
+
});
|
|
68639
|
+
/**
|
|
68640
|
+
* The answer of an accelerator rescan (D919): the node's device list after
|
|
68641
|
+
* the re-probe, what changed, and the evidence that decided the Coral answer
|
|
68642
|
+
* (`usbBus` — could the USB bus be read at all; `decidedBy` — USB ids, the PCI
|
|
68643
|
+
* bus, the installed-delegate fallback, or nothing).
|
|
68644
|
+
*/
|
|
68645
|
+
var AcceleratorRescanSchema = z.object({
|
|
68646
|
+
devices: z.array(InferenceDeviceDescriptorSchema).readonly(),
|
|
68647
|
+
appeared: z.array(z.string()).readonly(),
|
|
68648
|
+
disappeared: z.array(z.string()).readonly(),
|
|
68649
|
+
usbBus: z.enum(["observed", "unobservable"]),
|
|
68650
|
+
decidedBy: z.enum([
|
|
68651
|
+
"usb-ids",
|
|
68652
|
+
"pci",
|
|
68653
|
+
"delegate-fallback",
|
|
68654
|
+
"none"
|
|
68655
|
+
])
|
|
68656
|
+
});
|
|
68657
|
+
var platformProbeCapability = {
|
|
68658
|
+
name: "platform-probe",
|
|
68659
|
+
scope: "system",
|
|
68660
|
+
mode: "singleton",
|
|
68661
|
+
methods: {
|
|
68662
|
+
getCapabilities: method(z.void(), PlatformCapabilitiesSchema),
|
|
68663
|
+
getHardware: method(z.void(), HardwareInfoSchema),
|
|
68664
|
+
resolveInferenceConfig: method(z.object({ requirements: z.array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema),
|
|
68665
|
+
resolveHwAccel: method(z.object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema),
|
|
68666
|
+
/**
|
|
68667
|
+
* Re-probe this node's accelerators NOW (Coral USB ids + PCIe apex units;
|
|
68668
|
+
* `/sys` and `/dev` reads, no model load) and rebuild the device list that
|
|
68669
|
+
* `getCapabilities` serves. The same re-probe runs every 60 s on its own;
|
|
68670
|
+
* this is the operator's "rescan inference devices". Target a node with the
|
|
68671
|
+
* `{ nodeId }` routing input, like `getCapabilities`.
|
|
68672
|
+
*/
|
|
68673
|
+
rescanAccelerators: method(z.void(), AcceleratorRescanSchema, {
|
|
68674
|
+
kind: "mutation",
|
|
68675
|
+
auth: "admin"
|
|
68676
|
+
})
|
|
68677
|
+
}
|
|
68678
|
+
};
|
|
68679
|
+
//#endregion
|
|
68680
|
+
//#region src/capabilities/power-meter.cap.ts
|
|
68681
|
+
/**
|
|
68682
|
+
* Multi-metric electrical meter. One slice can carry any combination
|
|
68683
|
+
* of instantaneous power (W), cumulative energy (kWh), voltage (V),
|
|
68684
|
+
* and current (A) — all fields optional so a single-metric source
|
|
68685
|
+
* (HA `sensor` with `device_class: power`) populates only what it
|
|
68686
|
+
* has and aggregators (energy dashboards, billing exports) compose
|
|
68687
|
+
* across providers without needing one cap per metric.
|
|
68688
|
+
*
|
|
68689
|
+
* Trade-off acknowledged: a HomeKit export that wants to surface
|
|
68690
|
+
* "power" and "energy" as separate services has to crack open the
|
|
68691
|
+
* slice and emit two characteristics from one cap. Worth it to avoid
|
|
68692
|
+
* exploding the cap catalog with `power-w` / `energy-kwh` /
|
|
68693
|
+
* `voltage-v` / `current-a` quartets that always travel together
|
|
68694
|
+
* in real-world devices.
|
|
68695
|
+
*/
|
|
68696
|
+
var PowerMeterStatusSchema = z.object({
|
|
68697
|
+
/** Instantaneous power draw in watts. */
|
|
68698
|
+
watts: z.number().optional(),
|
|
68699
|
+
/** Cumulative energy in kilowatt-hours since the meter was reset. */
|
|
68700
|
+
kwhTotal: z.number().optional(),
|
|
68701
|
+
/** Voltage in volts. */
|
|
68702
|
+
volts: z.number().optional(),
|
|
68703
|
+
/** Current in amperes. */
|
|
68704
|
+
amps: z.number().optional(),
|
|
68705
|
+
/** Apparent power in volt-amperes (W × power-factor reciprocal). */
|
|
68706
|
+
va: z.number().optional(),
|
|
68707
|
+
/** Power factor (0..1) if reported. */
|
|
68708
|
+
powerFactor: z.number().min(0).max(1).optional(),
|
|
68709
|
+
/** Ms epoch when the slice was last updated. */
|
|
68710
|
+
lastFetchedAt: z.number(),
|
|
68711
|
+
/** Live display unit of the single metric this slice carries (e.g. HA
|
|
68712
|
+
* `attributes.unit_of_measurement` → 'V' / 'A' / 'W' / 'kW' / 'kWh').
|
|
68713
|
+
* Each upstream `sensor.*` entity surfaces ONE device_class, so one
|
|
68714
|
+
* unit per slice is unambiguous. The UI prefers this over the role's
|
|
68715
|
+
* canonical unit so a 'kW' / 'Wh' feed renders verbatim. */
|
|
68716
|
+
unit: z.string().optional(),
|
|
68717
|
+
/** Suggested decimal places for numeric display.
|
|
68718
|
+
* Populated live from the upstream source when provided (e.g. HA
|
|
68719
|
+
* `attributes.suggested_display_precision`). Falls back to
|
|
68720
|
+
* auto-formatting when absent. */
|
|
68721
|
+
precision: z.number().int().min(0).max(10).optional()
|
|
68722
|
+
});
|
|
68723
|
+
var powerMeterCapability = {
|
|
68724
|
+
name: "power-meter",
|
|
68725
|
+
scope: "device",
|
|
68726
|
+
deviceNative: true,
|
|
68727
|
+
mode: "singleton",
|
|
68728
|
+
deviceTypes: [DeviceType.Sensor],
|
|
68729
|
+
methods: {},
|
|
68730
|
+
status: {
|
|
68731
|
+
schema: PowerMeterStatusSchema,
|
|
68732
|
+
kind: "push"
|
|
68733
|
+
},
|
|
68734
|
+
runtimeState: PowerMeterStatusSchema,
|
|
68735
|
+
/**
|
|
68736
|
+
* Runtime-state durability: **restored** — as `numeric-sensor`; `kwhTotal` is an accumulator whose restored value is the baseline.
|
|
68737
|
+
*
|
|
68738
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
68739
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
68740
|
+
*/
|
|
68741
|
+
durability: "restored",
|
|
68742
|
+
/**
|
|
68743
|
+
* History (D850): recorded series. Gauges are floored at 30 s; `kwhTotal` is the one monotonic meter (counter).
|
|
68744
|
+
*/
|
|
68745
|
+
history: { fields: {
|
|
68746
|
+
watts: {
|
|
68747
|
+
kind: "gauge",
|
|
68748
|
+
unit: "W",
|
|
68749
|
+
deadband: 1,
|
|
68750
|
+
minIntervalMs: 3e4
|
|
68751
|
+
},
|
|
68752
|
+
kwhTotal: {
|
|
68753
|
+
kind: "counter",
|
|
68754
|
+
unit: "kWh",
|
|
68755
|
+
deadband: .01,
|
|
68756
|
+
minIntervalMs: 6e4
|
|
68757
|
+
},
|
|
68758
|
+
volts: {
|
|
68759
|
+
kind: "gauge",
|
|
68760
|
+
unit: "V",
|
|
68761
|
+
deadband: 1,
|
|
68762
|
+
minIntervalMs: 3e4
|
|
68763
|
+
},
|
|
68764
|
+
amps: {
|
|
68765
|
+
kind: "gauge",
|
|
68766
|
+
unit: "A",
|
|
68767
|
+
deadband: .05,
|
|
68768
|
+
minIntervalMs: 3e4
|
|
68769
|
+
},
|
|
68770
|
+
va: {
|
|
68771
|
+
kind: "gauge",
|
|
68772
|
+
unit: "VA",
|
|
68773
|
+
deadband: 1,
|
|
68774
|
+
minIntervalMs: 3e4
|
|
68775
|
+
},
|
|
68776
|
+
powerFactor: {
|
|
68777
|
+
kind: "gauge",
|
|
68778
|
+
unit: "ratio",
|
|
68779
|
+
deadband: .01,
|
|
68780
|
+
minIntervalMs: 6e4
|
|
68781
|
+
}
|
|
68782
|
+
} },
|
|
68783
|
+
/** Clock fields: written, but excluded from the compare that decides
|
|
68784
|
+
* whether persisting is worth a SQLite commit. */
|
|
68785
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
68786
|
+
};
|
|
68787
|
+
//#endregion
|
|
68788
|
+
//#region src/capabilities/presence.cap.ts
|
|
68789
|
+
/**
|
|
68790
|
+
* Presence cap. Models HA `person.*` and `device_tracker.*` entities
|
|
68791
|
+
* on `DeviceType.Presence`. Read-only — no setters: presence is
|
|
68792
|
+
* derived from upstream signals (mobile-app location, router DHCP
|
|
68793
|
+
* lease, Bluetooth beacon, manual zone change) and pushed into the
|
|
68794
|
+
* slice.
|
|
68795
|
+
*
|
|
68796
|
+
* `state` follows HA's canonical values — `home` / `not_home` /
|
|
68797
|
+
* `<zone-name>` for any other named zone. The zone name is freeform
|
|
68798
|
+
* because users define arbitrary zones (`work`, `gym`, `school`).
|
|
68799
|
+
*
|
|
68800
|
+
* GPS coordinates are nullable — tracker types without location
|
|
68801
|
+
* (Bluetooth scanner, MQTT presence) omit them. The presence of
|
|
68802
|
+
* GPS data is signaled by `DeviceFeature.PresenceGps` for fast
|
|
68803
|
+
* UI map-pin rendering.
|
|
68804
|
+
*/
|
|
68805
|
+
var GpsLocationSchema = z.object({
|
|
68806
|
+
/** Latitude in decimal degrees, -90..90. */
|
|
68807
|
+
latitude: z.number().min(-90).max(90),
|
|
68808
|
+
/** Longitude in decimal degrees, -180..180. */
|
|
68809
|
+
longitude: z.number().min(-180).max(180),
|
|
68810
|
+
/** Reported accuracy in meters (lower = better). */
|
|
68811
|
+
accuracyMeters: z.number().nonnegative()
|
|
68812
|
+
});
|
|
68813
|
+
var PresenceStatusSchema = z.object({
|
|
68814
|
+
/** `home` / `not_home` / any user-defined zone name. */
|
|
68815
|
+
state: z.string(),
|
|
68816
|
+
/** Optional textual location label (zone name, city, address). Null
|
|
68817
|
+
* when only the binary state is known. */
|
|
68818
|
+
location: z.string().nullable(),
|
|
68819
|
+
/** GPS coordinates when available. Null otherwise. */
|
|
68820
|
+
gps: GpsLocationSchema.nullable(),
|
|
68821
|
+
/** Optional battery level of the tracking device (0..100). Null
|
|
68822
|
+
* when not reported. */
|
|
68823
|
+
batteryPercent: z.number().min(0).max(100).nullable(),
|
|
68824
|
+
/** Ms epoch when the slice was last updated. */
|
|
68081
68825
|
lastChangedAt: z.number()
|
|
68082
68826
|
});
|
|
68083
68827
|
var presenceCapability = {
|
|
@@ -71756,7 +72500,20 @@ var ZoneRuleSchema = z.object({
|
|
|
71756
72500
|
* Defaults to `true` so operators creating a rule via the UI
|
|
71757
72501
|
* see it active immediately.
|
|
71758
72502
|
*/
|
|
71759
|
-
enabled: z.boolean().default(true)
|
|
72503
|
+
enabled: z.boolean().default(true),
|
|
72504
|
+
/**
|
|
72505
|
+
* Package stage only. When true, a package candidate may open from a
|
|
72506
|
+
* scene difference in this rule's zone after a person leaves. The
|
|
72507
|
+
* package model, when it boxes something overlapping, is extra evidence
|
|
72508
|
+
* and is not the gate. Absent or false keeps today's model path.
|
|
72509
|
+
*/
|
|
72510
|
+
detectBySceneDifference: z.boolean().optional(),
|
|
72511
|
+
/**
|
|
72512
|
+
* Package stage only. When true, a promoted package is shown to the
|
|
72513
|
+
* `llm` cap before the delivery event is emitted. Absent or false emits
|
|
72514
|
+
* as today. Usable with or without `detectBySceneDifference`.
|
|
72515
|
+
*/
|
|
72516
|
+
confirmWithLlm: z.boolean().optional()
|
|
71760
72517
|
});
|
|
71761
72518
|
/**
|
|
71762
72519
|
* Convenience array schema — used by addon device-settings
|
|
@@ -74720,7 +75477,7 @@ var trainingProviderCapability = {
|
|
|
74720
75477
|
* - **Jobs.** A persisted state machine, a reconcile loop against the
|
|
74721
75478
|
* provider, a cost guard, a daily orphan sweep and the retention rules.
|
|
74722
75479
|
* - **The return flow.** Verified artefacts → Model Studio
|
|
74723
|
-
* (`custom-model-registry.importModelBundle`) → canary on
|
|
75480
|
+
* (`custom-model-registry.importModelBundle`) → canary on accelerators →
|
|
74724
75481
|
* rollback. Nothing is ever registered automatically.
|
|
74725
75482
|
*
|
|
74726
75483
|
* Plan/start takes a live {@link TrainingCorpusSelection} (collections +
|
|
@@ -74857,20 +75614,24 @@ var TrainingProgressPointSchema = z.object({
|
|
|
74857
75614
|
map50: z.number().nullable(),
|
|
74858
75615
|
map50_95: z.number().nullable()
|
|
74859
75616
|
});
|
|
75617
|
+
/** One accelerator: a `(node, inference device)` that runs the root detector. */
|
|
75618
|
+
var TrainingAcceleratorRefSchema = z.object({
|
|
75619
|
+
nodeId: z.string(),
|
|
75620
|
+
deviceKey: z.string()
|
|
75621
|
+
});
|
|
75622
|
+
/**
|
|
75623
|
+
* A canary pins the registered model on chosen ACCELERATORS — a model is
|
|
75624
|
+
* chosen by the accelerator that runs it (D927); every camera balanced onto
|
|
75625
|
+
* one runs it. `previous` is the root-detector pin each one had (`null` = it
|
|
75626
|
+
* ran its default), exactly, so rollback restores it.
|
|
75627
|
+
*/
|
|
74860
75628
|
var TrainingCanarySchema = z.object({
|
|
74861
|
-
|
|
75629
|
+
accelerators: z.array(TrainingAcceleratorRefSchema).readonly(),
|
|
74862
75630
|
since: z.number(),
|
|
74863
|
-
|
|
74864
|
-
previous: z.array(z.object({
|
|
74865
|
-
deviceId: z.number().int(),
|
|
74866
|
-
nodeId: z.string(),
|
|
74867
|
-
deviceKey: z.string(),
|
|
74868
|
-
patch: z.object({
|
|
74869
|
-
modelId: z.string().optional(),
|
|
74870
|
-
settings: z.record(z.string(), z.unknown()).readonly().optional()
|
|
74871
|
-
}).nullable()
|
|
74872
|
-
})).readonly()
|
|
75631
|
+
previous: z.array(TrainingAcceleratorRefSchema.extend({ modelId: z.string().nullable() })).readonly()
|
|
74873
75632
|
});
|
|
75633
|
+
/** An accelerator a canary may pin: it runs the root detector, on this model now. */
|
|
75634
|
+
var TrainingCanaryTargetSchema = TrainingAcceleratorRefSchema.extend({ pinnedModelId: z.string().nullable() });
|
|
74874
75635
|
var TrainingJobSchema = z.object({
|
|
74875
75636
|
id: z.string(),
|
|
74876
75637
|
idempotencyKey: z.string(),
|
|
@@ -75010,19 +75771,21 @@ var trainingCapability = {
|
|
|
75010
75771
|
}),
|
|
75011
75772
|
/** The verified `result.json` of a job in `ready` or later; null before. */
|
|
75012
75773
|
getJobResult: method(IdInput, TrainingResultSchema.nullable(), { auth: "admin" }),
|
|
75774
|
+
/** The accelerators a canary may pin: every enabled one that runs the root detector. */
|
|
75775
|
+
listCanaryTargets: method(z.void(), z.array(TrainingCanaryTargetSchema).readonly(), { auth: "admin" }),
|
|
75013
75776
|
/** Hand the verified bundle to Model Studio; optionally canary right after. */
|
|
75014
|
-
registerResult: method(IdInput.extend({
|
|
75777
|
+
registerResult: method(IdInput.extend({ canaryAccelerators: z.array(TrainingAcceleratorRefSchema).readonly() }), TrainingJobSchema, {
|
|
75015
75778
|
kind: "mutation",
|
|
75016
75779
|
auth: "admin",
|
|
75017
75780
|
timeoutMs: 30 * 6e4
|
|
75018
75781
|
}),
|
|
75019
|
-
/** Pin the registered model on these
|
|
75020
|
-
canaryResult: method(IdInput.extend({
|
|
75782
|
+
/** Pin the registered model on these accelerators, remembering what it replaced. */
|
|
75783
|
+
canaryResult: method(IdInput.extend({ accelerators: z.array(TrainingAcceleratorRefSchema).min(1).readonly() }), TrainingJobSchema, {
|
|
75021
75784
|
kind: "mutation",
|
|
75022
75785
|
auth: "admin",
|
|
75023
75786
|
timeoutMs: 12e4
|
|
75024
75787
|
}),
|
|
75025
|
-
/** Put every canary
|
|
75788
|
+
/** Put every canary accelerator back exactly as it was. */
|
|
75026
75789
|
rollbackCanary: method(IdInput, TrainingJobSchema, {
|
|
75027
75790
|
kind: "mutation",
|
|
75028
75791
|
auth: "admin",
|
|
@@ -84622,20 +85385,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
84622
85385
|
access: "create",
|
|
84623
85386
|
role: "admin"
|
|
84624
85387
|
},
|
|
84625
|
-
"pipelineExecutor.clearDeviceOverrides": {
|
|
84626
|
-
capName: "pipeline-executor",
|
|
84627
|
-
capScope: "system",
|
|
84628
|
-
addonId: null,
|
|
84629
|
-
access: "delete",
|
|
84630
|
-
role: "admin"
|
|
84631
|
-
},
|
|
84632
|
-
"pipelineExecutor.clearModelBoundDeviceOverrides": {
|
|
84633
|
-
capName: "pipeline-executor",
|
|
84634
|
-
capScope: "system",
|
|
84635
|
-
addonId: null,
|
|
84636
|
-
access: "delete",
|
|
84637
|
-
role: "admin"
|
|
84638
|
-
},
|
|
84639
85388
|
"pipelineExecutor.deleteModel": {
|
|
84640
85389
|
capName: "pipeline-executor",
|
|
84641
85390
|
capScope: "system",
|
|
@@ -84678,13 +85427,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
84678
85427
|
access: "view",
|
|
84679
85428
|
role: "admin"
|
|
84680
85429
|
},
|
|
84681
|
-
"pipelineExecutor.getDefaultSteps": {
|
|
84682
|
-
capName: "pipeline-executor",
|
|
84683
|
-
capScope: "system",
|
|
84684
|
-
addonId: null,
|
|
84685
|
-
access: "view",
|
|
84686
|
-
role: "admin"
|
|
84687
|
-
},
|
|
84688
85430
|
"pipelineExecutor.getDetectionConfigSchema": {
|
|
84689
85431
|
capName: "pipeline-executor",
|
|
84690
85432
|
capScope: "system",
|
|
@@ -84706,20 +85448,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
84706
85448
|
access: "view",
|
|
84707
85449
|
role: "admin"
|
|
84708
85450
|
},
|
|
84709
|
-
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
84710
|
-
capName: "pipeline-executor",
|
|
84711
|
-
capScope: "system",
|
|
84712
|
-
addonId: null,
|
|
84713
|
-
access: "view",
|
|
84714
|
-
role: "admin"
|
|
84715
|
-
},
|
|
84716
|
-
"pipelineExecutor.getGlobalSteps": {
|
|
84717
|
-
capName: "pipeline-executor",
|
|
84718
|
-
capScope: "system",
|
|
84719
|
-
addonId: null,
|
|
84720
|
-
access: "view",
|
|
84721
|
-
role: "admin"
|
|
84722
|
-
},
|
|
84723
85451
|
"pipelineExecutor.getInferenceDeviceHealth": {
|
|
84724
85452
|
capName: "pipeline-executor",
|
|
84725
85453
|
capScope: "system",
|
|
@@ -84979,13 +85707,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
84979
85707
|
access: "view",
|
|
84980
85708
|
role: "admin"
|
|
84981
85709
|
},
|
|
84982
|
-
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
84983
|
-
capName: "pipeline-orchestrator",
|
|
84984
|
-
capScope: "system",
|
|
84985
|
-
addonId: null,
|
|
84986
|
-
access: "view",
|
|
84987
|
-
role: "admin"
|
|
84988
|
-
},
|
|
84989
85710
|
"pipelineOrchestrator.getCameraSwitches": {
|
|
84990
85711
|
capName: "pipeline-orchestrator",
|
|
84991
85712
|
capScope: "system",
|
|
@@ -85224,13 +85945,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
85224
85945
|
access: "create",
|
|
85225
85946
|
role: "admin"
|
|
85226
85947
|
},
|
|
85227
|
-
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
85228
|
-
capName: "pipeline-orchestrator",
|
|
85229
|
-
capScope: "system",
|
|
85230
|
-
addonId: null,
|
|
85231
|
-
access: "create",
|
|
85232
|
-
role: "admin"
|
|
85233
|
-
},
|
|
85234
85948
|
"pipelineOrchestrator.setCameraSensors": {
|
|
85235
85949
|
capName: "pipeline-orchestrator",
|
|
85236
85950
|
capScope: "system",
|
|
@@ -85238,42 +85952,42 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
85238
85952
|
access: "create",
|
|
85239
85953
|
role: "admin"
|
|
85240
85954
|
},
|
|
85241
|
-
"pipelineOrchestrator.
|
|
85955
|
+
"pipelineOrchestrator.setCameraStepSettings": {
|
|
85242
85956
|
capName: "pipeline-orchestrator",
|
|
85243
85957
|
capScope: "system",
|
|
85244
85958
|
addonId: null,
|
|
85245
85959
|
access: "create",
|
|
85246
85960
|
role: "admin"
|
|
85247
85961
|
},
|
|
85248
|
-
"pipelineOrchestrator.
|
|
85962
|
+
"pipelineOrchestrator.setCameraStepToggle": {
|
|
85249
85963
|
capName: "pipeline-orchestrator",
|
|
85250
85964
|
capScope: "system",
|
|
85251
85965
|
addonId: null,
|
|
85252
85966
|
access: "create",
|
|
85253
85967
|
role: "admin"
|
|
85254
85968
|
},
|
|
85255
|
-
"pipelineOrchestrator.
|
|
85969
|
+
"pipelineOrchestrator.setCameraSwitch": {
|
|
85256
85970
|
capName: "pipeline-orchestrator",
|
|
85257
85971
|
capScope: "system",
|
|
85258
85972
|
addonId: null,
|
|
85259
85973
|
access: "create",
|
|
85260
85974
|
role: "admin"
|
|
85261
85975
|
},
|
|
85262
|
-
"pipelineOrchestrator.
|
|
85976
|
+
"pipelineOrchestrator.setCapabilityBinding": {
|
|
85263
85977
|
capName: "pipeline-orchestrator",
|
|
85264
85978
|
capScope: "system",
|
|
85265
85979
|
addonId: null,
|
|
85266
85980
|
access: "create",
|
|
85267
85981
|
role: "admin"
|
|
85268
85982
|
},
|
|
85269
|
-
"pipelineOrchestrator.
|
|
85983
|
+
"pipelineOrchestrator.setLoadBalancingShares": {
|
|
85270
85984
|
capName: "pipeline-orchestrator",
|
|
85271
85985
|
capScope: "system",
|
|
85272
85986
|
addonId: null,
|
|
85273
85987
|
access: "create",
|
|
85274
85988
|
role: "admin"
|
|
85275
85989
|
},
|
|
85276
|
-
"pipelineOrchestrator.
|
|
85990
|
+
"pipelineOrchestrator.setNodeStepSettings": {
|
|
85277
85991
|
capName: "pipeline-orchestrator",
|
|
85278
85992
|
capScope: "system",
|
|
85279
85993
|
addonId: null,
|
|
@@ -87632,6 +88346,13 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
87632
88346
|
access: "view",
|
|
87633
88347
|
role: "admin"
|
|
87634
88348
|
},
|
|
88349
|
+
"training.listCanaryTargets": {
|
|
88350
|
+
capName: "training",
|
|
88351
|
+
capScope: "system",
|
|
88352
|
+
addonId: null,
|
|
88353
|
+
access: "view",
|
|
88354
|
+
role: "admin"
|
|
88355
|
+
},
|
|
87635
88356
|
"training.listJobs": {
|
|
87636
88357
|
capName: "training",
|
|
87637
88358
|
capScope: "system",
|
|
@@ -97171,11 +97892,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
97171
97892
|
form: "single",
|
|
97172
97893
|
optional: false
|
|
97173
97894
|
}],
|
|
97174
|
-
"pipelineExecutor.clearModelBoundDeviceOverrides": [{
|
|
97175
|
-
name: "deviceIds",
|
|
97176
|
-
form: "array",
|
|
97177
|
-
optional: true
|
|
97178
|
-
}],
|
|
97179
97895
|
"pipelineExecutor.runPipeline": [{
|
|
97180
97896
|
name: "deviceId",
|
|
97181
97897
|
form: "single",
|
|
@@ -97231,11 +97947,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
97231
97947
|
form: "array",
|
|
97232
97948
|
optional: true
|
|
97233
97949
|
}],
|
|
97234
|
-
"pipelineOrchestrator.getCameraStepOverrides": [{
|
|
97235
|
-
name: "deviceId",
|
|
97236
|
-
form: "single",
|
|
97237
|
-
optional: false
|
|
97238
|
-
}],
|
|
97239
97950
|
"pipelineOrchestrator.getCameraSwitches": [{
|
|
97240
97951
|
name: "deviceId",
|
|
97241
97952
|
form: "single",
|
|
@@ -97276,21 +97987,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
97276
97987
|
form: "single",
|
|
97277
97988
|
optional: false
|
|
97278
97989
|
}],
|
|
97279
|
-
"pipelineOrchestrator.setCameraPipelineForAgent": [{
|
|
97280
|
-
name: "deviceId",
|
|
97281
|
-
form: "single",
|
|
97282
|
-
optional: false
|
|
97283
|
-
}],
|
|
97284
97990
|
"pipelineOrchestrator.setCameraSensors": [{
|
|
97285
97991
|
name: "deviceId",
|
|
97286
97992
|
form: "single",
|
|
97287
97993
|
optional: false
|
|
97288
97994
|
}],
|
|
97289
|
-
"pipelineOrchestrator.setCameraStepOverride": [{
|
|
97290
|
-
name: "deviceId",
|
|
97291
|
-
form: "single",
|
|
97292
|
-
optional: false
|
|
97293
|
-
}],
|
|
97294
97995
|
"pipelineOrchestrator.setCameraStepSettings": [{
|
|
97295
97996
|
name: "deviceId",
|
|
97296
97997
|
form: "single",
|
|
@@ -97968,11 +98669,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
97968
98669
|
form: "single",
|
|
97969
98670
|
optional: false
|
|
97970
98671
|
}],
|
|
97971
|
-
"training.canaryResult": [{
|
|
97972
|
-
name: "deviceIds",
|
|
97973
|
-
form: "array",
|
|
97974
|
-
optional: false
|
|
97975
|
-
}],
|
|
97976
98672
|
"update.getStatus": [{
|
|
97977
98673
|
name: "deviceId",
|
|
97978
98674
|
form: "single",
|
|
@@ -98306,7 +99002,6 @@ var SYSTEM_SCOPE_DEVICE_METHODS = [
|
|
|
98306
99002
|
"osdManager.renderDevice",
|
|
98307
99003
|
"osdManager.setSlotBinding",
|
|
98308
99004
|
"osdManager.setSlotCameraEnabled",
|
|
98309
|
-
"pipelineExecutor.clearModelBoundDeviceOverrides",
|
|
98310
99005
|
"pipelineExecutor.runPipeline",
|
|
98311
99006
|
"pipelineExecutor.runPipelineBatch",
|
|
98312
99007
|
"pipelineOrchestrator.applyDeviceSettingsPatch",
|
|
@@ -98318,7 +99013,6 @@ var SYSTEM_SCOPE_DEVICE_METHODS = [
|
|
|
98318
99013
|
"pipelineOrchestrator.getCameraSettings",
|
|
98319
99014
|
"pipelineOrchestrator.getCameraStatus",
|
|
98320
99015
|
"pipelineOrchestrator.getCameraStatuses",
|
|
98321
|
-
"pipelineOrchestrator.getCameraStepOverrides",
|
|
98322
99016
|
"pipelineOrchestrator.getCameraSwitches",
|
|
98323
99017
|
"pipelineOrchestrator.getDeviceLiveContribution",
|
|
98324
99018
|
"pipelineOrchestrator.getDeviceSettingsContribution",
|
|
@@ -98327,9 +99021,7 @@ var SYSTEM_SCOPE_DEVICE_METHODS = [
|
|
|
98327
99021
|
"pipelineOrchestrator.requestOccupancyLook",
|
|
98328
99022
|
"pipelineOrchestrator.resolvePipeline",
|
|
98329
99023
|
"pipelineOrchestrator.setCameraDetectionSource",
|
|
98330
|
-
"pipelineOrchestrator.setCameraPipelineForAgent",
|
|
98331
99024
|
"pipelineOrchestrator.setCameraSensors",
|
|
98332
|
-
"pipelineOrchestrator.setCameraStepOverride",
|
|
98333
99025
|
"pipelineOrchestrator.setCameraStepSettings",
|
|
98334
99026
|
"pipelineOrchestrator.setCameraStepToggle",
|
|
98335
99027
|
"pipelineOrchestrator.setCameraSwitch",
|
|
@@ -98394,8 +99086,7 @@ var SYSTEM_SCOPE_DEVICE_METHODS = [
|
|
|
98394
99086
|
"streamBroker.restartProfile",
|
|
98395
99087
|
"streamBroker.retractCameraStream",
|
|
98396
99088
|
"streamBroker.setDeviceAudioMute",
|
|
98397
|
-
"streamBroker.unassignProfile"
|
|
98398
|
-
"training.canaryResult"
|
|
99089
|
+
"streamBroker.unassignProfile"
|
|
98399
99090
|
];
|
|
98400
99091
|
//#endregion
|
|
98401
99092
|
//#region src/generated/provider-kind-map.ts
|
|
@@ -99862,17 +100553,12 @@ function createSystemProxy(api) {
|
|
|
99862
100553
|
pipelineExecutor: {
|
|
99863
100554
|
getAvailableEngines: (input) => dispatch("pipelineExecutor", "getAvailableEngines", "query", input),
|
|
99864
100555
|
getSelectedEngine: (input) => dispatch("pipelineExecutor", "getSelectedEngine", "query", input),
|
|
99865
|
-
getDefaultSteps: (input) => dispatch("pipelineExecutor", "getDefaultSteps", "query", input),
|
|
99866
100556
|
getEngineProvisioning: (input) => dispatch("pipelineExecutor", "getEngineProvisioning", "query", input),
|
|
99867
100557
|
getVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "getVideoPipelineSteps", "query", input),
|
|
99868
100558
|
setVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "setVideoPipelineSteps", "mutation", input),
|
|
99869
|
-
clearDeviceOverrides: (input) => dispatch("pipelineExecutor", "clearDeviceOverrides", "mutation", input),
|
|
99870
|
-
clearModelBoundDeviceOverrides: (input) => dispatch("pipelineExecutor", "clearModelBoundDeviceOverrides", "mutation", input),
|
|
99871
100559
|
getInferenceDeviceHealth: (input) => dispatch("pipelineExecutor", "getInferenceDeviceHealth", "query", input),
|
|
99872
100560
|
rearmInferenceDevice: (input) => dispatch("pipelineExecutor", "rearmInferenceDevice", "mutation", input),
|
|
99873
100561
|
getSchema: (input) => dispatch("pipelineExecutor", "getSchema", "query", input),
|
|
99874
|
-
getGlobalSteps: (input) => dispatch("pipelineExecutor", "getGlobalSteps", "query", input),
|
|
99875
|
-
getGlobalPipelineConfig: (input) => dispatch("pipelineExecutor", "getGlobalPipelineConfig", "query", input),
|
|
99876
100562
|
getOrchestratorConfigSchema: (input) => dispatch("pipelineExecutor", "getOrchestratorConfigSchema", "query", input),
|
|
99877
100563
|
validatePipeline: (input) => dispatch("pipelineExecutor", "validatePipeline", "query", input),
|
|
99878
100564
|
getCapabilities: (input) => dispatch("pipelineExecutor", "getCapabilities", "query", input),
|
|
@@ -99916,6 +100602,7 @@ function createSystemProxy(api) {
|
|
|
99916
100602
|
setAgentDecodeLimits: (input) => dispatch("pipelineOrchestrator", "setAgentDecodeLimits", "mutation", input),
|
|
99917
100603
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
99918
100604
|
setAgentInferenceDevices: (input) => dispatch("pipelineOrchestrator", "setAgentInferenceDevices", "mutation", input),
|
|
100605
|
+
setNodeStepSettings: (input) => dispatch("pipelineOrchestrator", "setNodeStepSettings", "mutation", input),
|
|
99919
100606
|
getNodeInferenceDevices: (input) => dispatch("pipelineOrchestrator", "getNodeInferenceDevices", "query", input),
|
|
99920
100607
|
forgetInferenceDevice: (input) => dispatch("pipelineOrchestrator", "forgetInferenceDevice", "mutation", input),
|
|
99921
100608
|
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
@@ -100136,6 +100823,7 @@ function createSystemProxy(api) {
|
|
|
100136
100823
|
getJob: (input) => dispatch("training", "getJob", "query", input),
|
|
100137
100824
|
cancelJob: (input) => dispatch("training", "cancelJob", "mutation", input),
|
|
100138
100825
|
getJobResult: (input) => dispatch("training", "getJobResult", "query", input),
|
|
100826
|
+
listCanaryTargets: (input) => dispatch("training", "listCanaryTargets", "query", input),
|
|
100139
100827
|
registerResult: (input) => dispatch("training", "registerResult", "mutation", input),
|
|
100140
100828
|
canaryResult: (input) => dispatch("training", "canaryResult", "mutation", input),
|
|
100141
100829
|
rollbackCanary: (input) => dispatch("training", "rollbackCanary", "mutation", input),
|
|
@@ -105733,911 +106421,350 @@ function providerMotionEvent(source, data) {
|
|
|
105733
106421
|
function hasBuild(model, format) {
|
|
105734
106422
|
return Boolean(model.formats[format]);
|
|
105735
106423
|
}
|
|
105736
|
-
/**
|
|
105737
|
-
* Can a pool of `format` run a step whose catalog is `models`, given the model
|
|
105738
|
-
* the step names (`null`/absent = unpinned, the format default)?
|
|
105739
|
-
*/
|
|
105740
|
-
function stepModelRunsOnFormat(models, modelId, format) {
|
|
105741
|
-
if (modelId !== void 0 && modelId !== null) {
|
|
105742
|
-
const named = models.find((m) => m.id === modelId);
|
|
105743
|
-
if (named !== void 0 && hasBuild(named, format)) return true;
|
|
105744
|
-
}
|
|
105745
|
-
return models.some((m) => m.legacy !== true && hasBuild(m, format));
|
|
105746
|
-
}
|
|
105747
|
-
//#endregion
|
|
105748
|
-
//#region src/pipeline/removed-model-ids.ts
|
|
105749
|
-
/**
|
|
105750
|
-
* Model ids DELETED from a step's catalog (D703, D710, D719), per step — and
|
|
105751
|
-
* the one question asked of them: is a stored pin to this id a pin to a model
|
|
105752
|
-
* that no longer exists? (D725)
|
|
105753
|
-
*
|
|
105754
|
-
* This is NOT a resolver input. `resolveModelForFormat` still returns an
|
|
105755
|
-
* unknown id unchanged (a custom model), and a bulk pass pinned to one still
|
|
105756
|
-
* refuses rather than substitutes (D54). The ONE reader is the orchestrator's
|
|
105757
|
-
* stored-pin reset (`removed-model-pin-reset.ts`), which clears such a pin from
|
|
105758
|
-
* the store so the step follows its default again — unless a registered custom
|
|
105759
|
-
* model carries the same id.
|
|
105760
|
-
*
|
|
105761
|
-
* `removed-model-ids.spec.ts` (addon-pipeline) pins that every id here is
|
|
105762
|
-
* really absent from its step's catalog. A model deleted from a catalog is
|
|
105763
|
-
* added here in the same change, or its stored pins stay behind as custom ids.
|
|
105764
|
-
*/
|
|
105765
|
-
/** `stepId → ids deleted from that step's catalog`. */
|
|
105766
|
-
var REMOVED_MODEL_IDS = {
|
|
105767
|
-
"object-detection": ["efficientdet-lite0-edgetpu", "ssdlite-mobiledet-coco-edgetpu"],
|
|
105768
|
-
"face-detection": [
|
|
105769
|
-
"scrypted-yolov9t-face",
|
|
105770
|
-
"scrfd-2.5g",
|
|
105771
|
-
"ssd-mobilenet-v2-face-edgetpu"
|
|
105772
|
-
],
|
|
105773
|
-
"face-embedding": ["arcface-r100", "inception-resnet-v1"],
|
|
105774
|
-
"plate-detection": ["yolov8n-plate"],
|
|
105775
|
-
"plate-ocr": ["vgg-english-g2"],
|
|
105776
|
-
"clip-embedding": [
|
|
105777
|
-
"mobileclip-s0",
|
|
105778
|
-
"mobileclip-s1",
|
|
105779
|
-
"mobileclip-s2"
|
|
105780
|
-
],
|
|
105781
|
-
"package-detection": ["yolov8n-package"],
|
|
105782
|
-
"bird-classifier": ["bird-classifier-aiy-edgetpu", "bird-nabirds-404"],
|
|
105783
|
-
"animal-classifier": ["animals-10"],
|
|
105784
|
-
"vehicle-classifier": ["vehicle-type-efficientnet"]
|
|
105785
|
-
};
|
|
105786
|
-
/** True when `modelId` was deleted from `stepId`'s catalog. */
|
|
105787
|
-
function isRemovedModelId(stepId, modelId) {
|
|
105788
|
-
return REMOVED_MODEL_IDS[stepId]?.includes(modelId) ?? false;
|
|
105789
|
-
}
|
|
105790
|
-
//#endregion
|
|
105791
|
-
//#region src/pipeline/model-bound-settings.ts
|
|
105792
|
-
/** Suffix of the sibling key that names the model a stored value was made for. */
|
|
105793
|
-
var MODEL_BINDING_SUFFIX = "ModelId";
|
|
105794
|
-
/** `minConfidencePerson` → `minConfidencePersonModelId`. */
|
|
105795
|
-
function modelBindingKey(key) {
|
|
105796
|
-
return `${key}${MODEL_BINDING_SUFFIX}`;
|
|
105797
|
-
}
|
|
105798
|
-
/** The model a stored value was made for, or `undefined` when unbound. */
|
|
105799
|
-
function storedBinding(settings, key) {
|
|
105800
|
-
const binding = settings?.[modelBindingKey(key)];
|
|
105801
|
-
return typeof binding === "string" && binding.length > 0 ? binding : void 0;
|
|
105802
|
-
}
|
|
105803
|
-
/**
|
|
105804
|
-
* The effective value of `key` for the model that runs (`runningModelId`,
|
|
105805
|
-
* `undefined` when unknown — it then matches no binding).
|
|
105806
|
-
*/
|
|
105807
|
-
function resolveModelBoundSetting(settings, key, runningModelId, modelDefault, globalDefault) {
|
|
105808
|
-
const stored = settings?.[key];
|
|
105809
|
-
const binding = storedBinding(settings, key);
|
|
105810
|
-
if (stored !== void 0 && binding === void 0) return {
|
|
105811
|
-
value: stored,
|
|
105812
|
-
source: "override"
|
|
105813
|
-
};
|
|
105814
|
-
if (stored !== void 0 && binding !== void 0 && binding === runningModelId) return {
|
|
105815
|
-
value: stored,
|
|
105816
|
-
source: "override",
|
|
105817
|
-
boundModelId: binding
|
|
105818
|
-
};
|
|
105819
|
-
const inapplicable = stored !== void 0 && binding !== void 0 ? { inapplicableOverride: {
|
|
105820
|
-
value: stored,
|
|
105821
|
-
modelId: binding
|
|
105822
|
-
} } : {};
|
|
105823
|
-
if (modelDefault !== void 0) return {
|
|
105824
|
-
value: modelDefault,
|
|
105825
|
-
source: "model-default",
|
|
105826
|
-
...inapplicable
|
|
105827
|
-
};
|
|
105828
|
-
return {
|
|
105829
|
-
value: globalDefault,
|
|
105830
|
-
source: "global-default",
|
|
105831
|
-
...inapplicable
|
|
105832
|
-
};
|
|
105833
|
-
}
|
|
105834
|
-
/**
|
|
105835
|
-
* The OPERATOR layer of a step's settings as the running model sees it: every
|
|
105836
|
-
* model-bound value made for another model is removed (so the default
|
|
105837
|
-
* underneath — the running model's — wins the merge), and every binding key is
|
|
105838
|
-
* stripped. Unbound values are kept. Returns a fresh object; `undefined` stays
|
|
105839
|
-
* `undefined`.
|
|
105840
|
-
*/
|
|
105841
|
-
function applyModelBoundSettings(settings, boundKeys, runningModelId) {
|
|
105842
|
-
if (settings === void 0) return void 0;
|
|
105843
|
-
const out = { ...settings };
|
|
105844
|
-
for (const key of boundKeys) {
|
|
105845
|
-
const binding = storedBinding(settings, key);
|
|
105846
|
-
if (binding !== void 0 && binding !== runningModelId) delete out[key];
|
|
105847
|
-
delete out[modelBindingKey(key)];
|
|
105848
|
-
}
|
|
105849
|
-
return out;
|
|
105850
|
-
}
|
|
105851
|
-
/** Store `value` for `key`, made for `modelId`. Returns a fresh object. */
|
|
105852
|
-
function writeModelBoundSetting(settings, key, value, modelId) {
|
|
105853
|
-
return {
|
|
105854
|
-
...settings,
|
|
105855
|
-
[key]: value,
|
|
105856
|
-
[modelBindingKey(key)]: modelId
|
|
105857
|
-
};
|
|
105858
|
-
}
|
|
105859
|
-
/** Remove an override and its binding — "reset to the model default". */
|
|
105860
|
-
function clearModelBoundSetting(settings, key) {
|
|
105861
|
-
const out = { ...settings };
|
|
105862
|
-
delete out[key];
|
|
105863
|
-
delete out[modelBindingKey(key)];
|
|
105864
|
-
return out;
|
|
105865
|
-
}
|
|
105866
|
-
/** True when any of `boundKeys` has an override IN FORCE for `modelId`. */
|
|
105867
|
-
function hasModelBoundOverrides(settings, boundKeys, modelId) {
|
|
105868
|
-
return boundKeys.some((key) => resolveModelBoundSetting(settings, key, modelId, void 0, void 0).source === "override");
|
|
105869
|
-
}
|
|
105870
|
-
/**
|
|
105871
|
-
* "Reset thresholds to model defaults": remove every override of `boundKeys`
|
|
105872
|
-
* that is in force for `modelId` (bound to it, or unbound), with its binding —
|
|
105873
|
-
* one result, so the editor writes it in one save. An override stored for
|
|
105874
|
-
* ANOTHER model is kept: it is not in force here, and it applies again when
|
|
105875
|
-
* that model runs.
|
|
105876
|
-
*/
|
|
105877
|
-
function clearModelBoundOverrides(settings, boundKeys, modelId) {
|
|
105878
|
-
return boundKeys.reduce((acc, key) => resolveModelBoundSetting(acc, key, modelId, void 0, void 0).source === "override" ? clearModelBoundSetting(acc, key) : acc, { ...settings });
|
|
105879
|
-
}
|
|
105880
|
-
/**
|
|
105881
|
-
* The keys of every `bindsToModel` field of a step's config schema, groups
|
|
105882
|
-
* flattened (D738). One definition for the runner (which applies the binding)
|
|
105883
|
-
* and the orchestrator's Auto tune (which clears those overrides, D745).
|
|
105884
|
-
*/
|
|
105885
|
-
function collectModelBoundKeys(fields) {
|
|
105886
|
-
return fields.flatMap((field) => {
|
|
105887
|
-
if (field.type === "group") return collectModelBoundKeys(field.fields);
|
|
105888
|
-
return "key" in field && "bindsToModel" in field && field.bindsToModel === true ? [field.key] : [];
|
|
105889
|
-
});
|
|
105890
|
-
}
|
|
105891
|
-
//#endregion
|
|
105892
|
-
//#region src/pipeline/step-settings-layers.ts
|
|
105893
|
-
/**
|
|
105894
|
-
* The layers of a detection step's settings, and the field-level edits on them
|
|
105895
|
-
* (D754).
|
|
105896
|
-
*
|
|
105897
|
-
* A step's settings reach a session through up to three stored layers, merged
|
|
105898
|
-
* key by key — a key in a higher layer wins:
|
|
105899
|
-
*
|
|
105900
|
-
* node the node's folded base (`inferenceDevices[node][*].steps`)
|
|
105901
|
-
* camera `cameraSettings[cam].stepSettings[step]` — every accelerator
|
|
105902
|
-
* accelerator `cameraSettings[cam].stepOverridesByDevice[node][key][step].settings`
|
|
105903
|
-
*
|
|
105904
|
-
* Below them sits the default: the running model's (D738) or the field's own.
|
|
105905
|
-
*
|
|
105906
|
-
* Every layer is SPARSE and FIELD-LEVEL. A key present in a layer is an
|
|
105907
|
-
* override; an absent key inherits. Two consequences that every editor must
|
|
105908
|
-
* respect, and why this module exists:
|
|
105909
|
-
*
|
|
105910
|
-
* - A model-bound field (D738) occupies TWO keys, its value and
|
|
105911
|
-
* `<key>ModelId`. They are written, compared and removed as one unit — a
|
|
105912
|
-
* value without its binding over a lower layer's binding would be judged
|
|
105913
|
-
* against the wrong model.
|
|
105914
|
-
* - An editor writes a DIFF against the merged layers below, never a copy of
|
|
105915
|
-
* them. A copy pins every field at the value it had that day, so later
|
|
105916
|
-
* edits below never reach it (the full-copy "Override" this replaced).
|
|
105917
|
-
*/
|
|
105918
|
-
/** Top-down order of the stored layers. */
|
|
105919
|
-
var LAYER_ORDER = [
|
|
105920
|
-
"accelerator",
|
|
105921
|
-
"camera",
|
|
105922
|
-
"node"
|
|
105923
|
-
];
|
|
105924
|
-
/**
|
|
105925
|
-
* The keys one field occupies in a bag: its own, plus its binding key when it
|
|
105926
|
-
* binds to a model. `boundKeys` = `collectModelBoundKeys(schema)`.
|
|
105927
|
-
*/
|
|
105928
|
-
function fieldUnitKeys(key, boundKeys) {
|
|
105929
|
-
return boundKeys.includes(key) ? [key, modelBindingKey(key)] : [key];
|
|
105930
|
-
}
|
|
105931
|
-
/** The field a stored key belongs to (`minConfidencePersonModelId` → `minConfidencePerson`). */
|
|
105932
|
-
function unitOf(storedKey, boundKeys) {
|
|
105933
|
-
return boundKeys.find((k) => modelBindingKey(k) === storedKey) ?? storedKey;
|
|
105934
|
-
}
|
|
105935
|
-
/** Structural equality for stored values (numbers, strings, booleans, arrays, plain objects). */
|
|
105936
|
-
function settingValuesEqual(a, b) {
|
|
105937
|
-
if (Object.is(a, b)) return true;
|
|
105938
|
-
if (Array.isArray(a) && Array.isArray(b)) return a.length === b.length && a.every((v, i) => settingValuesEqual(v, b[i]));
|
|
105939
|
-
if (isPlainObject(a) && isPlainObject(b)) {
|
|
105940
|
-
const ka = Object.keys(a);
|
|
105941
|
-
const kb = Object.keys(b);
|
|
105942
|
-
return ka.length === kb.length && ka.every((k) => settingValuesEqual(a[k], b[k]));
|
|
105943
|
-
}
|
|
105944
|
-
return false;
|
|
105945
|
-
}
|
|
105946
|
-
function isPlainObject(v) {
|
|
105947
|
-
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
105948
|
-
}
|
|
105949
|
-
/** Merge bags bottom-up (later wins, per key). Fresh object. */
|
|
105950
|
-
function mergeSettingsBags(...bags) {
|
|
105951
|
-
return bags.reduce((acc, bag) => ({
|
|
105952
|
-
...acc,
|
|
105953
|
-
...bag
|
|
105954
|
-
}), {});
|
|
105955
|
-
}
|
|
105956
|
-
/** The merged value of the layers BELOW `layer` (what removing a key from `layer` falls back to). */
|
|
105957
|
-
function settingsBelow(layers, layer) {
|
|
105958
|
-
return mergeSettingsBags(...LAYER_ORDER.slice(LAYER_ORDER.indexOf(layer) + 1).toReversed().map((id) => layers[id]));
|
|
105959
|
-
}
|
|
105960
|
-
/** The effective bag: every stored layer merged. */
|
|
105961
|
-
function effectiveStepSettings(layers) {
|
|
105962
|
-
return mergeSettingsBags(layers.node, layers.camera, layers.accelerator);
|
|
105963
|
-
}
|
|
105964
|
-
/** The highest stored layer that holds any key of `key`'s unit, or `default`. */
|
|
105965
|
-
function stepSettingSource(layers, key, boundKeys) {
|
|
105966
|
-
const unit = fieldUnitKeys(key, boundKeys);
|
|
105967
|
-
for (const id of LAYER_ORDER) {
|
|
105968
|
-
const bag = layers[id];
|
|
105969
|
-
if (bag !== void 0 && unit.some((k) => bag[k] !== void 0)) return id;
|
|
105970
|
-
}
|
|
105971
|
-
return "default";
|
|
105972
|
-
}
|
|
105973
|
-
/**
|
|
105974
|
-
* `layer` with `key`'s unit set from `values` (a bag carrying the unit's new
|
|
105975
|
-
* value — e.g. the editor's whole next settings bag). A unit key that `values`
|
|
105976
|
-
* does not carry is removed from the layer. Fresh object.
|
|
105977
|
-
*/
|
|
105978
|
-
function withFieldFrom(layer, key, values, boundKeys) {
|
|
105979
|
-
const out = { ...layer };
|
|
105980
|
-
for (const k of fieldUnitKeys(key, boundKeys)) if (values[k] === void 0) delete out[k];
|
|
105981
|
-
else out[k] = values[k];
|
|
105982
|
-
return out;
|
|
105983
|
-
}
|
|
105984
|
-
/** `layer` without `key`'s unit — "reset to the next level". Fresh object. */
|
|
105985
|
-
function withoutField(layer, key, boundKeys) {
|
|
105986
|
-
const out = { ...layer };
|
|
105987
|
-
for (const k of fieldUnitKeys(key, boundKeys)) delete out[k];
|
|
105988
|
-
return out;
|
|
105989
|
-
}
|
|
105990
|
-
/** Every field unit stored in `layer`, by its field key. */
|
|
105991
|
-
function unitsIn(layer, boundKeys) {
|
|
105992
|
-
return [...new Set(Object.keys(layer).map((k) => unitOf(k, boundKeys)))];
|
|
105993
|
-
}
|
|
105994
|
-
/** True when every key of `key`'s unit has the same value in `layer` as in `below`. */
|
|
105995
|
-
function unitEqualsBelow(layer, below, key, boundKeys) {
|
|
105996
|
-
return fieldUnitKeys(key, boundKeys).every((k) => settingValuesEqual(layer[k], below[k]));
|
|
105997
|
-
}
|
|
105998
|
-
/**
|
|
105999
|
-
* `layer` reduced to the fields that DIFFER from `below` — what an editor
|
|
106000
|
-
* stores. A unit is kept or dropped whole. `undefined` when nothing is left.
|
|
106001
|
-
*/
|
|
106002
|
-
function diffStepSettings(layer, below, boundKeys) {
|
|
106003
|
-
if (layer === void 0) return void 0;
|
|
106004
|
-
const out = {};
|
|
106005
|
-
for (const unit of unitsIn(layer, boundKeys)) {
|
|
106006
|
-
if (unitEqualsBelow(layer, below, unit, boundKeys)) continue;
|
|
106007
|
-
for (const k of fieldUnitKeys(unit, boundKeys)) if (layer[k] !== void 0) out[k] = layer[k];
|
|
106008
|
-
}
|
|
106009
|
-
return Object.keys(out).length > 0 ? out : void 0;
|
|
106010
|
-
}
|
|
106011
|
-
/**
|
|
106012
|
-
* The fields `layer` stores at exactly the value of the layers below — a
|
|
106013
|
-
* legacy full copy's leftovers. They change nothing today and stop every
|
|
106014
|
-
* later edit below from reaching this layer. Sorted.
|
|
106015
|
-
*/
|
|
106016
|
-
function fieldsPinnedAtValueBelow(layer, below, boundKeys) {
|
|
106017
|
-
if (layer === void 0) return [];
|
|
106018
|
-
return unitsIn(layer, boundKeys).filter((unit) => unitEqualsBelow(layer, below, unit, boundKeys)).toSorted();
|
|
106019
|
-
}
|
|
106020
|
-
//#endregion
|
|
106021
|
-
//#region src/pipeline/auto-tune/hardware-class.ts
|
|
106022
|
-
var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
|
|
106023
|
-
var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
|
|
106024
|
-
var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
|
|
106025
|
-
/** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
|
|
106026
|
-
var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
|
|
106027
|
-
function parseAppleChip(cpuModel) {
|
|
106028
|
-
const match = APPLE_CHIP.exec(cpuModel.trim());
|
|
106029
|
-
if (match === null) return null;
|
|
106030
|
-
const generation = Number(match[1]);
|
|
106031
|
-
const variantRaw = (match[2] ?? "base").toLowerCase();
|
|
106032
|
-
return {
|
|
106033
|
-
generation,
|
|
106034
|
-
variant: variantRaw === "pro" || variantRaw === "max" || variantRaw === "ultra" ? variantRaw : "base"
|
|
106035
|
-
};
|
|
106036
|
-
}
|
|
106037
|
-
/**
|
|
106038
|
-
* Classify a node. Apple base chips (M1–M4) map to the measured M2 column, the
|
|
106039
|
-
* Pro/Max/Ultra chips to the measured M3 Pro column — the M2 was measured at
|
|
106040
|
-
* 1.0–1.2× the M3 Pro on the Neural Engine, so the generation inside a variant
|
|
106041
|
-
* matters less than the column's own error.
|
|
106042
|
-
*/
|
|
106043
|
-
function classifyInferenceHardware(hw) {
|
|
106044
|
-
const cpuModel = hw.cpuModel;
|
|
106045
|
-
const apple = parseAppleChip(cpuModel);
|
|
106046
|
-
if (apple !== null) return {
|
|
106047
|
-
hardwareClass: apple.variant === "base" ? "apple-m-base" : "apple-m-pro",
|
|
106048
|
-
cpuModel,
|
|
106049
|
-
apple
|
|
106050
|
-
};
|
|
106051
|
-
if (INTEL_CORE_ULTRA.test(cpuModel)) return {
|
|
106052
|
-
hardwareClass: "intel-core-ultra",
|
|
106053
|
-
cpuModel
|
|
106054
|
-
};
|
|
106055
|
-
if (INTEL_N_SERIES.test(cpuModel)) return {
|
|
106056
|
-
hardwareClass: "intel-n-series",
|
|
106057
|
-
cpuModel
|
|
106058
|
-
};
|
|
106059
|
-
if (AMD_PHOENIX.test(cpuModel)) return {
|
|
106060
|
-
hardwareClass: "amd-phoenix",
|
|
106061
|
-
cpuModel
|
|
106062
|
-
};
|
|
106063
|
-
return {
|
|
106064
|
-
hardwareClass: "unknown",
|
|
106065
|
-
cpuModel
|
|
106066
|
-
};
|
|
106067
|
-
}
|
|
106068
|
-
/**
|
|
106069
|
-
* The accelerator kind of one of a node's device keys (`openvino:npu`,
|
|
106070
|
-
* `openvino:gpu`, `coreml:all`, `edgetpu:usb`, `cpu`, `onnx:cpu`, …). `null`
|
|
106071
|
-
* for a key this table has no column for.
|
|
106072
|
-
*/
|
|
106073
|
-
function acceleratorKindOf(deviceKey, hw) {
|
|
106074
|
-
const [backend = "", device = ""] = deviceKey.split(":");
|
|
106075
|
-
if (backend === "edgetpu") return "coral";
|
|
106076
|
-
if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
|
|
106077
|
-
if (backend === "openvino" && device === "npu") return "intel-npu";
|
|
106078
|
-
if (backend === "openvino" && device === "gpu") return "intel-igpu";
|
|
106079
|
-
if (backend === "onnx" && device === "webgpu") return "amd-igpu";
|
|
106080
|
-
if (backend === "vitisai" && device === "npu") return "amd-npu";
|
|
106081
|
-
if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
|
|
106082
|
-
return null;
|
|
106083
|
-
}
|
|
106084
|
-
//#endregion
|
|
106085
|
-
//#region src/pipeline/auto-tune/detector-performance.ts
|
|
106086
|
-
var DETECTOR_PERF = {
|
|
106087
|
-
"intel-core-ultra": {
|
|
106088
|
-
"intel-npu": {
|
|
106089
|
-
"yolov9t-320": {
|
|
106090
|
-
p50Ms: 2.9,
|
|
106091
|
-
fps: 383,
|
|
106092
|
-
measured: true
|
|
106093
|
-
},
|
|
106094
|
-
"yolov9t-320-int8": {
|
|
106095
|
-
p50Ms: 3.8,
|
|
106096
|
-
fps: 333,
|
|
106097
|
-
measured: true
|
|
106098
|
-
},
|
|
106099
|
-
"yolov9t-640": {
|
|
106100
|
-
p50Ms: 7.4,
|
|
106101
|
-
fps: 139,
|
|
106102
|
-
measured: true
|
|
106103
|
-
},
|
|
106104
|
-
"yolov9t-640-int8": {
|
|
106105
|
-
p50Ms: 7.5,
|
|
106106
|
-
fps: 144,
|
|
106107
|
-
measured: true
|
|
106108
|
-
},
|
|
106109
|
-
"yolov9s-320": {
|
|
106110
|
-
p50Ms: 4.4,
|
|
106111
|
-
fps: 241,
|
|
106112
|
-
measured: true
|
|
106113
|
-
},
|
|
106114
|
-
"yolov9s-320-int8": {
|
|
106115
|
-
p50Ms: 4.1,
|
|
106116
|
-
fps: 264,
|
|
106117
|
-
measured: true
|
|
106118
|
-
},
|
|
106119
|
-
"yolov9s-640": {
|
|
106120
|
-
p50Ms: 12.7,
|
|
106121
|
-
fps: 82,
|
|
106122
|
-
measured: true
|
|
106123
|
-
},
|
|
106124
|
-
"yolov9s-640-int8": {
|
|
106125
|
-
p50Ms: 10.7,
|
|
106126
|
-
fps: 99,
|
|
106127
|
-
measured: true
|
|
106128
|
-
},
|
|
106129
|
-
"yolov9m-320": {
|
|
106130
|
-
p50Ms: 8.4,
|
|
106131
|
-
fps: 123,
|
|
106132
|
-
measured: true
|
|
106133
|
-
},
|
|
106134
|
-
"yolov9m-320-int8": {
|
|
106135
|
-
p50Ms: 6.5,
|
|
106136
|
-
fps: 165,
|
|
106137
|
-
measured: true
|
|
106138
|
-
},
|
|
106139
|
-
"yolov9m-640": {
|
|
106140
|
-
p50Ms: 29.5,
|
|
106141
|
-
fps: 32,
|
|
106142
|
-
measured: true
|
|
106143
|
-
},
|
|
106144
|
-
"yolov9m-640-int8": {
|
|
106145
|
-
p50Ms: 19.5,
|
|
106146
|
-
fps: 52,
|
|
106147
|
-
measured: true
|
|
106148
|
-
}
|
|
106149
|
-
},
|
|
106150
|
-
"intel-igpu": {
|
|
106151
|
-
"yolov9t-320": {
|
|
106152
|
-
p50Ms: 2.6,
|
|
106153
|
-
fps: 405,
|
|
106154
|
-
measured: true
|
|
106155
|
-
},
|
|
106156
|
-
"yolov9t-320-int8": {
|
|
106157
|
-
p50Ms: 2.8,
|
|
106158
|
-
fps: 324,
|
|
106159
|
-
measured: true
|
|
106160
|
-
},
|
|
106161
|
-
"yolov9t-640": {
|
|
106162
|
-
p50Ms: 6.5,
|
|
106163
|
-
fps: 157,
|
|
106164
|
-
measured: true
|
|
106165
|
-
},
|
|
106166
|
-
"yolov9t-640-int8": {
|
|
106167
|
-
p50Ms: 5.6,
|
|
106168
|
-
fps: 185,
|
|
106169
|
-
measured: true
|
|
106170
|
-
},
|
|
106171
|
-
"yolov9s-320": {
|
|
106172
|
-
p50Ms: 4.6,
|
|
106173
|
-
fps: 200,
|
|
106174
|
-
measured: true
|
|
106175
|
-
},
|
|
106176
|
-
"yolov9s-320-int8": {
|
|
106177
|
-
p50Ms: 4.1,
|
|
106178
|
-
fps: 239,
|
|
106179
|
-
measured: true
|
|
106180
|
-
},
|
|
106181
|
-
"yolov9s-640": {
|
|
106182
|
-
p50Ms: 15.2,
|
|
106183
|
-
fps: 69,
|
|
106184
|
-
measured: true
|
|
106185
|
-
},
|
|
106186
|
-
"yolov9s-640-int8": {
|
|
106187
|
-
p50Ms: 10.5,
|
|
106188
|
-
fps: 99,
|
|
106189
|
-
measured: true
|
|
106190
|
-
},
|
|
106191
|
-
"yolov9m-320": {
|
|
106192
|
-
p50Ms: 11.4,
|
|
106193
|
-
fps: 88,
|
|
106194
|
-
measured: true
|
|
106195
|
-
},
|
|
106196
|
-
"yolov9m-320-int8": {
|
|
106197
|
-
p50Ms: 7,
|
|
106198
|
-
fps: 127,
|
|
106199
|
-
measured: true
|
|
106200
|
-
},
|
|
106201
|
-
"yolov9m-640": {
|
|
106202
|
-
p50Ms: 40,
|
|
106203
|
-
fps: 25,
|
|
106204
|
-
measured: true
|
|
106205
|
-
},
|
|
106206
|
-
"yolov9m-640-int8": {
|
|
106207
|
-
p50Ms: 23.5,
|
|
106208
|
-
fps: 44,
|
|
106209
|
-
measured: true
|
|
106210
|
-
}
|
|
106211
|
-
},
|
|
106212
|
-
"x86-cpu": {
|
|
106213
|
-
"yolov9t-320": {
|
|
106214
|
-
p50Ms: 6.9,
|
|
106215
|
-
fps: 145,
|
|
106216
|
-
measured: true
|
|
106217
|
-
},
|
|
106218
|
-
"yolov9t-320-int8": {
|
|
106219
|
-
p50Ms: 2.7,
|
|
106220
|
-
fps: 405,
|
|
106221
|
-
measured: true
|
|
106222
|
-
},
|
|
106223
|
-
"yolov9t-640": {
|
|
106224
|
-
p50Ms: 23,
|
|
106225
|
-
fps: 44,
|
|
106226
|
-
measured: true
|
|
106227
|
-
},
|
|
106228
|
-
"yolov9t-640-int8": {
|
|
106229
|
-
p50Ms: 8.8,
|
|
106230
|
-
fps: 124,
|
|
106231
|
-
measured: true
|
|
106232
|
-
},
|
|
106233
|
-
"yolov9s-320": {
|
|
106234
|
-
p50Ms: 15.8,
|
|
106235
|
-
fps: 63,
|
|
106236
|
-
measured: true
|
|
106237
|
-
},
|
|
106238
|
-
"yolov9s-320-int8": {
|
|
106239
|
-
p50Ms: 6.5,
|
|
106240
|
-
fps: 180,
|
|
106241
|
-
measured: true
|
|
106242
|
-
},
|
|
106243
|
-
"yolov9s-640": {
|
|
106244
|
-
p50Ms: 58.2,
|
|
106245
|
-
fps: 17,
|
|
106246
|
-
measured: true
|
|
106247
|
-
},
|
|
106248
|
-
"yolov9s-640-int8": {
|
|
106249
|
-
p50Ms: 20.1,
|
|
106250
|
-
fps: 52,
|
|
106251
|
-
measured: true
|
|
106252
|
-
},
|
|
106253
|
-
"yolov9m-320": {
|
|
106254
|
-
p50Ms: 40,
|
|
106255
|
-
fps: 25,
|
|
106256
|
-
measured: true
|
|
106257
|
-
},
|
|
106258
|
-
"yolov9m-320-int8": {
|
|
106259
|
-
p50Ms: 14.2,
|
|
106260
|
-
fps: 74,
|
|
106261
|
-
measured: true
|
|
106262
|
-
},
|
|
106263
|
-
"yolov9m-640": {
|
|
106264
|
-
p50Ms: 155.8,
|
|
106265
|
-
fps: 6,
|
|
106266
|
-
measured: true
|
|
106267
|
-
},
|
|
106268
|
-
"yolov9m-640-int8": {
|
|
106269
|
-
p50Ms: 52.4,
|
|
106270
|
-
fps: 19,
|
|
106271
|
-
measured: true
|
|
106272
|
-
}
|
|
106273
|
-
},
|
|
106274
|
-
coral: { "yolov9s-320-edgetpu": {
|
|
106275
|
-
p50Ms: 32,
|
|
106276
|
-
fps: 31,
|
|
106277
|
-
measured: false
|
|
106278
|
-
} }
|
|
106279
|
-
},
|
|
106280
|
-
"intel-n-series": {
|
|
106281
|
-
"intel-igpu": {
|
|
106282
|
-
"yolov9t-320": {
|
|
106283
|
-
p50Ms: 15,
|
|
106284
|
-
fps: 48,
|
|
106285
|
-
measured: true
|
|
106286
|
-
},
|
|
106287
|
-
"yolov9t-320-int8": {
|
|
106288
|
-
p50Ms: 14.1,
|
|
106289
|
-
fps: 67,
|
|
106290
|
-
measured: true
|
|
106291
|
-
},
|
|
106292
|
-
"yolov9t-640": {
|
|
106293
|
-
p50Ms: 38.5,
|
|
106294
|
-
fps: 26,
|
|
106295
|
-
measured: true
|
|
106296
|
-
},
|
|
106297
|
-
"yolov9t-640-int8": {
|
|
106298
|
-
p50Ms: 33.1,
|
|
106299
|
-
fps: 33,
|
|
106300
|
-
measured: true
|
|
106301
|
-
},
|
|
106302
|
-
"yolov9s-320": {
|
|
106303
|
-
p50Ms: 41.4,
|
|
106304
|
-
fps: 24,
|
|
106305
|
-
measured: true
|
|
106306
|
-
},
|
|
106307
|
-
"yolov9s-320-int8": {
|
|
106308
|
-
p50Ms: 23.3,
|
|
106309
|
-
fps: 34,
|
|
106310
|
-
measured: true
|
|
106311
|
-
},
|
|
106312
|
-
"yolov9s-640": {
|
|
106313
|
-
p50Ms: 127.4,
|
|
106314
|
-
fps: 8,
|
|
106315
|
-
measured: true
|
|
106316
|
-
},
|
|
106317
|
-
"yolov9s-640-int8": {
|
|
106318
|
-
p50Ms: 92.9,
|
|
106319
|
-
fps: 11,
|
|
106320
|
-
measured: true
|
|
106321
|
-
},
|
|
106322
|
-
"yolov9m-320": {
|
|
106323
|
-
p50Ms: 63.5,
|
|
106324
|
-
fps: 16,
|
|
106325
|
-
measured: true
|
|
106326
|
-
},
|
|
106327
|
-
"yolov9m-320-int8": {
|
|
106328
|
-
p50Ms: 39.4,
|
|
106329
|
-
fps: 26,
|
|
106330
|
-
measured: true
|
|
106331
|
-
},
|
|
106332
|
-
"yolov9m-640": {
|
|
106333
|
-
p50Ms: 215.5,
|
|
106334
|
-
fps: 5,
|
|
106335
|
-
measured: true
|
|
106336
|
-
},
|
|
106337
|
-
"yolov9m-640-int8": {
|
|
106338
|
-
p50Ms: 139.1,
|
|
106339
|
-
fps: 7,
|
|
106340
|
-
measured: true
|
|
106341
|
-
}
|
|
106342
|
-
},
|
|
106343
|
-
"x86-cpu": {
|
|
106344
|
-
"yolov9t-320": {
|
|
106345
|
-
p50Ms: 86.2,
|
|
106346
|
-
fps: 12,
|
|
106347
|
-
measured: true
|
|
106348
|
-
},
|
|
106349
|
-
"yolov9t-320-int8": {
|
|
106350
|
-
p50Ms: 52.7,
|
|
106351
|
-
fps: 20,
|
|
106352
|
-
measured: true
|
|
106353
|
-
},
|
|
106354
|
-
"yolov9t-640": {
|
|
106355
|
-
p50Ms: 322.1,
|
|
106356
|
-
fps: 3,
|
|
106357
|
-
measured: true
|
|
106358
|
-
},
|
|
106359
|
-
"yolov9t-640-int8": {
|
|
106360
|
-
p50Ms: 205.6,
|
|
106361
|
-
fps: 5,
|
|
106362
|
-
measured: true
|
|
106363
|
-
},
|
|
106364
|
-
"yolov9s-320": {
|
|
106365
|
-
p50Ms: 164.4,
|
|
106366
|
-
fps: 6,
|
|
106367
|
-
measured: true
|
|
106368
|
-
},
|
|
106369
|
-
"yolov9s-320-int8": {
|
|
106370
|
-
p50Ms: 86.9,
|
|
106371
|
-
fps: 12,
|
|
106372
|
-
measured: true
|
|
106373
|
-
},
|
|
106374
|
-
"yolov9s-640": {
|
|
106375
|
-
p50Ms: 341.3,
|
|
106376
|
-
fps: 3,
|
|
106377
|
-
measured: true
|
|
106378
|
-
},
|
|
106379
|
-
"yolov9s-640-int8": {
|
|
106380
|
-
p50Ms: 185.3,
|
|
106381
|
-
fps: 5,
|
|
106382
|
-
measured: true
|
|
106383
|
-
},
|
|
106384
|
-
"yolov9m-320": {
|
|
106385
|
-
p50Ms: 166.8,
|
|
106386
|
-
fps: 6,
|
|
106387
|
-
measured: true
|
|
106388
|
-
},
|
|
106389
|
-
"yolov9m-320-int8": {
|
|
106390
|
-
p50Ms: 226.3,
|
|
106391
|
-
fps: 4,
|
|
106392
|
-
measured: true
|
|
106393
|
-
},
|
|
106394
|
-
"yolov9m-640": {
|
|
106395
|
-
p50Ms: 663.5,
|
|
106396
|
-
fps: 2,
|
|
106397
|
-
measured: true
|
|
106398
|
-
},
|
|
106399
|
-
"yolov9m-640-int8": {
|
|
106400
|
-
p50Ms: 324.4,
|
|
106401
|
-
fps: 3,
|
|
106402
|
-
measured: true
|
|
106403
|
-
}
|
|
106404
|
-
},
|
|
106405
|
-
coral: { "yolov9s-320-edgetpu": {
|
|
106406
|
-
p50Ms: 32,
|
|
106407
|
-
fps: 31,
|
|
106408
|
-
measured: false
|
|
106409
|
-
} }
|
|
106410
|
-
},
|
|
106411
|
-
"amd-phoenix": {
|
|
106412
|
-
"x86-cpu": {
|
|
106413
|
-
"yolov9t-320": {
|
|
106414
|
-
p50Ms: 24,
|
|
106415
|
-
fps: 42,
|
|
106416
|
-
measured: true
|
|
106417
|
-
},
|
|
106418
|
-
"yolov9t-320-int8": {
|
|
106419
|
-
p50Ms: 12,
|
|
106420
|
-
fps: 83,
|
|
106421
|
-
measured: true
|
|
106422
|
-
},
|
|
106423
|
-
"yolov9t-640": {
|
|
106424
|
-
p50Ms: 50,
|
|
106425
|
-
fps: 20,
|
|
106426
|
-
measured: true
|
|
106427
|
-
},
|
|
106428
|
-
"yolov9t-640-int8": {
|
|
106429
|
-
p50Ms: 20,
|
|
106430
|
-
fps: 50,
|
|
106431
|
-
measured: true
|
|
106432
|
-
},
|
|
106433
|
-
"yolov9s-320": {
|
|
106434
|
-
p50Ms: 30,
|
|
106435
|
-
fps: 33,
|
|
106436
|
-
measured: true
|
|
106437
|
-
},
|
|
106438
|
-
"yolov9s-320-int8": {
|
|
106439
|
-
p50Ms: 15,
|
|
106440
|
-
fps: 67,
|
|
106441
|
-
measured: true
|
|
106442
|
-
},
|
|
106443
|
-
"yolov9s-640": {
|
|
106444
|
-
p50Ms: 92,
|
|
106445
|
-
fps: 11,
|
|
106446
|
-
measured: true
|
|
106447
|
-
},
|
|
106448
|
-
"yolov9s-640-int8": {
|
|
106449
|
-
p50Ms: 27,
|
|
106450
|
-
fps: 37,
|
|
106451
|
-
measured: true
|
|
106452
|
-
},
|
|
106453
|
-
"yolov9m-320": {
|
|
106454
|
-
p50Ms: 67,
|
|
106455
|
-
fps: 15,
|
|
106456
|
-
measured: true
|
|
106457
|
-
},
|
|
106458
|
-
"yolov9m-320-int8": {
|
|
106459
|
-
p50Ms: 21,
|
|
106460
|
-
fps: 48,
|
|
106461
|
-
measured: true
|
|
106462
|
-
},
|
|
106463
|
-
"yolov9m-640": {
|
|
106464
|
-
p50Ms: 229,
|
|
106465
|
-
fps: 4,
|
|
106466
|
-
measured: true
|
|
106467
|
-
},
|
|
106468
|
-
"yolov9m-640-int8": {
|
|
106469
|
-
p50Ms: 48,
|
|
106470
|
-
fps: 21,
|
|
106471
|
-
measured: true
|
|
106472
|
-
}
|
|
106473
|
-
},
|
|
106474
|
-
"amd-igpu": {
|
|
106475
|
-
"yolov9t-320": {
|
|
106476
|
-
p50Ms: 40,
|
|
106477
|
-
fps: 25,
|
|
106478
|
-
measured: true
|
|
106479
|
-
},
|
|
106480
|
-
"yolov9t-640": {
|
|
106481
|
-
p50Ms: 89,
|
|
106482
|
-
fps: 11,
|
|
106483
|
-
measured: true
|
|
106484
|
-
},
|
|
106485
|
-
"yolov9s-320": {
|
|
106486
|
-
p50Ms: 65,
|
|
106487
|
-
fps: 15,
|
|
106488
|
-
measured: true
|
|
106489
|
-
},
|
|
106490
|
-
"yolov9s-640": {
|
|
106491
|
-
p50Ms: 125,
|
|
106492
|
-
fps: 8,
|
|
106493
|
-
measured: true
|
|
106494
|
-
},
|
|
106495
|
-
"yolov9m-320": {
|
|
106496
|
-
p50Ms: 85,
|
|
106497
|
-
fps: 12,
|
|
106498
|
-
measured: true
|
|
106499
|
-
},
|
|
106500
|
-
"yolov9m-640": {
|
|
106501
|
-
p50Ms: 228,
|
|
106502
|
-
fps: 4,
|
|
106503
|
-
measured: true
|
|
106504
|
-
}
|
|
106505
|
-
},
|
|
106506
|
-
coral: { "yolov9s-320-edgetpu": {
|
|
106507
|
-
p50Ms: 32,
|
|
106508
|
-
fps: 31,
|
|
106509
|
-
measured: true
|
|
106510
|
-
} }
|
|
106511
|
-
},
|
|
106512
|
-
"apple-m-pro": {
|
|
106513
|
-
"apple-ane": {
|
|
106514
|
-
"yolov9t-320": {
|
|
106515
|
-
p50Ms: 1.1,
|
|
106516
|
-
fps: 952,
|
|
106517
|
-
measured: true
|
|
106518
|
-
},
|
|
106519
|
-
"yolov9t-640": {
|
|
106520
|
-
p50Ms: 3,
|
|
106521
|
-
fps: 333,
|
|
106522
|
-
measured: true
|
|
106523
|
-
},
|
|
106524
|
-
"yolov9s-320": {
|
|
106525
|
-
p50Ms: 1.5,
|
|
106526
|
-
fps: 667,
|
|
106527
|
-
measured: true
|
|
106528
|
-
},
|
|
106529
|
-
"yolov9s-640": {
|
|
106530
|
-
p50Ms: 5.1,
|
|
106531
|
-
fps: 196,
|
|
106532
|
-
measured: true
|
|
106533
|
-
},
|
|
106534
|
-
"yolov9m-320": {
|
|
106535
|
-
p50Ms: 3.2,
|
|
106536
|
-
fps: 312,
|
|
106537
|
-
measured: true
|
|
106538
|
-
},
|
|
106539
|
-
"yolov9m-640": {
|
|
106540
|
-
p50Ms: 10.2,
|
|
106541
|
-
fps: 98,
|
|
106542
|
-
measured: true
|
|
106543
|
-
}
|
|
106544
|
-
},
|
|
106545
|
-
coral: { "yolov9s-320-edgetpu": {
|
|
106546
|
-
p50Ms: 32,
|
|
106547
|
-
fps: 31,
|
|
106548
|
-
measured: false
|
|
106549
|
-
} }
|
|
106550
|
-
},
|
|
106551
|
-
"apple-m-base": {
|
|
106552
|
-
"apple-ane": {
|
|
106553
|
-
"yolov9t-320": {
|
|
106554
|
-
p50Ms: 1.32,
|
|
106555
|
-
fps: 758,
|
|
106556
|
-
measured: false
|
|
106557
|
-
},
|
|
106558
|
-
"yolov9t-640": {
|
|
106559
|
-
p50Ms: 3.45,
|
|
106560
|
-
fps: 290,
|
|
106561
|
-
measured: true
|
|
106562
|
-
},
|
|
106563
|
-
"yolov9s-320": {
|
|
106564
|
-
p50Ms: 1.8,
|
|
106565
|
-
fps: 556,
|
|
106566
|
-
measured: false
|
|
106567
|
-
},
|
|
106568
|
-
"yolov9s-640": {
|
|
106569
|
-
p50Ms: 5.46,
|
|
106570
|
-
fps: 183,
|
|
106571
|
-
measured: true
|
|
106572
|
-
},
|
|
106573
|
-
"yolov9m-320": {
|
|
106574
|
-
p50Ms: 3.79,
|
|
106575
|
-
fps: 264,
|
|
106576
|
-
measured: true
|
|
106577
|
-
},
|
|
106578
|
-
"yolov9m-640": {
|
|
106579
|
-
p50Ms: 10.34,
|
|
106580
|
-
fps: 97,
|
|
106581
|
-
measured: true
|
|
106582
|
-
}
|
|
106583
|
-
},
|
|
106584
|
-
coral: { "yolov9s-320-edgetpu": {
|
|
106585
|
-
p50Ms: 32,
|
|
106586
|
-
fps: 31,
|
|
106587
|
-
measured: false
|
|
106588
|
-
} }
|
|
106424
|
+
/**
|
|
106425
|
+
* Can a pool of `format` run a step whose catalog is `models`, given the model
|
|
106426
|
+
* the step names (`null`/absent = unpinned, the format default)?
|
|
106427
|
+
*/
|
|
106428
|
+
function stepModelRunsOnFormat(models, modelId, format) {
|
|
106429
|
+
if (modelId !== void 0 && modelId !== null) {
|
|
106430
|
+
const named = models.find((m) => m.id === modelId);
|
|
106431
|
+
if (named !== void 0 && hasBuild(named, format)) return true;
|
|
106589
106432
|
}
|
|
106433
|
+
return models.some((m) => m.legacy !== true && hasBuild(m, format));
|
|
106434
|
+
}
|
|
106435
|
+
//#endregion
|
|
106436
|
+
//#region src/pipeline/removed-model-ids.ts
|
|
106437
|
+
/**
|
|
106438
|
+
* Model ids DELETED from a step's catalog (D703, D710, D719), per step — and
|
|
106439
|
+
* the one question asked of them: is a stored pin to this id a pin to a model
|
|
106440
|
+
* that no longer exists? (D725)
|
|
106441
|
+
*
|
|
106442
|
+
* This is NOT a resolver input. `resolveModelForFormat` still returns an
|
|
106443
|
+
* unknown id unchanged (a custom model), and a bulk pass pinned to one still
|
|
106444
|
+
* refuses rather than substitutes (D54). The ONE reader is the orchestrator's
|
|
106445
|
+
* stored-pin reset (`removed-model-pin-reset.ts`), which clears such a pin from
|
|
106446
|
+
* the store so the step follows its default again — unless a registered custom
|
|
106447
|
+
* model carries the same id.
|
|
106448
|
+
*
|
|
106449
|
+
* `removed-model-ids.spec.ts` (addon-pipeline) pins that every id here is
|
|
106450
|
+
* really absent from its step's catalog. A model deleted from a catalog is
|
|
106451
|
+
* added here in the same change, or its stored pins stay behind as custom ids.
|
|
106452
|
+
*/
|
|
106453
|
+
/** `stepId → ids deleted from that step's catalog`. */
|
|
106454
|
+
var REMOVED_MODEL_IDS = {
|
|
106455
|
+
"object-detection": ["efficientdet-lite0-edgetpu", "ssdlite-mobiledet-coco-edgetpu"],
|
|
106456
|
+
"face-detection": [
|
|
106457
|
+
"scrypted-yolov9t-face",
|
|
106458
|
+
"scrfd-2.5g",
|
|
106459
|
+
"ssd-mobilenet-v2-face-edgetpu"
|
|
106460
|
+
],
|
|
106461
|
+
"face-embedding": ["arcface-r100", "inception-resnet-v1"],
|
|
106462
|
+
"plate-detection": ["yolov8n-plate"],
|
|
106463
|
+
"plate-ocr": ["vgg-english-g2"],
|
|
106464
|
+
"clip-embedding": [
|
|
106465
|
+
"mobileclip-s0",
|
|
106466
|
+
"mobileclip-s1",
|
|
106467
|
+
"mobileclip-s2"
|
|
106468
|
+
],
|
|
106469
|
+
"package-detection": ["yolov8n-package"],
|
|
106470
|
+
"bird-classifier": ["bird-classifier-aiy-edgetpu", "bird-nabirds-404"],
|
|
106471
|
+
"animal-classifier": ["animals-10"],
|
|
106472
|
+
"vehicle-classifier": ["vehicle-type-efficientnet"]
|
|
106590
106473
|
};
|
|
106591
|
-
|
|
106592
|
-
|
|
106593
|
-
|
|
106594
|
-
|
|
106595
|
-
|
|
106596
|
-
|
|
106597
|
-
|
|
106598
|
-
|
|
106599
|
-
|
|
106600
|
-
|
|
106601
|
-
|
|
106602
|
-
|
|
106603
|
-
|
|
106604
|
-
|
|
106605
|
-
|
|
106606
|
-
|
|
106607
|
-
|
|
106608
|
-
|
|
106609
|
-
|
|
106610
|
-
|
|
106611
|
-
|
|
106612
|
-
|
|
106613
|
-
|
|
106614
|
-
|
|
106615
|
-
|
|
106616
|
-
|
|
106617
|
-
|
|
106618
|
-
|
|
106619
|
-
|
|
106620
|
-
|
|
106621
|
-
|
|
106622
|
-
|
|
106623
|
-
}
|
|
106624
|
-
|
|
106625
|
-
|
|
106626
|
-
|
|
106627
|
-
}
|
|
106628
|
-
|
|
106629
|
-
|
|
106630
|
-
|
|
106631
|
-
|
|
106632
|
-
|
|
106633
|
-
|
|
106634
|
-
|
|
106635
|
-
|
|
106636
|
-
|
|
106637
|
-
|
|
106638
|
-
|
|
106474
|
+
/** True when `modelId` was deleted from `stepId`'s catalog. */
|
|
106475
|
+
function isRemovedModelId(stepId, modelId) {
|
|
106476
|
+
return REMOVED_MODEL_IDS[stepId]?.includes(modelId) ?? false;
|
|
106477
|
+
}
|
|
106478
|
+
//#endregion
|
|
106479
|
+
//#region src/pipeline/model-bound-settings.ts
|
|
106480
|
+
/** Suffix of the sibling key that names the model a stored value was made for. */
|
|
106481
|
+
var MODEL_BINDING_SUFFIX = "ModelId";
|
|
106482
|
+
/** `minConfidencePerson` → `minConfidencePersonModelId`. */
|
|
106483
|
+
function modelBindingKey(key) {
|
|
106484
|
+
return `${key}${MODEL_BINDING_SUFFIX}`;
|
|
106485
|
+
}
|
|
106486
|
+
/** The model a stored value was made for, or `undefined` when unbound. */
|
|
106487
|
+
function storedBinding(settings, key) {
|
|
106488
|
+
const binding = settings?.[modelBindingKey(key)];
|
|
106489
|
+
return typeof binding === "string" && binding.length > 0 ? binding : void 0;
|
|
106490
|
+
}
|
|
106491
|
+
/**
|
|
106492
|
+
* The effective value of `key` for the model that runs (`runningModelId`,
|
|
106493
|
+
* `undefined` when unknown — it then matches no binding).
|
|
106494
|
+
*/
|
|
106495
|
+
function resolveModelBoundSetting(settings, key, runningModelId, modelDefault, globalDefault) {
|
|
106496
|
+
const stored = settings?.[key];
|
|
106497
|
+
const binding = storedBinding(settings, key);
|
|
106498
|
+
if (stored !== void 0 && binding === void 0) return {
|
|
106499
|
+
value: stored,
|
|
106500
|
+
source: "override"
|
|
106501
|
+
};
|
|
106502
|
+
if (stored !== void 0 && binding !== void 0 && binding === runningModelId) return {
|
|
106503
|
+
value: stored,
|
|
106504
|
+
source: "override",
|
|
106505
|
+
boundModelId: binding
|
|
106506
|
+
};
|
|
106507
|
+
const inapplicable = stored !== void 0 && binding !== void 0 ? { inapplicableOverride: {
|
|
106508
|
+
value: stored,
|
|
106509
|
+
modelId: binding
|
|
106510
|
+
} } : {};
|
|
106511
|
+
if (modelDefault !== void 0) return {
|
|
106512
|
+
value: modelDefault,
|
|
106513
|
+
source: "model-default",
|
|
106514
|
+
...inapplicable
|
|
106515
|
+
};
|
|
106516
|
+
return {
|
|
106517
|
+
value: globalDefault,
|
|
106518
|
+
source: "global-default",
|
|
106519
|
+
...inapplicable
|
|
106520
|
+
};
|
|
106521
|
+
}
|
|
106522
|
+
/**
|
|
106523
|
+
* The OPERATOR layer of a step's settings as the running model sees it: every
|
|
106524
|
+
* model-bound value made for another model is removed (so the default
|
|
106525
|
+
* underneath — the running model's — wins the merge), and every binding key is
|
|
106526
|
+
* stripped. Unbound values are kept. Returns a fresh object; `undefined` stays
|
|
106527
|
+
* `undefined`.
|
|
106528
|
+
*/
|
|
106529
|
+
function applyModelBoundSettings(settings, boundKeys, runningModelId) {
|
|
106530
|
+
if (settings === void 0) return void 0;
|
|
106531
|
+
const out = { ...settings };
|
|
106532
|
+
for (const key of boundKeys) {
|
|
106533
|
+
const binding = storedBinding(settings, key);
|
|
106534
|
+
if (binding !== void 0 && binding !== runningModelId) delete out[key];
|
|
106535
|
+
delete out[modelBindingKey(key)];
|
|
106639
106536
|
}
|
|
106640
|
-
|
|
106537
|
+
return out;
|
|
106538
|
+
}
|
|
106539
|
+
/** Store `value` for `key`, made for `modelId`. Returns a fresh object. */
|
|
106540
|
+
function writeModelBoundSetting(settings, key, value, modelId) {
|
|
106541
|
+
return {
|
|
106542
|
+
...settings,
|
|
106543
|
+
[key]: value,
|
|
106544
|
+
[modelBindingKey(key)]: modelId
|
|
106545
|
+
};
|
|
106546
|
+
}
|
|
106547
|
+
/** Remove an override and its binding — "reset to the model default". */
|
|
106548
|
+
function clearModelBoundSetting(settings, key) {
|
|
106549
|
+
const out = { ...settings };
|
|
106550
|
+
delete out[key];
|
|
106551
|
+
delete out[modelBindingKey(key)];
|
|
106552
|
+
return out;
|
|
106553
|
+
}
|
|
106554
|
+
/** True when any of `boundKeys` has an override IN FORCE for `modelId`. */
|
|
106555
|
+
function hasModelBoundOverrides(settings, boundKeys, modelId) {
|
|
106556
|
+
return boundKeys.some((key) => resolveModelBoundSetting(settings, key, modelId, void 0, void 0).source === "override");
|
|
106557
|
+
}
|
|
106558
|
+
/**
|
|
106559
|
+
* "Reset thresholds to model defaults": remove every override of `boundKeys`
|
|
106560
|
+
* that is in force for `modelId` (bound to it, or unbound), with its binding —
|
|
106561
|
+
* one result, so the editor writes it in one save. An override stored for
|
|
106562
|
+
* ANOTHER model is kept: it is not in force here, and it applies again when
|
|
106563
|
+
* that model runs.
|
|
106564
|
+
*/
|
|
106565
|
+
function clearModelBoundOverrides(settings, boundKeys, modelId) {
|
|
106566
|
+
return boundKeys.reduce((acc, key) => resolveModelBoundSetting(acc, key, modelId, void 0, void 0).source === "override" ? clearModelBoundSetting(acc, key) : acc, { ...settings });
|
|
106567
|
+
}
|
|
106568
|
+
/**
|
|
106569
|
+
* The keys of every `bindsToModel` field of a step's config schema, groups
|
|
106570
|
+
* flattened (D738). One definition for the runner (which applies the binding)
|
|
106571
|
+
* and the orchestrator's Auto tune (which clears those overrides, D745).
|
|
106572
|
+
*/
|
|
106573
|
+
function collectModelBoundKeys(fields) {
|
|
106574
|
+
return fields.flatMap((field) => {
|
|
106575
|
+
if (field.type === "group") return collectModelBoundKeys(field.fields);
|
|
106576
|
+
return "key" in field && "bindsToModel" in field && field.bindsToModel === true ? [field.key] : [];
|
|
106577
|
+
});
|
|
106578
|
+
}
|
|
106579
|
+
//#endregion
|
|
106580
|
+
//#region src/pipeline/step-settings-layers.ts
|
|
106581
|
+
/**
|
|
106582
|
+
* The layers of a detection step's settings, and the field-level edits on them
|
|
106583
|
+
* (D754, D927).
|
|
106584
|
+
*
|
|
106585
|
+
* A step's settings reach a session through two stored layers, merged key by
|
|
106586
|
+
* key — a key in the higher layer wins:
|
|
106587
|
+
*
|
|
106588
|
+
* node the node's base for the accelerator that runs the step
|
|
106589
|
+
* camera `cameraSettings[cam].stepSettings[step]` — camera-semantic
|
|
106590
|
+
* keys only, on every accelerator (never a model-bound field)
|
|
106591
|
+
*
|
|
106592
|
+
* Below them sits the default: the running model's (D738) or the field's own.
|
|
106593
|
+
*
|
|
106594
|
+
* Every layer is SPARSE and FIELD-LEVEL. A key present in a layer is an
|
|
106595
|
+
* override; an absent key inherits. Two consequences that every editor must
|
|
106596
|
+
* respect, and why this module exists:
|
|
106597
|
+
*
|
|
106598
|
+
* - A model-bound field (D738) occupies TWO keys, its value and
|
|
106599
|
+
* `<key>ModelId`. They are written, compared and removed as one unit — a
|
|
106600
|
+
* value without its binding over a lower layer's binding would be judged
|
|
106601
|
+
* against the wrong model.
|
|
106602
|
+
* - An editor writes a DIFF against the merged layers below, never a copy of
|
|
106603
|
+
* them. A copy pins every field at the value it had that day, so later
|
|
106604
|
+
* edits below never reach it (the full-copy "Override" this replaced).
|
|
106605
|
+
*/
|
|
106606
|
+
/** Top-down order of the stored layers. */
|
|
106607
|
+
var LAYER_ORDER = ["camera", "node"];
|
|
106608
|
+
/**
|
|
106609
|
+
* The keys one field occupies in a bag: its own, plus its binding key when it
|
|
106610
|
+
* binds to a model. `boundKeys` = `collectModelBoundKeys(schema)`.
|
|
106611
|
+
*/
|
|
106612
|
+
function fieldUnitKeys(key, boundKeys) {
|
|
106613
|
+
return boundKeys.includes(key) ? [key, modelBindingKey(key)] : [key];
|
|
106614
|
+
}
|
|
106615
|
+
/** The field a stored key belongs to (`minConfidencePersonModelId` → `minConfidencePerson`). */
|
|
106616
|
+
function unitOf(storedKey, boundKeys) {
|
|
106617
|
+
return boundKeys.find((k) => modelBindingKey(k) === storedKey) ?? storedKey;
|
|
106618
|
+
}
|
|
106619
|
+
/** Structural equality for stored values (numbers, strings, booleans, arrays, plain objects). */
|
|
106620
|
+
function settingValuesEqual(a, b) {
|
|
106621
|
+
if (Object.is(a, b)) return true;
|
|
106622
|
+
if (Array.isArray(a) && Array.isArray(b)) return a.length === b.length && a.every((v, i) => settingValuesEqual(v, b[i]));
|
|
106623
|
+
if (isPlainObject(a) && isPlainObject(b)) {
|
|
106624
|
+
const ka = Object.keys(a);
|
|
106625
|
+
const kb = Object.keys(b);
|
|
106626
|
+
return ka.length === kb.length && ka.every((k) => settingValuesEqual(a[k], b[k]));
|
|
106627
|
+
}
|
|
106628
|
+
return false;
|
|
106629
|
+
}
|
|
106630
|
+
function isPlainObject(v) {
|
|
106631
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
106632
|
+
}
|
|
106633
|
+
/** Merge bags bottom-up (later wins, per key). Fresh object. */
|
|
106634
|
+
function mergeSettingsBags(...bags) {
|
|
106635
|
+
return bags.reduce((acc, bag) => ({
|
|
106636
|
+
...acc,
|
|
106637
|
+
...bag
|
|
106638
|
+
}), {});
|
|
106639
|
+
}
|
|
106640
|
+
/** The merged value of the layers BELOW `layer` (what removing a key from `layer` falls back to). */
|
|
106641
|
+
function settingsBelow(layers, layer) {
|
|
106642
|
+
return mergeSettingsBags(...LAYER_ORDER.slice(LAYER_ORDER.indexOf(layer) + 1).toReversed().map((id) => layers[id]));
|
|
106643
|
+
}
|
|
106644
|
+
/** The effective bag: every stored layer merged. */
|
|
106645
|
+
function effectiveStepSettings(layers) {
|
|
106646
|
+
return mergeSettingsBags(layers.node, layers.camera);
|
|
106647
|
+
}
|
|
106648
|
+
/** The highest stored layer that holds any key of `key`'s unit, or `default`. */
|
|
106649
|
+
function stepSettingSource(layers, key, boundKeys) {
|
|
106650
|
+
const unit = fieldUnitKeys(key, boundKeys);
|
|
106651
|
+
for (const id of LAYER_ORDER) {
|
|
106652
|
+
const bag = layers[id];
|
|
106653
|
+
if (bag !== void 0 && unit.some((k) => bag[k] !== void 0)) return id;
|
|
106654
|
+
}
|
|
106655
|
+
return "default";
|
|
106656
|
+
}
|
|
106657
|
+
/**
|
|
106658
|
+
* `layer` with `key`'s unit set from `values` (a bag carrying the unit's new
|
|
106659
|
+
* value — e.g. the editor's whole next settings bag). A unit key that `values`
|
|
106660
|
+
* does not carry is removed from the layer. Fresh object.
|
|
106661
|
+
*/
|
|
106662
|
+
function withFieldFrom(layer, key, values, boundKeys) {
|
|
106663
|
+
const out = { ...layer };
|
|
106664
|
+
for (const k of fieldUnitKeys(key, boundKeys)) if (values[k] === void 0) delete out[k];
|
|
106665
|
+
else out[k] = values[k];
|
|
106666
|
+
return out;
|
|
106667
|
+
}
|
|
106668
|
+
/** `layer` without `key`'s unit — "reset to the next level". Fresh object. */
|
|
106669
|
+
function withoutField(layer, key, boundKeys) {
|
|
106670
|
+
const out = { ...layer };
|
|
106671
|
+
for (const k of fieldUnitKeys(key, boundKeys)) delete out[k];
|
|
106672
|
+
return out;
|
|
106673
|
+
}
|
|
106674
|
+
/** Every field unit stored in `layer`, by its field key. */
|
|
106675
|
+
function unitsIn(layer, boundKeys) {
|
|
106676
|
+
return [...new Set(Object.keys(layer).map((k) => unitOf(k, boundKeys)))];
|
|
106677
|
+
}
|
|
106678
|
+
/** True when every key of `key`'s unit has the same value in `layer` as in `below`. */
|
|
106679
|
+
function unitEqualsBelow(layer, below, key, boundKeys) {
|
|
106680
|
+
return fieldUnitKeys(key, boundKeys).every((k) => settingValuesEqual(layer[k], below[k]));
|
|
106681
|
+
}
|
|
106682
|
+
/**
|
|
106683
|
+
* `layer` reduced to the fields that DIFFER from `below` — what an editor
|
|
106684
|
+
* stores. A unit is kept or dropped whole. `undefined` when nothing is left.
|
|
106685
|
+
*/
|
|
106686
|
+
function diffStepSettings(layer, below, boundKeys) {
|
|
106687
|
+
if (layer === void 0) return void 0;
|
|
106688
|
+
const out = {};
|
|
106689
|
+
for (const unit of unitsIn(layer, boundKeys)) {
|
|
106690
|
+
if (unitEqualsBelow(layer, below, unit, boundKeys)) continue;
|
|
106691
|
+
for (const k of fieldUnitKeys(unit, boundKeys)) if (layer[k] !== void 0) out[k] = layer[k];
|
|
106692
|
+
}
|
|
106693
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
106694
|
+
}
|
|
106695
|
+
/**
|
|
106696
|
+
* The fields `layer` stores at exactly the value of the layers below — a
|
|
106697
|
+
* legacy full copy's leftovers. They change nothing today and stop every
|
|
106698
|
+
* later edit below from reaching this layer. Sorted.
|
|
106699
|
+
*/
|
|
106700
|
+
function fieldsPinnedAtValueBelow(layer, below, boundKeys) {
|
|
106701
|
+
if (layer === void 0) return [];
|
|
106702
|
+
return unitsIn(layer, boundKeys).filter((unit) => unitEqualsBelow(layer, below, unit, boundKeys)).toSorted();
|
|
106703
|
+
}
|
|
106704
|
+
//#endregion
|
|
106705
|
+
//#region src/pipeline/auto-tune/hardware-class.ts
|
|
106706
|
+
var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
|
|
106707
|
+
var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
|
|
106708
|
+
var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
|
|
106709
|
+
/** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
|
|
106710
|
+
var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
|
|
106711
|
+
function parseAppleChip(cpuModel) {
|
|
106712
|
+
const match = APPLE_CHIP.exec(cpuModel.trim());
|
|
106713
|
+
if (match === null) return null;
|
|
106714
|
+
const generation = Number(match[1]);
|
|
106715
|
+
const variantRaw = (match[2] ?? "base").toLowerCase();
|
|
106716
|
+
return {
|
|
106717
|
+
generation,
|
|
106718
|
+
variant: variantRaw === "pro" || variantRaw === "max" || variantRaw === "ultra" ? variantRaw : "base"
|
|
106719
|
+
};
|
|
106720
|
+
}
|
|
106721
|
+
/**
|
|
106722
|
+
* Classify a node. Apple base chips (M1–M4) map to the measured M2 column, the
|
|
106723
|
+
* Pro/Max/Ultra chips to the measured M3 Pro column — the M2 was measured at
|
|
106724
|
+
* 1.0–1.2× the M3 Pro on the Neural Engine, so the generation inside a variant
|
|
106725
|
+
* matters less than the column's own error.
|
|
106726
|
+
*/
|
|
106727
|
+
function classifyInferenceHardware(hw) {
|
|
106728
|
+
const cpuModel = hw.cpuModel;
|
|
106729
|
+
const apple = parseAppleChip(cpuModel);
|
|
106730
|
+
if (apple !== null) return {
|
|
106731
|
+
hardwareClass: apple.variant === "base" ? "apple-m-base" : "apple-m-pro",
|
|
106732
|
+
cpuModel,
|
|
106733
|
+
apple
|
|
106734
|
+
};
|
|
106735
|
+
if (INTEL_CORE_ULTRA.test(cpuModel)) return {
|
|
106736
|
+
hardwareClass: "intel-core-ultra",
|
|
106737
|
+
cpuModel
|
|
106738
|
+
};
|
|
106739
|
+
if (INTEL_N_SERIES.test(cpuModel)) return {
|
|
106740
|
+
hardwareClass: "intel-n-series",
|
|
106741
|
+
cpuModel
|
|
106742
|
+
};
|
|
106743
|
+
if (AMD_PHOENIX.test(cpuModel)) return {
|
|
106744
|
+
hardwareClass: "amd-phoenix",
|
|
106745
|
+
cpuModel
|
|
106746
|
+
};
|
|
106747
|
+
return {
|
|
106748
|
+
hardwareClass: "unknown",
|
|
106749
|
+
cpuModel
|
|
106750
|
+
};
|
|
106751
|
+
}
|
|
106752
|
+
/**
|
|
106753
|
+
* The accelerator kind of one of a node's device keys (`openvino:npu`,
|
|
106754
|
+
* `openvino:gpu`, `coreml:all`, `edgetpu:usb`, `cpu`, `onnx:cpu`, …). `null`
|
|
106755
|
+
* for a key this table has no column for.
|
|
106756
|
+
*/
|
|
106757
|
+
function acceleratorKindOf(deviceKey, hw) {
|
|
106758
|
+
const [backend = "", device = ""] = deviceKey.split(":");
|
|
106759
|
+
if (backend === "edgetpu") return "coral";
|
|
106760
|
+
if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
|
|
106761
|
+
if (backend === "openvino" && device === "npu") return "intel-npu";
|
|
106762
|
+
if (backend === "openvino" && device === "gpu") return "intel-igpu";
|
|
106763
|
+
if (backend === "onnx" && device === "webgpu") return "amd-igpu";
|
|
106764
|
+
if (backend === "vitisai" && device === "npu") return "amd-npu";
|
|
106765
|
+
if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
|
|
106766
|
+
return null;
|
|
106767
|
+
}
|
|
106641
106768
|
//#endregion
|
|
106642
106769
|
//#region src/pipeline/auto-tune/recommend.ts
|
|
106643
106770
|
/** The family the cluster runs. */
|
|
@@ -106653,10 +106780,35 @@ var RECALL_TIE = .02;
|
|
|
106653
106780
|
var DEFAULT_HEADROOM = .4;
|
|
106654
106781
|
/** Detection rate a session is counted at when no camera says otherwise. */
|
|
106655
106782
|
var DEFAULT_CAMERA_FPS = 10;
|
|
106656
|
-
/**
|
|
106657
|
-
|
|
106658
|
-
|
|
106659
|
-
|
|
106783
|
+
/**
|
|
106784
|
+
* Camera rate at which serial `1000/p50` matched the cameras that held
|
|
106785
|
+
* (N100 iGPU, 2026-10-24). Below this the second InferRequest's overlap
|
|
106786
|
+
* becomes extra sessions; at and above it the serial ceiling is the count.
|
|
106787
|
+
*/
|
|
106788
|
+
var SERIAL_CAPACITY_CAMERA_FPS = 10;
|
|
106789
|
+
/**
|
|
106790
|
+
* Aggregate throughput ÷ serial throughput when the frame interval is wide
|
|
106791
|
+
* enough to hide the second request. intel-igpu is the N100 measurement
|
|
106792
|
+
* (~1.4× under LATENCY with 2 InferRequests). Every other kind stays 1
|
|
106793
|
+
* until it is measured the same way.
|
|
106794
|
+
*/
|
|
106795
|
+
var AGGREGATE_THROUGHPUT_BY_KIND = { "intel-igpu": 1.4 };
|
|
106796
|
+
/** The overlap factor for this kind at this camera rate. 1 at {@link SERIAL_CAPACITY_CAMERA_FPS} and above. */
|
|
106797
|
+
function aggregateThroughputFactor(kind, cameraFps) {
|
|
106798
|
+
if (!(cameraFps > 0) || cameraFps >= 10) return 1;
|
|
106799
|
+
return AGGREGATE_THROUGHPUT_BY_KIND[kind] ?? 1;
|
|
106800
|
+
}
|
|
106801
|
+
/**
|
|
106802
|
+
* Parallel sessions one device sustains at `fps` with `headroom` kept free.
|
|
106803
|
+
* `aggregateFactor` is the kind's overlap (1 unless the caller measured
|
|
106804
|
+
* extra throughput at this camera rate).
|
|
106805
|
+
*/
|
|
106806
|
+
function capacitySessionsOf(fps, headroom, cameraFps, aggregateFactor = 1) {
|
|
106807
|
+
if (!(fps > 0) || !(cameraFps > 0) || !(aggregateFactor > 0)) return 0;
|
|
106808
|
+
return Math.max(0, Math.floor(fps * aggregateFactor * (1 - headroom) / cameraFps + 1e-9));
|
|
106809
|
+
}
|
|
106810
|
+
function reportFor(hardware, deviceKey) {
|
|
106811
|
+
return hardware.accelerators?.find((report) => report.deviceKey === deviceKey) ?? null;
|
|
106660
106812
|
}
|
|
106661
106813
|
/** The table column with the node's own measurements laid over it. */
|
|
106662
106814
|
function overlayMeasured(table, measured) {
|
|
@@ -106678,11 +106830,12 @@ function round(value, digits = 3) {
|
|
|
106678
106830
|
const f = 10 ** digits;
|
|
106679
106831
|
return Math.round(value * f) / f;
|
|
106680
106832
|
}
|
|
106681
|
-
function sessionsOn(cell, sizing) {
|
|
106682
|
-
|
|
106833
|
+
function sessionsOn(cell, sizing, kind) {
|
|
106834
|
+
if (cell === void 0) return 0;
|
|
106835
|
+
return capacitySessionsOf(cell.fps, sizing.headroom, sizing.cameraFps, aggregateThroughputFactor(kind, sizing.cameraFps));
|
|
106683
106836
|
}
|
|
106684
|
-
function fitsOn(
|
|
106685
|
-
return sessionsOn(
|
|
106837
|
+
function fitsOn(ctx, modelId, sizing) {
|
|
106838
|
+
return sessionsOn(ctx.column[modelId], sizing, ctx.accelerator) >= sizing.minSessions;
|
|
106686
106839
|
}
|
|
106687
106840
|
function candidatesFor(contexts, formatsByModel) {
|
|
106688
106841
|
return Object.keys(DETECTOR_ACCURACY).filter((id) => id.startsWith(AUTO_TUNE_FAMILY)).filter((id) => contexts.every((c) => c.column[id] !== void 0 && (formatsByModel[id] ?? []).includes(c.device.format))).map((id) => ({
|
|
@@ -106695,13 +106848,13 @@ function totalLatency(contexts, modelId) {
|
|
|
106695
106848
|
}
|
|
106696
106849
|
/** The fewest sessions any device of the group sustains with this model. */
|
|
106697
106850
|
function worstSessions(contexts, modelId, sizing) {
|
|
106698
|
-
return contexts.reduce((worst, c) => Math.min(worst, sessionsOn(c.column[modelId], sizing)), Number.POSITIVE_INFINITY);
|
|
106851
|
+
return contexts.reduce((worst, c) => Math.min(worst, sessionsOn(c.column[modelId], sizing, c.accelerator)), Number.POSITIVE_INFINITY);
|
|
106699
106852
|
}
|
|
106700
106853
|
/** One model for a group of devices that must agree (step 2–4 of the header). */
|
|
106701
106854
|
function pickForGroup(contexts, formatsByModel, sizing) {
|
|
106702
106855
|
const candidates = candidatesFor(contexts, formatsByModel);
|
|
106703
106856
|
if (candidates.length === 0) return null;
|
|
106704
|
-
const fitting = candidates.filter((c) => contexts.every((ctx) => fitsOn(ctx
|
|
106857
|
+
const fitting = candidates.filter((c) => contexts.every((ctx) => fitsOn(ctx, c.modelId, sizing)));
|
|
106705
106858
|
if (fitting.length === 0) {
|
|
106706
106859
|
const lightest = candidates.toSorted((a, b) => worstSessions(contexts, b.modelId, sizing) - worstSessions(contexts, a.modelId, sizing) || totalLatency(contexts, a.modelId) - totalLatency(contexts, b.modelId))[0];
|
|
106707
106860
|
if (lightest === void 0) return null;
|
|
@@ -106720,7 +106873,7 @@ function pickForGroup(contexts, formatsByModel, sizing) {
|
|
|
106720
106873
|
const reasons = [];
|
|
106721
106874
|
const mostAccurate = candidates[0];
|
|
106722
106875
|
if (mostAccurate !== void 0 && mostAccurate.modelId !== best.modelId) {
|
|
106723
|
-
const limitedBy = contexts.find((ctx) => !fitsOn(ctx
|
|
106876
|
+
const limitedBy = contexts.find((ctx) => !fitsOn(ctx, mostAccurate.modelId, sizing))?.device.key ?? "";
|
|
106724
106877
|
reasons.push({
|
|
106725
106878
|
kind: "stepped-down",
|
|
106726
106879
|
from: mostAccurate.modelId,
|
|
@@ -106741,13 +106894,19 @@ function pickForGroup(contexts, formatsByModel, sizing) {
|
|
|
106741
106894
|
function choiceOn(ctx, modelId, sizing) {
|
|
106742
106895
|
const cell = ctx.column[modelId];
|
|
106743
106896
|
if (cell === void 0) return null;
|
|
106897
|
+
const estimatedFrom = cell.source?.kind === "node-benchmark" ? void 0 : cell.estimatedFrom;
|
|
106898
|
+
const source = cell.source ?? (estimatedFrom !== void 0 ? {
|
|
106899
|
+
kind: "estimated",
|
|
106900
|
+
estimatedFrom
|
|
106901
|
+
} : { kind: "table" });
|
|
106744
106902
|
return {
|
|
106745
106903
|
modelId,
|
|
106746
106904
|
p50Ms: cell.p50Ms,
|
|
106747
106905
|
fps: cell.fps,
|
|
106748
106906
|
measured: cell.measured,
|
|
106749
|
-
source
|
|
106750
|
-
|
|
106907
|
+
source,
|
|
106908
|
+
...estimatedFrom !== void 0 ? { estimatedFrom } : {},
|
|
106909
|
+
capacitySessions: sessionsOn(cell, sizing, ctx.accelerator),
|
|
106751
106910
|
personRecall: DETECTOR_ACCURACY[modelId]?.personRecall ?? 0
|
|
106752
106911
|
};
|
|
106753
106912
|
}
|
|
@@ -106798,7 +106957,11 @@ function recommendNode(input) {
|
|
|
106798
106957
|
const measured = input.measured ?? {};
|
|
106799
106958
|
const hasMeasured = Object.values(measured).some((m) => Object.keys(m).length > 0);
|
|
106800
106959
|
const knownTable = hardwareClass === "unknown" ? void 0 : perf[hardwareClass];
|
|
106801
|
-
|
|
106960
|
+
const canEstimate = (hardware.accelerators ?? []).some((report) => {
|
|
106961
|
+
const kind = acceleratorKindOf(report.deviceKey, hardware);
|
|
106962
|
+
return kind !== null && reportIsScalable(report, kind);
|
|
106963
|
+
});
|
|
106964
|
+
if (knownTable === void 0 && !hasMeasured && !canEstimate) return skippedNode(node, {
|
|
106802
106965
|
kind: "no-measured-data",
|
|
106803
106966
|
hardwareClass
|
|
106804
106967
|
}, hardwareClass);
|
|
@@ -106834,7 +106997,12 @@ function recommendNode(input) {
|
|
|
106834
106997
|
});
|
|
106835
106998
|
continue;
|
|
106836
106999
|
}
|
|
106837
|
-
const column = accelerator === null ? void 0 : overlayMeasured(
|
|
107000
|
+
const column = accelerator === null ? void 0 : overlayMeasured(resolveLatencyColumn({
|
|
107001
|
+
hardwareClass,
|
|
107002
|
+
accelerator,
|
|
107003
|
+
report: reportFor(hardware, device.key),
|
|
107004
|
+
perf
|
|
107005
|
+
})?.column, measured[device.key]);
|
|
106838
107006
|
if (accelerator === null || column === void 0) {
|
|
106839
107007
|
early.set(device.key, [{
|
|
106840
107008
|
kind: "no-family-build",
|
|
@@ -107582,6 +107750,507 @@ function buildBenchStepTree(schema, rootModelId, enabledStepIds) {
|
|
|
107582
107750
|
}];
|
|
107583
107751
|
}
|
|
107584
107752
|
//#endregion
|
|
107753
|
+
//#region src/pipeline/second-pass/small-subject-recovery.ts
|
|
107754
|
+
/** The object-detection step id — the first-level detector both recipes run. */
|
|
107755
|
+
var OBJECT_DETECTION_STEP_ID = "object-detection";
|
|
107756
|
+
/**
|
|
107757
|
+
* Smallest crop side, native pixels. Below this the model no longer
|
|
107758
|
+
* magnifies enough to matter on a 4K frame, and on a 1080p frame 640 is
|
|
107759
|
+
* already a third of the picture. Measured: 480–800 px all recover the dog.
|
|
107760
|
+
*/
|
|
107761
|
+
var RECOVERY_CROP_MIN_SIDE_PX = 640;
|
|
107762
|
+
/**
|
|
107763
|
+
* Largest crop side. A 320 model on a 1024 px square is a 3.2× reduction and
|
|
107764
|
+
* scored the dog at 0.52–0.76; at 1280 px it was absent again. A region wider
|
|
107765
|
+
* than this is tiled, never zoomed out.
|
|
107766
|
+
*/
|
|
107767
|
+
var RECOVERY_CROP_MAX_SIDE_PX = 800;
|
|
107768
|
+
/** Context around the region before squaring, as a fraction of its larger side. */
|
|
107769
|
+
var RECOVERY_CROP_PADDING_RATIO = .25;
|
|
107770
|
+
/**
|
|
107771
|
+
* The view the crop is resolved at, compressed. Never larger than the crop
|
|
107772
|
+
* (the floor is {@link RECOVERY_CROP_MIN_SIDE_PX}), so it never upscales, and
|
|
107773
|
+
* the model letterboxes it to its own input from here as it does the frame.
|
|
107774
|
+
*/
|
|
107775
|
+
var RECOVERY_VIEW_PX = 640;
|
|
107776
|
+
/**
|
|
107777
|
+
* Crops per frame. Each is one more inference on the same pool (15–25 ms on
|
|
107778
|
+
* CoreML for a 640 view); two cover a person-and-dog blob and a second mover.
|
|
107779
|
+
*/
|
|
107780
|
+
var RECOVERY_MAX_CROPS_PER_FRAME = 2;
|
|
107781
|
+
/**
|
|
107782
|
+
* The pass runs at most this often per camera — at 10 fps that is one frame
|
|
107783
|
+
* in five. A subject the full pass misses is missed for seconds, not for one
|
|
107784
|
+
* frame, so the recovery does not need every frame to find it.
|
|
107785
|
+
*
|
|
107786
|
+
* The floor under this number is the tracker: a track coasts for
|
|
107787
|
+
* `maxMissedMs` (4 000 ms by default) before it is dropped, so 2 recoveries a
|
|
107788
|
+
* second keep a subject the full-frame pass has lost ALIVE with 8× margin,
|
|
107789
|
+
* and reach `minHits` (3) in 1.5 s. Raising it past ~1 300 ms would start to
|
|
107790
|
+
* lose tracks between passes.
|
|
107791
|
+
*/
|
|
107792
|
+
var RECOVERY_MIN_INTERVAL_MS = 500;
|
|
107793
|
+
/**
|
|
107794
|
+
* A region larger than this share of the frame is not a small subject: a
|
|
107795
|
+
* lighting change, a car filling the picture, a person at the lens. The
|
|
107796
|
+
* full-frame pass already sees those at scale.
|
|
107797
|
+
*/
|
|
107798
|
+
var RECOVERY_MAX_REGION_FRAME_FRACTION = .25;
|
|
107799
|
+
/**
|
|
107800
|
+
* How much of a region must lie OUTSIDE every full-frame detection for the
|
|
107801
|
+
* pass to run on it. A person's own blob (dilated, with shadow) is covered
|
|
107802
|
+
* 70–90% by the person box; a person-and-dog blob is covered ~55% by it.
|
|
107803
|
+
*/
|
|
107804
|
+
var RECOVERY_MIN_UNCOVERED_FRACTION = .35;
|
|
107805
|
+
/** Motion regions older than this describe a different frame. */
|
|
107806
|
+
var RECOVERY_MOTION_MAX_AGE_MS = 2e3;
|
|
107807
|
+
/** A recovered box overlapping a same-class full-frame box this much is the same subject. */
|
|
107808
|
+
var RECOVERY_FUSE_IOU = .5;
|
|
107809
|
+
/**
|
|
107810
|
+
* A recovered box CONTAINED this much in a same-class full-frame box is a part
|
|
107811
|
+
* of it — a torso the crop cut out of a person the full pass already has.
|
|
107812
|
+
*/
|
|
107813
|
+
var RECOVERY_FUSE_CONTAINMENT = .7;
|
|
107814
|
+
/** A box within this many crop-view pixels of the crop edge was clipped by it. */
|
|
107815
|
+
var RECOVERY_EDGE_MARGIN_PX = 2;
|
|
107816
|
+
/** Area of a normalised rectangle, never negative. Shared with the D396 recipe. */
|
|
107817
|
+
function normalizedArea(r) {
|
|
107818
|
+
return Math.max(0, r.w) * Math.max(0, r.h);
|
|
107819
|
+
}
|
|
107820
|
+
var area = normalizedArea;
|
|
107821
|
+
function intersection(a, b) {
|
|
107822
|
+
return Math.max(0, Math.min(a.x + a.w, b.x + b.w) - Math.max(a.x, b.x)) * Math.max(0, Math.min(a.y + a.h, b.y + b.h) - Math.max(a.y, b.y));
|
|
107823
|
+
}
|
|
107824
|
+
/**
|
|
107825
|
+
* Share of `region` not covered by any detection box. The sum of pairwise
|
|
107826
|
+
* intersections over-counts where detections overlap each other, which only
|
|
107827
|
+
* makes the pass MORE conservative; clipped at 1.
|
|
107828
|
+
*/
|
|
107829
|
+
function uncoveredFraction(region, detections) {
|
|
107830
|
+
const regionArea = area(region);
|
|
107831
|
+
if (regionArea <= 0) return 0;
|
|
107832
|
+
let covered = 0;
|
|
107833
|
+
for (const detection of detections) covered += intersection(region, detection);
|
|
107834
|
+
return 1 - Math.min(1, covered / regionArea);
|
|
107835
|
+
}
|
|
107836
|
+
/**
|
|
107837
|
+
* THE square-placement rule of this pass — one owner, shared by both recipes.
|
|
107838
|
+
*
|
|
107839
|
+
* A crop is a square of `side` native pixels centred where it can be and slid
|
|
107840
|
+
* inside the frame where it cannot. Both region rules place their squares
|
|
107841
|
+
* through this function so a crop means the same rectangle whichever rule
|
|
107842
|
+
* chose the region.
|
|
107843
|
+
*/
|
|
107844
|
+
function squareAround(centreX, centreY, side, native) {
|
|
107845
|
+
return {
|
|
107846
|
+
left: Math.round(Math.max(0, Math.min(native.width - side, centreX - side / 2))),
|
|
107847
|
+
top: Math.round(Math.max(0, Math.min(native.height - side, centreY - side / 2))),
|
|
107848
|
+
side
|
|
107849
|
+
};
|
|
107850
|
+
}
|
|
107851
|
+
function contains(crop, x, y) {
|
|
107852
|
+
return x >= crop.left && x <= crop.left + crop.side && y >= crop.top && y <= crop.top + crop.side;
|
|
107853
|
+
}
|
|
107854
|
+
/**
|
|
107855
|
+
* Squares for one region: one when it fits the largest side, otherwise up to
|
|
107856
|
+
* two tiles along its longer axis (a person-sized blob with something small
|
|
107857
|
+
* at either end). The padded region decides the side, never the frame.
|
|
107858
|
+
*/
|
|
107859
|
+
function cropsForRegion(region, native) {
|
|
107860
|
+
const widthPx = region.w * native.width;
|
|
107861
|
+
const heightPx = region.h * native.height;
|
|
107862
|
+
const longest = Math.max(widthPx, heightPx);
|
|
107863
|
+
const padded = longest * 1.5;
|
|
107864
|
+
const side = Math.round(Math.min(Math.max(padded, 640), 800));
|
|
107865
|
+
const centreX = (region.x + region.w / 2) * native.width;
|
|
107866
|
+
const centreY = (region.y + region.h / 2) * native.height;
|
|
107867
|
+
if (padded <= 800) return [squareAround(centreX, centreY, side, native)];
|
|
107868
|
+
const alongX = widthPx >= heightPx;
|
|
107869
|
+
const quarter = longest / 4;
|
|
107870
|
+
return [squareAround(alongX ? centreX - quarter : centreX, alongX ? centreY : centreY - quarter, side, native), squareAround(alongX ? centreX + quarter : centreX, alongX ? centreY : centreY + quarter, side, native)];
|
|
107871
|
+
}
|
|
107872
|
+
/**
|
|
107873
|
+
* The ONE place the two region gates are decided. `planRecoveryCrops` filters
|
|
107874
|
+
* on it and {@link countRecoverySkips} counts it, so the report can never
|
|
107875
|
+
* describe a gate the planner does not actually apply.
|
|
107876
|
+
*/
|
|
107877
|
+
function classifyRegion(region, uncovered) {
|
|
107878
|
+
if (area(region) > .25) return "too-large";
|
|
107879
|
+
if (uncovered < .35) return "covered";
|
|
107880
|
+
return "eligible";
|
|
107881
|
+
}
|
|
107882
|
+
/**
|
|
107883
|
+
* WHY A FRAME PLANNED NO CROP, AS A NUMBER (D378).
|
|
107884
|
+
*
|
|
107885
|
+
* The pass report counts the passes that RAN, so "the second pass stops running
|
|
107886
|
+
* when a person is beside the dog" — a plausible reading of
|
|
107887
|
+
* {@link RECOVERY_MAX_REGION_FRAME_FRACTION} and
|
|
107888
|
+
* {@link RECOVERY_MIN_UNCOVERED_FRACTION}, and a live hypothesis on camera 615
|
|
107889
|
+
* — could not be confirmed or killed from the logs at all. This classifies the
|
|
107890
|
+
* regions a frame offered, against the same predicate the planner filters on.
|
|
107891
|
+
*/
|
|
107892
|
+
function countRecoverySkips(input) {
|
|
107893
|
+
let tooLarge = 0;
|
|
107894
|
+
let covered = 0;
|
|
107895
|
+
let eligible = 0;
|
|
107896
|
+
for (const region of input.regions) switch (classifyRegion(region, uncoveredFraction(region, input.detections))) {
|
|
107897
|
+
case "too-large":
|
|
107898
|
+
tooLarge += 1;
|
|
107899
|
+
break;
|
|
107900
|
+
case "covered":
|
|
107901
|
+
covered += 1;
|
|
107902
|
+
break;
|
|
107903
|
+
case "eligible":
|
|
107904
|
+
eligible += 1;
|
|
107905
|
+
break;
|
|
107906
|
+
}
|
|
107907
|
+
return {
|
|
107908
|
+
tooLarge,
|
|
107909
|
+
covered,
|
|
107910
|
+
eligible
|
|
107911
|
+
};
|
|
107912
|
+
}
|
|
107913
|
+
function planRecoveryCrops(input) {
|
|
107914
|
+
const { native } = input;
|
|
107915
|
+
if (Math.min(native.width, native.height) < 640) return [];
|
|
107916
|
+
const ranked = input.regions.map((region) => ({
|
|
107917
|
+
region,
|
|
107918
|
+
uncovered: uncoveredFraction(region, input.detections)
|
|
107919
|
+
})).filter(({ region, uncovered }) => classifyRegion(region, uncovered) === "eligible").toSorted((a, b) => area(b.region) * b.uncovered - area(a.region) * a.uncovered);
|
|
107920
|
+
const planned = [];
|
|
107921
|
+
for (const { region } of ranked) for (const crop of cropsForRegion(region, native)) {
|
|
107922
|
+
if (planned.length >= 2) return planned;
|
|
107923
|
+
const centreX = crop.left + crop.side / 2;
|
|
107924
|
+
const centreY = crop.top + crop.side / 2;
|
|
107925
|
+
if (planned.some((existing) => contains(existing, centreX, centreY))) continue;
|
|
107926
|
+
planned.push(crop);
|
|
107927
|
+
}
|
|
107928
|
+
return planned;
|
|
107929
|
+
}
|
|
107930
|
+
/**
|
|
107931
|
+
* Boxes the executor produced on the crop VIEW → the result's own space.
|
|
107932
|
+
*
|
|
107933
|
+
* Three spaces meet here: the view the model saw (`view`, ≤640 px), the native
|
|
107934
|
+
* square it was cut from (`crop`, native px) and the space the full-frame
|
|
107935
|
+
* result reports in (`result`, native px on the `frameRef` path, the inline
|
|
107936
|
+
* ≤640 view otherwise). A box touching the view edge was clipped by the crop
|
|
107937
|
+
* and is dropped: half a person is not a person, and the tracker would take
|
|
107938
|
+
* the half as the whole.
|
|
107939
|
+
*/
|
|
107940
|
+
function remapCropDetections(detections, crop, view, result, native) {
|
|
107941
|
+
const viewToNative = crop.side / Math.max(1, view.width);
|
|
107942
|
+
const nativeToResultX = result.width / Math.max(1, native.width);
|
|
107943
|
+
const nativeToResultY = result.height / Math.max(1, native.height);
|
|
107944
|
+
const out = [];
|
|
107945
|
+
for (const detection of detections) {
|
|
107946
|
+
const { x, y, width, height } = detection.bbox;
|
|
107947
|
+
if (x <= 2 || y <= 2 || x + width >= view.width - 2 || y + height >= view.height - 2) continue;
|
|
107948
|
+
out.push({
|
|
107949
|
+
...detection,
|
|
107950
|
+
nativeRecovery: {
|
|
107951
|
+
score: detection.score,
|
|
107952
|
+
cropSidePx: crop.side,
|
|
107953
|
+
viewPx: view.width
|
|
107954
|
+
},
|
|
107955
|
+
bbox: {
|
|
107956
|
+
x: (crop.left + x * viewToNative) * nativeToResultX,
|
|
107957
|
+
y: (crop.top + y * viewToNative) * nativeToResultY,
|
|
107958
|
+
width: width * viewToNative * nativeToResultX,
|
|
107959
|
+
height: height * viewToNative * nativeToResultY
|
|
107960
|
+
}
|
|
107961
|
+
});
|
|
107962
|
+
}
|
|
107963
|
+
return out;
|
|
107964
|
+
}
|
|
107965
|
+
function boxIntersection(a, b) {
|
|
107966
|
+
return Math.max(0, Math.min(a.x + a.width, b.x + b.width) - Math.max(a.x, b.x)) * Math.max(0, Math.min(a.y + a.height, b.y + b.height) - Math.max(a.y, b.y));
|
|
107967
|
+
}
|
|
107968
|
+
function sameSubject(recovered, existing) {
|
|
107969
|
+
const inter = boxIntersection(recovered, existing);
|
|
107970
|
+
if (inter <= 0) return false;
|
|
107971
|
+
const areaR = recovered.width * recovered.height;
|
|
107972
|
+
const union = areaR + existing.width * existing.height - inter;
|
|
107973
|
+
if (union > 0 && inter / union >= .5) return true;
|
|
107974
|
+
return areaR > 0 && inter / areaR >= .7;
|
|
107975
|
+
}
|
|
107976
|
+
/**
|
|
107977
|
+
* Class-aware NMS of the recovered boxes against the full-frame ones. Every
|
|
107978
|
+
* full-frame box is kept as it is — the second pass only ADDS. A recovered box
|
|
107979
|
+
* is added when no full-frame box of the same macro class is the same subject
|
|
107980
|
+
* (`RECOVERY_FUSE_IOU`) or contains it (`RECOVERY_FUSE_CONTAINMENT`). Ids are
|
|
107981
|
+
* re-minted so a crop's `d0` cannot collide with the frame's.
|
|
107982
|
+
*/
|
|
107983
|
+
function fuseRecoveredDetections(full, recovered) {
|
|
107984
|
+
const accepted = [];
|
|
107985
|
+
for (const [index, candidate] of recovered.entries()) {
|
|
107986
|
+
if ([...full, ...accepted].some((existing) => existing.macroClass === candidate.macroClass && sameSubject(candidate.bbox, existing.bbox))) continue;
|
|
107987
|
+
accepted.push({
|
|
107988
|
+
...candidate,
|
|
107989
|
+
id: `recovered-${index}-${candidate.id}`
|
|
107990
|
+
});
|
|
107991
|
+
}
|
|
107992
|
+
return [...full, ...accepted];
|
|
107993
|
+
}
|
|
107994
|
+
/**
|
|
107995
|
+
* The step the second pass runs: the enabled first-level object detector of
|
|
107996
|
+
* the camera's own tree, with its own model and no children. Same model as
|
|
107997
|
+
* the full pass so a recovered box is comparable to a full-frame one.
|
|
107998
|
+
*/
|
|
107999
|
+
function selectRecoveryStep(steps) {
|
|
108000
|
+
const detector = steps.find((step) => step.addonId === "object-detection" && step.enabled !== false);
|
|
108001
|
+
if (!detector) return null;
|
|
108002
|
+
return {
|
|
108003
|
+
addonId: detector.addonId,
|
|
108004
|
+
...detector.modelId !== void 0 ? { modelId: detector.modelId } : {},
|
|
108005
|
+
enabled: true
|
|
108006
|
+
};
|
|
108007
|
+
}
|
|
108008
|
+
//#endregion
|
|
108009
|
+
//#region src/pipeline/second-pass/motion-crop-plan.ts
|
|
108010
|
+
/**
|
|
108011
|
+
* Step-settings key of the opt-in, on the `object-detection` step — so it is
|
|
108012
|
+
* per camera through `pipelineOrchestrator.setCameraStepSettings` (a
|
|
108013
|
+
* camera-semantic key, D927), and it rides the same
|
|
108014
|
+
* `PipelineStepInputOutput.settings` the per-macro confidence floors ride.
|
|
108015
|
+
*/
|
|
108016
|
+
var MOTION_CROP_DISPATCH_KEY = "motionCropDispatch";
|
|
108017
|
+
/**
|
|
108018
|
+
* Read the opt-in. Anything that is not the boolean `true` is the shipped
|
|
108019
|
+
* rule: a stored string or a number is a mis-write (this repo has shipped a
|
|
108020
|
+
* setting written into the wrong sqlite table before), and a mis-write must
|
|
108021
|
+
* not silently change what a camera detects on.
|
|
108022
|
+
*/
|
|
108023
|
+
function readRecoveryRecipe(settings) {
|
|
108024
|
+
return settings?.["motionCropDispatch"] === true ? "motion-crop" : "uncovered-region";
|
|
108025
|
+
}
|
|
108026
|
+
/**
|
|
108027
|
+
* The recipe this camera's resolved step tree selects.
|
|
108028
|
+
*
|
|
108029
|
+
* Reads the ENABLED first-level detector's own settings, which is where
|
|
108030
|
+
* `pipelineOrchestrator.setCameraStepSettings` writes a per-camera value. A
|
|
108031
|
+
* tree with no enabled detector runs no second pass at all, so the answer
|
|
108032
|
+
* there is the shipped rule and it is never used.
|
|
108033
|
+
*/
|
|
108034
|
+
function readRecoveryRecipeForSteps(steps) {
|
|
108035
|
+
return readRecoveryRecipe(steps.find((step) => step.addonId === "object-detection" && step.enabled !== false)?.settings);
|
|
108036
|
+
}
|
|
108037
|
+
/**
|
|
108038
|
+
* A motion box is grown ×1.5 about its centre before anything else.
|
|
108039
|
+
*
|
|
108040
|
+
* The motion step's box is the CHANGED pixels, which on a moving animal is the
|
|
108041
|
+
* leading edge plus its shadow, not the animal. The detector needs the subject
|
|
108042
|
+
* and the context it was trained on.
|
|
108043
|
+
*/
|
|
108044
|
+
var MOTION_CROP_MOTION_PAD = 1.5;
|
|
108045
|
+
/**
|
|
108046
|
+
* An intersecting tracked box is grown ×1.25 — less, because it is already a
|
|
108047
|
+
* subject rectangle rather than a change mask.
|
|
108048
|
+
*/
|
|
108049
|
+
var MOTION_CROP_TRACKED_PAD = 1.25;
|
|
108050
|
+
/**
|
|
108051
|
+
* Regions per frame, largest area first.
|
|
108052
|
+
*
|
|
108053
|
+
* Measured as NON-BINDING: over the 156 frames of the recall harness the cap
|
|
108054
|
+
* bound on 0 of them. It is the bound on a storm, not a tuning knob, and the
|
|
108055
|
+
* runner reports when it binds so a camera on which it starts to is visible.
|
|
108056
|
+
*/
|
|
108057
|
+
var MOTION_CROP_MAX_REGIONS = 3;
|
|
108058
|
+
/**
|
|
108059
|
+
* The floor a `person` or `vehicle` box must clear when it came out of a CROP
|
|
108060
|
+
* rather than out of the full frame.
|
|
108061
|
+
*
|
|
108062
|
+
* Collected, not assumed: 3 085 quiet frames produced 27 motion-positive
|
|
108063
|
+
* frames and 28 crop invocations. The full-frame arm produced 0 boxes above
|
|
108064
|
+
* any gate; the crop arm produced 3, of which two are genuine false positives,
|
|
108065
|
+
* and both are night-IR corners upscaled into a 320 model — `vehicle 0.749`
|
|
108066
|
+
* and `person 0.701`. Zero false `animal` at any gate, which is why `animal`
|
|
108067
|
+
* is deliberately absent from this table: the class the pass exists to recover
|
|
108068
|
+
* is the class that never produced a false positive, and gating it would cost
|
|
108069
|
+
* the whole measured gain.
|
|
108070
|
+
*
|
|
108071
|
+
* This is a CROP-ONLY floor, applied on top of the per-macro floors the
|
|
108072
|
+
* executor already enforced. A full-frame `person` at 0.70 is untouched — the
|
|
108073
|
+
* full-frame arm is the one arm with ground truth behind its floor
|
|
108074
|
+
* (`minConfidencePerson` 0.65, raised on 2026-07-30 from a measured
|
|
108075
|
+
* distribution).
|
|
108076
|
+
*
|
|
108077
|
+
* The cost of this floor is stated rather than assumed away: it can also
|
|
108078
|
+
* remove a real distant person or vehicle recovered from a crop at 0.70–0.80.
|
|
108079
|
+
* Nothing in the quiet-footage sample measures that, so the floor is a
|
|
108080
|
+
* constant here rather than a slider, and the runner reports every drop it
|
|
108081
|
+
* makes per camera.
|
|
108082
|
+
*/
|
|
108083
|
+
var CROP_CLASS_FLOORS = Object.freeze({
|
|
108084
|
+
person: .8,
|
|
108085
|
+
vehicle: .8
|
|
108086
|
+
});
|
|
108087
|
+
/**
|
|
108088
|
+
* Apply the crop-only class floors, REPORTING every drop.
|
|
108089
|
+
*
|
|
108090
|
+
* A class with no entry in {@link CROP_CLASS_FLOORS} is kept: a floor this
|
|
108091
|
+
* table cannot express is not a floor of zero, and silently dropping a class
|
|
108092
|
+
* nobody measured is the exact shape of silent drop this repo has paid for
|
|
108093
|
+
* three separate times.
|
|
108094
|
+
*/
|
|
108095
|
+
function applyCropClassFloors(detections) {
|
|
108096
|
+
const kept = [];
|
|
108097
|
+
const dropped = [];
|
|
108098
|
+
for (const detection of detections) {
|
|
108099
|
+
const floor = CROP_CLASS_FLOORS[detection.macroClass];
|
|
108100
|
+
if (floor !== void 0 && detection.score < floor) {
|
|
108101
|
+
dropped.push({
|
|
108102
|
+
macroClass: detection.macroClass,
|
|
108103
|
+
score: detection.score,
|
|
108104
|
+
floor
|
|
108105
|
+
});
|
|
108106
|
+
continue;
|
|
108107
|
+
}
|
|
108108
|
+
kept.push(detection);
|
|
108109
|
+
}
|
|
108110
|
+
return {
|
|
108111
|
+
kept,
|
|
108112
|
+
dropped
|
|
108113
|
+
};
|
|
108114
|
+
}
|
|
108115
|
+
function scaleAbout(rect, factor) {
|
|
108116
|
+
const w = rect.w * factor;
|
|
108117
|
+
const h = rect.h * factor;
|
|
108118
|
+
return {
|
|
108119
|
+
x: rect.x + rect.w / 2 - w / 2,
|
|
108120
|
+
y: rect.y + rect.h / 2 - h / 2,
|
|
108121
|
+
w,
|
|
108122
|
+
h
|
|
108123
|
+
};
|
|
108124
|
+
}
|
|
108125
|
+
function overlaps(a, b) {
|
|
108126
|
+
return Math.min(a.x + a.w, b.x + b.w) > Math.max(a.x, b.x) && Math.min(a.y + a.h, b.y + b.h) > Math.max(a.y, b.y);
|
|
108127
|
+
}
|
|
108128
|
+
function union(a, b) {
|
|
108129
|
+
const x = Math.min(a.x, b.x);
|
|
108130
|
+
const y = Math.min(a.y, b.y);
|
|
108131
|
+
return {
|
|
108132
|
+
x,
|
|
108133
|
+
y,
|
|
108134
|
+
w: Math.max(a.x + a.w, b.x + b.w) - x,
|
|
108135
|
+
h: Math.max(a.y + a.h, b.y + b.h) - y
|
|
108136
|
+
};
|
|
108137
|
+
}
|
|
108138
|
+
function clampToFrame(rect) {
|
|
108139
|
+
const x = Math.max(0, rect.x);
|
|
108140
|
+
const y = Math.max(0, rect.y);
|
|
108141
|
+
return {
|
|
108142
|
+
x,
|
|
108143
|
+
y,
|
|
108144
|
+
w: Math.min(1, rect.x + rect.w) - x,
|
|
108145
|
+
h: Math.min(1, rect.y + rect.h) - y
|
|
108146
|
+
};
|
|
108147
|
+
}
|
|
108148
|
+
/**
|
|
108149
|
+
* Merge transitively every seed whose padded box overlaps another, and answer
|
|
108150
|
+
* the union rectangles.
|
|
108151
|
+
*
|
|
108152
|
+
* Transitive on purpose: a person, the dog beside them and the dog's shadow
|
|
108153
|
+
* are three components of one subject, and cutting three crops for them spends
|
|
108154
|
+
* two inferences on pixels the first one already showed the detector.
|
|
108155
|
+
*/
|
|
108156
|
+
function mergeSeeds(seeds) {
|
|
108157
|
+
const merged = [];
|
|
108158
|
+
for (const seed of seeds) {
|
|
108159
|
+
let current = seed;
|
|
108160
|
+
let changed = true;
|
|
108161
|
+
while (changed) {
|
|
108162
|
+
changed = false;
|
|
108163
|
+
for (let i = merged.length - 1; i >= 0; i -= 1) {
|
|
108164
|
+
const other = merged[i];
|
|
108165
|
+
if (other === void 0 || !overlaps(current, other)) continue;
|
|
108166
|
+
current = union(current, other);
|
|
108167
|
+
merged.splice(i, 1);
|
|
108168
|
+
changed = true;
|
|
108169
|
+
}
|
|
108170
|
+
}
|
|
108171
|
+
merged.push(current);
|
|
108172
|
+
}
|
|
108173
|
+
return merged;
|
|
108174
|
+
}
|
|
108175
|
+
/**
|
|
108176
|
+
* The regions the measured recipe judges this frame on.
|
|
108177
|
+
*
|
|
108178
|
+
* Motion boxes padded {@link MOTION_CROP_MOTION_PAD}; every full-frame box
|
|
108179
|
+
* that intersects a RAW motion box padded {@link MOTION_CROP_TRACKED_PAD} and
|
|
108180
|
+
* added as a seed of its own; everything that overlaps merged; the result
|
|
108181
|
+
* clamped to the frame, ordered largest first and capped at
|
|
108182
|
+
* {@link MOTION_CROP_MAX_REGIONS}.
|
|
108183
|
+
*
|
|
108184
|
+
* There is deliberately no coverage gate and no size gate here. Those belong
|
|
108185
|
+
* to the shipped rule, and they are what makes it a rule about a subject
|
|
108186
|
+
* BESIDE a detected one; the measurement says the pass is worth running on the
|
|
108187
|
+
* detected subject's own region too.
|
|
108188
|
+
*/
|
|
108189
|
+
function planMotionCropRegions(input) {
|
|
108190
|
+
if (input.regions.length === 0) return [];
|
|
108191
|
+
const seeds = input.regions.map((r) => scaleAbout(r, MOTION_CROP_MOTION_PAD));
|
|
108192
|
+
for (const detection of input.detections) {
|
|
108193
|
+
if (!input.regions.some((region) => overlaps(detection, region))) continue;
|
|
108194
|
+
seeds.push(scaleAbout(detection, MOTION_CROP_TRACKED_PAD));
|
|
108195
|
+
}
|
|
108196
|
+
return mergeSeeds(seeds).map(clampToFrame).filter((r) => r.w > 0 && r.h > 0).toSorted((a, b) => normalizedArea(b) - normalizedArea(a)).slice(0, 3);
|
|
108197
|
+
}
|
|
108198
|
+
/**
|
|
108199
|
+
* The square the detector is fed for one measured region.
|
|
108200
|
+
*
|
|
108201
|
+
* "Grow to the detector's input aspect ratio without ever shrinking" is a
|
|
108202
|
+
* SQUARE here, and that is a fact about the production detector rather than a
|
|
108203
|
+
* simplification: `yolov9m-320-int8` takes 320×320, as does every hardware
|
|
108204
|
+
* default in the catalog.
|
|
108205
|
+
*
|
|
108206
|
+
* The side is the region's longer side, floored at
|
|
108207
|
+
* {@link RECOVERY_CROP_MIN_SIDE_PX} — the growth is what magnifies the subject
|
|
108208
|
+
* — and ceilinged at {@link RECOVERY_CROP_MAX_SIDE_PX}. The ceiling is NOT a
|
|
108209
|
+
* simplification either: at 1024 px the same 320 model scored the reference
|
|
108210
|
+
* dog 0.52–0.76, and at 1280 px lost it entirely
|
|
108211
|
+
* (`docs/benchmarks/pipeline-frame-model-eval.md`, case `miss-dog-615`). A
|
|
108212
|
+
* region longer than the ceiling is TILED along its longer axis, never zoomed
|
|
108213
|
+
* out.
|
|
108214
|
+
*/
|
|
108215
|
+
function motionCropsForRegion(region, native) {
|
|
108216
|
+
const widthPx = region.w * native.width;
|
|
108217
|
+
const heightPx = region.h * native.height;
|
|
108218
|
+
const longest = Math.max(widthPx, heightPx);
|
|
108219
|
+
const side = Math.round(Math.min(Math.max(longest, 640), 800));
|
|
108220
|
+
const centreX = (region.x + region.w / 2) * native.width;
|
|
108221
|
+
const centreY = (region.y + region.h / 2) * native.height;
|
|
108222
|
+
if (longest <= 800) return [squareAround(centreX, centreY, side, native)];
|
|
108223
|
+
const alongX = widthPx >= heightPx;
|
|
108224
|
+
const quarter = longest / 4;
|
|
108225
|
+
return [squareAround(alongX ? centreX - quarter : centreX, alongX ? centreY : centreY - quarter, side, native), squareAround(alongX ? centreX + quarter : centreX, alongX ? centreY : centreY + quarter, side, native)];
|
|
108226
|
+
}
|
|
108227
|
+
/** `true` when `inner` lies entirely inside `outer`. */
|
|
108228
|
+
function cropContains(outer, inner) {
|
|
108229
|
+
return inner.left >= outer.left && inner.top >= outer.top && inner.left + inner.side <= outer.left + outer.side && inner.top + inner.side <= outer.top + outer.side;
|
|
108230
|
+
}
|
|
108231
|
+
/**
|
|
108232
|
+
* The crops the measured recipe runs on this frame.
|
|
108233
|
+
*
|
|
108234
|
+
* Dedupe is by CONTAINMENT only. Two squares that merely overlap both run: the
|
|
108235
|
+
* pixels the second adds are pixels no other crop shows the detector, and the
|
|
108236
|
+
* fusion step downstream already refuses a duplicate BOX. Dropping a crop
|
|
108237
|
+
* because it overlapped would drop the subject sitting at its edge, which is
|
|
108238
|
+
* the whole population this pass exists for.
|
|
108239
|
+
*
|
|
108240
|
+
* A frame that cannot hold the smallest crop yields nothing: it is already
|
|
108241
|
+
* seen at scale.
|
|
108242
|
+
*/
|
|
108243
|
+
function planMotionCrops(input) {
|
|
108244
|
+
const { native } = input;
|
|
108245
|
+
if (Math.min(native.width, native.height) < 640) return [];
|
|
108246
|
+
const planned = [];
|
|
108247
|
+
for (const region of planMotionCropRegions(input)) for (const crop of motionCropsForRegion(region, native)) {
|
|
108248
|
+
if (planned.some((existing) => cropContains(existing, crop))) continue;
|
|
108249
|
+
planned.push(crop);
|
|
108250
|
+
}
|
|
108251
|
+
return planned;
|
|
108252
|
+
}
|
|
108253
|
+
//#endregion
|
|
107585
108254
|
//#region src/pipeline/root-face-crop.ts
|
|
107586
108255
|
/** Side of the square, as a multiple of the face box's longer side. */
|
|
107587
108256
|
var ROOT_FACE_REFINE_SCALE = 1.6;
|
|
@@ -109930,4 +110599,4 @@ function armRemovalReconcile(opts) {
|
|
|
109930
110599
|
return () => clearInterval(timer);
|
|
109931
110600
|
}
|
|
109932
110601
|
//#endregion
|
|
109933
|
-
export { ACCESSORY_LABEL, ACCESS_ROLES, ADMIN_SCOPE, AGENT_MDNS_QUERY_NAME, AGENT_MDNS_SERVICE_TYPE, AGENT_MDNS_TXT_KEYS, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, ALL_METHOD_ACCESS, APPEARANCE_BIN_COUNT, APPEARANCE_BLOCKS, APPEARANCE_DESCRIPTOR_VERSION, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT, APPLE_SA_TO_MACRO, APP_AUTH_CALLBACK_MAX_LENGTH, APP_AUTH_CALLBACK_URLS, APP_FLOW_DEFAULT_REDIRECT, APP_FLOW_REFUSAL_MESSAGES, APP_FLOW_STATE_PREFIX, APP_REFUSED_PATH, APP_START_REFUSAL_MESSAGES, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_CHUNK_FORMATS, AUDIO_MACRO_LABELS, AUDIO_NOT_CLASSIFIED_REASONS, AUDIO_PRESETS, AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, AUTOMATIC_HUB_ADDRESS_FLAGS, AUTO_SHARE_HEADROOM, AUTO_TUNE_FAMILY, AcceleratorKindSchema, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddRetrainFrameFromRecordingResultSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AddonRoutesScopeSchema, AdminLinkTargetEnum, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertEpisodePayloadSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, AnalyticsLtsSeriesSchema, AppFlowPurposeSchema, AppLoginPathSchema, AppPageLangSchema, AppleFmAvailabilitySchema, AppleFmUnavailableReasonSchema, ArchiveEntrySchema, ArchiveManifestSchema, ArchiveSqliteSnapshotSchema, ArchivedDebugNoteQueryInputSchema, ArchivedDebugNoteSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioAttachDeviceInputSchema, AudioAttachDeviceResultSchema, AudioChunkFormatSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioClassifyOutcomeSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioDetachDeviceResultSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AudioStreamPickSchema, AuthResultSchema, AutoTuneApplyInputSchema, AutoTuneApplyResultSchema, AutoTuneOptionsSchema, AutoTunePhaseResultSchema, AutoTunePlanSchema, AutoTuneWarningSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BASE_DEVICE_CAPS, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BENCH_ROOT_STEP_ID, BIRTH_DECISION_DEFAULT_LIMIT, BOOT_RECOVERY_BACKOFF_MS, BUILTIN_RESULT_KINDS, BackgroundRunRegistry, BacklightModeSchema, BackupArchiveEncryptionSchema, BackupDestinationInfoSchema, BackupEncryptionStatusSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatchTooLargeError, BatteryStatusSchema, BinaryStatusSchema, BirthDecisionCropSourceSchema, BirthDecisionQueryInputSchema, BirthDecisionRecordSchema, BirthDecisionVerdictSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerInfoSchema as UnifiedBrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BucketAccumulator, BulkRecordSchema, CALLER_STAMPED_CAPABILITIES, CAMERA_SENSORS_NOT_LOADED, CAMERA_SENSORS_SETTINGS_KEY, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAMERA_TRIGGER, CAMSTACK_APP_LINK_ORIGIN, CAMSTACK_EVENT_PREFIX, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CAP_VOCABULARY, CAP_VOCABULARY_BY_NAME, CATALOG_LANGS, CLASS_MAP_MACRO_TARGETS, CLIP_BROKER_PACED_RATES, CLIP_LABEL_EVENT_FETCH_LIMIT, CLIP_PLAYBACK_OPTIONS, CLIP_REALTIME_SOURCE_RATES, CLIP_REASON_HEADER_MAX, CLIP_SEARCH_STRICTNESS, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CLIP_STREAM_SOURCE_RATES, CLIP_STREAM_TRANSPORT_HEADER, CLIP_STRICTNESS_FACTOR, CLIP_VECTOR_INDEX_PATTERN, CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, COMPOSED_DEVICE_STABLE_ID_PREFIX, COMPOSED_ITEM_FIXED_FIELDS, COMPOSER_ADDON_ID, COMPOSER_RUNNER_ID, COMPOSITION_EVENT_CATEGORY, COMPOSITION_ITEM_ARRAY_PATH, COMPOSITION_ITEM_KEY_RE, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORAL_DEFAULT_MODEL_ID, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CREDENTIAL_TOKEN_AUDIENCE, CREDENTIAL_TOKEN_KIND, CROP_SUPPLY_SOURCES, CROP_SUPPLY_STEP_IDS, CUSTOMIZATION_BLOCK_NAME_PREFIX, CalendarColorSchema, CalendarEntrySchema, CalendarEventSchema, CalendarInfoSchema, CalendarListEventsInputSchema, CalendarPreferenceEntrySchema, CalendarPreferencesSchema, CalendarSetPreferenceInputSchema, CalendarSourceKindSchema, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionSourceSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraOverrideClearSchema, CameraOwnMotionSchema, CameraRawLevelSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSensorAttachmentSchema, CameraSensorEntrySchema, CameraSensorModeSchema, CameraSensorRefSchema, CameraSensorsConfigSchema, CameraSensorsNotEnforcedSchema, CameraSensorsNotForwardedSchema, CameraSensorsStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CameraSwitchWarningSchema, CamstackError, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CapacityFallbackSchema, CapacitySourceSchema, CarbonMonoxideStatusSchema, CatalogFileSchema, CatalogLangSchema, ChargingStatus, ClaimOutcomeSchema, ClaimsListingSchema, CleanupDeletedDevicesResultSchema, ClearTrackRelationInputSchema, ClearTrackRelationResultSchema, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipBytesOfferSchema, ClipBytesSchema, ClipExportFailureSchema, ClipModelMetaSchema, ClipPlaybackOptionsSchema, ClipPlaybackSchema, ClipSchema, ClipSearchStrictnessSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, ClipStillDispositionSchema, ClipStillRefusalCodeSchema, ClipStreamAudioReasonSchema, ClipStreamAudioSchema, ClipStreamDialSchema, ClipWakeSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, ClusterModelChoiceSchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, CompleteEnrollmentInputSchema, CompleteEnrollmentOutputSchema, CompleteEnrollmentResultSchema, ComposableCapabilitiesSchema, ComposableCapabilitySchema, ComposableFieldSchema, ComposerApplyInputSchema, ComposerApplyResultSchema, ComposerBlockSchema, ComposerBlockVerdictSchema, ComposerUnreadableBlockSchema, CompositionBindingSchema, CompositionBlockInputSchema, CompositionBlockStateSchema, CompositionCodeSourceSchema, CompositionCommandTargetSchema, CompositionCustomizationReadSchema, CompositionEventPlanSchema, CompositionExistingTargetSchema, CompositionExpressionSourceSchema, CompositionFeatureModeSchema, CompositionFeaturePlanSchema, CompositionFeatureSchema, CompositionFieldItemSchema, CompositionFieldKindSchema, CompositionFieldPlanSchema, CompositionFieldReadSchema, CompositionFieldRoleSchema, CompositionFieldSourceSchema, CompositionFieldStateKindSchema, CompositionFieldStateSchema, CompositionFieldsFeatureSchema, CompositionForwardCommandSchema, CompositionFromSourceSchema, CompositionGetReadSchema, CompositionGraphError, CompositionItemEntrySchema, CompositionListReadSchema, CompositionLiteralBindingSchema, CompositionNewTargetSchema, CompositionPassthroughFeatureSchema, CompositionProblemCodeSchema, CompositionProblemSchema, CompositionRunStatusSchema, CompositionSchema, CompositionSourceRefSchema, CompositionStateReadSchema, CompositionTargetSchema, CompositionUnavailableModeSchema, CompositionValidationSchema, CompositionViewSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableFormSchema, ConsumableItemSchema, ConsumableKindSchema, ConsumableLevelSchema, ConsumableRemainingSchema, ConsumableRemainingUnitSchema, ConsumableStatusSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileInputSchema, CoreBlockCompileResultSchema, CoreBlockFilesSchema, CoreBlockInputFieldsSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockSourceSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateIntegrationInputSchema, CreateUserInputSchema, CredentialScopeSchema, CredentialTokenClaimsSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATABASE_SNAPSHOT_PARTIAL_SUFFIX, DATABASE_SNAPSHOT_SUFFIX, DATABASE_SNAPSHOT_TIMEOUT_MS, DATAPLANE_SECRET_HEADER, DATA_STORE_DATABASES, DAYS_PER_WEEK, DAY_NAMES, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CAMERA_FPS, DEFAULT_CAMERA_SENSOR_MODE, DEFAULT_CATALOG_LANG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_CORE_BLOCK_ENTRY, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_HEADROOM, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_MIN_SESSIONS_PER_DEVICE, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_OVERLAY_LAYERS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_SESSION_PLACEMENT_POLICY, DEFAULT_SHARE_SOURCE, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DEFAULT_VIEWER_SCOPE, DEFINITIVE_DEVICE_REFUSALS, DERIVED_CAMERA_SILENCED_CAP_NAMES, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DETECTOR_ACCURACY, DETECTOR_PERF, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CERT_RENEW_WINDOW_DAYS, DEVICE_CERT_SIGNATURE, DEVICE_CERT_VALIDITY_DAYS, DEVICE_CHILDREN_BATCH_MAX, DEVICE_DEFINITIVE_REFUSALS_BEFORE_DELETE, DEVICE_DO_ACTIONS, DEVICE_ENROLLMENT_TTL_MS, DEVICE_HISTORY_ENERGY_KEY, DEVICE_HISTORY_ORPHAN_DELETE_MAX, DEVICE_HISTORY_ORPHAN_LIST_MAX, DEVICE_HISTORY_QUERY_MANY_MAX_ITEMS, DEVICE_NONCE_TTL_MS, DEVICE_PROFILES, DEVICE_RAMP, DEVICE_REFRESH_REFUSAL_PREFIX, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SAN_CREDENTIAL_PREFIX, DEVICE_SAN_USER_PREFIX, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_SIGNATURE_MESSAGE_VERSION, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TOMBSTONE_RETENTION_MS, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_DO_CAPS, DEVICE_TYPE_INFO, DOORBELL_RISE_DEBOUNCE_MS, DataStoreDatabaseSchema, EngineInfoSchema as DataStoreEngineInfoSchema, DatabaseSnapshotRequestSchema, DatabaseSnapshotResultSchema, DatabaseSnapshotTableSchema, DatabaseSnapshotTargetsSchema, DatabaseSnapshotWrittenSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclarationRefusedError, DeclareCollectionInputSchema, DeclareKindResultSchema, DeclaredDevices, DecodedAudioChunkSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DetectionSourcesSchema, DetectorStoreClearSchema, DeviceAdminLinkSchema, DeviceCaStatusSchema, DeviceCertificateLoginMethodSchema, DeviceCertificateSettingsSchema, DeviceChallengeResultSchema, DeviceChallengeSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceCredentialSchema, DeviceCredentialStatusSchema, DeviceDataEntrySchema, DeviceDiscoveryStatusSchema, DeviceEnrollProofSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceHistoryKindSchema, DeviceHistoryOrphanDeleteRefusalSchema, DeviceHistoryOrphanReasonSchema, DeviceHistoryProducerKindSchema, DeviceHistoryRefusalReasonSchema, DeviceHistoryResolutionSchema, DeviceHistoryStatusSchema, DeviceHistorySubjectSchema, DeviceInfoSchema, DeviceModelChoiceSchema, DeviceNetworkStatsSchema, DevicePlatformSchema, DeviceProofInputSchema, DeviceRecommendationSchema, DeviceRefusalReasonSchema, DeviceRefusalSchema, DeviceRemovedInputSchema, DeviceRemovedResultSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceSignaturePurposeSchema, DeviceStatusSchema, DeviceTombstoneSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DishwasherAccessSchema, DishwasherAvailabilitySchema, DishwasherOperationStateSchema, DishwasherOptionDescriptorSchema, DishwasherOptionsSchema, DishwasherProgramSchema, DishwasherStateSchema, DishwasherStatusSchema, DishwasherValueSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EMBEDDING_MODEL_FAILED, EMBEDDING_REQUIREMENTS_FAILED, EMBEDDING_REQUIREMENTS_UNAVAILABLE, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_KIND_LABELS, EVENT_KIND_LABEL_KEYS, EVENT_OWNER_TYPES, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EXTENSION_HOST_DEVICE_TYPES, EXTENSION_SLOTS, EXTENSION_SLOT_IDS, EXTENSION_SLOT_LISTING_METHOD, EXTENSION_SLOT_REF_SEPARATOR, EffectiveDeviceShareSchema, EffectiveNodeShareSchema, EffectiveSharesSchema, EffectiveTuningSchema, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingFailedModelSchema, EmbeddingFailedRequirementSchema, EmbeddingInfoSchema, EmbeddingRefusalCodeSchema, EmbeddingResultSchema, EmbeddingTowerSchema, EncodeProfileSchema, EnrichedWidgetMetadataSchema, EnrollSelfInputSchema, EntryDescriptorSchema, EntryKindInfoSchema, EntryViewSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, ErrorCodeSchema, ErrorI18nPayloadSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventOwnerTypeSchema, EventSourceType, ExportBytesSchema, ExportClipSubjectSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportFootageSubjectSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportSubjectSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, ExtensionCandidateSchema, ExtensionCandidatesSchema, ExtensionSetResultSchema, ExtensionSetSlotInputSchema, ExtensionSlotActivationSchema, ExtensionSlotIdSchema, ExtensionSlotRefInputSchema, ExtensionSlotRowSchema, ExtensionSlotSourceSchema, ExtensionSlotStateSchema, ExtensionSlotUnreachableSchema, ExtensionSlotValueSchema, ExtensionSourceAvailabilitySchema, ExtensionSourceHealthSchema, ExtensionSourceSchema, ExternalIdentityKeySchema, ExternalIdentitySchema, FACE_RESCORE_INTERVAL_FIELD, FACE_RESCORE_INTERVAL_KEY, FACE_RESCORE_INTERVAL_MIN_RUNNING, FACE_RESCORE_SECTION_ID, FEEDER_EXAMPLE_ADDON_ID, FEEDER_EXAMPLE_HA_DEVICE_ID, FFMPEG_PATH_ENV, FIRST_LEVEL_MACRO_CLASSES, FRIGATE_PLUS_CLASS_FLOORS, FRIGATE_PLUS_TO_MACRO, FRIGATE_PLUS_UNMAPPED_LABELS, FRIGATE_STOCK_CLASS_FLOORS, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FieldClaimModeSchema, FieldClaimSchema, FilterRequiredError, FloodStatusSchema, Fmp4BoxSplitter, ForeignSecretMarkerError, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, G711_SCALE_CORRECTION_DB, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, GridLayoutPatchSchema, GridLayoutViewSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HISTORY_BUCKET_MS, HISTORY_CATALOG, HISTORY_DEFAULT_MIN_INTERVAL_MS, HISTORY_ITEM_CATALOG, HISTORY_NONE_CAPS, HISTORY_UNIT_LABELS, HOURS_PER_DAY, HUB_ADDRESS_ROLES, HUB_MDNS_QUERY_NAME, HUB_MDNS_ROLE, HUB_MDNS_SERVICE_TYPE, HUB_MDNS_TXT_KEYS, HUB_VIEWER_MOUNT, HWACCEL_OPTIONS, HardwareClassIdSchema, HealthStatusSchema, HeatingValveStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HttpsLeafInfoSchema, HubAddressRoleSchema, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ICON_CATALOG_SOURCE, ICON_CATEGORIES, ICON_ENTRIES, ICON_KEYS, ICON_VIEWER_MODULES, INFERENCE_DEVICE_EXCLUSION_REASONS, INVERTIBLE_CAPS, IconKeySchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, ImportModelBundleInputSchema, ImportModelBundleResultSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, InvalidRecordError, KEYCHAIN_MAX_REFS_PER_CALL, KEYCHAIN_RESET_CONFIRMATION, KEYCHAIN_RESET_TRIGGER_ACTOR, KNOWN_CAP_NAMES, KeptReasonSchema, KeyEventSchema, KeychainAdminSecretSchema, KeychainAuditActionSchema, KeychainAuditEntrySchema, KeychainKeySourceKindSchema, KeychainKeySourceSchema, KeychainResetRecordSchema, KeychainResolveEntrySchema, KeychainResolveResultSchema, KeychainSecretMetaSchema, KeychainSecretUsageSchema, KeychainStateSchema, KeychainStatusSchema, KeychainUnavailableReasonSchema, KeychainWriteRefusedError, LABEL_SUPPLY_MACRO, LABEL_SUPPLY_STEP_IDS, LABEL_SUPPLY_VOCABULARIES, LEGACY_READ_ONLY_CONFIG_KEY, LINKED_DEVICES_SLOT, LINKED_LABEL_STEP_PREFIX, LLM_PROFILE_KIND_PATTERN, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOCATION_DESCRIPTION_MAX, LOCATION_ICON_FALLBACK, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LTS_SCOPE_CLASS_SEPARATOR, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LatencySourceSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LegacyStorageLocationDefaultSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LinkedDevicesSlotValueSchema, ListNodeBenchmarkResultsInputSchema, ListTrackRelationsInputSchema, ListTrackRelationsResultSchema, LiveViewerCountSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmListModelsErrorCodeSchema, LlmListModelsInputSchema, LlmListModelsResultSchema, LlmModelFeaturesSchema, LlmModelInfoSchema, LlmNodeModelSchema, LlmProfileFieldSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmProviderConfigSchema, LlmProviderWidgetSchema, LlmRefusalSourceSchema, LlmRetryPolicySchema, LlmRuntimeAppleCompleteInputSchema, LlmRuntimeCancelInputSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadBalancingSharesInputSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationDescriptionAssignmentSchema, LocationIconAssignmentSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogReadCapabilitiesSchema, LogReadEntrySchema, LogReadQuerySchema, LogReadResultSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, LtsBucketSchema, MACRO_LABELS, MASK_EMITTING_POSTPROCESSORS, MASK_SUPPLY_STEP_IDS, MAX_ARCHIVED_DEBUG_NOTES, MAX_BIRTH_DECISION_RECORDS, MAX_BIRTH_LATENCY_PROXY_MS, MAX_CAMERA_SENSORS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_COMPOSITION_CODE_LENGTH, MAX_COMPOSITION_FEATURES, MAX_COMPOSITION_FIELDS_PER_FEATURE, MAX_COMPOSITION_ITEMS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_REQUEUED_BUCKETS_PER_SERIES, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, MAX_TRACK_PURITIES, MAX_TRACK_RELATIONS, MEDIA_OWNER_TYPES, MEDIA_PRESENCE_OWNER_KINDS, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MINUTES_PER_DAY, MIN_SCRUBBED_LENGTH, MIN_SESSIONS_PER_DEVICE_RANGE, MODEL_FORMATS, MODEL_HOSTING, MODEL_PROVIDER_IDS, MOTION_CLOSE_AFTER_MS, MOTION_SOURCE_LABELS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaPresenceOwnerKindSchema, MediaRelocateModeSchema, MeshLeafInfoSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelBundleFileSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatPrecisionSchema, ModelFormatsSchema, ModelLicenseSchema, ModelOnDiskStateSchema, ModelPinChangeSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionTriggeredBySchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, BrokerInfoSchema$1 as MqttBrokerInfoSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_CONTROLLABLE_CAPS, NC_ALARM_DEFAULT_PROFILE_ID, NC_ALARM_DEFAULT_PROFILE_NAME, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC, NC_ALARM_DELAY_FIELDS, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_NONBLOCKING_MAX, NC_ALARM_NOTIFY_FIELDS, NC_ALARM_OPENING_EVENT_KINDS, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_DEFAULT_DELAYS, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CAMERA_SCOPE_CAP_NAME, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_MEDIA_IMAGE_MODES, NC_OCCUPANCY_DEFAULTS, NC_RULE_CLEARABLE_KEYS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_RETIRED_CLEAR_KEYS, NC_RULE_SECTIONS, NC_SENSOR_RAISED_FIELD_BY_KIND, NC_SENSOR_TRANSITION_KINDS, NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, NC_SERVER_PACKAGE_NAME, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_CLASS_SPECS, NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS, NC_SYSTEM_EVENT_FAMILIES, NC_SYSTEM_EVENT_FAMILY, NC_SYSTEM_EVENT_FAMILY_FILTERS, NC_SYSTEM_EVENT_FILTER_KEYS, NC_SYSTEM_EVENT_KIND_GROUP_SPECS, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, NC_SYSTEM_RULE_KINDS, NC_TANK_SYSTEM_EVENT_KINDS, NC_TAXONOMY, NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, NC_UPDATE_EVENT_PACKAGE_NAMES, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NODE_BENCHMARK_DEFAULTS, NODE_COLOR_IDS, NO_MEASURED_CAPACITY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionOptionsSchema, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionSettingsPatchSchema, NativeObjectDetectionStatusSchema, NativeObjectGeometryEnum, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcActionBindingSchema, NcAlarmBlockingEditSchema, NcAlarmBlockingSchema, NcAlarmConfigSchema, NcAlarmCreateProfileInputSchema, NcAlarmModeCoverageSchema, NcAlarmModeDelaysEditSchema, NcAlarmModeDelaysSchema, NcAlarmModeDeviceListSchema, NcAlarmNonBlockingEditSchema, NcAlarmNonBlockingSchema, NcAlarmPostTriggeredActionSchema, NcAlarmProfileIdInputSchema, NcAlarmProfileMetaSchema, NcAlarmProfilesViewSchema, NcAlarmRenameProfileInputSchema, NcAlarmSecureOnArmEditSchema, NcAlarmSecureOnArmOffSchema, NcAlarmSensorReadingSchema, NcAlarmSensorStateSchema, NcAlarmSensorsInputSchema, NcAlarmSensorsSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcClipRetentionAskSchema, NcClipRetentionPlanSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcHookBindingsSchema, NcLegacyRuleActionSequenceSchema, NcLinkedCameraModeSchema, NcMediaFrameSchema, NcMediaImageSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleClearableKeySchema, NcRuleInputSchema, NcRuleKindSchema, NcRuleLastRunSchema, NcRuleLastRunsSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcRuleUpdateInputSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSensorTransitionSchema, NcSharedSequenceInputSchema, NcSharedSequenceSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcStateSummaryPreviewRowSchema, NcStateSummaryPreviewSchema, NcStateSummaryPreviewSectionSchema, NcStateSummarySectionIdSchema, NcStateSummarySplitSchema, NcSystemEventConditionSchema, NcSystemEventDeliveryModeSchema, NcSystemEventDeliverySchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTemplateFamilySchema, NcTemplateFieldSchema, NcTemplatePreviewInputSchema, NcTemplatePreviewSchema, NcTemplateVarContextSchema, NcTemplateVarDescriptorSchema, NcTemplateVarGroupSchema, NcTemplateVarKindSchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NetworkTunnelStartedDataSchema, NoCallerError, NodeBenchCellSchema, NodeBenchClipSchema, NodeBenchDeviceCellSchema, NodeBenchFingerprintSchema, NodeBenchLimitSchema, NodeBenchPipelineCellSchema, NodeBenchProgressSchema, NodeBenchRampStepSchema, NodeBenchRunnerInputSchema, NodeBenchRunnerStateSchema, NodeBenchRunnerStatusSchema, NodeBenchmarkCandidatesSchema, NodeBenchmarkDevicePlanSchema, NodeBenchmarkEndReasonSchema, NodeBenchmarkManifestSchema, NodeBenchmarkMovingCameraSchema, NodeBenchmarkPhaseSchema, NodeBenchmarkPlanSchema, NodeBenchmarkPreflightSchema, NodeBenchmarkRefusalKindSchema, NodeBenchmarkRefusalSchema, NodeBenchmarkResultSchema, NodeBenchmarkResultViewSchema, NodeBenchmarkRunSchema, NodeBenchmarkStateSchema, NodeBenchmarkStatusSchema, NodeBenchmarkStayingCameraSchema, NodeColorIdSchema, NodeDeviceChangeSchema, NodeDirectoryEntrySchema, NodeDirectorySchema, NodeHttpsStateSchema, NodeRecommendationSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OAUTH_LANDING_PATH, OAUTH_LANDING_REASONS, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OVERLAY_LAYERS, OWNER_ONLY_EVENT_CATEGORIES, OauthIntegrationDescriptorSchema, ObjectEventSchema, OccupancyBurstRefusalSchema, OccupancyLookAnswerSchema, OccupancyLookRefusalSchema, OccupancyLookRequestSchema, OidcConnectionSchema, OidcConnectionUpdateInputSchema, OnboardFieldSupportSchema, OnboardRecordTrackSchema, OnboardScheduleSupportSchema, OnboardStorageSchema, OnboardStorageVolumeSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OrphanDeviceDataSchema, OsdNamedTemplateSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, OsdTemplateBindingSchema, OsdTemplateFormatSchema, OsdTemplatePickSchema, OsdTemplateTokenKindSchema, PEER_BYTES_CHUNK_BYTES, PEER_BYTES_MAX_OUTSTANDING, PEER_BYTES_STALL_MS, PEER_BYTES_TICKET_TTL_MS, PENDING_BLOCK_ID, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_ANALYTICS_CAP_NAME, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PIPELINE_RAMP, PREFERENCES_MAX_DEVICE_ID_LENGTH, PREFERENCES_MAX_NAMESPACES, PREFERENCES_MAX_VALUE_BYTES, PREFERENCES_NAMESPACE_PATTERN, PREFERENCES_SELF_SCOPE, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PROVIDER_PIN_FIELD, PUBLIC_ENDPOINT_HTTP_REASON, PYTHON_SCRIPT, PackageInstallationSchema, PackageInstallationsSchema, PackageUpdateSchema, PackageVersionInfoSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PeerBytesTicketSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineModelFormatStatusSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PlacementDeviceStatsSchema, PlacementNodeStatsSchema, PlacementStatsInputSchema, PlacementStatsSchema, PlaintextSecretError, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PreferenceDeviceIdSchema, PreferenceNamespaceSchema, PreferenceRowSchema, PreferenceValueSchema, PreferencesChangedSinceInputSchema, PreferencesChangedSinceOutputSchema, PreferencesDeleteInputSchema, PreferencesDeleteOutputSchema, PreferencesGetInputSchema, PreferencesGetOutputSchema, PreferencesPutInputSchema, PreferencesPutOutputSchema, PreferencesSelfScopeSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProbeTargetConfigResultSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderJobStateSchema, ProviderJobStatusSchema, ProviderMotionDataSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzHomePresetSchema, PtzHomeReturnSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetFunctionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECALL_TIE, RECOGNITION_TYPES, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_SOURCE_CAMSTACK, RECORDING_SOURCE_CAMSTACK_ADDON, RECORDING_TIMELINE_BATCH_MAX, RECORDS_ERROR_CODES, RECORD_BATCH_MAX, RECORD_BATCH_MAX_BYTES, RECORD_CLASSES, RECORD_DATABASES, RECORD_DEFAULT_MAX_DATA_BYTES, RECORD_DELETE_BATCH, RECORD_ID_MAX_LENGTH, RECORD_MAX_DATA_BYTES, RECORD_MAX_INDEXES, RECORD_MAX_INDEX_FIELDS, RECORD_QUERY_MAX, RECORD_SECRET_COLLECTION_PREFIX, RECORD_SETTINGS_MAX_ROWS, RECORD_SWEEP_INTERVAL_MS, REDACTED_SECRET, REMOVAL_RECONCILE_INTERVAL_MS, REMOVED_MODEL_IDS, REMOVE_LEAF, RESERVED_BINDING_NAMES, RESERVED_COLLECTION_SOURCES, RESTORED_CAP_NAMES, RETRAIN_REVIEW_ADJUSTED_IOU, RETRAIN_REVIEW_MATCH_IOU, RETRAIN_REVIEW_STATUSES, RETRAIN_REVISION_CONFLICT, REVALIDATE_AFTER_MS, ROOM_EXAMPLE_MOTION_SOURCES, ROOM_EXAMPLE_TEMPERATURE_SOURCES, ROOM_OCCUPANCY_WINDOW_MS, ROOT_BUCKET_KEY, ROOT_CHILD_CONTAINMENT_MIN, ROOT_FACE_REFINE_INPUT_PX, ROOT_FACE_REFINE_SCALE, ROOT_SUPPLIABLE_STEP_IDS, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RebuildObjectEmbeddingsRefusalSchema, RecentTracksPageSchema, RecentTracksQueryInput, RecommendationReasonSchema, RecordBodySchema, RecordFieldPathSchema, RecordIdSchema, RecordIndexSchema, RecordInputSchema, RecordKindDeclarationSchema, RecordKindNameSchema, RecordNotFoundError, RecordQueryInputSchema, RecordQueryResultSchema, RecordRetentionSchema, RecordSecretRefsSchema, RecordSecretUnavailableError, RecordTooLargeError, RecordTransactOpSchema, RecordTriggerSchema, RecordUniqueViolationError, RecordViewSchema, RecordWhereSchema, RecordWindowSchema, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandAudioSchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingOnboardOptionsSchema, RecordingOnboardPatchSchema, RecordingOnboardStatusSchema, RecordingPlaybackSchema, RecordingRangeSchema, RecordingReadSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingSourceAvailabilitySchema, RecordingSourceOptionsSchema, RecordingSourceSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RecordsError, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, RenewDeviceCertificateOutputSchema, RenewDeviceCertificateResultSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainArchiveResultSchema, RetrainArchiveTargetSchema, RetrainAssistProfileSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainBoxReviewSchema, RetrainCollectionCreateResultSchema, RetrainCollectionRenameResultSchema, RetrainCollectionSchema, RetrainCopyRefusalSchema, RetrainCorpusFilterSchema, RetrainCorpusKpiCameraRowSchema, RetrainCorpusKpiSchema, RetrainCorpusPageFrameSchema, RetrainCorpusPageSchema, RetrainDatasetSelectionSchema, RetrainDatasetStatsSchema, RetrainDatasetVersionSchema, RetrainDismissedSchema, RetrainExportFilterSchema, RetrainExportLayoutSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameOriginSchema, RetrainFrameReviewSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainFrameWorkStateSchema, RetrainLlmAssistResultSchema, RetrainLlmProposalSchema, RetrainLlmReviewSchema, RetrainMacroClassSchema, RetrainOriginSchema, RetrainPipelineBoxSchema, RetrainReviewStatusSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTrainingCorpusResolveResultSchema, RetrainTrainingCorpusSelectionSchema, RetrainTransitionResultSchema, RevConflictError, RevokeOwnDeviceCertificateResultSchema, RingBuffer, RootStepSupplySchema, RtpSourceSchema, RtspRestreamEntrySchema, RunnerBootCheckSchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerJumpStepProvisioningSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, RunnerRefusalSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SECRET_CLEAR, SECRET_META, SECRET_REF_SCHEME, SENSOR_FEATURES, SENSOR_MAP, SERVER_NAME_MAX_LENGTH, SERVER_NAME_SETTING_KEY, SESSION_PLACEMENT_SETTING_KEY, SHARE_AFFINITY_TOLERANCE_SESSIONS, SHARE_SOURCE_SETTING_KEY, SHARE_VIEW_KINDS, SHARE_VIEW_MAX_DEVICES, SINGLE_HUB_ADDRESS_ROLES, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, SSO_STATE_COOKIE, SSO_STATE_COOKIE_MAX_AGE_SEC, STATE_LABELS, STATE_LABEL_KEYS, STATIONARY_OVERLAY_STYLE, STORAGE_ACCESS_FALLBACK, STORAGE_BYTES_PER_GB, STORAGE_LOCATION_MODES, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUBJECT_PATH_DWELL_EPS, SUBJECT_PATH_FULL_FRAME_COVERAGE, SUBJECT_PATH_MAX_POINTS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerNameInfoSchema, ServerNameSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateOutcomeSchema, ServerUpdateStateSchema, SessionPlacementPolicySchema, SessionTriggerSchema, SetCameraSensorsInputSchema, SetLoggingSettingsInputSchema, SetShareSourceInputSchema, SetSiteLocationInputSchema, SetTrackPurityInputSchema, SetTrackPurityResultSchema, SetTrackRelationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShareSourceSchema, ShareViewGrantSchema, ShareViewScopeSchema, ShareWeightsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SiteZoneSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StaleDevicePinSchema, StartEmbeddedInputSchema, StartEnrollmentOutputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, StorageDrainProgressSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, StorageEvictionPolicySchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageKindSchema, StorageLocationDeclarationSchema, StorageLocationModeSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, StorageOccupancyReportSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, StorageTableSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StoredRecordKindDeclarationSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSignalSchema, StreamSignalsStatusSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SuggestSharesInputSchema, SuggestSharesResultSchema, SuggestedDeviceShareSchema, SuggestedNodeShareSchema, SuppliedRootOutputSchema, SwitchStatusSchema, SystemHeldSecretNameSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRACK_RELATIONS_DEFAULT_LIMIT, TRAINING_JOB_SCHEMA, TRAINING_RESULT_SCHEMA, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackPlacementSchema, TrackProjectionSchema, TrackPuritySchema, TrackPurityValueSchema, TrackRelationKindSchema, TrackRelationRefusalSchema, TrackRelationSchema, TrackSchema, TrackSideSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainerSourceRefSchema, TrainingBaseModelSchema, TrainingCanarySchema, TrainingCatalogDraftSchema, TrainingCorpusSelectionSchema, TrainingCredentialCheckSchema, TrainingEvalClassSchema, TrainingEvalReportSchema, TrainingEventSchema, TrainingExportDeviceTotalsSchema, TrainingExportSchema, TrainingExportSummarySchema, TrainingFailureReasonSchema, TrainingGpuOptionSchema, TrainingJobPlanSchema, TrainingJobRequestSchema, TrainingJobSchema, TrainingJobSpecSchema, TrainingJobStateSchema, TrainingLogLineSchema, TrainingPresetSchema, TrainingProgressPointSchema, TrainingProviderDefaultsSchema, TrainingProviderDescriptorSchema, TrainingProviderEntrySchema, TrainingProviderTypeSchema, TrainingProviderUpdateEntryInputSchema, TrainingRefusalReasonSchema, TrainingRegionOptionSchema, TrainingResultFileSchema, TrainingResultSchema, TrainingSplitPlanSchema, TrainingStageSchema, TransactRefusedError, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, USE_ROOT_MODEL_DEFAULTS, USE_ROOT_MODEL_SETTING_KEY, UnindexedFilterError, UninstallNodeOutcomeSchema, UninstallNodeResultSchema, UninstallPackageResultSchema, UnitConversionError, UnknownRecordKindError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateBlockerSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserScopeSchema, UserSummarySchema, VECTOR_INDEX_DIM_CONFLICT, VIDEOCLIPS_MAX_OFFER_BYTES, VIDEOCLIPS_MAX_READ_BYTES, VIEWER_FEATURES, VIEWER_FEATURE_IDS, VISIT_MERGE_GAP_MS, VOCAB_TEMPLATES, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, ViewerDeviceAllowSchema, ViewerFeatureIdSchema, ViewerTokenScopeSchema, WEBRTC_CLIMB_HOLD_CODES, WEBRTC_EGRESS_PROFILE, WEBRTC_TRY_BLOCKERS, WEEKLY_MASK_LENGTH, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcClimbHoldSchema, WebrtcLadderDecisionSchema, WebrtcSessionDebugSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WebrtcTierFailureSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, WrapperActivationReadSchema, WrapperEvidenceSchema, WrapperIdentitySchema, WrapperKindSchema, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, acceleratorKindOf, accessoriesCapability, accessoryChildrenComplete, accessoryChildrenUnknown, accessoryStableId, actionsForBoundCaps, actionsForDevice, actionsForDeviceType, actionsForDevices, activateAlarmProfile, addonCatalogHref, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advertisedHubOrigins, airQualitySensorCapability, alarmDeviceBlocksArming, alarmDeviceSecureOnArm, alarmPanelCapability, alarmPatchLanded, alarmProfileById, alertEpisodeId, alertEpisodeKind, alertEpisodePayload, alertNodeId, alertsCapability, allDoActions, allowedSuppliedEffect, ambientLightSensorCapability, annotateClipsWithEventLabels, appFlowLocation, applyBlockingEdit, applyModeDelaysEdits, applyModeDeviceListEdit, applyModelBoundSettings, applyNonBlockingEdit, applySecureOnArmEdit, armRemovalReconcile, arrayItemFieldPath, asBoolean, asJsonArray, asJsonObject, asNumber, asRecordsError, asString, assertTimelapseCadences, assertTransactScope, assertValidDeclaration, assignNodeColorId, audioAnalysisCapability, audioAnalyzerCapability, audioChunkBytesPerSample, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, audioScaleEraOf, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, bucketStartOf, buildAddonRouteProvider, buildAudioArgs, buildBenchStepTree, buildCapabilityLookup, buildDeviceAdminUrl, buildDeviceEnrollmentLink, buildDeviceSignatureMessage, buildDoorbellCompositionFeature, buildEventKindDescriptor, buildFfmpegArgs, buildFrigateClassMap, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildSecretRef, buildStreamParamsConfigSchema, buildSubjectPath, buildVideoArgs, buildViewerLink, builtCapabilityBlockers, buttonCapability, calendarEventLocalSpan, calendarEventOnLocalDay, calendarSourceCapability, calendarsCapability, cameraCredentialsCapability, cameraGridLayoutCapability, cameraOwnsMotionViaSensor, cameraPipelineConfigCapability, cameraSensorRefKey, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, canonicalIconKey, canonicalizeAppCallback, capabilityScopesOf, capacityForModel, capacitySessionsOf, carbonMonoxideCapability, cellsToRects, checkRoleAddress, claimedRequestOrigins, classifyBearerPrincipal, classifyCamerasForBenchmark, classifyInferenceHardware, classifyRetrainReview, classifySecretWrite, classifyStoreError, classifyStream, classifyStreams, clearKnownSecrets, clearModelBoundOverrides, clearModelBoundSetting, climateControlCapability, clipEventLabelDepsFromApi, clipExportFailure, clipExportFailureOf, clipLabelsForWindow, clipReasonHeaderValue, cloneAlarmSettings, cloneStatefulExpressionMemory, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, codecIsAccepted, collectHydratedFieldEntries, collectHydratedFieldValues, collectKeychainStoredKeys, collectModelBoundKeys, collectSecretConfigKeys, collectSecretLeaves, collectSecretMarkerRefs, collectZodSecretPaths, colorCapability, colorForKind, commitWatchdogRestart, compareToTarget, compileExpression, compileExpressionSafe, composeSwitchedOff, composedDeviceRef, composedDeviceStableId, composerCapability, compositionEdges, compositionFeatureEnabled, compositionFieldKey, compositionItemFieldPath, compositionReadKey, compositionSliceKey, compositionSourceKey, compositionSourceRefs, computeCapacityShares, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumableFormOf, consumableKindOf, consumableLowPercentOf, consumablesCapability, contactCapability, containingParentIndex, controlCapability, convertPresetFeature, convertUnit, coralUsableUnits, coreBlockAddonId, coreBlockComposition, coreBlockIdFromAddonId, coreBlockSourceKind, coreBlocksCapability, cosineSimilarity, countConditionLeaves, coverCapability, createAlarmProfile, createDeviceExtensionProvider, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRecordsAccess, createRuntimeStateBridge, createSecretsAccess, createSliceHandle, createStatefulExpressionMemory, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, databaseSnapshotCapability, dayNightCapability, dayOfWeekToIndex, declarationOwnerNodeId, declarationsOf, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, defineEntryKind, defineExtensionSlotProvider, defineRecordKinds, dehydrateConfigField, dehydrateSchema, deleteAlarmProfile, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveMaskSupplies, derivePostTriggeredAction, deriveRecordingMode, deriveRootFaceRefineRect, deriveRootSupplies, describeComposableCaps, describeCustomActions, describeModelVariant, describeOnboardClamp, describeOnboardRefusal, describeRootSupplies, describeRootSupply, describeStateField, describeSystemEventDeliveryProblem, describeSystemEventFamilyProblem, describeTopLevelStateFields, detectAccessRole, detectionPipelineCapability, deviceAdminLinkCapability, deviceAdoptionCapability, deviceAttentionKind, deviceBackendToFormat, deviceCredentialsCapability, deviceCustomAction, deviceDiscoveryCapability, deviceDoFamily, deviceExportCapability, deviceExtensionCapability, deviceHistoryCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceRefusalFromMessage, deviceRemovalHookCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, diffStepSettings, disarmRoseMemory, dishwasherCapability, doActionSelectValue, dominantClipLabels, doorbellCapability, doorbellFeatureSources, droppedConditionsForKind, edgetpuDelegateDevice, effectiveStepSettings, egressTranscodeSharingKey, egressTransportFromRequest, electByShare, electByShareWithAffinity, eligibleUnderBenchmark, embeddingEncoderCapability, embeddingModelFailedError, embeddingModelFailedOf, embeddingRefusalOf, embeddingRequirementsFailedError, embeddingRequirementsUnavailableError, emitDownForOwnedCaps, emitReadiness, emitsCollectionSelector, encodeProfileFromStreamShape, encodeVectorBase64, ensureAlarmProfiles, entryBody, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, estimateNodeBenchmarkDurationMs, evaluateAst, evaluateCompositionField, evaluateCount, evaluateExpressionSource, evaluatePoolMemory, evaluateRose, evaluateSensorEdge, evaluateSensorLevelEdge, evaluateStatefulExpressionCall, evaluateZoneRules, event, eventEmitterCapability, eventKindLabel, eventOverlapsClipWindow, evictionPolicyForMode, evictionPolicyOfLocation, expandAudioChunkToF32le, expandCapMethods, expandContainer, expandSystemEventClasses, exportSubjectOf, exposeBlockDevices, expressionContainsBuiltinCall, extensionSlotRef, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureFieldEntries, featureOfRole, featureProbeCapability, featureSources, feederCustomizationExample, feederExampleSources, ffmpegRate, fieldReads, fieldUnitKeys, fieldsPinnedAtValueBelow, filesystemBrowseCapability, findCandidateCycles, findCompositionCycles, findTimezone, floodCapability, foldSnapshotByFunction, foreignCapacityCells, forgetKnownSecret, formatDeviceRevoker, formatForRuntime, formatMediaOwnerKey, formatMinutes, formatParkedFor, formatSecretScope, freshResults, frigateDefaultClassFloors, frigateLabelFields, gasCapability, gbToBytes, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, gifDeriveSpeed, gifFilterComplex, gifFromMp4Args, globalSecretScope, grantRowsOf, hasModelBoundOverrides, hasMotionTrigger, hasUrlScheme, heatingValveCapability, hfModelUrl, historyFieldsFor, historyItemFieldPath, htmlToText, hubAddressHostname, hubMotionNativeProvider, humidifierCapability, humiditySensorCapability, hydrateSchema, iconCategoryLabel, iconEntry, iconsInCategory, imageCapability, imageModesForKind, imageSettingsCapability, inferExpressionKinds, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, interpolate, interpretStoredClusterModel, invalidClusterStepModelEntries, invertPresetFeature, invocationFromEncodeProfile, isAgentOnlyPlacement, isAlarmControllableCap, isAlertEpisodeOpen, isAlertEpisodeSeverity, isAppLinkBase, isAppStartRefusal, isArrayOutputSchema, isAudioChunkFormat, isAudioClassName, isAudioLabelSelected, isAudioRule, isAutomaticShareSource, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isCredentialTokenPayload, isDefaultAlarmProfileId, isDefaultAppConnectionEndpoint, isDefinitiveDeviceRefusal, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isDoActionActuatable, isDoPickerDeviceType, isDrawableSubjectPath, isEmbeddingModelFailed, isEvent, isEventKindLabelKey, isEventOwnerType, isFirstLevelMacroClass, isHeldBackTemplateVar, isIconKey, isIsolatedBuiltin, isKeychainStoredField, isKnownTemplateVar, isLabelSupplyStepId, isLocationEnabled, isMediaOwnerType, isNode, isOauthLandingReason, isObjectInput, isOccupancyRule, isOwnerOnlyEventCategory, isRemovedModelId, isRestoredCap, isRetiredClearKey, isRootSuppliableStepId, isSameAddonId, isScheduleActive, isSecretClear, isSecretConfigField, isSecretFieldView, isSecretMarker, isSecretMarkerLike, isSecretRef, isSecretRefOwnedBy, isSingleHubAddressRole, isSoftwareDecode, isSourceCap, isStateLabelKey, isStatefulBuiltin, isStorageLocationMode, isSystemDelivery, isSystemEventFamily, isSystemEventRecoveryKind, isSystemEventSummaryRule, isSystemRuleKind, isVectorIndexDimConflict, isVoidInput, isZodSecret, ituDbfsFromPreEpoch, jobKindSchema, kebabToCamel, keychainAdminCapability, keychainCapability, kindOfValue, kindsForDiscriminator, knownSecretCount, knownValues, lawnMowerControlCapability, legacyAutoLinkIds, legacyImageMode, legacyModeOf, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, linkedLabelStepId, linkedStepOf, listBenchDetailSteps, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, localizeConfigTree, locationIconKey, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeInMemoryRecords, makeProfileBrokerId, makeSecretMarker, makeSourceBrokerId, mapAudioLabelToMacro, mapSecretLeaves, markdownToHtmlLite, markdownToText, maskUrlCredentials, matchDoAction, mayReadLocation, mayWriteToLocation, measuredCapacityFromResults, measuredDetectorCells, mediaPlayerCapability, memoizePinnedFfmpeg, mergeClipLabels, mergeSecretStatePaths, mergeSettingsBags, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, methodRoleOf, metricsProviderCapability, migrateLegacyDeviceSignalConfig, minutesToTimeOfDay, modeMayRead, modeMayWrite, modelBindingKey, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionSourceLabel, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, ncAlarmSystemDefaultSettings, ncMediaPolicyError, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodeBenchmarkRefusals, nodeCertificatesCapability, nodePickerItems, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeCoreBlockWrite, normalizeNcMediaPolicy, normalizeNodeId, normalizeOrigin, normalizeSecretOwner, normalizeTokenScopes, normalizeUnit, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, oauthLandingUrl, objectInputDeclaresAddonId, objectInputDeclaresRequiredDeviceId, occupancyScope, oidcConnectionsCapability, omitTransientConfig, optionalAncestors, optionalMethod, osdCapability, osdManagerCapability, overlayClusterStepSettings, packagePickerItems, parseAdminBase, parseAlertEpisodePayload, parseAppAuthCallback, parseAppFlowRequest, parseAppPageLang, parseCameraStreamConfig, parseCredentialScopes, parseDeviceEnrollmentLink, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseMediaOwnerKey, parseOauthLandingFragment, parseOccupancyScope, parseProcStatus, parseProfileBrokerId, parseRetrainRevisionConflict, parseRuleSection, parseSecretPath, parseSecretRef, parseSecretStatePath, parseSessionPlacementPolicy, parseShareSource, parseStreamParamsFormPatch, parseTrainingEventLine, patchAudio, petFeederCapability, pickAccessoryControl, pickAppLinkHub, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickFaceRescoreIntervalMinutes, pickInvalidClusterStepModels, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRequestOrigin, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pickerForRuleClasses, pinUnderBenchmark, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, planComposition, planCompositionEvents, planItems, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, projectSubjectPath, providerMotionEvent, ptzAutotrackCapability, ptzCapability, publicEventCategories, pythonScriptForBackend, rankStreams, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readErrorI18n, readFaceRescoreIntervalMinutes, readHubMotionDetected, readHubMotionStatus, readMotionTriggeredBy, readNativeLeaseOverride, readNodePin, readTimelapseGeneratedAt, readUseRootModel, readinessKey, rebootCapability, recommendNode, reconcileBlockDevices, reconcileRemovedDevices, recordArrayItemPath, recordEntriesCapability, recordSecretCollection, recordSecretRef, recordingArchiveCapability, recordingCapability, recordingExportCapability, recordingOnboardCapability, recordingSignalCapability, recordsCapability, recordsErrorFromMessage, rectsToCells, reducePoints, registerKnownSecret, renameAlarmProfile, renderVocabPhrase, replacedFieldKeys, requestMountPrefix, requiredTopLevelKeys, requiresPython, reservedSourceOwner, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAppConnections, resolveBucketMs, resolveCapMount, resolveClipSearchMinScore, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveCoreBlockEntry, resolveCoreBlockFiles, resolveCreateExportSubject, resolveDeviceControlKind, resolveDeviceProfile, resolveEffectiveShares, resolveEgressDecodeHwAccel, resolveExportProfiles, resolveFormat, resolveHubAddressRoles, resolveHydratedFieldValue, resolveIconKey, resolveInternalAddress, resolveLocationMode, resolveMethodAuth, resolveMethodRole, resolveModeDelays, resolveModeNotifyPolicy, resolveModelBoundSetting, resolveMutate, resolveNcMediaImage, resolveNotificationTapAddress, resolvePoolMemoryPolicy, resolvePublicEndpoint, resolveRecordingProfiles, resolveRootSupply, resolveRunnerId, resolveSecretMarkers, resolveSecretViewsIn, resolveServerName, resolveStreamMaps, resolveVariantModelId, resolveViewableDeviceIds, resultCellKey, resultStandings, retrainBoxIou, retrainRevisionConflictMessage, roleSpec, roomCompositionExample, rootSuppliesOf, rootSupplyServes, ruleAutoTriggersAlarm, ruleBelongsToAlarm, ruleDeviceCompatCapNames, ruleDeviceCompatCapQueries, ruleEditorSectionsForKind, ruleGatedOnArmedState, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, ruleTriggerZoneIds, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sameDoFamily, sceneMonitorCapability, scheduleForSendTimes, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowAddonRoutes, scopesAllowDeviceCap, scopesAllowOwnPreferences, scopesGrantAdmin, scoreRuntimes, scriptRunnerCapability, scrubKnownSecrets, searchIcons, secretArrayPrefixes, secretTreeFromPaths, secretTreeFromSchema, secureActuationFor, selectAppConnectionEndpoints, selectAssignedProfileSlots, sendTimesForEditor, sendTimesOfSchedule, sensorRaisedOf, sensorTransitionNeverFires, sensorTransitionOffered, servedTemplateVars, serverManagementCapability, sessionsOfDeviceCell, setByPath, settingValuesEqual, settingsBelow, settingsStoreCapability, shareViewGrantOf, shortHostname, shortSecretRefHash, signalPercentFromBars, signalPercentFromRssi, siteZoneKey, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, splitTranslationRef, ssoBridgeCapability, startMoverUnderClearance, startReachabilityPoll, stateLabel, stateVocabularyFor, stepModelRunsOnFormat, stepSettingSource, storageAdminCapability, storageCapability, storageEvictableCapability, storageMigrationCapability, storageOccupancyCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, streamSignalsCapability, stripRetiredBandPreBufferSec, strippedOfLegacyReadOnly, subKindsOf, subjectHasPath, subjectPathSampleFromBox, subjectPathSvgPoints, summarisePrivacyAudio, summarizeEffectiveScope, summarizeReview, supplyFor, supportedRuntimes, switchCapability, switchedOffIds, syncActiveAlarmProfileSettings, synthesizeSourceInfo, systemCapability, systemEventClassKinds, systemEventClassOf, systemEventClassesFor, systemEventDeliveryProblems, systemEventFamilyOf, systemEventFamilyProblems, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, systemEventKindNamesOf, systemEventKindsOfFamily, systemEventSummaryScheduleOf, systemEventSummarySplitOf, systemFamilyOfKind, systemRuleKindOf, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, templateCarriesSummary, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, templateVarsFor, terminalSessionCapability, textToHtml, timeOfDayToMinutes, toAppLinkHubOrigin, toDeviceSummary, toExpressionValue, toNodeId, toPercentShares, toSecretFieldView, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, trainingCapability, trainingProviderCapability, transcodeBody, transformSecretWrite, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, unreachableExtensionSlotRow, unwrapSchema, updateCapability, userError, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateComposition, validateCustomAddress, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorIndexDimConflictError, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerAdmitsDevice, viewerHoldsRole, viewerLinkBaseOf, viewerScopeOf, viewerUiCapability, actionsForDevice$1 as vocabularyActionsForDevice, triggersForDevice as vocabularyTriggersForDevice, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, weeklyMaskIndex, weeklyMaskIsUniform, weeklyMaskToWindows, widenDeviceConstructor, windowsToWeeklyMask, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, withClipEventLabels, withFieldFrom, withLocationMode, withSystemEventClasses, withoutCallerStamp, withoutField, writeModelBoundSetting, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
|
|
110602
|
+
export { ACCESSORY_LABEL, ACCESS_ROLES, ADMIN_SCOPE, AGENT_MDNS_QUERY_NAME, AGENT_MDNS_SERVICE_TYPE, AGENT_MDNS_TXT_KEYS, AGGREGATE_THROUGHPUT_BY_KIND, ALEXA_EGRESS_PROFILE, ALL_CAPABILITY_DEFINITIONS, ALL_METHOD_ACCESS, APPEARANCE_BIN_COUNT, APPEARANCE_BLOCKS, APPEARANCE_DESCRIPTOR_VERSION, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT, APPLE_SA_TO_MACRO, APP_AUTH_CALLBACK_MAX_LENGTH, APP_AUTH_CALLBACK_URLS, APP_FLOW_DEFAULT_REDIRECT, APP_FLOW_REFUSAL_MESSAGES, APP_FLOW_STATE_PREFIX, APP_REFUSED_PATH, APP_START_REFUSAL_MESSAGES, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT, AUDIO_ANALYSIS_CAP_NAME, AUDIO_BACKEND_CHOICES, AUDIO_CHUNK_FORMATS, AUDIO_MACRO_LABELS, AUDIO_NOT_CLASSIFIED_REASONS, AUDIO_PRESETS, AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, AUTOMATIC_HUB_ADDRESS_FLAGS, AUTO_SHARE_HEADROOM, AUTO_TUNE_FAMILY, AcceleratorComputeSchema, AcceleratorKindSchema, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddRetrainFrameFromRecordingResultSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AddonRoutesScopeSchema, AdminLinkTargetEnum, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionCandidateResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, AdoptionJobSchema, AdoptionJobStateSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, AdoptionOutcomeSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertEpisodePayloadSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, AnalyticsLtsSeriesSchema, AppFlowPurposeSchema, AppLoginPathSchema, AppPageLangSchema, AppleFmAvailabilitySchema, AppleFmUnavailableReasonSchema, ArchiveEntrySchema, ArchiveManifestSchema, ArchiveSqliteSnapshotSchema, ArchivedDebugNoteQueryInputSchema, ArchivedDebugNoteSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioAttachDeviceInputSchema, AudioAttachDeviceResultSchema, AudioChunkFormatSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioClassifyOutcomeSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioDetachDeviceResultSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AudioStreamPickSchema, AuthResultSchema, AutoTuneApplyInputSchema, AutoTuneApplyResultSchema, AutoTuneOptionsSchema, AutoTunePhaseResultSchema, AutoTunePlanSchema, AutoTuneWarningSchema, AutoUpdateSettingsSchema, AutomationActionSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationControlStatusSchema, AutomationRecipeSchema, AutomationTriggerSchema, AvailableIntegrationTypeSchema, BASE_DEVICE_CAPS, BASE_LIVE_EGRESS_PROFILE, BATTERY_DEVICE_PROFILE, BATTERY_UNREACHABLE_AFTER_MS, BENCH_ROOT_STEP_ID, BIRTH_DECISION_DEFAULT_LIMIT, BOOT_RECOVERY_BACKOFF_MS, BUILTIN_RESULT_KINDS, BackgroundRunRegistry, BacklightModeSchema, BackupArchiveEncryptionSchema, BackupDestinationInfoSchema, BackupEncryptionStatusSchema, BackupEntrySchema, BackupRunPhaseSchema, BackupRunSchema, BackupRunStateSchema, BackupTriggerResultSchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatchTooLargeError, BatteryStatusSchema, BinaryStatusSchema, BirthDecisionCropSourceSchema, BirthDecisionQueryInputSchema, BirthDecisionRecordSchema, BirthDecisionVerdictSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerInfoSchema as UnifiedBrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, BucketAccumulator, BulkRecordSchema, CALLER_STAMPED_CAPABILITIES, CAMERA_SENSORS_NOT_LOADED, CAMERA_SENSORS_SETTINGS_KEY, CAMERA_SWITCH_CATALOG, CAMERA_SWITCH_ORDER, CAMERA_TRIGGER, CAMSTACK_APP_LINK_ORIGIN, CAMSTACK_EVENT_PREFIX, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, CAP_VOCABULARY, CAP_VOCABULARY_BY_NAME, CATALOG_LANGS, CLASS_MAP_MACRO_TARGETS, CLIP_BROKER_PACED_RATES, CLIP_LABEL_EVENT_FETCH_LIMIT, CLIP_PLAYBACK_OPTIONS, CLIP_REALTIME_SOURCE_RATES, CLIP_REASON_HEADER_MAX, CLIP_SEARCH_STRICTNESS, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CLIP_STREAM_SOURCE_RATES, CLIP_STREAM_TRANSPORT_HEADER, CLIP_STRICTNESS_FACTOR, CLIP_VECTOR_INDEX_PATTERN, CLUSTER_MODEL_CHOICE_UNREADABLE_REASONS, CLUSTER_MODEL_SCOPED_STEPS, CLUSTER_MODEL_SECTION_ID, CLUSTER_STEP_SETTING_FIELDS, COCO_80_LABELS, COCO_TO_MACRO, COMPOSED_DEVICE_STABLE_ID_PREFIX, COMPOSED_ITEM_FIXED_FIELDS, COMPOSER_ADDON_ID, COMPOSER_RUNNER_ID, COMPOSITION_EVENT_CATEGORY, COMPOSITION_ITEM_ARRAY_PATH, COMPOSITION_ITEM_KEY_RE, CONNECTION_TEST_TIMEOUT_MS, CONTAINER_CHILD_PRIORITY, CORAL_DEFAULT_MODEL_ID, CORE_BLOCKS_ADDON_ID, CORE_BLOCK_ADDON_PREFIX, CORE_ULTRA_265K_IGPU_CLOCK_MHZ, CORE_ULTRA_265K_IGPU_EU, CREDENTIAL_TOKEN_AUDIENCE, CREDENTIAL_TOKEN_KIND, CROP_CLASS_FLOORS, CROP_SUPPLY_SOURCES, CROP_SUPPLY_STEP_IDS, CUSTOMIZATION_BLOCK_NAME_PREFIX, CalendarColorSchema, CalendarEntrySchema, CalendarEventSchema, CalendarInfoSchema, CalendarListEventsInputSchema, CalendarPreferenceEntrySchema, CalendarPreferencesSchema, CalendarSetPreferenceInputSchema, CalendarSourceKindSchema, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionSourceSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraOccupancySnapshotForDeviceSchema, CameraOwnMotionSchema, CameraRawLevelSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSensorAttachmentSchema, CameraSensorEntrySchema, CameraSensorModeSchema, CameraSensorRefSchema, CameraSensorsConfigSchema, CameraSensorsNotEnforcedSchema, CameraSensorsNotForwardedSchema, CameraSensorsStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusDegradationReasonSchema, CameraStatusDegradationSchema, CameraStatusSchema, CameraStatusStageSchema, CameraStreamSchema, CameraSwitchAuthoritySchema, CameraSwitchGroupSchema, CameraSwitchIdSchema, CameraSwitchSchema, CameraSwitchUnavailableReasonSchema, CameraSwitchWarningSchema, CamstackError, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CapacityFallbackSchema, CapacitySourceSchema, CarbonMonoxideStatusSchema, CatalogFileSchema, CatalogLangSchema, ChargingStatus, ClaimOutcomeSchema, ClaimsListingSchema, CleanupDeletedDevicesResultSchema, ClearTrackRelationInputSchema, ClearTrackRelationResultSchema, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipBytesOfferSchema, ClipBytesSchema, ClipExportFailureSchema, ClipModelMetaSchema, ClipPlaybackOptionsSchema, ClipPlaybackSchema, ClipSchema, ClipSearchStrictnessSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, ClipStillDispositionSchema, ClipStillRefusalCodeSchema, ClipStreamAudioReasonSchema, ClipStreamAudioSchema, ClipStreamDialSchema, ClipWakeSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, ClusterModelChoiceSchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, CompleteEnrollmentInputSchema, CompleteEnrollmentOutputSchema, CompleteEnrollmentResultSchema, ComposableCapabilitiesSchema, ComposableCapabilitySchema, ComposableFieldSchema, ComposerApplyInputSchema, ComposerApplyResultSchema, ComposerBlockSchema, ComposerBlockVerdictSchema, ComposerUnreadableBlockSchema, CompositionBindingSchema, CompositionBlockInputSchema, CompositionBlockStateSchema, CompositionCodeSourceSchema, CompositionCommandTargetSchema, CompositionCustomizationReadSchema, CompositionEventPlanSchema, CompositionExistingTargetSchema, CompositionExpressionSourceSchema, CompositionFeatureModeSchema, CompositionFeaturePlanSchema, CompositionFeatureSchema, CompositionFieldItemSchema, CompositionFieldKindSchema, CompositionFieldPlanSchema, CompositionFieldReadSchema, CompositionFieldRoleSchema, CompositionFieldSourceSchema, CompositionFieldStateKindSchema, CompositionFieldStateSchema, CompositionFieldsFeatureSchema, CompositionForwardCommandSchema, CompositionFromSourceSchema, CompositionGetReadSchema, CompositionGraphError, CompositionItemEntrySchema, CompositionListReadSchema, CompositionLiteralBindingSchema, CompositionNewTargetSchema, CompositionPassthroughFeatureSchema, CompositionProblemCodeSchema, CompositionProblemSchema, CompositionRunStatusSchema, CompositionSchema, CompositionSourceRefSchema, CompositionStateReadSchema, CompositionTargetSchema, CompositionUnavailableModeSchema, CompositionValidationSchema, CompositionViewSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectionTestDescriptorSchema, ConnectionTestInputSchema, ConnectionTestOutcomeSchema, ConnectivityStatusSchema, ConsumableFormSchema, ConsumableItemSchema, ConsumableKindSchema, ConsumableLevelSchema, ConsumableRemainingSchema, ConsumableRemainingUnitSchema, ConsumableStatusSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoreBlockCompileInputSchema, CoreBlockCompileResultSchema, CoreBlockFilesSchema, CoreBlockInputFieldsSchema, CoreBlockInputSchema, CoreBlockPlacementSchema, CoreBlockSchema, CoreBlockSourceSchema, CoreBlockStatusSchema, CoverStateSchema, CoverStatusSchema, CreateIntegrationInputSchema, CreateUserInputSchema, CredentialScopeSchema, CredentialTokenClaimsSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATABASE_SNAPSHOT_PARTIAL_SUFFIX, DATABASE_SNAPSHOT_SUFFIX, DATABASE_SNAPSHOT_TIMEOUT_MS, DATAPLANE_SECRET_HEADER, DATA_STORE_DATABASES, DAYS_PER_WEEK, DAY_NAMES, DECLARED_DEVICE_SWEEP_LIMIT, DECLARED_INTEGRATION_FIXED_KEY, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_CAMERA_FPS, DEFAULT_CAMERA_SENSOR_MODE, DEFAULT_CATALOG_LANG, DEFAULT_CLUSTER_STEP_MODELS, DEFAULT_CLUSTER_STEP_SETTINGS, DEFAULT_CORE_BLOCK_ENTRY, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_DETAIL_CROP_CONVENTION, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, DEFAULT_HEADROOM, DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, DEFAULT_MIN_SESSIONS_PER_DEVICE, DEFAULT_NATIVE_LEASE_SETTINGS, DEFAULT_OVERLAY_LAYERS, DEFAULT_POOL_MEMORY_POLICY, DEFAULT_RECORDING_PROFILES, DEFAULT_RETENTION, DEFAULT_RUNTIME_STATE_DURABILITY, DEFAULT_SESSION_PLACEMENT_POLICY, DEFAULT_SHARE_SOURCE, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DEFAULT_TOKEN_EXPIRY, DEFAULT_VIEWER_SCOPE, DEFINITIVE_DEVICE_REFUSALS, DERIVED_CAMERA_SILENCED_CAP_NAMES, DETAIL_CROP_PADDING_FIELD, DETAIL_CROP_PADDING_KEY, DETAIL_CROP_SECTION_ID, DETAIL_CROP_SQUARE_KEY, DETECTION_MACRO_CLASSES, DETECTION_PIPELINE_CAP_NAME, DETECTOR_ACCURACY, DETECTOR_PERF, DEVICE_BACKEND_TO_FORMAT, DEVICE_CAP_NAMES, DEVICE_CERT_RENEW_WINDOW_DAYS, DEVICE_CERT_SIGNATURE, DEVICE_CERT_VALIDITY_DAYS, DEVICE_CHILDREN_BATCH_MAX, DEVICE_DEFINITIVE_REFUSALS_BEFORE_DELETE, DEVICE_DO_ACTIONS, DEVICE_ENROLLMENT_TTL_MS, DEVICE_HISTORY_ENERGY_KEY, DEVICE_HISTORY_ORPHAN_DELETE_MAX, DEVICE_HISTORY_ORPHAN_LIST_MAX, DEVICE_HISTORY_QUERY_MANY_MAX_ITEMS, DEVICE_NONCE_TTL_MS, DEVICE_PROFILES, DEVICE_RAMP, DEVICE_REFRESH_REFUSAL_PREFIX, DEVICE_RESTORE_RETRY_CONCURRENCY, DEVICE_RESTORE_RETRY_DELAYS_MS, DEVICE_SAN_CREDENTIAL_PREFIX, DEVICE_SAN_USER_PREFIX, DEVICE_SCOPED_CAPS, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_SIGNATURE_MESSAGE_VERSION, DEVICE_STATE_READERS, DEVICE_STATUS_METHOD, DEVICE_TOMBSTONE_RETENTION_MS, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_DO_CAPS, DEVICE_TYPE_INFO, DOORBELL_RISE_DEBOUNCE_MS, DataStoreDatabaseSchema, EngineInfoSchema as DataStoreEngineInfoSchema, DatabaseSnapshotRequestSchema, DatabaseSnapshotResultSchema, DatabaseSnapshotTableSchema, DatabaseSnapshotTargetsSchema, DatabaseSnapshotWrittenSchema, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DeclarationRefusedError, DeclareCollectionInputSchema, DeclareKindResultSchema, DeclaredDevices, DecodedAudioChunkSchema, DeleteIntegrationResultSchema, DetailCropConventionSchema, DetectionCatalogClassMapSchema, DetectionSourceSchema, DetectionSourcesSchema, DeviceAdminLinkSchema, DeviceCaStatusSchema, DeviceCertificateLoginMethodSchema, DeviceCertificateSettingsSchema, DeviceChallengeResultSchema, DeviceChallengeSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceCredentialSchema, DeviceCredentialStatusSchema, DeviceDataEntrySchema, DeviceDiscoveryStatusSchema, DeviceEnrollProofSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceHistoryKindSchema, DeviceHistoryOrphanDeleteRefusalSchema, DeviceHistoryOrphanReasonSchema, DeviceHistoryProducerKindSchema, DeviceHistoryRefusalReasonSchema, DeviceHistoryResolutionSchema, DeviceHistoryStatusSchema, DeviceHistorySubjectSchema, DeviceInfoSchema, DeviceModelChoiceSchema, DeviceNetworkStatsSchema, DevicePlatformSchema, DeviceProofInputSchema, DeviceRecommendationSchema, DeviceRefusalReasonSchema, DeviceRefusalSchema, DeviceRemovedInputSchema, DeviceRemovedResultSchema, DeviceRestoreRetryScheduler, DeviceRole, DeviceRuntimeState, DeviceSelectorSchema, DeviceSignaturePurposeSchema, DeviceStatusSchema, DeviceTombstoneSchema, DeviceType, DiagnosticIdSchema, DiagnosticWindowPatchSchema, DiagnosticWindowSchema, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DishwasherAccessSchema, DishwasherAvailabilitySchema, DishwasherOperationStateSchema, DishwasherOptionDescriptorSchema, DishwasherOptionsSchema, DishwasherProgramSchema, DishwasherStateSchema, DishwasherStatusSchema, DishwasherValueSchema, DiskReconcileJobSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EMBEDDING_MODEL_FAILED, EMBEDDING_REQUIREMENTS_FAILED, EMBEDDING_REQUIREMENTS_UNAVAILABLE, ESTIMATE_COMPUTE_RATIO_MAX, ESTIMATE_COMPUTE_RATIO_MIN, EVENTFUL_CAP_NAMES, EVENT_DENSITY_BATCH_MAX, EVENT_KIND_BY_CAP, EVENT_KIND_LABELS, EVENT_KIND_LABEL_KEYS, EVENT_OWNER_TYPES, EVENT_PAD_MS, EVENT_TAXONOMY, EXPORT_DENSE_MAX_RANGES, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, EXTENSION_HOST_DEVICE_TYPES, EXTENSION_SLOTS, EXTENSION_SLOT_IDS, EXTENSION_SLOT_LISTING_METHOD, EXTENSION_SLOT_REF_SEPARATOR, EffectiveDeviceShareSchema, EffectiveNodeShareSchema, EffectiveSharesSchema, EffectiveTuningSchema, EgressEncodeSchema, EgressRateControlSchema, EgressTranscodeRequestSchema, EgressTranscodeSchema, ElementConfigStore, EmbeddingFailedModelSchema, EmbeddingFailedRequirementSchema, EmbeddingInfoSchema, EmbeddingRefusalCodeSchema, EmbeddingResultSchema, EmbeddingTowerSchema, EncodeProfileSchema, EnrichedWidgetMetadataSchema, EnrollSelfInputSchema, EntryDescriptorSchema, EntryKindInfoSchema, EntryViewSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, ErrorCodeSchema, ErrorI18nPayloadSchema, EventCategory, EventDensityBucketSchema, EventDensityForDeviceSchema, EventEmitterStatusSchema, EventFireSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventKindsForDeviceSchema, EventMediaArtifactSchema, EventMediaCoverageSchema, EventMediaKindSchema, EventMediaProductionSchema, EventOwnerTypeSchema, EventSourceType, ExportBytesSchema, ExportClipSubjectSchema, ExportDenseRangeSchema, ExportDenseSchema, ExportDownloadSchema, ExportFootageSubjectSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportSubjectSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionBindingSourceSchema, ExpressionEvalError, ExpressionFieldBindingSchema, ExpressionGlobalBindingSchema, ExpressionLiteralBindingSchema, ExpressionParseError, ExpressionSourceSchema, ExtensionCandidateSchema, ExtensionCandidatesSchema, ExtensionSetResultSchema, ExtensionSetSlotInputSchema, ExtensionSlotActivationSchema, ExtensionSlotIdSchema, ExtensionSlotRefInputSchema, ExtensionSlotRowSchema, ExtensionSlotSourceSchema, ExtensionSlotStateSchema, ExtensionSlotUnreachableSchema, ExtensionSlotValueSchema, ExtensionSourceAvailabilitySchema, ExtensionSourceHealthSchema, ExtensionSourceSchema, ExternalIdentityKeySchema, ExternalIdentitySchema, FACE_RESCORE_INTERVAL_FIELD, FACE_RESCORE_INTERVAL_KEY, FACE_RESCORE_INTERVAL_MIN_RUNNING, FACE_RESCORE_SECTION_ID, FEEDER_EXAMPLE_ADDON_ID, FEEDER_EXAMPLE_HA_DEVICE_ID, FFMPEG_PATH_ENV, FIRST_LEVEL_MACRO_CLASSES, FRIGATE_PLUS_CLASS_FLOORS, FRIGATE_PLUS_TO_MACRO, FRIGATE_PLUS_UNMAPPED_LABELS, FRIGATE_STOCK_CLASS_FLOORS, FULL_IMAGE_BBOX, FailureContributionSchema, FailureCounters, FailureReasonCountSchema, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FieldClaimModeSchema, FieldClaimSchema, FilterRequiredError, FloodStatusSchema, Fmp4BoxSplitter, ForeignSecretMarkerError, FrameHandleSchema, FrameInputSchema, FrameLazyCountersSchema, FrameLazyMetricsSchema, G711_SCALE_CORRECTION_DB, GasStatusSchema, GetLoggingSettingsInputSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, GridLayoutPatchSchema, GridLayoutViewSchema, HAP_AUDIO_BASE, HAP_AUDIO_BITRATE_KBPS, HAP_AUDIO_VBV_KBITS, HAP_KEYFRAME_INTERVAL_SEC, HF_BASE_URL, HF_REPO, HISTORY_BUCKET_MS, HISTORY_CATALOG, HISTORY_DEFAULT_MIN_INTERVAL_MS, HISTORY_ITEM_CATALOG, HISTORY_NONE_CAPS, HISTORY_UNIT_LABELS, HOURS_PER_DAY, HUB_ADDRESS_ROLES, HUB_MDNS_QUERY_NAME, HUB_MDNS_ROLE, HUB_MDNS_SERVICE_TYPE, HUB_MDNS_TXT_KEYS, HUB_VIEWER_MOUNT, HWACCEL_OPTIONS, HardwareClassIdSchema, HealthStatusSchema, HeatingValveStatusSchema, HfModelResolutionSchema, HistoryPointSchema, HistoryResolutionEnum, HttpsLeafInfoSchema, HubAddressRoleSchema, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ICON_CATALOG_SOURCE, ICON_CATEGORIES, ICON_ENTRIES, ICON_KEYS, ICON_VIEWER_MODULES, INFERENCE_DEVICE_EXCLUSION_REASONS, INVERTIBLE_CAPS, IconKeySchema, ImageContractSchema, ImageContractStateSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, ImportModelBundleInputSchema, ImportModelBundleResultSchema, InferenceDeviceExclusionReasonSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, InvalidRecordError, KEYCHAIN_MAX_REFS_PER_CALL, KEYCHAIN_RESET_CONFIRMATION, KEYCHAIN_RESET_TRIGGER_ACTOR, KNOWN_CAP_NAMES, KeptReasonSchema, KeyEventSchema, KeychainAdminSecretSchema, KeychainAuditActionSchema, KeychainAuditEntrySchema, KeychainKeySourceKindSchema, KeychainKeySourceSchema, KeychainResetRecordSchema, KeychainResolveEntrySchema, KeychainResolveResultSchema, KeychainSecretMetaSchema, KeychainSecretUsageSchema, KeychainStateSchema, KeychainStatusSchema, KeychainUnavailableReasonSchema, KeychainWriteRefusedError, LABEL_SUPPLY_MACRO, LABEL_SUPPLY_STEP_IDS, LABEL_SUPPLY_VOCABULARIES, LEGACY_READ_ONLY_CONFIG_KEY, LINKED_DEVICES_SLOT, LINKED_LABEL_STEP_PREFIX, LLM_PROFILE_KIND_PATTERN, LOAD_CONTRIBUTION_ATTRIBUTIONS, LOAD_CONTRIBUTION_ROLES, LOCATION_DESCRIPTION_MAX, LOCATION_ICON_FALLBACK, LOG_CHANNEL_TICK_MS, LOG_LEVEL_RANK, LTS_SCOPE_CLASS_SEPARATOR, LabelAttributionSchema, LabelDefinitionSchema, LabelTierSchema, LatencySourceSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LedgerWalkDeviceReportSchema, LedgerWalkInputSchema, LedgerWalkRefusalSchema, LedgerWalkReportSchema, LedgerWalkSkipCountsSchema, LedgerWalkSkipReasonSchema, LegacyStorageLocationDefaultSchema, LinkedDeviceSchema, LinkedDevicesModeSchema, LinkedDevicesSlotValueSchema, ListNodeBenchmarkResultsInputSchema, ListTrackRelationsInputSchema, ListTrackRelationsResultSchema, LiveViewerCountSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmDownloadProgressSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmListModelsErrorCodeSchema, LlmListModelsInputSchema, LlmListModelsResultSchema, LlmModelFeaturesSchema, LlmModelInfoSchema, LlmNodeModelSchema, LlmProfileFieldSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmProviderConfigSchema, LlmProviderWidgetSchema, LlmRefusalSourceSchema, LlmRetryPolicySchema, LlmRuntimeAppleCompleteInputSchema, LlmRuntimeCancelInputSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmTimeoutDefaults, LlmUsageRollupSchema, LlmUsageSchema, LoadBalancingSharesInputSchema, LoadContributionSchema, LocateSegmentResultSchema, LocationDescriptionAssignmentSchema, LocationIconAssignmentSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogChannelApplyResultSchema, LogChannelDescriptorSchema, LogChannelGate, LogChannelLevelSchema, LogChannelRegistry, LogChannelWindowPatchSchema, LogChannelWindowSchema, LogChannelWindowStateSchema, LogEntrySchema, LogLevelSchema, LogReadCapabilitiesSchema, LogReadEntrySchema, LogReadQuerySchema, LogReadResultSchema, LogStreamEntrySchema, LoggingEffectiveSchema, LoggingExplicitSchema, LoggingLevelLayerSchema, LoggingLevelSourceSchema, LoggingScopeKindSchema, LoggingSettingsPatchSchema, LoggingSettingsStateSchema, LoginMethodContributionSchema, LoginStageEnum, LtsBucketSchema, MACRO_LABELS, MASK_EMITTING_POSTPROCESSORS, MASK_SUPPLY_STEP_IDS, MAX_ARCHIVED_DEBUG_NOTES, MAX_BIRTH_DECISION_RECORDS, MAX_BIRTH_LATENCY_PROXY_MS, MAX_CAMERA_SENSORS, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, MAX_COMPOSITION_CODE_LENGTH, MAX_COMPOSITION_FEATURES, MAX_COMPOSITION_FIELDS_PER_FEATURE, MAX_COMPOSITION_ITEMS, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, MAX_KEYS, MAX_REASONS_PER_KEY, MAX_REQUEUED_BUCKETS_PER_SERIES, MAX_SENSOR_TRIGGER_DEVICES, MAX_TRACK_DEBUG_NOTE_LEN, MAX_TRACK_PURITIES, MAX_TRACK_RELATIONS, MEDIA_OWNER_TYPES, MEDIA_PRESENCE_OWNER_KINDS, METHOD_ACCESS_MAP, METHOD_DEVICE_SELECTORS, MINUTES_PER_DAY, MIN_SCRUBBED_LENGTH, MIN_SESSIONS_PER_DEVICE_RANGE, MODEL_FORMATS, MODEL_HOSTING, MODEL_PROVIDER_IDS, MOTION_CLOSE_AFTER_MS, MOTION_CROP_DISPATCH_KEY, MOTION_CROP_MAX_REGIONS, MOTION_CROP_MOTION_PAD, MOTION_CROP_TRACKED_PAD, MOTION_SOURCE_LABELS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelExtraFileSchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileInfoSchema, MediaFileKindEnum, MediaFileRefSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MediaPresenceOwnerKindSchema, MediaRelocateModeSchema, MeshLeafInfoSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, MigrateDeviceResultSchema, MigrateSwitchOutcomeSchema, MigrateSwitchReportSchema, ModelBundleFileSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatPrecisionSchema, ModelFormatsSchema, ModelLicenseSchema, ModelOnDiskStateSchema, ModelPinChangeSchema, ModelProviderIdSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionTriggeredBySchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, BrokerInfoSchema$1 as MqttBrokerInfoSchema, StatusSchema as MqttBrokerStatusSchema, MutationFilterSchema, N100_IGPU_CLOCK_MHZ, N100_IGPU_EU, NATIVE_LEASE_ACTIVITY_FIELD, NATIVE_LEASE_ACTIVITY_KEY, NATIVE_LEASE_ADMISSION_FIELD, NATIVE_LEASE_ADMISSION_KEY, NATIVE_LEASE_BUDGET_FIELD, NATIVE_LEASE_BUDGET_KEY, NATIVE_LEASE_HOLD_FIELD, NATIVE_LEASE_HOLD_KEY, NATIVE_LEASE_SCENE_BUDGET_FIELD, NATIVE_LEASE_SCENE_BUDGET_KEY, NATIVE_LEASE_SECTION_ID, NATIVE_LEASE_TILE_BUDGET_FIELD, NATIVE_LEASE_TILE_BUDGET_KEY, NAVIGATION_ACTION_CATALOG, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NC_ALARM_CONTROLLABLE_CAPS, NC_ALARM_DEFAULT_PROFILE_ID, NC_ALARM_DEFAULT_PROFILE_NAME, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC, NC_ALARM_DELAY_FIELDS, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_NONBLOCKING_MAX, NC_ALARM_NOTIFY_FIELDS, NC_ALARM_OPENING_EVENT_KINDS, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_DEFAULT_DELAYS, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DBFS_FLOOR, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, NC_AUDIO_SEED, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_BASE_CONDITION_KEYS, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CAMERA_SCOPE_CAP_NAME, NC_CLIP_POST_ROLL_DEFAULT_SEC, NC_CLIP_PRE_ROLL_DEFAULT_SEC, NC_CLIP_RETENTION_MAX_SEC, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_DEFAULT_SNOOZE_MINUTES, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_MEDIA_IMAGE_MODES, NC_OCCUPANCY_DEFAULTS, NC_RULE_CLEARABLE_KEYS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_RETIRED_CLEAR_KEYS, NC_RULE_SECTIONS, NC_SENSOR_RAISED_FIELD_BY_KIND, NC_SENSOR_TRANSITION_KINDS, NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, NC_SERVER_PACKAGE_NAME, NC_SNOOZE_MAX_MINUTES, NC_SYSTEM_DELIVERY, NC_SYSTEM_EVENT_CLASS_SPECS, NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS, NC_SYSTEM_EVENT_FAMILIES, NC_SYSTEM_EVENT_FAMILY, NC_SYSTEM_EVENT_FAMILY_FILTERS, NC_SYSTEM_EVENT_FILTER_KEYS, NC_SYSTEM_EVENT_KIND_GROUP_SPECS, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, NC_SYSTEM_RULE_KINDS, NC_TANK_SYSTEM_EVENT_KINDS, NC_TAXONOMY, NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, NC_UPDATE_EVENT_PACKAGE_NAMES, NETWORK_LINK_TYPES, NETWORK_LINK_UNKNOWN, NODE_BENCHMARK_DEFAULTS, NODE_COLOR_IDS, NO_MEASURED_CAPACITY, NativeCropBboxSchema, NativeCropRefSchema, NativeCropResultSchema, NativeDetectionSchema, NativeLeaseAdmissionSchema, NativeLeaseSettingsSchema, NativeObjectClassEnum, NativeObjectDetectionOptionsSchema, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionSettingsPatchSchema, NativeObjectDetectionStatusSchema, NativeObjectGeometryEnum, NavigationActionEntrySchema, NavigationActionIdSchema, NavigationEntryKindSchema, NavigationFeaturesSchema, NavigationLightModeSchema, NavigationModeSchema, NavigationMoveCommandSchema, NavigationPointSchema, NavigationRuntimeStateSchema, NavigationStatusSchema, NcActionBindingSchema, NcAlarmBlockingEditSchema, NcAlarmBlockingSchema, NcAlarmConfigSchema, NcAlarmCreateProfileInputSchema, NcAlarmModeCoverageSchema, NcAlarmModeDelaysEditSchema, NcAlarmModeDelaysSchema, NcAlarmModeDeviceListSchema, NcAlarmNonBlockingEditSchema, NcAlarmNonBlockingSchema, NcAlarmPostTriggeredActionSchema, NcAlarmProfileIdInputSchema, NcAlarmProfileMetaSchema, NcAlarmProfilesViewSchema, NcAlarmRenameProfileInputSchema, NcAlarmSecureOnArmEditSchema, NcAlarmSecureOnArmOffSchema, NcAlarmSensorReadingSchema, NcAlarmSensorStateSchema, NcAlarmSensorsInputSchema, NcAlarmSensorsSchema, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, NcAlarmSkipReasonSchema, NcAlarmSkippedDeviceSchema, NcAudioConditionSchema, NcClipRetentionAskSchema, NcClipRetentionPlanSchema, NcConditionDescriptorSchema, NcConditionsSchema, NcConfirmExpectSchema, NcConfirmSchema, NcCrossingSchema, NcDeliverySchema, NcDeviceStateConditionSchema, NcHistoryEntrySchema, NcHistoryFilterSchema, NcHistoryRecordKindSchema, NcHistoryStatusSchema, NcHistorySubjectSchema, NcHookBindingsSchema, NcLegacyRuleActionSequenceSchema, NcLinkedCameraModeSchema, NcMediaFrameSchema, NcMediaImageSchema, NcMediaPolicySchema, NcOccupancyConditionSchema, NcPlateMatcherSchema, NcRuleActionSchema, NcRuleActionSequenceSchema, NcRuleActionsSchema, NcRuleClearableKeySchema, NcRuleInputSchema, NcRuleKindSchema, NcRuleLastRunSchema, NcRuleLastRunsSchema, NcRuleNotificationButtonSchema, NcRulePatchSchema, NcRuleSchema, NcRuleTargetSchema, NcRuleUpdateInputSchema, NcSceneConditionSchema, NcScheduleSchema, NcScheduleWindowSchema, NcSensorTransitionSchema, NcSharedSequenceInputSchema, NcSharedSequenceSchema, NcSnoozeInputSchema, NcSnoozeSchema, NcSnoozeScopeSchema, NcSnoozeSuppressedSchema, NcStateSummaryPreviewRowSchema, NcStateSummaryPreviewSchema, NcStateSummaryPreviewSectionSchema, NcStateSummarySectionIdSchema, NcStateSummarySplitSchema, NcSystemEventConditionSchema, NcSystemEventDeliveryModeSchema, NcSystemEventDeliverySchema, NcSystemEventKindSchema, NcTaxonomyEntrySchema, NcTaxonomySchema, NcTemplateFamilySchema, NcTemplateFieldSchema, NcTemplatePreviewInputSchema, NcTemplatePreviewSchema, NcTemplateVarContextSchema, NcTemplateVarDescriptorSchema, NcTemplateVarGroupSchema, NcTemplateVarKindSchema, NcTestResultSchema, NcThrottleGranularitySchema, NcThrottleSchema, NcZoneConditionSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NetworkLinkStatusSchema, NetworkTunnelStartedDataSchema, NoCallerError, NodeBenchCellSchema, NodeBenchClipSchema, NodeBenchDeviceCellSchema, NodeBenchFingerprintSchema, NodeBenchLimitSchema, NodeBenchPipelineCellSchema, NodeBenchProgressSchema, NodeBenchRampStepSchema, NodeBenchRunnerInputSchema, NodeBenchRunnerStateSchema, NodeBenchRunnerStatusSchema, NodeBenchmarkCandidatesSchema, NodeBenchmarkDevicePlanSchema, NodeBenchmarkEndReasonSchema, NodeBenchmarkManifestSchema, NodeBenchmarkMovingCameraSchema, NodeBenchmarkPhaseSchema, NodeBenchmarkPlanSchema, NodeBenchmarkPreflightSchema, NodeBenchmarkRefusalKindSchema, NodeBenchmarkRefusalSchema, NodeBenchmarkResultSchema, NodeBenchmarkResultViewSchema, NodeBenchmarkRunSchema, NodeBenchmarkStateSchema, NodeBenchmarkStatusSchema, NodeBenchmarkStayingCameraSchema, NodeColorIdSchema, NodeDeviceChangeSchema, NodeDirectoryEntrySchema, NodeDirectorySchema, NodeHttpsStateSchema, NodeRecommendationSchema, NotificationActionIconSchema, NotificationActionSchema, NotificationFormatSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OAUTH_LANDING_PATH, OAUTH_LANDING_REASONS, OBJECT_DETECTION_STEP_ID, OPERATOR_WRITTEN_STALE_MS, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OVERFLOW_REASON, OVERLAY_LAYERS, OWNER_ONLY_EVENT_CATEGORIES, OauthIntegrationDescriptorSchema, ObjectEventSchema, OccupancyBurstRefusalSchema, OccupancyLookAnswerSchema, OccupancyLookRefusalSchema, OccupancyLookRequestSchema, OidcConnectionSchema, OidcConnectionUpdateInputSchema, OnboardFieldSupportSchema, OnboardRecordTrackSchema, OnboardScheduleSupportSchema, OnboardStorageSchema, OnboardStorageVolumeSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OrphanDeviceDataSchema, OsdNamedTemplateSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdRenderOutcomeEnum, OsdRenderResultSchema, OsdSlotBindingSchema, OsdSlotViewSchema, OsdSourceOptionSchema, OsdSourceSchema, OsdSourceValueTypeEnum, OsdStatusSchema, OsdTemplateBindingSchema, OsdTemplateFormatSchema, OsdTemplatePickSchema, OsdTemplateTokenKindSchema, PEER_BYTES_CHUNK_BYTES, PEER_BYTES_MAX_OUTSTANDING, PEER_BYTES_STALL_MS, PEER_BYTES_TICKET_TTL_MS, PENDING_BLOCK_ID, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PHOENIX_780M_CU, PIPELINE_ANALYTICS_CAP_NAME, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PIPELINE_RAMP, PREFERENCES_MAX_DEVICE_ID_LENGTH, PREFERENCES_MAX_NAMESPACES, PREFERENCES_MAX_VALUE_BYTES, PREFERENCES_NAMESPACE_PATTERN, PREFERENCES_SELF_SCOPE, PRIVACY_MASK_CAP_NAME, PROVIDER_KIND_CAP_NAMES, PROVIDER_PIN_FIELD, PUBLIC_ENDPOINT_HTTP_REASON, PYTHON_SCRIPT, PackageInstallationSchema, PackageInstallationsSchema, PackageLlmVerdictSchema, PackageUpdateSchema, PackageVersionInfoSchema, ParkRefusalSchema, ParkTrackFrameResultSchema, ParkedFrameKindSchema, ParkedTrackFrameSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PeerBytesTicketSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineModelFormatStatusSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PlacementDeviceStatsSchema, PlacementNodeStatsSchema, PlacementStatsInputSchema, PlacementStatsSchema, PlaintextSecretError, PolygonPointSchema, PoolMemoryWatchdog, PowerMeterStatusSchema, PrecisionGopsSchema, PreferenceDeviceIdSchema, PreferenceNamespaceSchema, PreferenceRowSchema, PreferenceValueSchema, PreferencesChangedSinceInputSchema, PreferencesChangedSinceOutputSchema, PreferencesDeleteInputSchema, PreferencesDeleteOutputSchema, PreferencesGetInputSchema, PreferencesGetOutputSchema, PreferencesPutInputSchema, PreferencesPutOutputSchema, PreferencesSelfScopeSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProbeTargetConfigResultSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderJobStateSchema, ProviderJobStatusSchema, ProviderMotionDataSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzHomePresetSchema, PtzHomeReturnSchema, PtzMoveCommandSchema, PtzOptionsSchema, PtzPositionSchema, PtzPresetFunctionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, RATE_CONTROL_RELAXED, RATE_CONTROL_TIGHT, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECALL_TIE, RECOGNITION_TYPES, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_EXPORT_MAX_READ_BYTES, RECORDING_SOURCE_CAMSTACK, RECORDING_SOURCE_CAMSTACK_ADDON, RECORDING_TIMELINE_BATCH_MAX, RECORDS_ERROR_CODES, RECORD_BATCH_MAX, RECORD_BATCH_MAX_BYTES, RECORD_CLASSES, RECORD_DATABASES, RECORD_DEFAULT_MAX_DATA_BYTES, RECORD_DELETE_BATCH, RECORD_ID_MAX_LENGTH, RECORD_MAX_DATA_BYTES, RECORD_MAX_INDEXES, RECORD_MAX_INDEX_FIELDS, RECORD_QUERY_MAX, RECORD_SECRET_COLLECTION_PREFIX, RECORD_SETTINGS_MAX_ROWS, RECORD_SWEEP_INTERVAL_MS, RECOVERY_CROP_MAX_SIDE_PX, RECOVERY_CROP_MIN_SIDE_PX, RECOVERY_CROP_PADDING_RATIO, RECOVERY_EDGE_MARGIN_PX, RECOVERY_FUSE_CONTAINMENT, RECOVERY_FUSE_IOU, RECOVERY_MAX_CROPS_PER_FRAME, RECOVERY_MAX_REGION_FRAME_FRACTION, RECOVERY_MIN_INTERVAL_MS, RECOVERY_MIN_UNCOVERED_FRACTION, RECOVERY_MOTION_MAX_AGE_MS, RECOVERY_VIEW_PX, REDACTED_SECRET, REFERENCE_COMPUTE, REFERENCE_MATCH_FRACTION, REMOVAL_RECONCILE_INTERVAL_MS, REMOVED_MODEL_IDS, REMOVE_LEAF, RESERVED_BINDING_NAMES, RESERVED_COLLECTION_SOURCES, RESTORED_CAP_NAMES, RETRAIN_REVIEW_ADJUSTED_IOU, RETRAIN_REVIEW_MATCH_IOU, RETRAIN_REVIEW_STATUSES, RETRAIN_REVISION_CONFLICT, REVALIDATE_AFTER_MS, ROOM_EXAMPLE_MOTION_SOURCES, ROOM_EXAMPLE_TEMPERATURE_SOURCES, ROOM_OCCUPANCY_WINDOW_MS, ROOT_BUCKET_KEY, ROOT_CHILD_CONTAINMENT_MIN, ROOT_FACE_REFINE_INPUT_PX, ROOT_FACE_REFINE_SCALE, ROOT_SUPPLIABLE_STEP_IDS, RUNTIME_DEFAULTS, RUNTIME_STATE_POLICY, RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, RUNTIME_TO_FORMAT, RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, RawStateResultSchema, ReadGopBytesResultSchema, ReadSegmentBytesResultSchema, ReadWindowBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RebuildObjectEmbeddingsRefusalSchema, RecentTracksPageSchema, RecentTracksQueryInput, RecommendationReasonSchema, RecordBodySchema, RecordFieldPathSchema, RecordIdSchema, RecordIndexSchema, RecordInputSchema, RecordKindDeclarationSchema, RecordKindNameSchema, RecordNotFoundError, RecordQueryInputSchema, RecordQueryResultSchema, RecordRetentionSchema, RecordSecretRefsSchema, RecordSecretUnavailableError, RecordTooLargeError, RecordTransactOpSchema, RecordTriggerSchema, RecordUniqueViolationError, RecordViewSchema, RecordWhereSchema, RecordWindowSchema, RecordingAvailabilityForDeviceSchema, RecordingAvailabilitySchema, RecordingBandAudioSchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysForDeviceSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingObjectTriggerClassSchema, RecordingOnboardOptionsSchema, RecordingOnboardPatchSchema, RecordingOnboardStatusSchema, RecordingPlaybackSchema, RecordingRangeSchema, RecordingReadSchema, RecordingRebalanceInputSchema, RecordingRebalanceMoveSchema, RecordingRebalancePlanSchema, RecordingRebalanceSkipReasonSchema, RecordingRebalanceSkipSchema, RecordingRetentionSchema, RecordingSignalRuntimeStateSchema, RecordingSignalStatusSchema, RecordingSourceAvailabilitySchema, RecordingSourceOptionsSchema, RecordingSourceSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RecordsError, RedirectLoginMethodSchema, RelocatableMediaCountInputSchema, RelocatableMediaCountSchema, RelocateFootageClassSchema, RelocateFootageInputSchema, RelocateJobSchema, RelocateJobStateSchema, RelocateMediaInputSchema, RelocateResidueInputSchema, RelocateResidueSchema, RenderedAsSchema, RenewDeviceCertificateOutputSchema, RenewDeviceCertificateResultSchema, ReportMotionInputSchema, ReportedFailureContributionSchema, ReportedLoadContributionSchema, RequestCensusGroupSchema, RequestCensusProcedureSchema, RequestCensusSnapshotSchema, RequestCensusStatusSchema, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, RetrainArchiveResultSchema, RetrainArchiveTargetSchema, RetrainAssistProfileSchema, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainBoxReviewSchema, RetrainCollectionCreateResultSchema, RetrainCollectionRenameResultSchema, RetrainCollectionSchema, RetrainCopyRefusalSchema, RetrainCorpusFilterSchema, RetrainCorpusKpiCameraRowSchema, RetrainCorpusKpiSchema, RetrainCorpusPageFrameSchema, RetrainCorpusPageSchema, RetrainDatasetSelectionSchema, RetrainDatasetStatsSchema, RetrainDatasetVersionSchema, RetrainDismissedSchema, RetrainExportFilterSchema, RetrainExportLayoutSchema, RetrainFrameCandidateSchema, RetrainFrameListSchema, RetrainFrameOriginSchema, RetrainFrameReviewSchema, RetrainFrameSchema, RetrainFrameSelectionSchema, RetrainFrameWorkStateSchema, RetrainLlmAssistResultSchema, RetrainLlmProposalSchema, RetrainLlmReviewSchema, RetrainMacroClassSchema, RetrainOriginSchema, RetrainPipelineBoxSchema, RetrainReviewStatusSchema, RetrainStatusSchema, RetrainTrackSchema, RetrainTrainingCorpusResolveResultSchema, RetrainTrainingCorpusSelectionSchema, RetrainTransitionResultSchema, RevConflictError, RevokeOwnDeviceCertificateResultSchema, RingBuffer, RootStepSupplySchema, RtpSourceSchema, RtspRestreamEntrySchema, RunnerBootCheckSchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerInferenceDeviceSchema, RunnerJumpStepProvisioningSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, RunnerRefusalSchema, SCENE_CONDITIONS, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, SCENE_DEFAULT_ANCHOR_THRESHOLD, SCENE_DEFAULT_CHECK_INTERVAL_SEC, SCENE_DEFAULT_OBSERVATION_SPACING_SEC, SCENE_DEFAULT_QUIET_SECONDS, SCENE_DEFAULT_UNCOVERED_POLICY, SCENE_DIVERGED, SCENE_RESET_RECAPTURES, SCOPE_PRESETS, SECRET_CLEAR, SECRET_META, SECRET_REF_SCHEME, SENSOR_FEATURES, SENSOR_MAP, SERIAL_CAPACITY_CAMERA_FPS, SERVER_NAME_MAX_LENGTH, SERVER_NAME_SETTING_KEY, SESSION_PLACEMENT_SETTING_KEY, SHARE_AFFINITY_TOLERANCE_SESSIONS, SHARE_SOURCE_SETTING_KEY, SHARE_VIEW_KINDS, SHARE_VIEW_MAX_DEVICES, SINGLE_HUB_ADDRESS_ROLES, SOURCE_CAPS, SOURCE_CAP_ACTIVE_FIELD, SOURCE_CAP_CHANGED_AT_FIELD, SOURCE_DEVICE_TYPES, SOURCE_INFO_METADATA_KEY, SSO_STATE_COOKIE, SSO_STATE_COOKIE_MAX_AGE_SEC, STATE_LABELS, STATE_LABEL_KEYS, STATIONARY_OVERLAY_STYLE, STORAGE_ACCESS_FALLBACK, STORAGE_BYTES_PER_GB, STORAGE_LOCATION_MODES, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUBJECT_PATH_DWELL_EPS, SUBJECT_PATH_FULL_FRAME_COVERAGE, SUBJECT_PATH_MAX_POINTS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SYSTEM_SCOPE_DEVICE_METHODS, SceneCheckSchema, SceneConditionSchema, SceneConfirmSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusForDeviceSchema, SceneMonitorStatusSchema, SceneReferenceSchema, SceneUnavailableSchema, SceneUncoveredPolicySchema, SceneVerdictSchema, ScopedTokenSchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerNameInfoSchema, ServerNameSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateOutcomeSchema, ServerUpdateStateSchema, SessionPlacementPolicySchema, SessionTriggerSchema, SetCameraSensorsInputSchema, SetLoggingSettingsInputSchema, SetShareSourceInputSchema, SetSiteLocationInputSchema, SetTrackPurityInputSchema, SetTrackPurityResultSchema, SetTrackRelationInputSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShareSourceSchema, ShareViewGrantSchema, ShareViewScopeSchema, ShareWeightsSchema, SiteLocationSchema, SiteLocationSourceSchema, SiteLocationStatusSchema, SiteZoneSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StaleDevicePinSchema, StartEmbeddedInputSchema, StartEnrollmentOutputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, StorageAccessSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, StorageCleanupInputSchema, StorageCleanupJobSchema, StorageCleanupPhaseSchema, StorageCleanupStatusInputSchema, StorageDrainProgressSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, StorageEvictionPolicySchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageKindSchema, StorageLocationDeclarationSchema, StorageLocationModeSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, StorageMigrationClassSchema, StorageMigrationDestinationsSchema, StorageMigrationDrainInputSchema, StorageMigrationFindingCodeSchema, StorageMigrationFindingSchema, StorageMigrationFootageMoveInputSchema, StorageMigrationInputSchema, StorageMigrationJobSchema, StorageMigrationLaneSchema, StorageMigrationLeaseInputSchema, StorageMigrationMediaMoveInputSchema, StorageMigrationModeSchema, StorageMigrationMoveProgressSchema, StorageMigrationMoveSchema, StorageMigrationMoverSchema, StorageMigrationParticipantSchema, StorageMigrationPhaseSchema, StorageMigrationPlanSchema, StorageMigrationResidueSchema, StorageMigrationSourcesSchema, StorageOccupancyReportSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, StorageTableSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StoredRecordKindDeclarationSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSignalSchema, StreamSignalsStatusSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SuggestSharesInputSchema, SuggestSharesResultSchema, SuggestedDeviceShareSchema, SuggestedNodeShareSchema, SuppliedRootOutputSchema, SwitchStatusSchema, SystemHeldSecretNameSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMELAPSE_DENSE_FLOOR_SEC, TIMEZONES, TRACK_RELATIONS_DEFAULT_LIMIT, TRAINING_JOB_SCHEMA, TRAINING_RESULT_SCHEMA, TRANSCODE_DOWN_MAX_BITRATE_KBPS, TRANSCODE_DOWN_MAX_HEIGHT, TamperStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TerminalInstanceInfoSchema, TerminalLegacyCameraSchema, TerminalOutputBatchSchema, TerminalOutputEventSchema, TerminalProfileInfoSchema, TerminalSessionInfoSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestConnectionStatusEnum, TestResultSchema, TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackFlagsPatchSchema, TrackFlagsSchema, TrackPlacementSchema, TrackProjectionSchema, TrackPuritySchema, TrackPurityValueSchema, TrackRelationKindSchema, TrackRelationRefusalSchema, TrackRelationSchema, TrackSchema, TrackSideSchema, TrackSourceSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TrainerSourceRefSchema, TrainingAcceleratorRefSchema, TrainingBaseModelSchema, TrainingCanarySchema, TrainingCanaryTargetSchema, TrainingCatalogDraftSchema, TrainingCorpusSelectionSchema, TrainingCredentialCheckSchema, TrainingEvalClassSchema, TrainingEvalReportSchema, TrainingEventSchema, TrainingExportDeviceTotalsSchema, TrainingExportSchema, TrainingExportSummarySchema, TrainingFailureReasonSchema, TrainingGpuOptionSchema, TrainingJobPlanSchema, TrainingJobRequestSchema, TrainingJobSchema, TrainingJobSpecSchema, TrainingJobStateSchema, TrainingLogLineSchema, TrainingPresetSchema, TrainingProgressPointSchema, TrainingProviderDefaultsSchema, TrainingProviderDescriptorSchema, TrainingProviderEntrySchema, TrainingProviderTypeSchema, TrainingProviderUpdateEntryInputSchema, TrainingRefusalReasonSchema, TrainingRegionOptionSchema, TrainingResultFileSchema, TrainingResultSchema, TrainingSplitPlanSchema, TrainingStageSchema, TransactRefusedError, TransportPlaneCountsSchema, TransportPlaneSchema, TurnServerSchema, UNATTRIBUTED_BUCKET_KEY, UNIT_TABLE, USE_ROOT_MODEL_DEFAULTS, USE_ROOT_MODEL_SETTING_KEY, UnindexedFilterError, UninstallNodeOutcomeSchema, UninstallNodeResultSchema, UninstallPackageResultSchema, UnitConversionError, UnknownRecordKindError, UnstampedEventMediaCountSchema, UnstampedRowsSchema, UpdateBlockerSchema, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserScopeSchema, UserSummarySchema, VECTOR_INDEX_DIM_CONFLICT, VIDEOCLIPS_MAX_OFFER_BYTES, VIDEOCLIPS_MAX_READ_BYTES, VIEWER_FEATURES, VIEWER_FEATURE_IDS, VISIT_MERGE_GAP_MS, VOCAB_TEMPLATES, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, VectorItemSchema, VectorMatchSchema, VectorMetadataSchema, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, VibrationStatusSchema, VideoEncodeSchema, ViewerDeviceAllowSchema, ViewerFeatureIdSchema, ViewerTokenScopeSchema, WEBRTC_CLIMB_HOLD_CODES, WEBRTC_EGRESS_PROFILE, WEBRTC_TRY_BLOCKERS, WEEKLY_MASK_LENGTH, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcClimbHoldSchema, WebrtcLadderDecisionSchema, WebrtcSessionDebugSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WebrtcTierFailureSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, WrapperActivationReadSchema, WrapperEvidenceSchema, WrapperIdentitySchema, WrapperKindSchema, YAMNET_TO_MACRO, ZoneCrossingDirectionSchema, ZoneCrossingSchema, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, __resetLogChannelRegistryForTests, acceleratorKindOf, accessoriesCapability, accessoryChildrenComplete, accessoryChildrenUnknown, accessoryStableId, actionsForBoundCaps, actionsForDevice, actionsForDeviceType, actionsForDevices, activateAlarmProfile, addonCatalogHref, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advertisedHubOrigins, aggregateThroughputFactor, airQualitySensorCapability, alarmDeviceBlocksArming, alarmDeviceSecureOnArm, alarmPanelCapability, alarmPatchLanded, alarmProfileById, alertEpisodeId, alertEpisodeKind, alertEpisodePayload, alertNodeId, alertsCapability, allDoActions, allowedSuppliedEffect, ambientLightSensorCapability, annotateClipsWithEventLabels, appFlowLocation, applyBlockingEdit, applyCropClassFloors, applyModeDelaysEdits, applyModeDeviceListEdit, applyModelBoundSettings, applyNonBlockingEdit, applySecureOnArmEdit, armRemovalReconcile, arrayItemFieldPath, asBoolean, asJsonArray, asJsonObject, asNumber, asRecordsError, asString, assertTimelapseCadences, assertTransactScope, assertValidDeclaration, assignNodeColorId, audioAnalysisCapability, audioAnalyzerCapability, audioChunkBytesPerSample, audioCodecCapability, audioIsFailClosed, audioKindId, audioLabelChoices, audioMetricsCapability, audioModeOf, audioOrDefaults, audioPlanFromEncodeProfile, audioScaleEraOf, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, bareAddonId, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, bucketStartOf, buildAddonRouteProvider, buildAudioArgs, buildBenchStepTree, buildCapabilityLookup, buildDeviceAdminUrl, buildDeviceEnrollmentLink, buildDeviceSignatureMessage, buildDoorbellCompositionFeature, buildEventKindDescriptor, buildFfmpegArgs, buildFrigateClassMap, buildInputArgs, buildModelVariantGroups, buildNcTaxonomy, buildRoleScopes, buildSecretRef, buildStreamParamsConfigSchema, buildSubjectPath, buildVideoArgs, buildViewerLink, builtCapabilityBlockers, buttonCapability, calendarEventLocalSpan, calendarEventOnLocalDay, calendarSourceCapability, calendarsCapability, cameraCredentialsCapability, cameraGridLayoutCapability, cameraOwnsMotionViaSensor, cameraPipelineConfigCapability, cameraScopedStepSettings, cameraSensorRefKey, cameraStreamsCapability, canConvertUnit, canonicalEgressPlan, canonicalIconKey, canonicalizeAppCallback, capabilityScopesOf, capacityForModel, capacitySessionsOf, carbonMonoxideCapability, cellsToRects, checkRoleAddress, claimedRequestOrigins, classifyBearerPrincipal, classifyCamerasForBenchmark, classifyInferenceHardware, classifyRetrainReview, classifySecretWrite, classifyStoreError, classifyStream, classifyStreams, clearKnownSecrets, clearModelBoundOverrides, clearModelBoundSetting, climateControlCapability, clipEventLabelDepsFromApi, clipExportFailure, clipExportFailureOf, clipLabelsForWindow, clipReasonHeaderValue, cloneAlarmSettings, cloneStatefulExpressionMemory, clusterModelSettingKey, clusterStepSettingFieldsFor, clusterStepSettingKey, codecIsAccepted, collectHydratedFieldEntries, collectHydratedFieldValues, collectKeychainStoredKeys, collectModelBoundKeys, collectSecretConfigKeys, collectSecretLeaves, collectSecretMarkerRefs, collectZodSecretPaths, colorCapability, colorForKind, commitWatchdogRestart, compareToTarget, compileExpression, compileExpressionSafe, composeSwitchedOff, composedDeviceRef, composedDeviceStableId, composerCapability, compositionEdges, compositionFeatureEnabled, compositionFieldKey, compositionItemFieldPath, compositionReadKey, compositionSliceKey, compositionSourceKey, compositionSourceRefs, computeCapacityShares, computeScores, conditionDepth, conditionExclusionReason, conditionVisibleForKind, connectionTestCapability, connectivityCapability, consumableFormOf, consumableKindOf, consumableLowPercentOf, consumablesCapability, contactCapability, containingParentIndex, controlCapability, convertPresetFeature, convertUnit, coralUsableUnits, coreBlockAddonId, coreBlockComposition, coreBlockIdFromAddonId, coreBlockSourceKind, coreBlocksCapability, cosineSimilarity, countConditionLeaves, countRecoverySkips, coverCapability, createAlarmProfile, createDeviceExtensionProvider, createDeviceProxy, createDurableState, createEvent, createEventBusSliceSource, createExpressionScope, createHwAccelCache, createLazyTrpcSource, createLogChannelsProvider, createMirrorSource, createRecordsAccess, createRuntimeStateBridge, createSecretsAccess, createSliceHandle, createStatefulExpressionMemory, createSystemProxy, customAction, customModelRegistryCapability, dataStoreProviderCapability, databaseSnapshotCapability, dayNightCapability, dayOfWeekToIndex, declarationOwnerNodeId, declarationsOf, declareLogChannel, decodeVectorBase64, decoderCapability, defaultDeliveryForSection, defaultDeviceFor, defineCustomActions, defineEntryKind, defineExtensionSlotProvider, defineRecordKinds, dehydrateConfigField, dehydrateSchema, deleteAlarmProfile, deriveBatteryPresence, deriveCameraSwitches, deriveDetailCropRect, deriveMaskSupplies, derivePostTriggeredAction, deriveRecordingMode, deriveRootFaceRefineRect, deriveRootSupplies, describeComposableCaps, describeCustomActions, describeModelVariant, describeOnboardClamp, describeOnboardRefusal, describeRootSupplies, describeRootSupply, describeStateField, describeSystemEventDeliveryProblem, describeSystemEventFamilyProblem, describeTopLevelStateFields, detectAccessRole, detectionPipelineCapability, deviceAdminLinkCapability, deviceAdoptionCapability, deviceAttentionKind, deviceBackendToFormat, deviceCredentialsCapability, deviceCustomAction, deviceDiscoveryCapability, deviceDoFamily, deviceExportCapability, deviceExtensionCapability, deviceHistoryCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceRefusalFromMessage, deviceRemovalHookCapability, deviceSelectorMatches, deviceStateCapability, deviceStatusCapability, diffStepSettings, disarmRoseMemory, dishwasherCapability, doActionSelectValue, dominantClipLabels, doorbellCapability, doorbellFeatureSources, droppedConditionsForKind, edgetpuDelegateDevice, effectiveStepSettings, egressTranscodeSharingKey, egressTransportFromRequest, electByShare, electByShareWithAffinity, eligibleUnderBenchmark, embeddingEncoderCapability, embeddingModelFailedError, embeddingModelFailedOf, embeddingRefusalOf, embeddingRequirementsFailedError, embeddingRequirementsUnavailableError, emitDownForOwnedCaps, emitReadiness, emitsCollectionSelector, encodeProfileFromStreamShape, encodeVectorBase64, ensureAlarmProfiles, entryBody, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, estimateNodeBenchmarkDurationMs, evaluateAst, evaluateCompositionField, evaluateCount, evaluateExpressionSource, evaluatePoolMemory, evaluateRose, evaluateSensorEdge, evaluateSensorLevelEdge, evaluateStatefulExpressionCall, evaluateZoneRules, event, eventEmitterCapability, eventKindLabel, eventOverlapsClipWindow, evictionPolicyForMode, evictionPolicyOfLocation, expandAudioChunkToF32le, expandCapMethods, expandContainer, expandSystemEventClasses, exportSubjectOf, exposeBlockDevices, expressionContainsBuiltinCall, extensionSlotRef, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, failureContributionCapability, failureRate, fanControlCapability, featureFieldEntries, featureOfRole, featureProbeCapability, featureSources, feederCustomizationExample, feederExampleSources, ffmpegRate, fieldReads, fieldUnitKeys, fieldsPinnedAtValueBelow, filesystemBrowseCapability, findCandidateCycles, findCompositionCycles, findTimezone, floodCapability, foldSnapshotByFunction, foreignCapacityCells, forgetKnownSecret, formatDeviceRevoker, formatForRuntime, formatMediaOwnerKey, formatMinutes, formatParkedFor, formatSecretScope, freshResults, frigateDefaultClassFloors, frigateLabelFields, fuseRecoveredDetections, gasCapability, gbToBytes, generateAutomationBlock, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getLogChannelRegistry, getTaxonomyEntry, gifDeriveSpeed, gifFilterComplex, gifFromMp4Args, globalSecretScope, grantRowsOf, hasModelBoundOverrides, hasMotionTrigger, hasUrlScheme, heatingValveCapability, hfModelUrl, historyFieldsFor, historyItemFieldPath, htmlToText, hubAddressHostname, hubMotionNativeProvider, humidifierCapability, humiditySensorCapability, hydrateSchema, iconCategoryLabel, iconEntry, iconsInCategory, imageCapability, imageModesForKind, imageSettingsCapability, inferExpressionKinds, inferModelProvider, initialPoolMemoryState, integrationsCapability, intercomCapability, interpolate, interpretStoredClusterModel, invalidClusterStepModelEntries, invertPresetFeature, invocationFromEncodeProfile, isAgentOnlyPlacement, isAlarmControllableCap, isAlertEpisodeOpen, isAlertEpisodeSeverity, isAppLinkBase, isAppStartRefusal, isArrayOutputSchema, isAudioChunkFormat, isAudioClassName, isAudioLabelSelected, isAudioRule, isAutomaticShareSource, isBaseConditionKey, isBatteryPresenceFault, isClusterScopedStep, isCollectionArrayMethod, isCredentialTokenPayload, isDefaultAlarmProfileId, isDefaultAppConnectionEndpoint, isDefinitiveDeviceRefusal, isDeployableToAgent, isDetectionMacroClass, isDeviceConfigCap, isDeviceScopedCap, isDoActionActuatable, isDoPickerDeviceType, isDrawableSubjectPath, isEmbeddingModelFailed, isEvent, isEventKindLabelKey, isEventOwnerType, isFirstLevelMacroClass, isHeldBackTemplateVar, isIconKey, isIsolatedBuiltin, isKeychainStoredField, isKnownTemplateVar, isLabelSupplyStepId, isLocationEnabled, isMediaOwnerType, isModelScopedStepSettingKey, isNode, isOauthLandingReason, isObjectInput, isOccupancyRule, isOwnerOnlyEventCategory, isRemovedModelId, isRestoredCap, isRetiredClearKey, isRootSuppliableStepId, isSameAddonId, isScheduleActive, isSecretClear, isSecretConfigField, isSecretFieldView, isSecretMarker, isSecretMarkerLike, isSecretRef, isSecretRefOwnedBy, isSingleHubAddressRole, isSoftwareDecode, isSourceCap, isStateLabelKey, isStatefulBuiltin, isStorageLocationMode, isSystemDelivery, isSystemEventFamily, isSystemEventRecoveryKind, isSystemEventSummaryRule, isSystemRuleKind, isVectorIndexDimConflict, isVoidInput, isZodSecret, ituDbfsFromPreEpoch, jobKindSchema, kebabToCamel, keychainAdminCapability, keychainCapability, kindOfValue, kindsForDiscriminator, knownSecretCount, knownValues, lawnMowerControlCapability, legacyAutoLinkIds, legacyImageMode, legacyModeOf, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, linkedLabelStepId, linkedStepOf, listBenchDetailSteps, llmCapability, llmRuntimeCapability, loadContributionCapability, localNetworkCapability, localizeConfigTree, locationIconKey, locationSimilarity, lockControlCapability, logBannerArgs, logChannelsCapability, logDestinationCapability, logLevelAtMost, loginMethodCapability, looseSchema, makeInMemoryRecords, makeProfileBrokerId, makeSecretMarker, makeSourceBrokerId, mapAudioLabelToMacro, mapSecretLeaves, markdownToHtmlLite, markdownToText, maskUrlCredentials, matchDoAction, mayReadLocation, mayWriteToLocation, measuredCapacityFromResults, measuredDetectorCells, mediaPlayerCapability, memoizePinnedFfmpeg, mergeClipLabels, mergeSecretStatePaths, mergeSettingsBags, mergeSourceInfo, meshNetworkCapability, method, methodAccessForHttpMethod, methodRoleOf, metricsProviderCapability, migrateLegacyDeviceSignalConfig, minutesToTimeOfDay, modeMayRead, modeMayWrite, modelBindingKey, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, modelScopedStepSettingKeys, motionCapability, motionDetectionCapability, motionSourceLabel, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, navigationCapability, ncAlarmSystemDefaultSettings, ncMediaPolicyError, networkAccessCapability, networkLinkCapability, networkQualityCapability, nodeBenchmarkRefusals, nodeCertificatesCapability, nodePickerItems, nodePin, nodesCapability, normalizeAddonInitResult, normalizeAudioLabel, normalizeCoreBlockWrite, normalizeNcMediaPolicy, normalizeNodeId, normalizeOrigin, normalizeSecretOwner, normalizeTokenScopes, normalizeUnit, normalizedArea, notificationOutputCapability, notificationRulesCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, oauthLandingUrl, objectInputDeclaresAddonId, objectInputDeclaresRequiredDeviceId, occupancyScope, oidcConnectionsCapability, omitTransientConfig, optionalAncestors, optionalMethod, osdCapability, osdManagerCapability, overlayClusterStepSettings, packagePickerItems, parseAcceleratorFactsJson, parseAdminBase, parseAlertEpisodePayload, parseAppAuthCallback, parseAppFlowRequest, parseAppPageLang, parseCameraStreamConfig, parseCredentialScopes, parseDeviceEnrollmentLink, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseMediaOwnerKey, parseOauthLandingFragment, parseOccupancyScope, parseProcStatus, parseProfileBrokerId, parseRetrainRevisionConflict, parseRuleSection, parseSecretPath, parseSecretRef, parseSecretStatePath, parseSessionPlacementPolicy, parseShareSource, parseStreamParamsFormPatch, parseTrainingEventLine, patchAudio, petFeederCapability, pickAccessoryControl, pickAppLinkHub, pickClusterStepModels, pickClusterStepSettings, pickDetailCropConvention, pickFaceRescoreIntervalMinutes, pickInvalidClusterStepModels, pickNativeLeaseOverride, pickPreferredRtspEntry, pickRequestOrigin, pickRestartCandidate, pickVideoEncoder, pickerForCondition, pickerForRuleClasses, pinUnderBenchmark, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, planComposition, planCompositionEvents, planItems, planMotionCropRegions, planMotionCrops, planRecoveryCrops, plateGalleryCapability, platformProbeCapability, poolMemoryThreshold, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, principalMayReachAddon, privacyMaskCapability, procedureAuthKey, projectSubjectPath, providerMotionEvent, ptzAutotrackCapability, ptzCapability, publicEventCategories, pythonScriptForBackend, rankStreams, readClusterStepModels, readClusterStepSettings, readDetailCropConvention, readDeviceStateFrom, readErrorI18n, readFaceRescoreIntervalMinutes, readHubMotionDetected, readHubMotionStatus, readMotionTriggeredBy, readNativeLeaseOverride, readNodePin, readRecoveryRecipe, readRecoveryRecipeForSteps, readTimelapseGeneratedAt, readUseRootModel, readinessKey, rebootCapability, recommendNode, reconcileBlockDevices, reconcileRemovedDevices, recordArrayItemPath, recordEntriesCapability, recordSecretCollection, recordSecretRef, recordingArchiveCapability, recordingCapability, recordingExportCapability, recordingOnboardCapability, recordingSignalCapability, recordsCapability, recordsErrorFromMessage, rectsToCells, reducePoints, registerKnownSecret, remapCropDetections, renameAlarmProfile, renderVocabPhrase, replacedFieldKeys, reportIsScalable, requestMountPrefix, requiredTopLevelKeys, requiresPython, reservedSourceOwner, resetPoolBaseline, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAppConnections, resolveBucketMs, resolveCapMount, resolveClipSearchMinScore, resolveClusterStepModelId, resolveContainerPrimaryChild, resolveCoreBlockEntry, resolveCoreBlockFiles, resolveCreateExportSubject, resolveDeviceControlKind, resolveDeviceProfile, resolveEffectiveShares, resolveEgressDecodeHwAccel, resolveExportProfiles, resolveFormat, resolveHubAddressRoles, resolveHydratedFieldValue, resolveIconKey, resolveInternalAddress, resolveLatencyColumn, resolveLocationMode, resolveMethodAuth, resolveMethodRole, resolveModeDelays, resolveModeNotifyPolicy, resolveModelBoundSetting, resolveMutate, resolveNcMediaImage, resolveNotificationTapAddress, resolvePoolMemoryPolicy, resolvePublicEndpoint, resolveRecordingProfiles, resolveRootSupply, resolveRunnerId, resolveSecretMarkers, resolveSecretViewsIn, resolveServerName, resolveStreamMaps, resolveVariantModelId, resolveViewableDeviceIds, resultCellKey, resultStandings, retrainBoxIou, retrainRevisionConflictMessage, roleSpec, roomCompositionExample, rootSuppliesOf, rootSupplyServes, ruleAutoTriggersAlarm, ruleBelongsToAlarm, ruleDeviceCompatCapNames, ruleDeviceCompatCapQueries, ruleEditorSectionsForKind, ruleGatedOnArmedState, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, ruleTriggerZoneIds, runInferenceStep, runtimeDevices, runtimeStatePolicyFor, sameDoFamily, sceneMonitorCapability, scheduleForSendTimes, schemaDeclaresAnyField, scopeInherits, scopeKey, scopesAllowAddon, scopesAllowAddonRoutes, scopesAllowDeviceCap, scopesAllowOwnPreferences, scopesGrantAdmin, scoreRuntimes, scriptRunnerCapability, scrubKnownSecrets, searchIcons, secretArrayPrefixes, secretTreeFromPaths, secretTreeFromSchema, secureActuationFor, selectAppConnectionEndpoints, selectAssignedProfileSlots, selectRecoveryStep, sendTimesForEditor, sendTimesOfSchedule, sensorRaisedOf, sensorTransitionNeverFires, sensorTransitionOffered, servedTemplateVars, serverManagementCapability, sessionsOfDeviceCell, setByPath, settingValuesEqual, settingsBelow, settingsStoreCapability, shareViewGrantOf, shortHostname, shortSecretRefHash, signalPercentFromBars, signalPercentFromRssi, siteZoneKey, sleep, sleepCancellable, sliceActiveValue, sliceChangedAt, smokeCapability, smtpProviderCapability, snapshotCapability, splitTranslationRef, squareAround, ssoBridgeCapability, startMoverUnderClearance, startReachabilityPoll, stateLabel, stateVocabularyFor, stepModelRunsOnFormat, stepSettingSource, storageAdminCapability, storageCapability, storageEvictableCapability, storageMigrationCapability, storageOccupancyCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, streamSignalsCapability, stripRetiredBandPreBufferSec, strippedOfLegacyReadOnly, subKindsOf, subjectHasPath, subjectPathSampleFromBox, subjectPathSvgPoints, summarisePrivacyAudio, summarizeEffectiveScope, summarizeReview, supplyFor, supportedRuntimes, switchCapability, switchedOffIds, syncActiveAlarmProfileSettings, synthesizeSourceInfo, systemCapability, systemEventClassKinds, systemEventClassOf, systemEventClassesFor, systemEventDeliveryProblems, systemEventFamilyOf, systemEventFamilyProblems, systemEventFilterApplies, systemEventFilterAppliesToAnyKind, systemEventKindNamesOf, systemEventKindsOfFamily, systemEventSummaryScheduleOf, systemEventSummarySplitOf, systemFamilyOfKind, systemRuleKindOf, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, templateCarriesSummary, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, templateVarsFor, terminalSessionCapability, textToHtml, timeOfDayToMinutes, toAppLinkHubOrigin, toDeviceSummary, toExpressionValue, toNodeId, toPercentShares, toSecretFieldView, toStreamSourceEntry, toastCapability, toggleAudioLabel, tokenize, trainingCapability, trainingProviderCapability, transcodeBody, transformSecretWrite, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, unreachableExtensionSlotRow, unwrapSchema, updateCapability, userError, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateComposition, validateCustomAddress, validateExpressionSource, validateRecipeBounds, valveCapability, vectorDimFromBase64, vectorIndexDimConflictError, vectorStoreCapability, vibrationCapability, videoclipsCapability, viewerAdmitsDevice, viewerHoldsRole, viewerLinkBaseOf, viewerScopeOf, viewerUiCapability, actionsForDevice$1 as vocabularyActionsForDevice, triggersForDevice as vocabularyTriggersForDevice, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, weeklyMaskIndex, weeklyMaskIsUniform, weeklyMaskToWindows, widenDeviceConstructor, windowsToWeeklyMask, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, withClipEventLabels, withFieldFrom, withLocationMode, withSystemEventClasses, withoutCallerStamp, withoutField, writeModelBoundSetting, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
|