@camstack/types 1.2.375 → 1.2.377
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 +21 -7
- package/dist/addon.js +14 -2
- package/dist/addon.mjs +14 -2
- package/dist/capabilities/climate-control.cap.d.ts +9 -0
- package/dist/capabilities/index.d.ts +3 -1
- package/dist/capabilities/keychain-admin.cap.d.ts +16 -0
- package/dist/capabilities/storage-admin.cap.d.ts +76 -0
- package/dist/client.js +1 -0
- package/dist/client.mjs +1 -0
- package/dist/{composition-DIp0uE_b.js → composition-CUAOHZ38.js} +1 -1
- package/dist/{composition-EQ9Ok0Ee.mjs → composition-DOwQB_Ua.mjs} +1 -1
- package/dist/device/device-type.d.ts +3 -0
- package/dist/{err-msg-DLerKiVO.mjs → err-msg--2RrYiLO.mjs} +3 -0
- package/dist/{err-msg-Ls8Q6dHO.js → err-msg-Bb-s4Xuj.js} +3 -0
- package/dist/generated/addon-api.d.ts +29 -0
- package/dist/generated/addon-cap-facts.d.ts +1 -1
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +144 -3
- package/dist/index.mjs +140 -4
- package/dist/interfaces/addon.d.ts +7 -11
- package/dist/node.js +2 -2
- package/dist/node.mjs +2 -2
- package/dist/{sleep-rqlHXgwb.js → sleep-Dq0Uyeh0.js} +121 -23
- package/dist/{sleep-DRqxtc0C.mjs → sleep-bwsTj221.mjs} +116 -24
- package/package.json +1 -1
|
@@ -457,18 +457,32 @@ export declare abstract class BaseAddon<TConfig extends object = Record<string,
|
|
|
457
457
|
/** Re-resolve the config (a keychain-only change, or a retry) and apply it. */
|
|
458
458
|
private scheduleSecretReresolve;
|
|
459
459
|
/**
|
|
460
|
-
* Wrap `ctx.settings.readAddonStore()` with a
|
|
461
|
-
*
|
|
462
|
-
* swap, or any race where the SqliteSettingsBackend is between shutdown and
|
|
463
|
-
* re-initialize) doesn't propagate up into `initialize()` and leave the
|
|
460
|
+
* Wrap `ctx.settings.readAddonStore()` with a retry budget so a transient
|
|
461
|
+
* settings-store outage doesn't propagate up into `initialize()` and leave the
|
|
464
462
|
* addon permanently broken.
|
|
465
463
|
*
|
|
466
|
-
*
|
|
467
|
-
*
|
|
468
|
-
* `
|
|
464
|
+
* Two kinds of outage, two budgets:
|
|
465
|
+
* - the store's own restart fingerprints (`SqliteSettingsBackend not
|
|
466
|
+
* initialized`, `provider not available`): a short budget, then the addon
|
|
467
|
+
* falls back to `{}` (defaults) - its first successful patch rehydrates;
|
|
468
|
+
* - a TRANSPORT failure (the hub is restarting while this runner boots:
|
|
469
|
+
* `discovery deadline exceeded`, `parent could not route`, a refused or
|
|
470
|
+
* timed-out connection). Since D870 a runner's settings read THROWS instead
|
|
471
|
+
* of answering `{}`, so without a budget a hub restart ends in a respawn
|
|
472
|
+
* loop. A long, bounded budget; only after it the error propagates - the
|
|
473
|
+
* addon never runs on defaults for a store it could not ask.
|
|
474
|
+
* Anything else propagates immediately so real bugs surface.
|
|
469
475
|
*/
|
|
470
476
|
private readAddonStoreWithRetry;
|
|
471
477
|
}
|
|
478
|
+
/**
|
|
479
|
+
* Is a settings read failure worth retrying, and with which budget? Only
|
|
480
|
+
* EXPLICIT signals count: a socket error code, a tRPC "unavailable" code, or
|
|
481
|
+
* one of the exact phrases our own transport raises. A message that merely
|
|
482
|
+
* contains "timed out" or "unreachable" is not evidence of anything, and
|
|
483
|
+
* `settings store not wired` is a wiring bug that retrying cannot fix.
|
|
484
|
+
*/
|
|
485
|
+
export declare function classifyStoreError(err: unknown): 'restart' | 'transport' | 'permanent';
|
|
472
486
|
/**
|
|
473
487
|
* Normalize an `ICamstackAddon.initialize()` return value into the
|
|
474
488
|
* `AddonInitResult` envelope. Arrays are wrapped into `{ providers }`;
|
package/dist/addon.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
2
|
+
const require_sleep = require("./sleep-Dq0Uyeh0.js");
|
|
3
3
|
const require_event_category = require("./event-category-T43rdQWR.js");
|
|
4
|
-
const require_err_msg = require("./err-msg-
|
|
4
|
+
const require_err_msg = require("./err-msg-Bb-s4Xuj.js");
|
|
5
5
|
//#region src/generated/cap-input-defaults.ts
|
|
6
6
|
/**
|
|
7
7
|
* AUTO-GENERATED by scripts/generate-cap-input-defaults.ts — DO NOT EDIT.
|
|
@@ -771,6 +771,18 @@ var CAP_STATE_LEAVES = Object.freeze({
|
|
|
771
771
|
{
|
|
772
772
|
"path": "swingHorizontal",
|
|
773
773
|
"valueType": "boolean"
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
"path": "minTemp",
|
|
777
|
+
"valueType": "number"
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"path": "maxTemp",
|
|
781
|
+
"valueType": "number"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"path": "tempStep",
|
|
785
|
+
"valueType": "number"
|
|
774
786
|
}
|
|
775
787
|
],
|
|
776
788
|
"color": [
|
package/dist/addon.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { An as
|
|
1
|
+
import { $t as normalizeAddonInitResult, An as isSecretFieldView, Bt as registerKnownSecret, D as collectZodSecretPaths, Dn as SECRET_CLEAR, F as viewerUiCapability, Ft as createSecretsAccess, Gt as PEER_BYTES_STALL_MS, Ht as shortSecretRefHash, I as DEVICE_CHILDREN_BATCH_MAX, It as MIN_SCRUBBED_LENGTH, Jt as DATAPLANE_SECRET_HEADER, Kt as PEER_BYTES_TICKET_TTL_MS, Lt as clearKnownSecrets, Mn as isSecretMarkerLike, Nn as makeSecretMarker, Nt as resolveSecretViewsIn, O as isZodSecret, On as classifySecretWrite, P as deviceOpsCapability, Pn as toSecretFieldView, Pt as REVALIDATE_AFTER_MS, Rt as forgetKnownSecret, S as createEventBusSliceSource, Ut as PEER_BYTES_CHUNK_BYTES, V as adminUiCapability, Vt as scrubKnownSecrets, Wt as PEER_BYTES_MAX_OUTSTANDING, Xt as DisposerChain, Y as expandCapMethods, Zt as BaseAddon, _ as readErrorI18n, at as MODEL_FORMATS, b as isDeviceScopedCap, c as asString, cn as SECRET_REF_SCHEME, d as parseJsonUnknown, dn as formatSecretScope, f as hfModelUrl, fn as globalSecretScope, g as ErrorI18nPayloadSchema, hn as parseSecretRef, j as HF_REPO, jn as isSecretMarker, kn as isSecretClear, ln as arrayItemFieldPath, mn as normalizeSecretOwner, nt as nodePin, o as asJsonObject, ot as ReadinessRegistry, p as BOOT_RECOVERY_BACKOFF_MS, pn as isSecretRef, r as maskUrlCredentials, rt as readNodePin, st as ReadinessTimeoutError, t as sleep, un as buildSecretRef, ut as scopeKey, vn as createEvent, x as createDeviceProxy, y as DEVICE_SCOPED_CAPS, yn as emitReadiness, z as describeCustomActions, zt as knownSecretCount } from "./sleep-bwsTj221.mjs";
|
|
2
2
|
import { t as EventCategory } from "./event-category-C4hVnRo8.mjs";
|
|
3
|
-
import { a as DeviceType, t as errMsg } from "./err-msg
|
|
3
|
+
import { a as DeviceType, t as errMsg } from "./err-msg--2RrYiLO.mjs";
|
|
4
4
|
//#region src/generated/cap-input-defaults.ts
|
|
5
5
|
/**
|
|
6
6
|
* AUTO-GENERATED by scripts/generate-cap-input-defaults.ts — DO NOT EDIT.
|
|
@@ -770,6 +770,18 @@ var CAP_STATE_LEAVES = Object.freeze({
|
|
|
770
770
|
{
|
|
771
771
|
"path": "swingHorizontal",
|
|
772
772
|
"valueType": "boolean"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"path": "minTemp",
|
|
776
|
+
"valueType": "number"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"path": "maxTemp",
|
|
780
|
+
"valueType": "number"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"path": "tempStep",
|
|
784
|
+
"valueType": "number"
|
|
773
785
|
}
|
|
774
786
|
],
|
|
775
787
|
"color": [
|
|
@@ -73,6 +73,9 @@ export declare const ClimateControlStatusSchema: z.ZodObject<{
|
|
|
73
73
|
currentHumidity: z.ZodNullable<z.ZodNumber>;
|
|
74
74
|
swingVertical: z.ZodNullable<z.ZodBoolean>;
|
|
75
75
|
swingHorizontal: z.ZodNullable<z.ZodBoolean>;
|
|
76
|
+
minTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
77
|
+
maxTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
78
|
+
tempStep: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
76
79
|
lastFetchedAt: z.ZodNumber;
|
|
77
80
|
}, z.core.$strip>;
|
|
78
81
|
export type ClimateControlStatus = z.infer<typeof ClimateControlStatusSchema>;
|
|
@@ -157,6 +160,9 @@ export declare const climateControlCapability: {
|
|
|
157
160
|
currentHumidity: z.ZodNullable<z.ZodNumber>;
|
|
158
161
|
swingVertical: z.ZodNullable<z.ZodBoolean>;
|
|
159
162
|
swingHorizontal: z.ZodNullable<z.ZodBoolean>;
|
|
163
|
+
minTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
164
|
+
maxTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
165
|
+
tempStep: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
160
166
|
lastFetchedAt: z.ZodNumber;
|
|
161
167
|
}, z.core.$strip>;
|
|
162
168
|
readonly kind: 'push';
|
|
@@ -197,6 +203,9 @@ export declare const climateControlCapability: {
|
|
|
197
203
|
currentHumidity: z.ZodNullable<z.ZodNumber>;
|
|
198
204
|
swingVertical: z.ZodNullable<z.ZodBoolean>;
|
|
199
205
|
swingHorizontal: z.ZodNullable<z.ZodBoolean>;
|
|
206
|
+
minTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
207
|
+
maxTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
208
|
+
tempStep: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
200
209
|
lastFetchedAt: z.ZodNumber;
|
|
201
210
|
}, z.core.$strip>;
|
|
202
211
|
/**
|
|
@@ -45,6 +45,7 @@ export type { CustomModelDescriptor, ICustomModelRegistryProvider, ImportModelBu
|
|
|
45
45
|
export { CustomModelDescriptorSchema, customModelRegistryCapability, ImportModelBundleInputSchema, ImportModelBundleResultSchema, ModelBundleFileSchema, } from './custom-model-registry.cap.js';
|
|
46
46
|
export { type DataStoreEngineInfo, dataStoreProviderCapability, EngineInfoSchema as DataStoreEngineInfoSchema, type IDataStoreProvider, } from './data-store-provider.cap.js';
|
|
47
47
|
export { type ArchiveSqliteSnapshot, ArchiveSqliteSnapshotSchema, DATABASE_SNAPSHOT_PARTIAL_SUFFIX, DATABASE_SNAPSHOT_SUFFIX, DATABASE_SNAPSHOT_TIMEOUT_MS, type DatabaseSnapshotRequest, DatabaseSnapshotRequestSchema, type DatabaseSnapshotResult, DatabaseSnapshotResultSchema, type DatabaseSnapshotTable, DatabaseSnapshotTableSchema, type DatabaseSnapshotTargets, DatabaseSnapshotTargetsSchema, type DatabaseSnapshotWritten, DatabaseSnapshotWrittenSchema, databaseSnapshotCapability, type IDatabaseSnapshotProvider, } from './database-snapshot.cap.js';
|
|
48
|
+
export { type IStorageAdminProvider, STORAGE_ADMIN_MOVED_COLLECTIONS, STORAGE_ADMIN_SCOPED_BASES, type StorageTable, StorageTableSchema, storageAdminCapability, } from './storage-admin.cap.js';
|
|
48
49
|
export { type IKeychainProvider, KEYCHAIN_MAX_REFS_PER_CALL, type KeychainResolveEntry, KeychainResolveEntrySchema, type KeychainResolveResult, KeychainResolveResultSchema, type KeychainSecretMeta, KeychainSecretMetaSchema, type KeychainState, KeychainStateSchema, type KeychainUnavailableReason, KeychainUnavailableReasonSchema, keychainCapability, } from './keychain.cap.js';
|
|
49
50
|
export { type DeviceHistoryStatus, DeviceHistoryStatusSchema, type DeviceHistoryIngestResult, type DeviceHistoryKind, DeviceHistoryKindSchema, type DeviceHistoryQueryPoint, type DeviceHistoryRefusalReason, DeviceHistoryRefusalReasonSchema, type DeviceHistoryResolution, DeviceHistoryResolutionSchema, type DeviceHistorySeriesInfo, type DeviceHistorySubject, DeviceHistorySubjectSchema, type IDeviceHistoryProvider, deviceHistoryCapability, } from './device-history.cap.js';
|
|
50
51
|
export { type DeviceCaStatus, DeviceCaStatusSchema, type DeviceCertificateSettings, DeviceCertificateSettingsSchema, deviceCredentialsCapability, type IDeviceCredentialsProvider, } from './device-credentials.cap.js';
|
|
@@ -290,6 +291,7 @@ import type { coverCapability } from './cover.cap.js';
|
|
|
290
291
|
import type { customModelRegistryCapability } from './custom-model-registry.cap.js';
|
|
291
292
|
import type { dataStoreProviderCapability } from './data-store-provider.cap.js';
|
|
292
293
|
import type { databaseSnapshotCapability } from './database-snapshot.cap.js';
|
|
294
|
+
import type { storageAdminCapability } from './storage-admin.cap.js';
|
|
293
295
|
import type { deviceHistoryCapability } from './device-history.cap.js';
|
|
294
296
|
import type { keychainCapability } from './keychain.cap.js';
|
|
295
297
|
import type { keychainAdminCapability } from './keychain-admin.cap.js';
|
|
@@ -419,6 +421,6 @@ import type { trainingProviderCapability } from './training-provider.cap.js';
|
|
|
419
421
|
import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
|
|
420
422
|
import type { zoneRulesCapability } from './zone-rules.cap.js';
|
|
421
423
|
import type { zonesCapability } from './zones.cap.js';
|
|
422
|
-
type AnyCapability = typeof streamSignalsCapability | typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof storageOccupancyCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof databaseSnapshotCapability | typeof deviceHistoryCapability | typeof keychainCapability | typeof keychainAdminCapability | typeof deviceCredentialsCapability | typeof nodeCertificatesCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof deviceRemovalHookCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceAdminLinkCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof calendarSourceCapability | typeof calendarsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof composerCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof trainingCapability | typeof trainingProviderCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingArchiveCapability | typeof recordingExportCapability | typeof recordingSignalCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof oidcConnectionsCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof cameraGridLayoutCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof recordingOnboardCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability | typeof deviceExtensionCapability;
|
|
424
|
+
type AnyCapability = typeof streamSignalsCapability | typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageMigrationCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof storageOccupancyCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof dataStoreProviderCapability | typeof databaseSnapshotCapability | typeof storageAdminCapability | typeof deviceHistoryCapability | typeof keychainCapability | typeof keychainAdminCapability | typeof deviceCredentialsCapability | typeof nodeCertificatesCapability | typeof logChannelsCapability | typeof logDestinationCapability | typeof loadContributionCapability | typeof failureContributionCapability | typeof deviceRemovalHookCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceAdminLinkCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof calendarSourceCapability | typeof calendarsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof vectorStoreCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof composerCapability | typeof coreBlocksCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof navigationCapability | typeof consumablesCapability | typeof connectionTestCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof trainingCapability | typeof trainingProviderCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingArchiveCapability | typeof recordingExportCapability | typeof recordingSignalCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof oidcConnectionsCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof cameraGridLayoutCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof recordingOnboardCapability | typeof imageSettingsCapability | typeof osdCapability | typeof osdManagerCapability | typeof accessoriesCapability | typeof batteryCapability | typeof networkLinkCapability | typeof buttonCapability | typeof cameraCredentialsCapability | typeof deviceStatusCapability | typeof doorbellCapability | typeof eventEmitterCapability | typeof faceGalleryCapability | typeof featureProbeCapability | typeof intercomCapability | typeof nativeObjectDetectionCapability | typeof plateGalleryCapability | typeof switchCapability | typeof updateCapability | typeof videoclipsCapability | typeof deviceExtensionCapability;
|
|
423
425
|
export type CapabilityName = AnyCapability['name'];
|
|
424
426
|
export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
|
|
@@ -305,6 +305,22 @@ export declare const keychainAdminCapability: {
|
|
|
305
305
|
}, z.core.$strip>, "mutation"> & {
|
|
306
306
|
readonly caller: 'required';
|
|
307
307
|
};
|
|
308
|
+
/**
|
|
309
|
+
* Store a value an operator tool carries over from a retired store at an
|
|
310
|
+
* addon's own ref (`secret://<owner>/<scope>/<path>`) and answer the ref -
|
|
311
|
+
* the D870 migration moves a camera's restream tokens this way, so they
|
|
312
|
+
* never sit in a settings row as plaintext. Audited as the operator; the
|
|
313
|
+
* caller then writes the MARKER of the ref where the value used to be.
|
|
314
|
+
*/
|
|
315
|
+
readonly importSecret: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
316
|
+
ref: z.ZodString;
|
|
317
|
+
value: z.ZodString;
|
|
318
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
319
|
+
ref: z.ZodString;
|
|
320
|
+
version: z.ZodNumber;
|
|
321
|
+
}, z.core.$strip>, "mutation"> & {
|
|
322
|
+
readonly caller: 'required';
|
|
323
|
+
};
|
|
308
324
|
/** Delete refs no owner points at any more. Re-checked here; `unknown` is kept. */
|
|
309
325
|
readonly deleteOrphans: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
310
326
|
refs: z.ZodArray<z.ZodString>;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/** One table of the settings database. */
|
|
4
|
+
export declare const StorageTableSchema: z.ZodObject<{
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
owner: z.ZodNullable<z.ZodString>;
|
|
7
|
+
rows: z.ZodNumber;
|
|
8
|
+
bytes: z.ZodNullable<z.ZodNumber>;
|
|
9
|
+
declaredThisBoot: z.ZodBoolean;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export type StorageTable = z.infer<typeof StorageTableSchema>;
|
|
12
|
+
/**
|
|
13
|
+
* The collections retired by exact name: the D870 ones (their data became keys
|
|
14
|
+
* of the camera's settings) and the three D871 leftovers (the `stats-5m` tables
|
|
15
|
+
* superseded by `stats-5m-v2`, and the unread `vec_object_clip`). No addon
|
|
16
|
+
* declares any of them any more; the engine still refuses one a running addon
|
|
17
|
+
* declared this boot. `dropCollection` may remove these, the
|
|
18
|
+
* per-addon scoped `addon-settings` / `addon-devices` / `sections` tables, and
|
|
19
|
+
* the tables of owners that are no longer installed - nothing else.
|
|
20
|
+
*/
|
|
21
|
+
export declare const STORAGE_ADMIN_MOVED_COLLECTIONS: readonly string[];
|
|
22
|
+
/** The per-addon blob tables a scoped name may carry. */
|
|
23
|
+
export declare const STORAGE_ADMIN_SCOPED_BASES: readonly string[];
|
|
24
|
+
/**
|
|
25
|
+
* storage-admin - the operator's maintenance reach into the settings database:
|
|
26
|
+
* list its tables, drop one that nothing owns any more (D870).
|
|
27
|
+
*
|
|
28
|
+
* Hub-only, internal and `auth: 'admin'` explicitly (`internal` does not gate
|
|
29
|
+
* the mount, see `data-store-provider`). Both methods are LOGGED by the engine
|
|
30
|
+
* with the table and the counts. `dropCollection` is a ONE-SHOT of the D870
|
|
31
|
+
* migration and is marked for removal once the last hub has run it.
|
|
32
|
+
*
|
|
33
|
+
* `listTables` is READ-ONLY: it never creates a table, which `count` and `get`
|
|
34
|
+
* on an undeclared scoped name used to do.
|
|
35
|
+
*/
|
|
36
|
+
export declare const storageAdminCapability: {
|
|
37
|
+
readonly name: 'storage-admin';
|
|
38
|
+
readonly scope: 'system';
|
|
39
|
+
readonly mode: 'singleton';
|
|
40
|
+
readonly internal: true;
|
|
41
|
+
readonly methods: {
|
|
42
|
+
/**
|
|
43
|
+
* Every table of the settings database with its row count and size,
|
|
44
|
+
* optionally only those owned by `ownerPrefix`. Reads only.
|
|
45
|
+
*/
|
|
46
|
+
readonly listTables: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
47
|
+
ownerPrefix: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
49
|
+
tables: z.ZodArray<z.ZodObject<{
|
|
50
|
+
name: z.ZodString;
|
|
51
|
+
owner: z.ZodNullable<z.ZodString>;
|
|
52
|
+
rows: z.ZodNumber;
|
|
53
|
+
bytes: z.ZodNullable<z.ZodNumber>;
|
|
54
|
+
declaredThisBoot: z.ZodBoolean;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
57
|
+
/**
|
|
58
|
+
* Drop one table. REFUSES when an addon declared it since the engine
|
|
59
|
+
* started (a running addon still owns it), when it is an engine or
|
|
60
|
+
* canonical table, when it does not exist, or when its row count is not
|
|
61
|
+
* `expectRows` - the caller states what it believes it is deleting. The
|
|
62
|
+
* engine also refuses anything but `<owner>:(addon-settings|addon-devices|
|
|
63
|
+
* sections)`, the retired collections by name, and tables of owners that
|
|
64
|
+
* are not installed (and refuses when it cannot read the installed list).
|
|
65
|
+
* Removed with the D870 migration script once the last hub ran it.
|
|
66
|
+
*/
|
|
67
|
+
readonly dropCollection: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
68
|
+
collection: z.ZodString;
|
|
69
|
+
expectRows: z.ZodNumber;
|
|
70
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
71
|
+
dropped: z.ZodLiteral<true>;
|
|
72
|
+
rows: z.ZodNumber;
|
|
73
|
+
}, z.core.$strip>, "mutation">;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export type IStorageAdminProvider = InferProvider<typeof storageAdminCapability>;
|
package/dist/client.js
CHANGED
|
@@ -27796,6 +27796,7 @@ function createSystemProxy(api) {
|
|
|
27796
27796
|
listAudit: (input) => dispatch("keychainAdmin", "listAudit", "query", input),
|
|
27797
27797
|
reveal: (input) => dispatch("keychainAdmin", "reveal", "mutation", input),
|
|
27798
27798
|
setSystemSecret: (input) => dispatch("keychainAdmin", "setSystemSecret", "mutation", input),
|
|
27799
|
+
importSecret: (input) => dispatch("keychainAdmin", "importSecret", "mutation", input),
|
|
27799
27800
|
deleteOrphans: (input) => dispatch("keychainAdmin", "deleteOrphans", "mutation", input),
|
|
27800
27801
|
rotateMasterKey: (input) => dispatch("keychainAdmin", "rotateMasterKey", "mutation", input),
|
|
27801
27802
|
purgeRetiredKeys: (input) => dispatch("keychainAdmin", "purgeRetiredKeys", "mutation", input),
|
package/dist/client.mjs
CHANGED
|
@@ -27795,6 +27795,7 @@ function createSystemProxy(api) {
|
|
|
27795
27795
|
listAudit: (input) => dispatch("keychainAdmin", "listAudit", "query", input),
|
|
27796
27796
|
reveal: (input) => dispatch("keychainAdmin", "reveal", "mutation", input),
|
|
27797
27797
|
setSystemSecret: (input) => dispatch("keychainAdmin", "setSystemSecret", "mutation", input),
|
|
27798
|
+
importSecret: (input) => dispatch("keychainAdmin", "importSecret", "mutation", input),
|
|
27798
27799
|
deleteOrphans: (input) => dispatch("keychainAdmin", "deleteOrphans", "mutation", input),
|
|
27799
27800
|
rotateMasterKey: (input) => dispatch("keychainAdmin", "rotateMasterKey", "mutation", input),
|
|
27800
27801
|
purgeRetiredKeys: (input) => dispatch("keychainAdmin", "purgeRetiredKeys", "mutation", input),
|
|
@@ -269,6 +269,9 @@ export declare enum DeviceRole {
|
|
|
269
269
|
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
270
270
|
* real Switch device for UI rendering / export adapters. */
|
|
271
271
|
BinaryHelper = "binary-helper",
|
|
272
|
+
/** A smart plug: a `switch` whose source says it is an outlet (HA
|
|
273
|
+
* `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
|
|
274
|
+
Outlet = "outlet",
|
|
272
275
|
/** Generic motion / occupancy / moving event source. Distinct from
|
|
273
276
|
* the camera accessory PirSensor role: that one is a camera child;
|
|
274
277
|
* this is a standalone HA / 3rd-party motion sensor. */
|
|
@@ -273,6 +273,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
273
273
|
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
274
274
|
* real Switch device for UI rendering / export adapters. */
|
|
275
275
|
DeviceRole["BinaryHelper"] = "binary-helper";
|
|
276
|
+
/** A smart plug: a `switch` whose source says it is an outlet (HA
|
|
277
|
+
* `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
|
|
278
|
+
DeviceRole["Outlet"] = "outlet";
|
|
276
279
|
/** Generic motion / occupancy / moving event source. Distinct from
|
|
277
280
|
* the camera accessory PirSensor role: that one is a camera child;
|
|
278
281
|
* this is a standalone HA / 3rd-party motion sensor. */
|
|
@@ -273,6 +273,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
273
273
|
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
274
274
|
* real Switch device for UI rendering / export adapters. */
|
|
275
275
|
DeviceRole["BinaryHelper"] = "binary-helper";
|
|
276
|
+
/** A smart plug: a `switch` whose source says it is an outlet (HA
|
|
277
|
+
* `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
|
|
278
|
+
DeviceRole["Outlet"] = "outlet";
|
|
276
279
|
/** Generic motion / occupancy / moving event source. Distinct from
|
|
277
280
|
* the camera accessory PirSensor role: that one is a camera child;
|
|
278
281
|
* this is a standalone HA / 3rd-party motion sensor. */
|
|
@@ -117,6 +117,7 @@ import type { settingsStoreCapability } from '../capabilities/settings-store.cap
|
|
|
117
117
|
import type { smtpProviderCapability } from '../capabilities/smtp-provider.cap.js';
|
|
118
118
|
import type { snapshotCapability } from '../capabilities/snapshot.cap.js';
|
|
119
119
|
import type { ssoBridgeCapability } from '../capabilities/sso-bridge.cap.js';
|
|
120
|
+
import type { storageAdminCapability } from '../capabilities/storage-admin.cap.js';
|
|
120
121
|
import type { storageEvictableCapability } from '../capabilities/storage-evictable.cap.js';
|
|
121
122
|
import type { storageMigrationCapability } from '../capabilities/storage-migration.cap.js';
|
|
122
123
|
import type { storageOccupancyCapability } from '../capabilities/storage-occupancy.cap.js';
|
|
@@ -3986,6 +3987,13 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
3986
3987
|
output: z.infer<typeof keychainAdminCapability.methods.setSystemSecret.output>;
|
|
3987
3988
|
meta: object;
|
|
3988
3989
|
}>;
|
|
3990
|
+
importSecret: TRPCMutationProcedure<{
|
|
3991
|
+
input: {
|
|
3992
|
+
[x: string]: unknown;
|
|
3993
|
+
} & z.input<typeof keychainAdminCapability.methods.importSecret.input>;
|
|
3994
|
+
output: z.infer<typeof keychainAdminCapability.methods.importSecret.output>;
|
|
3995
|
+
meta: object;
|
|
3996
|
+
}>;
|
|
3989
3997
|
deleteOrphans: TRPCMutationProcedure<{
|
|
3990
3998
|
input: {
|
|
3991
3999
|
[x: string]: unknown;
|
|
@@ -8812,6 +8820,27 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
8812
8820
|
meta: object;
|
|
8813
8821
|
}>;
|
|
8814
8822
|
}>>;
|
|
8823
|
+
storageAdmin: TRPCBuiltRouter<{
|
|
8824
|
+
ctx: TrpcContext;
|
|
8825
|
+
meta: object;
|
|
8826
|
+
errorShape: AugmentedErrorShape;
|
|
8827
|
+
transformer: true;
|
|
8828
|
+
}, TRPCDecorateCreateRouterOptions<{
|
|
8829
|
+
listTables: TRPCQueryProcedure<{
|
|
8830
|
+
input: {
|
|
8831
|
+
[x: string]: unknown;
|
|
8832
|
+
} & z.input<typeof storageAdminCapability.methods.listTables.input>;
|
|
8833
|
+
output: z.infer<typeof storageAdminCapability.methods.listTables.output>;
|
|
8834
|
+
meta: object;
|
|
8835
|
+
}>;
|
|
8836
|
+
dropCollection: TRPCMutationProcedure<{
|
|
8837
|
+
input: {
|
|
8838
|
+
[x: string]: unknown;
|
|
8839
|
+
} & z.input<typeof storageAdminCapability.methods.dropCollection.input>;
|
|
8840
|
+
output: z.infer<typeof storageAdminCapability.methods.dropCollection.output>;
|
|
8841
|
+
meta: object;
|
|
8842
|
+
}>;
|
|
8843
|
+
}>>;
|
|
8815
8844
|
storageEvictable: TRPCBuiltRouter<{
|
|
8816
8845
|
ctx: TrpcContext;
|
|
8817
8846
|
meta: object;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `ALL_CAPABILITY_DEFINITIONS` (the whole Zod schema graph, ~+100 MB heap per
|
|
6
6
|
* runner). See docs/decisions/adr-0028.md.
|
|
7
7
|
*
|
|
8
|
-
* Coverage: 1 advance-derived caps, 71 caps with
|
|
8
|
+
* Coverage: 1 advance-derived caps, 71 caps with 344 state leaves.
|
|
9
9
|
*/
|
|
10
10
|
/** A bindable scalar in a capability's runtime state. */
|
|
11
11
|
export interface CapStateLeaf {
|
|
@@ -140,6 +140,7 @@ export { smtpProviderCapability } from '../capabilities/smtp-provider.cap.js';
|
|
|
140
140
|
export { snapshotCapability } from '../capabilities/snapshot.cap.js';
|
|
141
141
|
export { ssoBridgeCapability } from '../capabilities/sso-bridge.cap.js';
|
|
142
142
|
export { storageCapability } from '../capabilities/storage.cap.js';
|
|
143
|
+
export { storageAdminCapability } from '../capabilities/storage-admin.cap.js';
|
|
143
144
|
export { storageEvictableCapability } from '../capabilities/storage-evictable.cap.js';
|
|
144
145
|
export { storageMigrationCapability } from '../capabilities/storage-migration.cap.js';
|
|
145
146
|
export { storageOccupancyCapability } from '../capabilities/storage-occupancy.cap.js';
|
|
@@ -315,6 +316,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
315
316
|
readonly snapshot: 'snapshot';
|
|
316
317
|
readonly ssoBridge: 'sso-bridge';
|
|
317
318
|
readonly storage: 'storage';
|
|
319
|
+
readonly storageAdmin: 'storage-admin';
|
|
318
320
|
readonly storageEvictable: 'storage-evictable';
|
|
319
321
|
readonly storageMigration: 'storage-migration';
|
|
320
322
|
readonly storageOccupancy: 'storage-occupancy';
|
|
@@ -503,6 +505,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
503
505
|
readonly snapshot: TRouter;
|
|
504
506
|
readonly ssoBridge: TRouter;
|
|
505
507
|
readonly storage: TRouter;
|
|
508
|
+
readonly storageAdmin: TRouter;
|
|
506
509
|
readonly storageEvictable: TRouter;
|
|
507
510
|
readonly storageMigration: TRouter;
|
|
508
511
|
readonly storageOccupancy: TRouter;
|
|
@@ -536,8 +539,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
536
539
|
readonly zoneRules: TRouter;
|
|
537
540
|
readonly zones: TRouter;
|
|
538
541
|
}
|
|
539
|
-
/** Capability names whose mode is `singleton` (
|
|
540
|
-
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'addon-pages', 'addon-settings', 'addon-widgets', 'addons', 'admin-ui', 'air-quality-sensor', 'alarm-panel', 'alerts', 'ambient-light-sensor', 'audio-analysis', 'audio-analyzer', 'audio-codec', 'audio-metrics', 'automation-control', 'backup', 'battery', 'binary', 'brightness', 'button', 'calendars', 'camera-credentials', 'camera-grid-layout', 'camera-pipeline-config', 'camera-streams', 'carbon-monoxide', 'climate-control', 'color', 'composer', 'connectivity', 'consumables', 'contact', 'control', 'core-blocks', 'cover', 'database-snapshot', 'day-night', 'decoder', 'detection-pipeline', 'device-admin-link', 'device-adoption', 'device-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'metrics-provider', 'model-convert', 'model-distributor', 'motion', 'motion-detection', 'motion-trigger', 'motion-zones', 'native-object-detection', 'navigation', 'network-link', 'network-quality', 'node-certificates', 'nodes', 'notification-rules', 'notifier', 'numeric-sensor', 'oidc-connections', 'osd', 'osd-manager', 'pet-feeder', 'pipeline-analytics', 'pipeline-executor', 'pipeline-orchestrator', 'pipeline-runner', 'plate-gallery', 'platform-probe', 'power-meter', 'presence', 'pressure-sensor', 'privacy-mask', 'ptz', 'ptz-autotrack', 'reboot', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'scene-monitor', 'script-runner', 'server-management', 'settings-store', 'smoke', 'snapshot', 'sso-bridge', 'storage', 'storage-migration', 'stream-broker', 'stream-catalog', 'stream-params', 'stream-signals', 'switch', 'system', 'tamper', 'temperature-sensor', 'terminal-session', 'toast', 'training', 'update', 'user-management', 'vacuum-control', 'valve', 'vector-store', 'vibration', 'viewer-ui', 'water-heater', 'weather', 'webrtc-session', 'zone-analytics', 'zone-rules', 'zones'];
|
|
542
|
+
/** Capability names whose mode is `singleton` (141 caps). */
|
|
543
|
+
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'addon-pages', 'addon-settings', 'addon-widgets', 'addons', 'admin-ui', 'air-quality-sensor', 'alarm-panel', 'alerts', 'ambient-light-sensor', 'audio-analysis', 'audio-analyzer', 'audio-codec', 'audio-metrics', 'automation-control', 'backup', 'battery', 'binary', 'brightness', 'button', 'calendars', 'camera-credentials', 'camera-grid-layout', 'camera-pipeline-config', 'camera-streams', 'carbon-monoxide', 'climate-control', 'color', 'composer', 'connectivity', 'consumables', 'contact', 'control', 'core-blocks', 'cover', 'database-snapshot', 'day-night', 'decoder', 'detection-pipeline', 'device-admin-link', 'device-adoption', 'device-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'metrics-provider', 'model-convert', 'model-distributor', 'motion', 'motion-detection', 'motion-trigger', 'motion-zones', 'native-object-detection', 'navigation', 'network-link', 'network-quality', 'node-certificates', 'nodes', 'notification-rules', 'notifier', 'numeric-sensor', 'oidc-connections', 'osd', 'osd-manager', 'pet-feeder', 'pipeline-analytics', 'pipeline-executor', 'pipeline-orchestrator', 'pipeline-runner', 'plate-gallery', 'platform-probe', 'power-meter', 'presence', 'pressure-sensor', 'privacy-mask', 'ptz', 'ptz-autotrack', 'reboot', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'scene-monitor', 'script-runner', 'server-management', 'settings-store', 'smoke', 'snapshot', 'sso-bridge', 'storage', 'storage-admin', 'storage-migration', 'stream-broker', 'stream-catalog', 'stream-params', 'stream-signals', 'switch', 'system', 'tamper', 'temperature-sensor', 'terminal-session', 'toast', 'training', 'update', 'user-management', 'vacuum-control', 'valve', 'vector-store', 'vibration', 'viewer-ui', 'water-heater', 'weather', 'webrtc-session', 'zone-analytics', 'zone-rules', 'zones'];
|
|
541
544
|
/** Union of singleton capability names (literal string union). */
|
|
542
545
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
543
546
|
/** Capability names whose mode is `collection` (34 caps). */
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 1341 method paths across 175 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -83,7 +83,7 @@ export interface SystemProxy {
|
|
|
83
83
|
readonly deviceState: Pick<InferProvider<typeof deviceStateCapability>, 'getAllSnapshots' | 'listClaims'>;
|
|
84
84
|
readonly faceGallery: Pick<InferProvider<typeof faceGalleryCapability>, 'listIdentities' | 'createIdentity' | 'renameIdentity' | 'deleteIdentity' | 'listIdentitySamples' | 'auditIdentitySamples' | 'removeSample' | 'getFaceMedia' | 'assignFace' | 'unassignFace' | 'deleteFace' | 'assignFaces' | 'unassignFaces' | 'suggestFaceClusters'>;
|
|
85
85
|
readonly integrations: Pick<InferProvider<typeof integrationsCapability>, 'list' | 'get' | 'getByAddonId' | 'create' | 'update' | 'delete' | 'getSettings' | 'setSettings' | 'getAvailableTypes' | 'testConnection'>;
|
|
86
|
-
readonly keychainAdmin: Pick<InferProvider<typeof keychainAdminCapability>, 'status' | 'listSecrets' | 'listAudit' | 'reveal' | 'setSystemSecret' | 'deleteOrphans' | 'rotateMasterKey' | 'purgeRetiredKeys' | 'downloadRecoveryKey' | 'resetKeychain' | 'resetReport' | 'acknowledgeReset'>;
|
|
86
|
+
readonly keychainAdmin: Pick<InferProvider<typeof keychainAdminCapability>, 'status' | 'listSecrets' | 'listAudit' | 'reveal' | 'setSystemSecret' | 'importSecret' | 'deleteOrphans' | 'rotateMasterKey' | 'purgeRetiredKeys' | 'downloadRecoveryKey' | 'resetKeychain' | 'resetReport' | 'acknowledgeReset'>;
|
|
87
87
|
readonly llm: Pick<InferProvider<typeof llmCapability>, 'generate' | 'generateVision' | 'cancel' | 'listProfileKinds' | 'listProfiles' | 'upsertProfile' | 'deleteProfile' | 'testProfile' | 'listModels' | 'getDefaults' | 'setDefault' | 'getUsage' | 'listModelCatalog' | 'listRuntimeNodes' | 'listNodeModels' | 'resolveModelRef' | 'installModel' | 'deleteModel' | 'getRuntimeStatus' | 'startRuntime' | 'stopRuntime'>;
|
|
88
88
|
readonly localNetwork: Pick<InferProvider<typeof localNetworkCapability>, 'list' | 'getPreferred' | 'getConnectionEndpoints' | 'getNotificationEndpoint' | 'setNotificationEndpoint' | 'getViewerEndpoints' | 'setViewerEndpoints' | 'getAddresses' | 'addCustomAddress' | 'removeCustomAddress' | 'setAddressRole' | 'getHubAddresses' | 'getAllowedAddresses' | 'setAllowedAddresses' | 'resetAllowlistToBestMatch' | 'getTlsStatus' | 'regenerateCertificate' | 'uploadCertificate' | 'downloadCa' | 'useStoredUploadedCertificate' | 'revertToGeneratedCertificate'>;
|
|
89
89
|
readonly meshNetwork: Pick<InferProvider<typeof meshNetworkCapability>, 'getStatus' | 'join' | 'startLogin' | 'leave' | 'logout' | 'listPeers' | 'testConnection'>;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export * from './audio/audio-chunk-format.js';
|
|
|
2
2
|
export type { EventOwnerType, MediaOwnerKey, MediaOwnerKeyInput, MediaOwnerType, MediaPresenceOwnerKind, } from './media/media-owner-key.js';
|
|
3
3
|
export { EVENT_OWNER_TYPES, EventOwnerTypeSchema, MEDIA_OWNER_TYPES, MEDIA_PRESENCE_OWNER_KINDS, MediaPresenceOwnerKindSchema, formatMediaOwnerKey, isEventOwnerType, isMediaOwnerType, parseMediaOwnerKey, } from './media/media-owner-key.js';
|
|
4
4
|
export type { CapabilitiesAccess } from './addon/base-addon.js';
|
|
5
|
-
export { BaseAddon, normalizeAddonInitResult } from './addon/base-addon.js';
|
|
5
|
+
export { BaseAddon, classifyStoreError, normalizeAddonInitResult } from './addon/base-addon.js';
|
|
6
6
|
export { normalizeNodeId } from './addon/per-node-store.js';
|
|
7
7
|
export type { AddonRouteInvokeRequest, AddonRouteReplyEnvelope, } from './addon/build-addon-route-provider.js';
|
|
8
8
|
export { buildAddonRouteProvider } from './addon/build-addon-route-provider.js';
|