@camstack/types 1.2.259 → 1.2.261
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/base-addon.d.ts +9 -1
- package/dist/addon.js +15 -7
- package/dist/addon.mjs +15 -7
- package/dist/capabilities/camera-streams.cap.d.ts +5 -5
- package/dist/capabilities/capability-definition.d.ts +9 -0
- package/dist/capabilities/custom-model-registry.cap.d.ts +18 -12
- package/dist/capabilities/decoder.cap.d.ts +12 -12
- package/dist/capabilities/device-extension.cap.d.ts +370 -0
- package/dist/capabilities/device-manager.cap.d.ts +45 -5
- package/dist/capabilities/doorbell.cap.d.ts +41 -0
- package/dist/capabilities/embedding-encoder.cap.d.ts +175 -0
- package/dist/capabilities/index.d.ts +17 -14
- package/dist/capabilities/llm-runtime.cap.d.ts +4 -4
- package/dist/capabilities/llm-shared.d.ts +6 -6
- package/dist/capabilities/llm.cap.d.ts +6 -6
- package/dist/capabilities/load-contribution.cap.d.ts +2 -2
- package/dist/capabilities/model-convert.cap.d.ts +9 -6
- package/dist/capabilities/model-distributor.cap.d.ts +18 -12
- package/dist/capabilities/motion-detection.cap.d.ts +4 -4
- package/dist/capabilities/notification-rules.cap.d.ts +603 -31
- package/dist/capabilities/osd-manager.cap.d.ts +7 -7
- package/dist/capabilities/pipeline-analytics.cap.d.ts +130 -129
- package/dist/capabilities/pipeline-executor.cap.d.ts +78 -120
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +78 -65
- package/dist/capabilities/pipeline-runner.cap.d.ts +30 -6
- package/dist/capabilities/platform-probe.cap.d.ts +4 -13
- package/dist/capabilities/recording-export.cap.d.ts +7 -7
- package/dist/capabilities/schemas/detection-shared.d.ts +4 -4
- package/dist/capabilities/schemas/streaming-shared.d.ts +8 -8
- package/dist/capabilities/stream-broker.cap.d.ts +9 -9
- package/dist/capabilities/system.cap.d.ts +2 -2
- package/dist/capabilities/vacuum-control.cap.d.ts +13 -13
- package/dist/capabilities/vector-store.cap.d.ts +14 -0
- package/dist/capabilities/videoclips.cap.d.ts +5 -5
- package/dist/capabilities/webrtc-session.cap.d.ts +2 -2
- package/dist/device-extension/index.d.ts +3 -0
- package/dist/device-extension/slot-descriptor.d.ts +62 -0
- package/dist/device-extension/slot-provider.d.ts +68 -0
- package/dist/generated/addon-api.d.ts +59 -9
- package/dist/generated/cap-input-defaults.d.ts +1 -1
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/collection-array-methods.d.ts +1 -1
- package/dist/generated/device-proxy.d.ts +7 -7
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/extension-slots.d.ts +39 -0
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +4 -2
- package/dist/index.d.ts +8 -3
- package/dist/index.js +3125 -1792
- package/dist/index.mjs +3049 -1788
- package/dist/interfaces/addon.d.ts +41 -0
- package/dist/interfaces/event-bus.d.ts +11 -1
- package/dist/interfaces/pipeline-executor-capability.d.ts +15 -6
- package/dist/interfaces/platform.d.ts +2 -2
- package/dist/interfaces/stream-broker.d.ts +2 -2
- package/dist/node.d.ts +1 -0
- package/dist/node.js +73 -7
- package/dist/node.mjs +73 -8
- package/dist/notification/system-event-summary.d.ts +83 -0
- package/dist/notification/template-vars.d.ts +15 -0
- package/dist/pipeline/cluster-model-scope.d.ts +59 -3
- package/dist/{sleep-DU7mu4wb.mjs → sleep-BXv0ZcRa.mjs} +49 -33
- package/dist/{sleep-DtomDrRW.js → sleep-QxyLiUId.js} +54 -32
- package/dist/storage/atomic-write.d.ts +25 -0
- package/dist/types/clip-model.d.ts +64 -0
- package/dist/types/detection.d.ts +9 -0
- package/dist/types/models.d.ts +18 -19
- package/dist/types/pipeline-step.d.ts +9 -1
- package/dist/types/pipeline.d.ts +2 -1
- package/dist/utils/background-run-registry.d.ts +69 -0
- package/dist/utils/runtime-mapping.d.ts +9 -54
- package/package.json +1 -1
|
@@ -917,6 +917,40 @@ var BaseAddon = class {
|
|
|
917
917
|
const node = normalizeNodeId(nodeId ?? this._ctx?.kernel?.localNodeId);
|
|
918
918
|
return keys.size > 0 ? projectStore(raw, keys, node) : raw;
|
|
919
919
|
}
|
|
920
|
+
/**
|
|
921
|
+
* Whether ONE global key of this addon's store was written, read three-way
|
|
922
|
+
* (D651). For a question a hydrated view cannot answer: `getGlobalSettings`
|
|
923
|
+
* reports `value ?? default`, so "the operator chose the default" and "nobody
|
|
924
|
+
* chose" look the same, and a failed read looks like both. A `perNode` key is
|
|
925
|
+
* not supported here: its stored name is scoped.
|
|
926
|
+
*/
|
|
927
|
+
async readStoredGlobalKey(key) {
|
|
928
|
+
const read = this._ctx?.settings?.readAddonStoreResult;
|
|
929
|
+
if (read === void 0) return {
|
|
930
|
+
kind: "unreadable",
|
|
931
|
+
reason: "three-way-read-unavailable"
|
|
932
|
+
};
|
|
933
|
+
let result;
|
|
934
|
+
try {
|
|
935
|
+
result = await read.call(this._ctx?.settings);
|
|
936
|
+
} catch (err) {
|
|
937
|
+
return {
|
|
938
|
+
kind: "unreadable",
|
|
939
|
+
reason: "store-read-failed",
|
|
940
|
+
error: err instanceof Error ? err.message : String(err)
|
|
941
|
+
};
|
|
942
|
+
}
|
|
943
|
+
if (result.kind === "failed") return {
|
|
944
|
+
kind: "unreadable",
|
|
945
|
+
reason: "store-read-failed",
|
|
946
|
+
error: result.error
|
|
947
|
+
};
|
|
948
|
+
if (result.kind === "missing" || !Object.prototype.hasOwnProperty.call(result.value, key)) return { kind: "absent" };
|
|
949
|
+
return {
|
|
950
|
+
kind: "present",
|
|
951
|
+
value: result.value[key]
|
|
952
|
+
};
|
|
953
|
+
}
|
|
920
954
|
async updateGlobalSettings(patch, nodeId) {
|
|
921
955
|
const keys = this.perNodeKeys();
|
|
922
956
|
const localNode = normalizeNodeId(this._ctx?.kernel?.localNodeId);
|
|
@@ -3560,6 +3594,11 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3560
3594
|
getDeviceLiveContribution: (input) => dispatch("camera-grid-layout", "cameraGridLayout", "getDeviceLiveContribution", "query", input),
|
|
3561
3595
|
applyDeviceSettingsPatch: (input) => dispatch("camera-grid-layout", "cameraGridLayout", "applyDeviceSettingsPatch", "mutation", input)
|
|
3562
3596
|
},
|
|
3597
|
+
cameraPipelineConfig: {
|
|
3598
|
+
getDeviceSettingsContribution: (input) => dispatch("camera-pipeline-config", "cameraPipelineConfig", "getDeviceSettingsContribution", "query", input),
|
|
3599
|
+
getDeviceLiveContribution: (input) => dispatch("camera-pipeline-config", "cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
|
|
3600
|
+
applyDeviceSettingsPatch: (input) => dispatch("camera-pipeline-config", "cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
|
|
3601
|
+
},
|
|
3563
3602
|
cameraStreams: {
|
|
3564
3603
|
getCameraStreams: (input) => dispatch("camera-streams", "cameraStreams", "getCameraStreams", "query", input),
|
|
3565
3604
|
getBrokerStreams: (input) => dispatch("camera-streams", "cameraStreams", "getBrokerStreams", "query", input),
|
|
@@ -3619,6 +3658,12 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3619
3658
|
releaseDevice: (input) => dispatch("device-discovery", "deviceDiscovery", "releaseDevice", "mutation", input),
|
|
3620
3659
|
getStatus: (input) => dispatch("device-discovery", "deviceDiscovery", "getStatus", "query", input)
|
|
3621
3660
|
},
|
|
3661
|
+
deviceExtension: {
|
|
3662
|
+
listSources: (input) => dispatch("device-extension", "deviceExtension", "listSources", "query", input),
|
|
3663
|
+
listSlots: (input) => dispatch("device-extension", "deviceExtension", "listSlots", "query", input),
|
|
3664
|
+
listCandidates: (input) => dispatch("device-extension", "deviceExtension", "listCandidates", "query", input),
|
|
3665
|
+
setSlot: (input) => dispatch("device-extension", "deviceExtension", "setSlot", "mutation", input)
|
|
3666
|
+
},
|
|
3622
3667
|
deviceOps: {
|
|
3623
3668
|
getStreamSources: (input) => dispatch("device-ops", "deviceOps", "getStreamSources", "query", input),
|
|
3624
3669
|
getConfigEntries: (input) => dispatch("device-ops", "deviceOps", "getConfigEntries", "query", input),
|
|
@@ -3737,29 +3782,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3737
3782
|
getStatus: (input) => dispatch("navigation", "navigation", "getStatus", "query", input)
|
|
3738
3783
|
},
|
|
3739
3784
|
networkLink: { getStatus: (input) => dispatch("network-link", "networkLink", "getStatus", "query", input) },
|
|
3740
|
-
notificationRules: {
|
|
3741
|
-
listRules: (input) => dispatch("notification-rules", "notificationRules", "listRules", "query", input),
|
|
3742
|
-
getRule: (input) => dispatch("notification-rules", "notificationRules", "getRule", "query", input),
|
|
3743
|
-
createRule: (input) => dispatch("notification-rules", "notificationRules", "createRule", "mutation", input),
|
|
3744
|
-
updateRule: (input) => dispatch("notification-rules", "notificationRules", "updateRule", "mutation", input),
|
|
3745
|
-
deleteRule: (input) => dispatch("notification-rules", "notificationRules", "deleteRule", "mutation", input),
|
|
3746
|
-
setRuleEnabled: (input) => dispatch("notification-rules", "notificationRules", "setRuleEnabled", "mutation", input),
|
|
3747
|
-
getClipRetentionAsks: (input) => dispatch("notification-rules", "notificationRules", "getClipRetentionAsks", "query", input),
|
|
3748
|
-
listDeviceMutes: (input) => dispatch("notification-rules", "notificationRules", "listDeviceMutes", "query", input),
|
|
3749
|
-
setDeviceMuted: (input) => dispatch("notification-rules", "notificationRules", "setDeviceMuted", "mutation", input),
|
|
3750
|
-
testRule: (input) => dispatch("notification-rules", "notificationRules", "testRule", "mutation", input),
|
|
3751
|
-
getConditionCatalog: (input) => dispatch("notification-rules", "notificationRules", "getConditionCatalog", "query", input),
|
|
3752
|
-
getTemplateCatalog: (input) => dispatch("notification-rules", "notificationRules", "getTemplateCatalog", "query", input),
|
|
3753
|
-
previewTemplate: (input) => dispatch("notification-rules", "notificationRules", "previewTemplate", "mutation", input),
|
|
3754
|
-
getHistory: (input) => dispatch("notification-rules", "notificationRules", "getHistory", "query", input),
|
|
3755
|
-
getRuleLastRuns: (input) => dispatch("notification-rules", "notificationRules", "getRuleLastRuns", "query", input),
|
|
3756
|
-
resolveArtifactUrl: (input) => dispatch("notification-rules", "notificationRules", "resolveArtifactUrl", "query", input),
|
|
3757
|
-
listSnoozes: (input) => dispatch("notification-rules", "notificationRules", "listSnoozes", "query", input),
|
|
3758
|
-
createSnooze: (input) => dispatch("notification-rules", "notificationRules", "createSnooze", "mutation", input),
|
|
3759
|
-
cancelSnooze: (input) => dispatch("notification-rules", "notificationRules", "cancelSnooze", "mutation", input),
|
|
3760
|
-
getAlarmConfig: (input) => dispatch("notification-rules", "notificationRules", "getAlarmConfig", "query", input),
|
|
3761
|
-
setAlarmConfig: (input) => dispatch("notification-rules", "notificationRules", "setAlarmConfig", "mutation", input)
|
|
3762
|
-
},
|
|
3763
3785
|
notifier: {
|
|
3764
3786
|
send: (input) => dispatch("notifier", "notifier", "send", "mutation", input),
|
|
3765
3787
|
cancel: (input) => dispatch("notifier", "notifier", "cancel", "mutation", input),
|
|
@@ -3837,7 +3859,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3837
3859
|
deselectRetrainFrame: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "deselectRetrainFrame", "mutation", input),
|
|
3838
3860
|
getRetrainFrameImage: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getRetrainFrameImage", "query", input),
|
|
3839
3861
|
proposeRetrainAnnotations: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "proposeRetrainAnnotations", "mutation", input),
|
|
3840
|
-
runReplayFrameProcessor: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "runReplayFrameProcessor", "mutation", input),
|
|
3841
3862
|
listRetrainAnnotations: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "listRetrainAnnotations", "query", input),
|
|
3842
3863
|
saveRetrainAnnotations: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "saveRetrainAnnotations", "mutation", input),
|
|
3843
3864
|
completeRetrainTrack: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "completeRetrainTrack", "mutation", input),
|
|
@@ -4018,11 +4039,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4018
4039
|
updateDeviceSettings: (input) => dispatchSystem("addonSettings", "updateDeviceSettings", "mutation", input)
|
|
4019
4040
|
},
|
|
4020
4041
|
audioAnalyzer: { detachDevice: (input) => dispatchSystem("audioAnalyzer", "detachDevice", "mutation", input) },
|
|
4021
|
-
cameraPipelineConfig: {
|
|
4022
|
-
getDeviceSettingsContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceSettingsContribution", "query", input),
|
|
4023
|
-
getDeviceLiveContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
|
|
4024
|
-
applyDeviceSettingsPatch: (input) => dispatchSystem("cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
|
|
4025
|
-
},
|
|
4026
4042
|
deviceAdoption: { getStatus: (input) => dispatchSystem("deviceAdoption", "getStatus", "query", input) },
|
|
4027
4043
|
deviceExport: {
|
|
4028
4044
|
getDeviceSettingsContribution: (input) => dispatchSystem("deviceExport", "getDeviceSettingsContribution", "query", input),
|
|
@@ -4072,7 +4088,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4072
4088
|
getDeviceLiveContribution: (input) => dispatchSystem("deviceManager", "getDeviceLiveContribution", "query", input),
|
|
4073
4089
|
applyDeviceSettingsPatch: (input) => dispatchSystem("deviceManager", "applyDeviceSettingsPatch", "mutation", input)
|
|
4074
4090
|
},
|
|
4075
|
-
deviceProvider: { reloadDevice: (input) => dispatchSystem("deviceProvider", "reloadDevice", "mutation", input) },
|
|
4076
4091
|
deviceState: {
|
|
4077
4092
|
getSnapshot: (input) => dispatchSystem("deviceState", "getSnapshot", "query", input),
|
|
4078
4093
|
getCapSlice: (input) => dispatchSystem("deviceState", "getCapSlice", "query", input),
|
|
@@ -4086,6 +4101,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4086
4101
|
getDeviceStats: (input) => dispatchSystem("networkQuality", "getDeviceStats", "query", input),
|
|
4087
4102
|
reportClientStats: (input) => dispatchSystem("networkQuality", "reportClientStats", "mutation", input)
|
|
4088
4103
|
},
|
|
4104
|
+
notificationRules: { setDeviceMuted: (input) => dispatchSystem("notificationRules", "setDeviceMuted", "mutation", input) },
|
|
4089
4105
|
osdManager: {
|
|
4090
4106
|
getDeviceOsd: (input) => dispatchSystem("osdManager", "getDeviceOsd", "query", input),
|
|
4091
4107
|
getSourceCatalog: (input) => dispatchSystem("osdManager", "getSourceCatalog", "query", input),
|
|
@@ -4108,7 +4124,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4108
4124
|
assignAudio: (input) => dispatchSystem("pipelineOrchestrator", "assignAudio", "mutation", input),
|
|
4109
4125
|
unassignAudio: (input) => dispatchSystem("pipelineOrchestrator", "unassignAudio", "mutation", input),
|
|
4110
4126
|
getAudioAssignment: (input) => dispatchSystem("pipelineOrchestrator", "getAudioAssignment", "query", input),
|
|
4111
|
-
getAudioAssignments: (input) => dispatchSystem("pipelineOrchestrator", "getAudioAssignments", "query", input),
|
|
4112
4127
|
getCameraSettings: (input) => dispatchSystem("pipelineOrchestrator", "getCameraSettings", "query", input),
|
|
4113
4128
|
setCameraStepToggle: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepToggle", "mutation", input),
|
|
4114
4129
|
getCameraStepOverrides: (input) => dispatchSystem("pipelineOrchestrator", "getCameraStepOverrides", "query", input),
|
|
@@ -4180,7 +4195,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4180
4195
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
4181
4196
|
* (~144MB RSS per runner, D28).
|
|
4182
4197
|
*
|
|
4183
|
-
* Coverage:
|
|
4198
|
+
* Coverage: 88 device-scoped capabilities.
|
|
4184
4199
|
*/
|
|
4185
4200
|
var DEVICE_SCOPED_CAPS = new Set([
|
|
4186
4201
|
"accessories",
|
|
@@ -4210,6 +4225,7 @@ var DEVICE_SCOPED_CAPS = new Set([
|
|
|
4210
4225
|
"detection-pipeline",
|
|
4211
4226
|
"device-admin-link",
|
|
4212
4227
|
"device-discovery",
|
|
4228
|
+
"device-extension",
|
|
4213
4229
|
"device-ops",
|
|
4214
4230
|
"device-status",
|
|
4215
4231
|
"doorbell",
|
|
@@ -4433,4 +4449,4 @@ function sleepCancellable(ms, signal) {
|
|
|
4433
4449
|
});
|
|
4434
4450
|
}
|
|
4435
4451
|
//#endregion
|
|
4436
|
-
export { AudioStreamPickSchema as $, DeviceType as A, DATAPLANE_SECRET_HEADER as At, optionalMethod as B,
|
|
4452
|
+
export { AudioStreamPickSchema as $, DeviceType as A, DATAPLANE_SECRET_HEADER as At, optionalMethod as B, WELL_KNOWN_TABS as Bt, customAction as C, parseProfileBrokerId as Ct, ChargingStatus as D, PEER_BYTES_STALL_MS as Dt, deviceCustomAction as E, PEER_BYTES_MAX_OUTSTANDING as Et, PROVIDER_PIN_FIELD as F, normalizeNodeId as Ft, readNodePin as G, resolveHydratedFieldValue as Gt, systemMethod as H, collectHydratedFieldEntries as Ht, event as I, createDurableState as It, ReadinessTimeoutError as J, expandAudioChunkToF32le as Jt, toNodeId as K, AUDIO_CHUNK_FORMATS as Kt, expandCapMethods as L, createEvent as Lt, DEFAULT_RUNTIME_STATE_DURABILITY as M, DisposerChain as Mt, DEVICE_SETTINGS_CONTRIBUTION_METHODS as N, BaseAddon as Nt, DeviceFeature as O, PEER_BYTES_TICKET_TTL_MS as Ot, DEVICE_STATUS_METHOD as P, normalizeAddonInitResult as Pt, AudioChunkFormatSchema as Q, isDeviceConfigCap as R, emitReadiness as Rt, DEVICE_CHILDREN_BATCH_MAX as S, makeSourceBrokerId as St, describeCustomActions as T, PEER_BYTES_CHUNK_BYTES as Tt, CAP_NODE_PIN_CONTEXT_KEY as U, collectHydratedFieldValues as Ut, resolveCapMount as V, WELL_KNOWN_TAB_MAP as Vt, nodePin as W, hydrateSchema as Wt, readinessKey as X, emitDownForOwnedCaps as Y, isAudioChunkFormat as Yt, scopeKey as Z, createMirrorSource as _, SubscribeAudioChunksInputSchema as _t, asJsonObject as a, CamStreamResolutionSchema as at, deviceOpsCapability as b, SubscribeFramesResultSchema as bt, parseJsonArray as c, DecodedFrameSchema as ct, BOOT_RECOVERY_BACKOFF_MS as d, FrameHandleSchema as dt, BrokerStatsSchema as et, DEVICE_SCOPED_CAPS as f, ProfileRtspEntrySchema as ft, createLazyTrpcSource as g, StreamSourceSchema as gt, createEventBusSliceSource as h, StreamSourceEntrySchema$1 as ht, asJsonArray as i, CamStreamKindSchema as it, adminUiCapability as j, SHARE_VIEW_KINDS as jt, DeviceRole as k, PeerBytesTicketSchema as kt, parseJsonObject as l, EncodedPacketSchema as lt, createDeviceProxy as m, ProfileSlotStatusSchema as mt, sleepCancellable as n, CAM_PROFILE_ORDER as nt, asNumber as o, CameraStreamSchema as ot, isDeviceScopedCap as p, ProfileSlotSchema as pt, ReadinessRegistry as q, audioChunkBytesPerSample as qt, asBoolean as r, CamProfileSchema as rt, asString as s, DecodedAudioChunkSchema as st, sleep as t, BrokerStatusSchema as tt, parseJsonUnknown as u, FrameHandleFormatSchema as ut, createSliceHandle as v, SubscribeAudioChunksResultSchema as vt, defineCustomActions as w, selectAssignedProfileSlots as wt, viewerUiCapability as x, makeProfileBrokerId as xt, RawStateResultSchema as y, SubscribeFramesInputSchema as yt, method as z, isEvent as zt };
|
|
@@ -917,6 +917,40 @@ var BaseAddon = class {
|
|
|
917
917
|
const node = normalizeNodeId(nodeId ?? this._ctx?.kernel?.localNodeId);
|
|
918
918
|
return keys.size > 0 ? projectStore(raw, keys, node) : raw;
|
|
919
919
|
}
|
|
920
|
+
/**
|
|
921
|
+
* Whether ONE global key of this addon's store was written, read three-way
|
|
922
|
+
* (D651). For a question a hydrated view cannot answer: `getGlobalSettings`
|
|
923
|
+
* reports `value ?? default`, so "the operator chose the default" and "nobody
|
|
924
|
+
* chose" look the same, and a failed read looks like both. A `perNode` key is
|
|
925
|
+
* not supported here: its stored name is scoped.
|
|
926
|
+
*/
|
|
927
|
+
async readStoredGlobalKey(key) {
|
|
928
|
+
const read = this._ctx?.settings?.readAddonStoreResult;
|
|
929
|
+
if (read === void 0) return {
|
|
930
|
+
kind: "unreadable",
|
|
931
|
+
reason: "three-way-read-unavailable"
|
|
932
|
+
};
|
|
933
|
+
let result;
|
|
934
|
+
try {
|
|
935
|
+
result = await read.call(this._ctx?.settings);
|
|
936
|
+
} catch (err) {
|
|
937
|
+
return {
|
|
938
|
+
kind: "unreadable",
|
|
939
|
+
reason: "store-read-failed",
|
|
940
|
+
error: err instanceof Error ? err.message : String(err)
|
|
941
|
+
};
|
|
942
|
+
}
|
|
943
|
+
if (result.kind === "failed") return {
|
|
944
|
+
kind: "unreadable",
|
|
945
|
+
reason: "store-read-failed",
|
|
946
|
+
error: result.error
|
|
947
|
+
};
|
|
948
|
+
if (result.kind === "missing" || !Object.prototype.hasOwnProperty.call(result.value, key)) return { kind: "absent" };
|
|
949
|
+
return {
|
|
950
|
+
kind: "present",
|
|
951
|
+
value: result.value[key]
|
|
952
|
+
};
|
|
953
|
+
}
|
|
920
954
|
async updateGlobalSettings(patch, nodeId) {
|
|
921
955
|
const keys = this.perNodeKeys();
|
|
922
956
|
const localNode = normalizeNodeId(this._ctx?.kernel?.localNodeId);
|
|
@@ -3560,6 +3594,11 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3560
3594
|
getDeviceLiveContribution: (input) => dispatch("camera-grid-layout", "cameraGridLayout", "getDeviceLiveContribution", "query", input),
|
|
3561
3595
|
applyDeviceSettingsPatch: (input) => dispatch("camera-grid-layout", "cameraGridLayout", "applyDeviceSettingsPatch", "mutation", input)
|
|
3562
3596
|
},
|
|
3597
|
+
cameraPipelineConfig: {
|
|
3598
|
+
getDeviceSettingsContribution: (input) => dispatch("camera-pipeline-config", "cameraPipelineConfig", "getDeviceSettingsContribution", "query", input),
|
|
3599
|
+
getDeviceLiveContribution: (input) => dispatch("camera-pipeline-config", "cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
|
|
3600
|
+
applyDeviceSettingsPatch: (input) => dispatch("camera-pipeline-config", "cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
|
|
3601
|
+
},
|
|
3563
3602
|
cameraStreams: {
|
|
3564
3603
|
getCameraStreams: (input) => dispatch("camera-streams", "cameraStreams", "getCameraStreams", "query", input),
|
|
3565
3604
|
getBrokerStreams: (input) => dispatch("camera-streams", "cameraStreams", "getBrokerStreams", "query", input),
|
|
@@ -3619,6 +3658,12 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3619
3658
|
releaseDevice: (input) => dispatch("device-discovery", "deviceDiscovery", "releaseDevice", "mutation", input),
|
|
3620
3659
|
getStatus: (input) => dispatch("device-discovery", "deviceDiscovery", "getStatus", "query", input)
|
|
3621
3660
|
},
|
|
3661
|
+
deviceExtension: {
|
|
3662
|
+
listSources: (input) => dispatch("device-extension", "deviceExtension", "listSources", "query", input),
|
|
3663
|
+
listSlots: (input) => dispatch("device-extension", "deviceExtension", "listSlots", "query", input),
|
|
3664
|
+
listCandidates: (input) => dispatch("device-extension", "deviceExtension", "listCandidates", "query", input),
|
|
3665
|
+
setSlot: (input) => dispatch("device-extension", "deviceExtension", "setSlot", "mutation", input)
|
|
3666
|
+
},
|
|
3622
3667
|
deviceOps: {
|
|
3623
3668
|
getStreamSources: (input) => dispatch("device-ops", "deviceOps", "getStreamSources", "query", input),
|
|
3624
3669
|
getConfigEntries: (input) => dispatch("device-ops", "deviceOps", "getConfigEntries", "query", input),
|
|
@@ -3737,29 +3782,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3737
3782
|
getStatus: (input) => dispatch("navigation", "navigation", "getStatus", "query", input)
|
|
3738
3783
|
},
|
|
3739
3784
|
networkLink: { getStatus: (input) => dispatch("network-link", "networkLink", "getStatus", "query", input) },
|
|
3740
|
-
notificationRules: {
|
|
3741
|
-
listRules: (input) => dispatch("notification-rules", "notificationRules", "listRules", "query", input),
|
|
3742
|
-
getRule: (input) => dispatch("notification-rules", "notificationRules", "getRule", "query", input),
|
|
3743
|
-
createRule: (input) => dispatch("notification-rules", "notificationRules", "createRule", "mutation", input),
|
|
3744
|
-
updateRule: (input) => dispatch("notification-rules", "notificationRules", "updateRule", "mutation", input),
|
|
3745
|
-
deleteRule: (input) => dispatch("notification-rules", "notificationRules", "deleteRule", "mutation", input),
|
|
3746
|
-
setRuleEnabled: (input) => dispatch("notification-rules", "notificationRules", "setRuleEnabled", "mutation", input),
|
|
3747
|
-
getClipRetentionAsks: (input) => dispatch("notification-rules", "notificationRules", "getClipRetentionAsks", "query", input),
|
|
3748
|
-
listDeviceMutes: (input) => dispatch("notification-rules", "notificationRules", "listDeviceMutes", "query", input),
|
|
3749
|
-
setDeviceMuted: (input) => dispatch("notification-rules", "notificationRules", "setDeviceMuted", "mutation", input),
|
|
3750
|
-
testRule: (input) => dispatch("notification-rules", "notificationRules", "testRule", "mutation", input),
|
|
3751
|
-
getConditionCatalog: (input) => dispatch("notification-rules", "notificationRules", "getConditionCatalog", "query", input),
|
|
3752
|
-
getTemplateCatalog: (input) => dispatch("notification-rules", "notificationRules", "getTemplateCatalog", "query", input),
|
|
3753
|
-
previewTemplate: (input) => dispatch("notification-rules", "notificationRules", "previewTemplate", "mutation", input),
|
|
3754
|
-
getHistory: (input) => dispatch("notification-rules", "notificationRules", "getHistory", "query", input),
|
|
3755
|
-
getRuleLastRuns: (input) => dispatch("notification-rules", "notificationRules", "getRuleLastRuns", "query", input),
|
|
3756
|
-
resolveArtifactUrl: (input) => dispatch("notification-rules", "notificationRules", "resolveArtifactUrl", "query", input),
|
|
3757
|
-
listSnoozes: (input) => dispatch("notification-rules", "notificationRules", "listSnoozes", "query", input),
|
|
3758
|
-
createSnooze: (input) => dispatch("notification-rules", "notificationRules", "createSnooze", "mutation", input),
|
|
3759
|
-
cancelSnooze: (input) => dispatch("notification-rules", "notificationRules", "cancelSnooze", "mutation", input),
|
|
3760
|
-
getAlarmConfig: (input) => dispatch("notification-rules", "notificationRules", "getAlarmConfig", "query", input),
|
|
3761
|
-
setAlarmConfig: (input) => dispatch("notification-rules", "notificationRules", "setAlarmConfig", "mutation", input)
|
|
3762
|
-
},
|
|
3763
3785
|
notifier: {
|
|
3764
3786
|
send: (input) => dispatch("notifier", "notifier", "send", "mutation", input),
|
|
3765
3787
|
cancel: (input) => dispatch("notifier", "notifier", "cancel", "mutation", input),
|
|
@@ -3837,7 +3859,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
3837
3859
|
deselectRetrainFrame: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "deselectRetrainFrame", "mutation", input),
|
|
3838
3860
|
getRetrainFrameImage: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getRetrainFrameImage", "query", input),
|
|
3839
3861
|
proposeRetrainAnnotations: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "proposeRetrainAnnotations", "mutation", input),
|
|
3840
|
-
runReplayFrameProcessor: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "runReplayFrameProcessor", "mutation", input),
|
|
3841
3862
|
listRetrainAnnotations: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "listRetrainAnnotations", "query", input),
|
|
3842
3863
|
saveRetrainAnnotations: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "saveRetrainAnnotations", "mutation", input),
|
|
3843
3864
|
completeRetrainTrack: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "completeRetrainTrack", "mutation", input),
|
|
@@ -4018,11 +4039,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4018
4039
|
updateDeviceSettings: (input) => dispatchSystem("addonSettings", "updateDeviceSettings", "mutation", input)
|
|
4019
4040
|
},
|
|
4020
4041
|
audioAnalyzer: { detachDevice: (input) => dispatchSystem("audioAnalyzer", "detachDevice", "mutation", input) },
|
|
4021
|
-
cameraPipelineConfig: {
|
|
4022
|
-
getDeviceSettingsContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceSettingsContribution", "query", input),
|
|
4023
|
-
getDeviceLiveContribution: (input) => dispatchSystem("cameraPipelineConfig", "getDeviceLiveContribution", "query", input),
|
|
4024
|
-
applyDeviceSettingsPatch: (input) => dispatchSystem("cameraPipelineConfig", "applyDeviceSettingsPatch", "mutation", input)
|
|
4025
|
-
},
|
|
4026
4042
|
deviceAdoption: { getStatus: (input) => dispatchSystem("deviceAdoption", "getStatus", "query", input) },
|
|
4027
4043
|
deviceExport: {
|
|
4028
4044
|
getDeviceSettingsContribution: (input) => dispatchSystem("deviceExport", "getDeviceSettingsContribution", "query", input),
|
|
@@ -4072,7 +4088,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4072
4088
|
getDeviceLiveContribution: (input) => dispatchSystem("deviceManager", "getDeviceLiveContribution", "query", input),
|
|
4073
4089
|
applyDeviceSettingsPatch: (input) => dispatchSystem("deviceManager", "applyDeviceSettingsPatch", "mutation", input)
|
|
4074
4090
|
},
|
|
4075
|
-
deviceProvider: { reloadDevice: (input) => dispatchSystem("deviceProvider", "reloadDevice", "mutation", input) },
|
|
4076
4091
|
deviceState: {
|
|
4077
4092
|
getSnapshot: (input) => dispatchSystem("deviceState", "getSnapshot", "query", input),
|
|
4078
4093
|
getCapSlice: (input) => dispatchSystem("deviceState", "getCapSlice", "query", input),
|
|
@@ -4086,6 +4101,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4086
4101
|
getDeviceStats: (input) => dispatchSystem("networkQuality", "getDeviceStats", "query", input),
|
|
4087
4102
|
reportClientStats: (input) => dispatchSystem("networkQuality", "reportClientStats", "mutation", input)
|
|
4088
4103
|
},
|
|
4104
|
+
notificationRules: { setDeviceMuted: (input) => dispatchSystem("notificationRules", "setDeviceMuted", "mutation", input) },
|
|
4089
4105
|
osdManager: {
|
|
4090
4106
|
getDeviceOsd: (input) => dispatchSystem("osdManager", "getDeviceOsd", "query", input),
|
|
4091
4107
|
getSourceCatalog: (input) => dispatchSystem("osdManager", "getSourceCatalog", "query", input),
|
|
@@ -4108,7 +4124,6 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4108
4124
|
assignAudio: (input) => dispatchSystem("pipelineOrchestrator", "assignAudio", "mutation", input),
|
|
4109
4125
|
unassignAudio: (input) => dispatchSystem("pipelineOrchestrator", "unassignAudio", "mutation", input),
|
|
4110
4126
|
getAudioAssignment: (input) => dispatchSystem("pipelineOrchestrator", "getAudioAssignment", "query", input),
|
|
4111
|
-
getAudioAssignments: (input) => dispatchSystem("pipelineOrchestrator", "getAudioAssignments", "query", input),
|
|
4112
4127
|
getCameraSettings: (input) => dispatchSystem("pipelineOrchestrator", "getCameraSettings", "query", input),
|
|
4113
4128
|
setCameraStepToggle: (input) => dispatchSystem("pipelineOrchestrator", "setCameraStepToggle", "mutation", input),
|
|
4114
4129
|
getCameraStepOverrides: (input) => dispatchSystem("pipelineOrchestrator", "getCameraStepOverrides", "query", input),
|
|
@@ -4180,7 +4195,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
4180
4195
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
4181
4196
|
* (~144MB RSS per runner, D28).
|
|
4182
4197
|
*
|
|
4183
|
-
* Coverage:
|
|
4198
|
+
* Coverage: 88 device-scoped capabilities.
|
|
4184
4199
|
*/
|
|
4185
4200
|
var DEVICE_SCOPED_CAPS = new Set([
|
|
4186
4201
|
"accessories",
|
|
@@ -4210,6 +4225,7 @@ var DEVICE_SCOPED_CAPS = new Set([
|
|
|
4210
4225
|
"detection-pipeline",
|
|
4211
4226
|
"device-admin-link",
|
|
4212
4227
|
"device-discovery",
|
|
4228
|
+
"device-extension",
|
|
4213
4229
|
"device-ops",
|
|
4214
4230
|
"device-status",
|
|
4215
4231
|
"doorbell",
|
|
@@ -4949,6 +4965,12 @@ Object.defineProperty(exports, "normalizeAddonInitResult", {
|
|
|
4949
4965
|
return normalizeAddonInitResult;
|
|
4950
4966
|
}
|
|
4951
4967
|
});
|
|
4968
|
+
Object.defineProperty(exports, "normalizeNodeId", {
|
|
4969
|
+
enumerable: true,
|
|
4970
|
+
get: function() {
|
|
4971
|
+
return normalizeNodeId;
|
|
4972
|
+
}
|
|
4973
|
+
});
|
|
4952
4974
|
Object.defineProperty(exports, "optionalMethod", {
|
|
4953
4975
|
enumerable: true,
|
|
4954
4976
|
get: function() {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Replace `filePath` with `data` so that a concurrent reader sees EITHER the
|
|
3
|
+
* old complete file OR the new complete file — never a prefix (D654).
|
|
4
|
+
*
|
|
5
|
+
* A plain `writeFile` truncates the target and then writes it in chunks, so a
|
|
6
|
+
* reader in between gets a torn file: a fixed-path single-instance media kind
|
|
7
|
+
* (`lastFrame`, `lastSceneFrame`) is overwritten every roll while a
|
|
8
|
+
* notification may be reading it. Here the bytes go to a temp file in the SAME
|
|
9
|
+
* directory (same filesystem, so the rename cannot degrade to a copy), and a
|
|
10
|
+
* `rename` swaps it in — atomic on POSIX. A reader that already opened the old
|
|
11
|
+
* file keeps reading the old inode to the end.
|
|
12
|
+
*
|
|
13
|
+
* The temp name is DOT-prefixed so every directory scan that skips dot entries
|
|
14
|
+
* (occupancy, D327) never counts it; it is removed on any failure. A process
|
|
15
|
+
* killed between the write and the rename leaves one `.<name>.<uuid>.tmp`.
|
|
16
|
+
*
|
|
17
|
+
* Windows: a rename over a file another process holds open can fail with
|
|
18
|
+
* EPERM/EACCES/EBUSY. It is retried briefly and then falls back to copying the
|
|
19
|
+
* temp over the target — non-atomic, exactly the pre-D654 behaviour, rather
|
|
20
|
+
* than losing the write.
|
|
21
|
+
*
|
|
22
|
+
* Cost: one extra `rename` (and, on failure, one `rm`) per write — a metadata
|
|
23
|
+
* operation, independent of the payload size.
|
|
24
|
+
*/
|
|
25
|
+
export declare function writeFileAtomic(filePath: string, data: Uint8Array): Promise<void>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A CLIP model's feature-space contract — what every consumer of its vectors
|
|
3
|
+
* must agree on, carried BY THE MODEL rather than re-derived by each consumer.
|
|
4
|
+
*
|
|
5
|
+
* ## Why this lives on the catalog entry
|
|
6
|
+
*
|
|
7
|
+
* Until 2026-09-26 each fact was hard-coded where it was used: the text window
|
|
8
|
+
* (77) and pad id (0) in `text_encoder_inference.py`, the index name
|
|
9
|
+
* (`object-clip`) in the object-embedding store, the "is this a CLIP vector"
|
|
10
|
+
* test as `embeddingModelId.startsWith('mobileclip-')`, the search floor (0.2)
|
|
11
|
+
* in the cap default, and the dimension (512) behind a `getModelMeta` that fell
|
|
12
|
+
* back to MobileCLIP for any id it did not know. Every one of those is wrong for
|
|
13
|
+
* the next model, and each one failed SILENTLY for SigLIP2 in the 2026-09-26
|
|
14
|
+
* spike: vectors dropped before the store with no log, 768-d queries truncated
|
|
15
|
+
* to 512 and ranked as garbage, 97% of true matches under the 0.2 floor (D649).
|
|
16
|
+
*
|
|
17
|
+
* A model now declares its own contract here, and a model with no `clip` block
|
|
18
|
+
* is not a CLIP model to any consumer. That is also the seam Model Studio uses
|
|
19
|
+
* for a user-supplied CLIP model: its registry row carries the same block.
|
|
20
|
+
*/
|
|
21
|
+
import { z } from 'zod';
|
|
22
|
+
/**
|
|
23
|
+
* `object-clip` (the historical MobileCLIP index, 512-d) or
|
|
24
|
+
* `object-clip-<model>`. Lower-case and dash-only so the sqlite-vec table name
|
|
25
|
+
* derived from it (`vec_` + non-word → `_`) cannot collide with another index's.
|
|
26
|
+
*/
|
|
27
|
+
export declare const CLIP_VECTOR_INDEX_PATTERN: RegExp;
|
|
28
|
+
export declare const ClipModelMetaSchema: z.ZodObject<{
|
|
29
|
+
textModelId: z.ZodString;
|
|
30
|
+
embeddingDim: z.ZodNumber;
|
|
31
|
+
vectorIndex: z.ZodString;
|
|
32
|
+
tokenizerFile: z.ZodString;
|
|
33
|
+
contextLength: z.ZodNumber;
|
|
34
|
+
padId: z.ZodNumber;
|
|
35
|
+
searchMinScore: z.ZodNumber;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export type ClipModelMeta = z.infer<typeof ClipModelMetaSchema>;
|
|
38
|
+
/**
|
|
39
|
+
* Model-relative search strictness. The operator picks how picky, the model
|
|
40
|
+
* says what that means in its own cosine band. On MobileCLIP (floor 0.2) these
|
|
41
|
+
* reproduce the admin UI's historical absolute presets 0.20 / 0.25 / 0.30.
|
|
42
|
+
*/
|
|
43
|
+
export declare const CLIP_SEARCH_STRICTNESS: readonly ["loose", "balanced", "strict"];
|
|
44
|
+
export declare const ClipSearchStrictnessSchema: z.ZodEnum<{
|
|
45
|
+
loose: "loose";
|
|
46
|
+
balanced: "balanced";
|
|
47
|
+
strict: "strict";
|
|
48
|
+
}>;
|
|
49
|
+
export type ClipSearchStrictness = z.infer<typeof ClipSearchStrictnessSchema>;
|
|
50
|
+
export declare const CLIP_STRICTNESS_FACTOR: Readonly<Record<ClipSearchStrictness, number>>;
|
|
51
|
+
/** What a search asked for. Both absent ⇒ the model's own floor. */
|
|
52
|
+
export interface ClipSearchFloorRequest {
|
|
53
|
+
/** An ABSOLUTE cosine floor. Wins when present — the caller named a number. */
|
|
54
|
+
readonly minScore?: number;
|
|
55
|
+
readonly strictness?: ClipSearchStrictness;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The cosine floor a search runs with.
|
|
59
|
+
*
|
|
60
|
+
* An explicit `minScore` is honoured verbatim: it is a number a caller chose,
|
|
61
|
+
* and silently rescaling it would make the same URL mean different things on
|
|
62
|
+
* two installs. Everything else is relative to the model.
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveClipSearchMinScore(meta: Pick<ClipModelMeta, 'searchMinScore'>, request: ClipSearchFloorRequest): number;
|
|
@@ -514,6 +514,15 @@ export interface FrameResult {
|
|
|
514
514
|
readonly shed?: true;
|
|
515
515
|
/** Which bound shed the frame (e.g. `'worker-in-flight-cap'`). Present iff `shed` is. */
|
|
516
516
|
readonly shedReason?: string;
|
|
517
|
+
/**
|
|
518
|
+
* The model the ROOT detector ACTUALLY ran for this frame — after the
|
|
519
|
+
* executor's format resolution, so a substituted model is named as what
|
|
520
|
+
* ran, not as what was asked (`object-detection` when it runs, else the
|
|
521
|
+
* first enabled root). Stamped by `pipelineExecutor.runPipeline`; absent on
|
|
522
|
+
* a frame no pipeline root produced (a camera's onboard detector). A stored
|
|
523
|
+
* track keeps it so a later replay can name the original model (D646).
|
|
524
|
+
*/
|
|
525
|
+
readonly rootModelId?: string;
|
|
517
526
|
readonly debug?: FrameDebug;
|
|
518
527
|
}
|
|
519
528
|
/**
|
package/dist/types/models.d.ts
CHANGED
|
@@ -22,7 +22,6 @@ export declare const ModelFormatEntrySchema: z.ZodObject<{
|
|
|
22
22
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
23
23
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
24
24
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
25
|
-
node: "node";
|
|
26
25
|
python: "python";
|
|
27
26
|
}>>>>;
|
|
28
27
|
}, z.core.$strip>;
|
|
@@ -50,7 +49,6 @@ export declare const ModelFormatsSchema: z.ZodObject<{
|
|
|
50
49
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
51
50
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
52
51
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
53
|
-
node: "node";
|
|
54
52
|
python: "python";
|
|
55
53
|
}>>>>;
|
|
56
54
|
}, z.core.$strip>>;
|
|
@@ -60,7 +58,6 @@ export declare const ModelFormatsSchema: z.ZodObject<{
|
|
|
60
58
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
61
59
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
62
60
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
63
|
-
node: "node";
|
|
64
61
|
python: "python";
|
|
65
62
|
}>>>>;
|
|
66
63
|
}, z.core.$strip>>;
|
|
@@ -70,7 +67,6 @@ export declare const ModelFormatsSchema: z.ZodObject<{
|
|
|
70
67
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
71
68
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
72
69
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
73
|
-
node: "node";
|
|
74
70
|
python: "python";
|
|
75
71
|
}>>>>;
|
|
76
72
|
}, z.core.$strip>>;
|
|
@@ -80,7 +76,6 @@ export declare const ModelFormatsSchema: z.ZodObject<{
|
|
|
80
76
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
81
77
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
82
78
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
83
|
-
node: "node";
|
|
84
79
|
python: "python";
|
|
85
80
|
}>>>>;
|
|
86
81
|
}, z.core.$strip>>;
|
|
@@ -90,7 +85,6 @@ export declare const ModelFormatsSchema: z.ZodObject<{
|
|
|
90
85
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
91
86
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
92
87
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
93
|
-
node: "node";
|
|
94
88
|
python: "python";
|
|
95
89
|
}>>>>;
|
|
96
90
|
}, z.core.$strip>>;
|
|
@@ -100,7 +94,6 @@ export declare const ModelFormatsSchema: z.ZodObject<{
|
|
|
100
94
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
101
95
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
102
96
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
103
|
-
node: "node";
|
|
104
97
|
python: "python";
|
|
105
98
|
}>>>>;
|
|
106
99
|
}, z.core.$strip>>;
|
|
@@ -164,7 +157,6 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
164
157
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
165
158
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
166
159
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
167
|
-
node: "node";
|
|
168
160
|
python: "python";
|
|
169
161
|
}>>>>;
|
|
170
162
|
}, z.core.$strip>>;
|
|
@@ -174,7 +166,6 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
174
166
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
175
167
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
176
168
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
177
|
-
node: "node";
|
|
178
169
|
python: "python";
|
|
179
170
|
}>>>>;
|
|
180
171
|
}, z.core.$strip>>;
|
|
@@ -184,7 +175,6 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
184
175
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
185
176
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
186
177
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
187
|
-
node: "node";
|
|
188
178
|
python: "python";
|
|
189
179
|
}>>>>;
|
|
190
180
|
}, z.core.$strip>>;
|
|
@@ -194,7 +184,6 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
194
184
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
195
185
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
196
186
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
197
|
-
node: "node";
|
|
198
187
|
python: "python";
|
|
199
188
|
}>>>>;
|
|
200
189
|
}, z.core.$strip>>;
|
|
@@ -204,7 +193,6 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
204
193
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
205
194
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
206
195
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
207
|
-
node: "node";
|
|
208
196
|
python: "python";
|
|
209
197
|
}>>>>;
|
|
210
198
|
}, z.core.$strip>>;
|
|
@@ -214,7 +202,6 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
214
202
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
215
203
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
216
204
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
217
|
-
node: "node";
|
|
218
205
|
python: "python";
|
|
219
206
|
}>>>>;
|
|
220
207
|
}, z.core.$strip>>;
|
|
@@ -287,6 +274,15 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
|
287
274
|
}>>;
|
|
288
275
|
preserveOriginal: z.ZodBoolean;
|
|
289
276
|
}, z.core.$strip>>;
|
|
277
|
+
clip: z.ZodOptional<z.ZodObject<{
|
|
278
|
+
textModelId: z.ZodString;
|
|
279
|
+
embeddingDim: z.ZodNumber;
|
|
280
|
+
vectorIndex: z.ZodString;
|
|
281
|
+
tokenizerFile: z.ZodString;
|
|
282
|
+
contextLength: z.ZodNumber;
|
|
283
|
+
padId: z.ZodNumber;
|
|
284
|
+
searchMinScore: z.ZodNumber;
|
|
285
|
+
}, z.core.$strip>>;
|
|
290
286
|
}, z.core.$strip>;
|
|
291
287
|
export type ModelCatalogEntry = z.infer<typeof ModelCatalogEntrySchema>;
|
|
292
288
|
export interface DetectionModel {
|
|
@@ -411,7 +407,6 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
411
407
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
412
408
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
413
409
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
414
|
-
node: "node";
|
|
415
410
|
python: "python";
|
|
416
411
|
}>>>>;
|
|
417
412
|
}, z.core.$strip>>;
|
|
@@ -421,7 +416,6 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
421
416
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
422
417
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
423
418
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
424
|
-
node: "node";
|
|
425
419
|
python: "python";
|
|
426
420
|
}>>>>;
|
|
427
421
|
}, z.core.$strip>>;
|
|
@@ -431,7 +425,6 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
431
425
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
432
426
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
433
427
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
434
|
-
node: "node";
|
|
435
428
|
python: "python";
|
|
436
429
|
}>>>>;
|
|
437
430
|
}, z.core.$strip>>;
|
|
@@ -441,7 +434,6 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
441
434
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
442
435
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
443
436
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
444
|
-
node: "node";
|
|
445
437
|
python: "python";
|
|
446
438
|
}>>>>;
|
|
447
439
|
}, z.core.$strip>>;
|
|
@@ -451,7 +443,6 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
451
443
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
452
444
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
453
445
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
454
|
-
node: "node";
|
|
455
446
|
python: "python";
|
|
456
447
|
}>>>>;
|
|
457
448
|
}, z.core.$strip>>;
|
|
@@ -461,7 +452,6 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
461
452
|
isDirectory: z.ZodOptional<z.ZodBoolean>;
|
|
462
453
|
files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
|
|
463
454
|
runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
|
|
464
|
-
node: "node";
|
|
465
455
|
python: "python";
|
|
466
456
|
}>>>>;
|
|
467
457
|
}, z.core.$strip>>;
|
|
@@ -534,6 +524,15 @@ export declare const ConvertResultSchema: z.ZodObject<{
|
|
|
534
524
|
}>>;
|
|
535
525
|
preserveOriginal: z.ZodBoolean;
|
|
536
526
|
}, z.core.$strip>>;
|
|
527
|
+
clip: z.ZodOptional<z.ZodObject<{
|
|
528
|
+
textModelId: z.ZodString;
|
|
529
|
+
embeddingDim: z.ZodNumber;
|
|
530
|
+
vectorIndex: z.ZodString;
|
|
531
|
+
tokenizerFile: z.ZodString;
|
|
532
|
+
contextLength: z.ZodNumber;
|
|
533
|
+
padId: z.ZodNumber;
|
|
534
|
+
searchMinScore: z.ZodNumber;
|
|
535
|
+
}, z.core.$strip>>;
|
|
537
536
|
}, z.core.$strip>;
|
|
538
537
|
artifacts: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
539
538
|
format: z.ZodEnum<{
|