@camstack/types 1.2.354 → 1.2.356

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/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as BrokerStatsSchema, $t as normalizeSecretOwner, A as adminUiCapability, At as PEER_BYTES_MAX_OUTSTANDING, B as resolveCapMount, Bt as parseSecretStatePath, C as deviceOpsCapability, Cn as isKeychainStoredField, Ct as clearKnownSecrets, D as defineCustomActions, Dn as audioChunkBytesPerSample, Dt as scrubKnownSecrets, E as customAction, En as AUDIO_CHUNK_FORMATS, Et as registerKnownSecret, F as event, Ft as SHARE_VIEW_KINDS, G as toNodeId, Gt as resolveSecretMarkers, H as CAP_NODE_PIN_CONTEXT_KEY, Ht as secretTreeFromSchema, I as expandCapMethods, It as DisposerChain, J as emitDownForOwnedCaps, Jt as arrayItemFieldPath, K as ReadinessRegistry, Kt as transformSecretWrite, L as isDeviceConfigCap, Lt as BaseAddon, M as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Mt as PEER_BYTES_TICKET_TTL_MS, N as DEVICE_STATUS_METHOD, Nt as PeerBytesTicketSchema, O as describeCustomActions, On as expandAudioChunkToF32le, Ot as shortSecretRefHash, P as PROVIDER_PIN_FIELD, Pt as DATAPLANE_SECRET_HEADER, Q as AudioStreamPickSchema, Qt as isSecretRef, R as method, Rt as normalizeAddonInitResult, S as RawStateResultSchema, Sn as collectSecretConfigKeys, St as MIN_SCRUBBED_LENGTH, T as DEVICE_CHILDREN_BATCH_MAX, Tn as schemaDeclaresAnyField, Tt as knownSecretCount, U as nodePin, Ut as KeychainWriteRefusedError, V as systemMethod, Vt as secretTreeFromPaths, W as readNodePin, Wt as collectSecretMarkerRefs, X as scopeKey, Xt as formatSecretScope, Y as readinessKey, Yt as buildSecretRef, Z as AudioChunkFormatSchema, Zt as globalSecretScope, _ as createMirrorSource, _n as isSecretMarkerLike, _t as parseProfileBrokerId, a as asJsonObject, an as isEvent, at as CameraStreamSchema, b as collectZodSecretPaths, bn as REDACTED_SECRET, bt as REVALIDATE_AFTER_MS, c as parseJsonArray, cn as collectHydratedFieldEntries, ct as ProfileRtspEntrySchema, d as BOOT_RECOVERY_BACKOFF_MS, dn as resolveHydratedFieldValue, dt as StreamSourceEntrySchema, en as parseSecretRef, et as BrokerStatusSchema, f as DEVICE_SCOPED_CAPS, fn as SECRET_CLEAR, ft as StreamSourceSchema, g as createLazyTrpcSource, gn as isSecretMarker, gt as makeSourceBrokerId, h as createEventBusSliceSource, hn as isSecretFieldView, ht as makeProfileBrokerId, i as asJsonArray, in as emitReadiness, it as CamStreamResolutionSchema, j as DEFAULT_RUNTIME_STATE_DURABILITY, jt as PEER_BYTES_STALL_MS, k as deviceCustomAction, kn as isAudioChunkFormat, kt as PEER_BYTES_CHUNK_BYTES, l as parseJsonObject, ln as collectHydratedFieldValues, lt as ProfileSlotSchema, m as createDeviceProxy, mn as isSecretClear, mt as SubscribeAudioChunksResultSchema, n as sleepCancellable, nn as createDurableState, nt as CamProfileSchema, o as asNumber, on as WELL_KNOWN_TABS, ot as DecodedAudioChunkSchema, p as isDeviceScopedCap, pn as classifySecretWrite, pt as SubscribeAudioChunksInputSchema, q as ReadinessTimeoutError, qt as SECRET_REF_SCHEME, r as asBoolean, rn as createEvent, rt as CamStreamKindSchema, s as asString, sn as WELL_KNOWN_TAB_MAP, st as FrameHandleSchema, t as sleep, tn as normalizeNodeId, tt as CAM_PROFILE_ORDER, u as parseJsonUnknown, un as hydrateSchema, ut as ProfileSlotStatusSchema, v as createSliceHandle, vn as makeSecretMarker, vt as selectAssignedProfileSlots, w as viewerUiCapability, wn as isSecretConfigField, wt as forgetKnownSecret, x as isZodSecret, xn as collectKeychainStoredKeys, xt as createSecretsAccess, y as SECRET_META, yn as toSecretFieldView, yt as resolveSecretViewsIn, z as optionalMethod, zt as mergeSecretStatePaths } from "./sleep-Tkp9dHXv.mjs";
1
+ import { $ as ReadinessRegistry, $t as transformSecretWrite, A as viewerUiCapability, An as isKeychainStoredField, At as clearKnownSecrets, B as PROVIDER_PIN_FIELD, Bt as PeerBytesTicketSchema, C as isZodSecret, Cn as isSecretMarker, Ct as makeSourceBrokerId, D as RUNTIME_DEFAULTS, Dn as REDACTED_SECRET, Dt as REVALIDATE_AFTER_MS, E as HF_REPO, En as toSecretFieldView, Et as resolveSecretViewsIn, F as deviceCustomAction, Fn as expandAudioChunkToF32le, Ft as shortSecretRefHash, G as optionalMethod, Gt as normalizeAddonInitResult, H as expandCapMethods, Ht as SHARE_VIEW_KINDS, I as adminUiCapability, In as isAudioChunkFormat, It as PEER_BYTES_CHUNK_BYTES, J as CAP_NODE_PIN_CONTEXT_KEY, Jt as secretTreeFromPaths, K as resolveCapMount, Kt as mergeSecretStatePaths, L as DEFAULT_RUNTIME_STATE_DURABILITY, Lt as PEER_BYTES_MAX_OUTSTANDING, M as customAction, Mn as schemaDeclaresAnyField, Mt as knownSecretCount, N as defineCustomActions, Nn as AUDIO_CHUNK_FORMATS, Nt as registerKnownSecret, O as RawStateResultSchema, On as collectKeychainStoredKeys, Ot as createSecretsAccess, P as describeCustomActions, Pn as audioChunkBytesPerSample, Pt as scrubKnownSecrets, Q as MODEL_FORMATS, Qt as resolveSecretMarkers, R as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Rt as PEER_BYTES_STALL_MS, S as collectZodSecretPaths, Sn as isSecretFieldView, St as makeProfileBrokerId, T as HF_BASE_URL, Tn as makeSecretMarker, Tt as selectAssignedProfileSlots, U as isDeviceConfigCap, Ut as DisposerChain, V as event, Vt as DATAPLANE_SECRET_HEADER, W as method, Wt as BaseAddon, X as readNodePin, Xt as KeychainWriteRefusedError, Y as nodePin, Yt as secretTreeFromSchema, Z as toNodeId, Zt as collectSecretMarkerRefs, _ as createEventBusSliceSource, _n as hydrateSchema, _t as ProfileSlotStatusSchema, a as asJsonArray, an as isSecretRef, at as AudioStreamPickSchema, b as createSliceHandle, bn as classifySecretWrite, bt as SubscribeAudioChunksInputSchema, c as asString, cn as normalizeNodeId, ct as CAM_PROFILE_ORDER, d as parseJsonUnknown, dn as emitReadiness, dt as CamStreamResolutionSchema, en as SECRET_REF_SCHEME, et as ReadinessTimeoutError, f as hfModelUrl, fn as isEvent, ft as CameraStreamSchema, g as createDeviceProxy, gn as collectHydratedFieldValues, gt as ProfileSlotSchema, h as isDeviceScopedCap, hn as collectHydratedFieldEntries, ht as ProfileRtspEntrySchema, i as asBoolean, in as globalSecretScope, it as AudioChunkFormatSchema, j as DEVICE_CHILDREN_BATCH_MAX, jn as isSecretConfigField, jt as forgetKnownSecret, k as deviceOpsCapability, kn as collectSecretConfigKeys, kt as MIN_SCRUBBED_LENGTH, l as parseJsonArray, ln as createDurableState, lt as CamProfileSchema, m as DEVICE_SCOPED_CAPS, mn as WELL_KNOWN_TAB_MAP, mt as FrameHandleSchema, n as sleepCancellable, nn as buildSecretRef, nt as readinessKey, o as asJsonObject, on as normalizeSecretOwner, ot as BrokerStatsSchema, p as BOOT_RECOVERY_BACKOFF_MS, pn as WELL_KNOWN_TABS, pt as DecodedAudioChunkSchema, q as systemMethod, qt as parseSecretStatePath, r as maskUrlCredentials, rn as formatSecretScope, rt as scopeKey, s as asNumber, sn as parseSecretRef, st as BrokerStatusSchema, t as sleep, tn as arrayItemFieldPath, tt as emitDownForOwnedCaps, u as parseJsonObject, un as createEvent, ut as CamStreamKindSchema, v as createLazyTrpcSource, vn as resolveHydratedFieldValue, vt as StreamSourceEntrySchema, w as DEFAULT_TOKEN_EXPIRY, wn as isSecretMarkerLike, wt as parseProfileBrokerId, x as SECRET_META, xn as isSecretClear, xt as SubscribeAudioChunksResultSchema, y as createMirrorSource, yn as SECRET_CLEAR, yt as StreamSourceSchema, z as DEVICE_STATUS_METHOD, zt as PEER_BYTES_TICKET_TTL_MS } from "./sleep-vWTnHq9G.mjs";
2
2
  import { i as publicEventCategories, n as OWNER_ONLY_EVENT_CATEGORIES, r as isOwnerOnlyEventCategory, t as EventCategory } from "./event-category-C4hVnRo8.mjs";
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-Bzr7GwgP.mjs";
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-C-WpVYTX.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-DX6i_MY4.mjs";
6
6
  import { EventSourceType } from "./enums.mjs";
@@ -5851,14 +5851,6 @@ function describeRootSupplies(supplies) {
5851
5851
  }
5852
5852
  //#endregion
5853
5853
  //#region src/types/models.ts
5854
- var MODEL_FORMATS = [
5855
- "onnx",
5856
- "coreml",
5857
- "openvino",
5858
- "tflite",
5859
- "pt",
5860
- "gguf"
5861
- ];
5862
5854
  /**
5863
5855
  * Multi-file format payload.
5864
5856
  *
@@ -51829,65 +51821,6 @@ function stateVocabularyFor(runtimeState, alarmStates = []) {
51829
51821
  return [];
51830
51822
  }
51831
51823
  //#endregion
51832
- //#region src/constants.ts
51833
- var HF_REPO = "camstack/camstack-models";
51834
- var HF_BASE_URL = `https://huggingface.co/${HF_REPO}/resolve/main`;
51835
- /**
51836
- * The ONE default session-JWT lifetime.
51837
- *
51838
- * There used to be three, and they disagreed: the `system-config` schema said
51839
- * `30d`, `RUNTIME_DEFAULTS['auth.tokenExpiry']` said `7d`, and
51840
- * `AuthManager.signToken` hardcoded `30d` as its own fallback. Because the
51841
- * production signer (`AuthService extends AuthManager`, wired to
51842
- * `ConfigManager`) resolves through `RUNTIME_DEFAULTS` BEFORE it can ever
51843
- * reach the hardcoded fallback, the value actually in force was `7d` while
51844
- * every surface an operator could read advertised `30d`.
51845
- *
51846
- * `30d` is the value the product documents and the one an operator decided on
51847
- * (2026-07-17: the viewer's silent refresh rotates tokens long before expiry,
51848
- * so a long lifetime only covers devices left unopened for weeks). It is
51849
- * declared here once and imported by the schema, by the runtime defaults and
51850
- * by the signer's fallback — a second default that disagrees with the first is
51851
- * the same defect in miniature.
51852
- */
51853
- var DEFAULT_TOKEN_EXPIRY = "30d";
51854
- /**
51855
- * Runtime defaults -- used by ConfigManager.get() for backward compatibility
51856
- * until Plan B wires all runtime settings to the system_settings SQL table.
51857
- *
51858
- * Moved from @camstack/system/config-schema to @camstack/types so that
51859
- * @camstack/system can reference it without a cross-package kernel import.
51860
- */
51861
- var RUNTIME_DEFAULTS = {
51862
- "features.streaming": true,
51863
- "features.notifications": true,
51864
- "features.objectDetection": false,
51865
- "features.remoteAccess": true,
51866
- "features.agentCluster": false,
51867
- "features.smartHome": true,
51868
- "features.recordings": true,
51869
- "features.backup": true,
51870
- "features.repl": true,
51871
- "retention.detectionEventsDays": 30,
51872
- "retention.audioLevelsDays": 7,
51873
- "logging.level": "info",
51874
- "logging.retentionDays": 30,
51875
- "eventBus.ringBufferSize": 1e4,
51876
- "storage.provider": "sqlite-storage",
51877
- "storage.locations": {
51878
- data: "camstack-data/data",
51879
- media: "camstack-data/media",
51880
- recordings: "camstack-data/recordings",
51881
- cache: "/tmp/camstack-cache",
51882
- logs: "camstack-data/logs",
51883
- models: "camstack-data/models"
51884
- },
51885
- providers: [],
51886
- "ffmpeg.hwAccel": "auto",
51887
- "ffmpeg.threadCount": 0,
51888
- "auth.tokenExpiry": "30d"
51889
- };
51890
- //#endregion
51891
51824
  //#region src/device/accessory.ts
51892
51825
  /**
51893
51826
  * Accessory device helpers — shared across drivers.
@@ -78346,86 +78279,6 @@ function setNestedValue(obj, path, value) {
78346
78279
  current[parts[parts.length - 1]] = value;
78347
78280
  }
78348
78281
  //#endregion
78349
- //#region src/utils/hf-url.ts
78350
- function hfModelUrl(repo, path) {
78351
- return `https://huggingface.co/${repo}/resolve/main/${path}`;
78352
- }
78353
- //#endregion
78354
- //#region src/utils/mask-url.ts
78355
- /**
78356
- * Names that, when used as URL query parameters, almost certainly carry
78357
- * a secret. Matching is case-insensitive and anchored to the full param
78358
- * name to avoid false positives like `user_id` (an entity reference, not
78359
- * a credential) or `topic=password-reset` (a value happens to contain
78360
- * the substring "password" but the param name is unrelated).
78361
- *
78362
- * Add new patterns here as we encounter cameras/APIs that leak through
78363
- * the existing list.
78364
- */
78365
- var CREDENTIAL_PARAM_PATTERNS = [
78366
- /^user$/i,
78367
- /^usr$/i,
78368
- /^username$/i,
78369
- /^password$/i,
78370
- /^pwd$/i,
78371
- /^pass$/i,
78372
- /^passwd$/i,
78373
- /^secret$/i,
78374
- /^token$/i,
78375
- /^auth$/i,
78376
- /^auth[_-]?token$/i,
78377
- /^bearer$/i,
78378
- /^api[_-]?key$/i,
78379
- /^access[_-]?token$/i,
78380
- /^refresh[_-]?token$/i,
78381
- /^bridge$/i,
78382
- /^code$/i,
78383
- /^state$/i,
78384
- /^challenge$/i,
78385
- /^link$/i
78386
- ];
78387
- function isCredentialParam(name) {
78388
- return CREDENTIAL_PARAM_PATTERNS.some((re) => re.test(name));
78389
- }
78390
- /**
78391
- * Redact secrets we may surface in logs or telemetry:
78392
- * 1. `userinfo` (`user:password@host`) — the classic RTSP shape.
78393
- * 2. Query-string credential params (`?user=...&password=...`) — the
78394
- * Reolink RTMP shape and several HTTP-pushed-stream APIs.
78395
- *
78396
- * Returns the original string verbatim when the input is not a parseable
78397
- * URL — a log helper must never throw. Param values are replaced with
78398
- * `***` so an operator reading logs still sees WHICH credential was
78399
- * present (useful for debugging "wrong password" issues) without
78400
- * exposing the value.
78401
- *
78402
- * The credential-name match is case-insensitive but anchored to the
78403
- * whole param name; values like `user_id=42` or `topic=password-reset`
78404
- * are NOT masked (those are entity references, not credentials).
78405
- */
78406
- function maskUrlCredentials(rawUrl) {
78407
- if (rawUrl.startsWith("/") && !rawUrl.startsWith("//")) {
78408
- const masked = maskUrlCredentials(`http://relative.invalid${rawUrl}`);
78409
- return masked.startsWith("http://relative.invalid") ? masked.slice(23) : rawUrl;
78410
- }
78411
- try {
78412
- const u = new URL(rawUrl);
78413
- let touched = false;
78414
- if (u.username || u.password) {
78415
- u.username = "";
78416
- u.password = "";
78417
- touched = true;
78418
- }
78419
- for (const key of Array.from(u.searchParams.keys())) if (isCredentialParam(key)) {
78420
- u.searchParams.set(key, "***");
78421
- touched = true;
78422
- }
78423
- return touched ? u.toString() : rawUrl;
78424
- } catch {
78425
- return rawUrl;
78426
- }
78427
- }
78428
- //#endregion
78429
78282
  //#region src/utils/pool-memory-watchdog.ts
78430
78283
  var MB = 1024 * 1024;
78431
78284
  var DEFAULT_POOL_MEMORY_POLICY = {
@@ -79135,7 +78988,7 @@ var RUNTIMES = [
79135
78988
  value: "cuda",
79136
78989
  label: "CUDA"
79137
78990
  });
79138
- if (hw.gpu?.type === "amd") out.push({
78991
+ if (hw.gpu?.type === "amd" && hw.platform === "linux") out.push({
79139
78992
  value: "webgpu",
79140
78993
  label: "WebGPU (AMD iGPU)"
79141
78994
  });
@@ -79272,7 +79125,7 @@ function scoreRuntimes(hw) {
79272
79125
  });
79273
79126
  }
79274
79127
  if (hw.gpu?.type === "amd") {
79275
- scores.push({
79128
+ if (hw.platform === "linux") scores.push({
79276
79129
  runtime: "python",
79277
79130
  backend: "onnx",
79278
79131
  format: "onnx",
package/dist/node.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export type { PlatformInfo } from './deps/binary-downloader.js';
2
2
  export { buildBinaryPath, downloadBinary, ensureBinary, findInPath, getPlatformInfo, } from './deps/binary-downloader.js';
3
3
  export { ensureFfmpeg } from './deps/ffmpeg-downloader.js';
4
+ export type { OwnerOnlyDeps } from './util/owner-only-file.js';
5
+ export { icaclsArgs, mkdirOwnerOnlySync, OwnerOnlyError, restrictDirToOwnerSync, restrictFileToOwnerSync, writeOwnerOnlyFileSync, } from './util/owner-only-file.js';
4
6
  export { FFMPEG_RELEASE, getFfmpegArtifact, getFfmpegDownloadUrl } from './deps/ffmpeg-artifacts.js';
5
7
  export { probeFfmpegBinary, parseFfmpegCapabilities, type FfmpegBinaryCapabilities, } from './ffmpeg/binary-capabilities.js';
6
8
  export { ensurePython, getPythonDownloadUrl, installPythonPackages, installPythonRequirements, PYTHON_VERSION, } from './deps/python-downloader.js';