@camstack/types 1.2.437 → 1.2.439
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/addon.js +2 -2
- package/dist/addon.mjs +2 -2
- package/dist/capabilities/alerts.cap.d.ts +36 -0
- package/dist/capabilities/index.d.ts +3 -1
- package/dist/capabilities/ir-transmitter.cap.d.ts +84 -0
- package/dist/capabilities/pet-feeder.cap.d.ts +12 -0
- package/dist/client.js +5 -0
- package/dist/client.mjs +5 -0
- package/dist/{composition-WNkEpwkF.js → composition-DCmtFE-X.js} +1 -1
- package/dist/{composition-DwA0uVW5.mjs → composition-DpFv_J6D.mjs} +1 -1
- package/dist/device/cap-vocabulary/entries/actuators.d.ts +1 -1
- package/dist/device/device-type.d.ts +4 -1
- package/dist/{err-msg-DIorGYeC.mjs → err-msg-BCdlR2Li.mjs} +3 -0
- package/dist/{err-msg-U7lLUMNz.js → err-msg-COHgq7Mb.js} +3 -0
- package/dist/generated/addon-api.d.ts +22 -0
- package/dist/generated/addon-cap-facts.d.ts +1 -1
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/device-proxy.d.ts +2 -0
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +320 -5
- package/dist/index.mjs +308 -6
- package/dist/ir/index.d.ts +5 -0
- package/dist/ir/ir-error.d.ts +6 -0
- package/dist/ir/ir-payload.d.ts +23 -0
- package/dist/ir/ir-timings.d.ts +17 -0
- package/dist/ir/pronto.d.ts +10 -0
- package/dist/ir/smartir.d.ts +31 -0
- package/dist/node.js +2 -2
- package/dist/node.mjs +2 -2
- package/dist/{sleep-Crlmu_tO.mjs → sleep-BAvUCi_2.mjs} +13 -1
- package/dist/{sleep-DHitF_e4.js → sleep-g6ZjBHBL.js} +13 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.439] - 2026-10-28
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- An alert action can now run an addon's custom action as well as link to a page
|
|
15
|
+
|
|
16
|
+
## [1.2.438] - 2026-10-28
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- A pet feeder shows whether it runs on mains or on its battery
|
|
21
|
+
- Pure IR/RF codecs: pulse-train and transmit-settings schemas, Pronto decoding and SmartIR media_player import.
|
|
22
|
+
- Added the ir-transmitter capability: send an infrared or RF pulse train with per-call settings.
|
|
23
|
+
|
|
10
24
|
## [1.2.437] - 2026-10-28
|
|
11
25
|
|
|
12
26
|
### Changed
|
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-g6ZjBHBL.js");
|
|
3
3
|
const require_event_category = require("./event-category-E17zaHjN.js");
|
|
4
|
-
const require_err_msg = require("./err-msg-
|
|
4
|
+
const require_err_msg = require("./err-msg-COHgq7Mb.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.
|
package/dist/addon.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as expandCapMethods, $n as REVALIDATE_AFTER_MS, $r as isSecretMarker, $t as RecordFieldPathSchema, A as HF_REPO, An as RecordUniqueViolationError, Ar as buildSecretRef, B as withoutCallerStamp, Bn as RECORD_CLASSES, C as addonSliceHandleApi, Cn as InvalidRecordError, Dn as RecordNotFoundError, En as RECORDS_ERROR_CODES, Fn as UnknownRecordKindError, Fr as parseSecretRef, G as adminUiCapability, Gn as RECORD_MAX_DATA_BYTES, Hn as RECORD_DEFAULT_MAX_DATA_BYTES, I as deviceOpsCapability, In as asRecordsError, Jn as RECORD_QUERY_MAX, Jt as defineEntryKind, Kn as RECORD_MAX_INDEXES, L as viewerUiCapability, Ln as recordsErrorFromMessage, M as CAP_ADVANCE_FIELDS, Mn as RevConflictError, Mr as globalSecretScope, Nn as TransactRefusedError, Nr as isSecretRef, On as RecordSecretUnavailableError, Or as SECRET_REF_SCHEME, P as CAP_STATE_LEAVES, Pn as UnindexedFilterError, Pr as normalizeSecretOwner, Qn as resolveSecretViewsIn, Qr as isSecretFieldView, Qt as EntryDescriptorSchema, R as DEVICE_CHILDREN_BATCH_MAX, Rn as RECORD_BATCH_MAX, Rr as createEvent, Sn as ForeignSecretMarkerError, Tn as PlaintextSecretError, U as describeCustomActions, Un as RECORD_DELETE_BATCH, Vn as RECORD_DATABASES, Wn as RECORD_ID_MAX_LENGTH, Xn as RECORD_SETTINGS_MAX_ROWS, Xr as classifySecretWrite, Xt as createRecordsAccess, Yn as RECORD_SECRET_COLLECTION_PREFIX, Yr as SECRET_CLEAR, Yt as entryBody, Zn as RECORD_SWEEP_INTERVAL_MS, Zr as isSecretClear, Zt as assertTransactScope, _ as readErrorI18n, _n as collectZodSecretPaths, an as assertValidDeclaration, ar as registerKnownSecret, b as isDeviceScopedCap, bn as DeclarationRefusedError, c as asString, cn as REMOVE_LEAF, cr as PEER_BYTES_CHUNK_BYTES, ct as readNodePin, d as parseJsonUnknown, dn as parseSecretPath, dr as PEER_BYTES_TICKET_TTL_MS, dt as ReadinessRegistry, ei as isSecretMarkerLike, en as RecordIndexSchema, er as createSecretsAccess, f as hfModelUrl, fn as recordArrayItemPath, ft as ReadinessTimeoutError, g as ErrorI18nPayloadSchema, gr as BaseAddon, hn as secretArrayPrefixes, hr as DisposerChain, ht as scopeKey, in as StoredRecordKindDeclarationSchema, ir as knownSecretCount, jn as RecordsError, jr as formatSecretScope, kn as RecordTooLargeError, kr as arrayItemFieldPath, ln as collectSecretLeaves, lr as PEER_BYTES_MAX_OUTSTANDING, mn as recordSecretRef, ni as toSecretFieldView, nn as RecordKindNameSchema, nr as clearKnownSecrets, o as asJsonObject, on as declarationsOf, or as scrubKnownSecrets, p as BOOT_RECOVERY_BACKOFF_MS, pn as recordSecretCollection, pr as DATAPLANE_SECRET_HEADER, qn as RECORD_MAX_INDEX_FIELDS, qt as makeInMemoryRecords, r as maskUrlCredentials, rn as RecordRetentionSchema, rr as forgetKnownSecret, sn as defineRecordKinds, sr as shortSecretRefHash, st as nodePin, t as sleep, ti as makeSecretMarker, tn as RecordKindDeclarationSchema, tr as MIN_SCRUBBED_LENGTH, un as mapSecretLeaves, ur as PEER_BYTES_STALL_MS, ut as MODEL_FORMATS, vn as isZodSecret, vr as normalizeAddonInitResult, w as createEventBusSliceSource, wn as NoCallerError, x as createDeviceProxy, xn as FilterRequiredError, y as DEVICE_SCOPED_CAPS, yn as BatchTooLargeError, z as CALLER_STAMPED_CAPABILITIES, zn as RECORD_BATCH_MAX_BYTES, zr as emitReadiness } from "./sleep-
|
|
1
|
+
import { $ as expandCapMethods, $n as REVALIDATE_AFTER_MS, $r as isSecretMarker, $t as RecordFieldPathSchema, A as HF_REPO, An as RecordUniqueViolationError, Ar as buildSecretRef, B as withoutCallerStamp, Bn as RECORD_CLASSES, C as addonSliceHandleApi, Cn as InvalidRecordError, Dn as RecordNotFoundError, En as RECORDS_ERROR_CODES, Fn as UnknownRecordKindError, Fr as parseSecretRef, G as adminUiCapability, Gn as RECORD_MAX_DATA_BYTES, Hn as RECORD_DEFAULT_MAX_DATA_BYTES, I as deviceOpsCapability, In as asRecordsError, Jn as RECORD_QUERY_MAX, Jt as defineEntryKind, Kn as RECORD_MAX_INDEXES, L as viewerUiCapability, Ln as recordsErrorFromMessage, M as CAP_ADVANCE_FIELDS, Mn as RevConflictError, Mr as globalSecretScope, Nn as TransactRefusedError, Nr as isSecretRef, On as RecordSecretUnavailableError, Or as SECRET_REF_SCHEME, P as CAP_STATE_LEAVES, Pn as UnindexedFilterError, Pr as normalizeSecretOwner, Qn as resolveSecretViewsIn, Qr as isSecretFieldView, Qt as EntryDescriptorSchema, R as DEVICE_CHILDREN_BATCH_MAX, Rn as RECORD_BATCH_MAX, Rr as createEvent, Sn as ForeignSecretMarkerError, Tn as PlaintextSecretError, U as describeCustomActions, Un as RECORD_DELETE_BATCH, Vn as RECORD_DATABASES, Wn as RECORD_ID_MAX_LENGTH, Xn as RECORD_SETTINGS_MAX_ROWS, Xr as classifySecretWrite, Xt as createRecordsAccess, Yn as RECORD_SECRET_COLLECTION_PREFIX, Yr as SECRET_CLEAR, Yt as entryBody, Zn as RECORD_SWEEP_INTERVAL_MS, Zr as isSecretClear, Zt as assertTransactScope, _ as readErrorI18n, _n as collectZodSecretPaths, an as assertValidDeclaration, ar as registerKnownSecret, b as isDeviceScopedCap, bn as DeclarationRefusedError, c as asString, cn as REMOVE_LEAF, cr as PEER_BYTES_CHUNK_BYTES, ct as readNodePin, d as parseJsonUnknown, dn as parseSecretPath, dr as PEER_BYTES_TICKET_TTL_MS, dt as ReadinessRegistry, ei as isSecretMarkerLike, en as RecordIndexSchema, er as createSecretsAccess, f as hfModelUrl, fn as recordArrayItemPath, ft as ReadinessTimeoutError, g as ErrorI18nPayloadSchema, gr as BaseAddon, hn as secretArrayPrefixes, hr as DisposerChain, ht as scopeKey, in as StoredRecordKindDeclarationSchema, ir as knownSecretCount, jn as RecordsError, jr as formatSecretScope, kn as RecordTooLargeError, kr as arrayItemFieldPath, ln as collectSecretLeaves, lr as PEER_BYTES_MAX_OUTSTANDING, mn as recordSecretRef, ni as toSecretFieldView, nn as RecordKindNameSchema, nr as clearKnownSecrets, o as asJsonObject, on as declarationsOf, or as scrubKnownSecrets, p as BOOT_RECOVERY_BACKOFF_MS, pn as recordSecretCollection, pr as DATAPLANE_SECRET_HEADER, qn as RECORD_MAX_INDEX_FIELDS, qt as makeInMemoryRecords, r as maskUrlCredentials, rn as RecordRetentionSchema, rr as forgetKnownSecret, sn as defineRecordKinds, sr as shortSecretRefHash, st as nodePin, t as sleep, ti as makeSecretMarker, tn as RecordKindDeclarationSchema, tr as MIN_SCRUBBED_LENGTH, un as mapSecretLeaves, ur as PEER_BYTES_STALL_MS, ut as MODEL_FORMATS, vn as isZodSecret, vr as normalizeAddonInitResult, w as createEventBusSliceSource, wn as NoCallerError, x as createDeviceProxy, xn as FilterRequiredError, y as DEVICE_SCOPED_CAPS, yn as BatchTooLargeError, z as CALLER_STAMPED_CAPABILITIES, zn as RECORD_BATCH_MAX_BYTES, zr as emitReadiness } from "./sleep-BAvUCi_2.mjs";
|
|
2
2
|
import { t as EventCategory } from "./event-category-DmZDPDf_.mjs";
|
|
3
|
-
import { a as DeviceType, t as errMsg } from "./err-msg-
|
|
3
|
+
import { a as DeviceType, t as errMsg } from "./err-msg-BCdlR2Li.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.
|
|
@@ -14,9 +14,25 @@ export declare const AlertSeveritySchema: z.ZodEnum<{
|
|
|
14
14
|
success: "success";
|
|
15
15
|
warning: "warning";
|
|
16
16
|
}>;
|
|
17
|
+
/**
|
|
18
|
+
* An action that RUNS something instead of going somewhere: the admin UI calls
|
|
19
|
+
* the addon's custom action (`addons.custom`) with exactly these fields. The
|
|
20
|
+
* producer owns the meaning; the UI knows nothing about the addon or the kind.
|
|
21
|
+
*/
|
|
22
|
+
export declare const AlertActionInvokeSchema: z.ZodObject<{
|
|
23
|
+
addonId: z.ZodString;
|
|
24
|
+
action: z.ZodString;
|
|
25
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
/** An action has `href` (a link) OR `invoke` (a button that runs a custom action). */
|
|
17
28
|
export declare const AlertActionSchema: z.ZodObject<{
|
|
18
29
|
label: z.ZodString;
|
|
19
30
|
href: z.ZodOptional<z.ZodString>;
|
|
31
|
+
invoke: z.ZodOptional<z.ZodObject<{
|
|
32
|
+
addonId: z.ZodString;
|
|
33
|
+
action: z.ZodString;
|
|
34
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
20
36
|
navigation: z.ZodOptional<z.ZodEnum<{
|
|
21
37
|
app: "app";
|
|
22
38
|
server: "server";
|
|
@@ -48,6 +64,11 @@ export declare const AlertSchema: z.ZodObject<{
|
|
|
48
64
|
action: z.ZodOptional<z.ZodObject<{
|
|
49
65
|
label: z.ZodString;
|
|
50
66
|
href: z.ZodOptional<z.ZodString>;
|
|
67
|
+
invoke: z.ZodOptional<z.ZodObject<{
|
|
68
|
+
addonId: z.ZodString;
|
|
69
|
+
action: z.ZodString;
|
|
70
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
71
|
+
}, z.core.$strip>>;
|
|
51
72
|
navigation: z.ZodOptional<z.ZodEnum<{
|
|
52
73
|
app: "app";
|
|
53
74
|
server: "server";
|
|
@@ -93,6 +114,11 @@ export declare const alertsCapability: {
|
|
|
93
114
|
action: z.ZodOptional<z.ZodObject<{
|
|
94
115
|
label: z.ZodString;
|
|
95
116
|
href: z.ZodOptional<z.ZodString>;
|
|
117
|
+
invoke: z.ZodOptional<z.ZodObject<{
|
|
118
|
+
addonId: z.ZodString;
|
|
119
|
+
action: z.ZodString;
|
|
120
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
121
|
+
}, z.core.$strip>>;
|
|
96
122
|
navigation: z.ZodOptional<z.ZodEnum<{
|
|
97
123
|
app: "app";
|
|
98
124
|
server: "server";
|
|
@@ -132,6 +158,11 @@ export declare const alertsCapability: {
|
|
|
132
158
|
action: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
133
159
|
label: z.ZodString;
|
|
134
160
|
href: z.ZodOptional<z.ZodString>;
|
|
161
|
+
invoke: z.ZodOptional<z.ZodObject<{
|
|
162
|
+
addonId: z.ZodString;
|
|
163
|
+
action: z.ZodString;
|
|
164
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
165
|
+
}, z.core.$strip>>;
|
|
135
166
|
navigation: z.ZodOptional<z.ZodEnum<{
|
|
136
167
|
app: "app";
|
|
137
168
|
server: "server";
|
|
@@ -173,6 +204,11 @@ export declare const alertsCapability: {
|
|
|
173
204
|
action: z.ZodOptional<z.ZodObject<{
|
|
174
205
|
label: z.ZodString;
|
|
175
206
|
href: z.ZodOptional<z.ZodString>;
|
|
207
|
+
invoke: z.ZodOptional<z.ZodObject<{
|
|
208
|
+
addonId: z.ZodString;
|
|
209
|
+
action: z.ZodString;
|
|
210
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
211
|
+
}, z.core.$strip>>;
|
|
176
212
|
navigation: z.ZodOptional<z.ZodEnum<{
|
|
177
213
|
app: "app";
|
|
178
214
|
server: "server";
|
|
@@ -158,6 +158,7 @@ export { type BatteryStatus, BatteryStatusSchema, batteryCapability, type IBatte
|
|
|
158
158
|
export { type BinaryStatus, BinaryStatusSchema, binaryCapability, type IBinaryProvider, } from './binary.cap.js';
|
|
159
159
|
export { type BrightnessStatus, BrightnessStatusSchema, brightnessCapability, type IBrightnessProvider, } from './brightness.cap.js';
|
|
160
160
|
export { buttonCapability, type IButtonProvider } from './button.cap.js';
|
|
161
|
+
export { irTransmitterCapability, TransmitSettingKeySchema, IrMediumSchema, IrSendResultSchema, IrTransmitterInfoSchema, type IIrTransmitterProvider, type TransmitSettingKey, type IrMedium, type IrSendResult, type IrTransmitterInfo, } from './ir-transmitter.cap.js';
|
|
161
162
|
export type { CalendarEvent, CalendarInfo, CalendarListEventsInput, CalendarLocalSpan, CalendarSourceKind, ICalendarSourceProvider, } from './calendar-source.cap.js';
|
|
162
163
|
export { CalendarEventSchema, CalendarInfoSchema, CalendarListEventsInputSchema, CalendarSourceKindSchema, calendarEventLocalSpan, calendarEventOnLocalDay, calendarSourceCapability, } from './calendar-source.cap.js';
|
|
163
164
|
export type { CalendarColor, CalendarEntry, CalendarPreferenceEntry, CalendarPreferences, CalendarSetPreferenceInput, ICalendarsProvider, } from './calendars.cap.js';
|
|
@@ -289,6 +290,7 @@ import type { binaryCapability } from './binary.cap.js';
|
|
|
289
290
|
import type { brightnessCapability } from './brightness.cap.js';
|
|
290
291
|
import type { brokerCapability } from './broker.cap.js';
|
|
291
292
|
import type { buttonCapability } from './button.cap.js';
|
|
293
|
+
import type { irTransmitterCapability } from './ir-transmitter.cap.js';
|
|
292
294
|
import type { calendarSourceCapability } from './calendar-source.cap.js';
|
|
293
295
|
import type { calendarsCapability } from './calendars.cap.js';
|
|
294
296
|
import type { cameraCredentialsCapability } from './camera-credentials.cap.js';
|
|
@@ -449,6 +451,6 @@ import type { trainingProviderCapability } from './training-provider.cap.js';
|
|
|
449
451
|
import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
|
|
450
452
|
import type { zoneRulesCapability } from './zone-rules.cap.js';
|
|
451
453
|
import type { zonesCapability } from './zones.cap.js';
|
|
452
|
-
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 recordsCapability | typeof recordEntriesCapability | 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 runningStateCapability | 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 meterCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof actionSourceCapability | typeof actionsCapability | 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 groupActiveCapability | typeof groupCommandsCapability | typeof groupStatusCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof heatingValveCapability | 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 displayPaletteCapability | 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 | typeof dishwasherCapability;
|
|
454
|
+
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 recordsCapability | typeof recordEntriesCapability | 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 runningStateCapability | 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 meterCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof actionSourceCapability | typeof actionsCapability | 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 groupActiveCapability | typeof groupCommandsCapability | typeof groupStatusCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof heatingValveCapability | 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 displayPaletteCapability | 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 irTransmitterCapability | 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 | typeof dishwasherCapability;
|
|
453
455
|
export type CapabilityName = AnyCapability['name'];
|
|
454
456
|
export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/** The setting keys a transmitter may declare as settable (`getInfo.settable`). */
|
|
5
|
+
export declare const TransmitSettingKeySchema: z.ZodEnum<{
|
|
6
|
+
carrierHz: "carrierHz";
|
|
7
|
+
dutyCyclePercent: "dutyCyclePercent";
|
|
8
|
+
repeat: "repeat";
|
|
9
|
+
repeatDelayMs: "repeatDelayMs";
|
|
10
|
+
}>;
|
|
11
|
+
export type TransmitSettingKey = z.infer<typeof TransmitSettingKeySchema>;
|
|
12
|
+
export declare const IrMediumSchema: z.ZodEnum<{
|
|
13
|
+
ir: "ir";
|
|
14
|
+
rf: "rf";
|
|
15
|
+
}>;
|
|
16
|
+
export type IrMedium = z.infer<typeof IrMediumSchema>;
|
|
17
|
+
export declare const IrSendResultSchema: z.ZodObject<{
|
|
18
|
+
ok: z.ZodLiteral<true>;
|
|
19
|
+
ignoredSettings: z.ZodArray<z.ZodString>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export type IrSendResult = z.infer<typeof IrSendResultSchema>;
|
|
22
|
+
export declare const IrTransmitterInfoSchema: z.ZodObject<{
|
|
23
|
+
media: z.ZodArray<z.ZodEnum<{
|
|
24
|
+
ir: "ir";
|
|
25
|
+
rf: "rf";
|
|
26
|
+
}>>;
|
|
27
|
+
settable: z.ZodArray<z.ZodEnum<{
|
|
28
|
+
carrierHz: "carrierHz";
|
|
29
|
+
dutyCyclePercent: "dutyCyclePercent";
|
|
30
|
+
repeat: "repeat";
|
|
31
|
+
repeatDelayMs: "repeatDelayMs";
|
|
32
|
+
}>>;
|
|
33
|
+
maxTimings: z.ZodNumber;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export type IrTransmitterInfo = z.infer<typeof IrTransmitterInfoSchema>;
|
|
36
|
+
/**
|
|
37
|
+
* ir-transmitter — emit a pulse train (infrared or RF) with settings. One cap
|
|
38
|
+
* for both media: everything medium-specific is a per-call setting, validated
|
|
39
|
+
* against what the transmitter declares in `getInfo`.
|
|
40
|
+
*
|
|
41
|
+
* `send` refuses with a typed user error: `ir-transmitter.offline` (the
|
|
42
|
+
* transmitter cannot be reached) and `ir-transmitter.too-long` (more pulses
|
|
43
|
+
* than the transmitter's `maxTimings`). A setting the transmitter cannot apply
|
|
44
|
+
* is NOT a refusal: the train is sent and the key comes back in
|
|
45
|
+
* `ignoredSettings`.
|
|
46
|
+
*/
|
|
47
|
+
export declare const irTransmitterCapability: {
|
|
48
|
+
readonly name: 'ir-transmitter';
|
|
49
|
+
readonly scope: 'device';
|
|
50
|
+
readonly deviceNative: true;
|
|
51
|
+
readonly mode: 'singleton';
|
|
52
|
+
readonly deviceTypes: readonly [DeviceType.Generic];
|
|
53
|
+
readonly methods: {
|
|
54
|
+
readonly send: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
55
|
+
deviceId: z.ZodNumber;
|
|
56
|
+
timings: z.ZodArray<z.ZodNumber>;
|
|
57
|
+
settings: z.ZodOptional<z.ZodObject<{
|
|
58
|
+
carrierHz: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
dutyCyclePercent: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
repeat: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
repeatDelayMs: z.ZodOptional<z.ZodNumber>;
|
|
62
|
+
}, z.core.$strip>>;
|
|
63
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
64
|
+
ok: z.ZodLiteral<true>;
|
|
65
|
+
ignoredSettings: z.ZodArray<z.ZodString>;
|
|
66
|
+
}, z.core.$strip>, "mutation">;
|
|
67
|
+
readonly getInfo: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
68
|
+
deviceId: z.ZodNumber;
|
|
69
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
70
|
+
media: z.ZodArray<z.ZodEnum<{
|
|
71
|
+
ir: "ir";
|
|
72
|
+
rf: "rf";
|
|
73
|
+
}>>;
|
|
74
|
+
settable: z.ZodArray<z.ZodEnum<{
|
|
75
|
+
carrierHz: "carrierHz";
|
|
76
|
+
dutyCyclePercent: "dutyCyclePercent";
|
|
77
|
+
repeat: "repeat";
|
|
78
|
+
repeatDelayMs: "repeatDelayMs";
|
|
79
|
+
}>>;
|
|
80
|
+
maxTimings: z.ZodNumber;
|
|
81
|
+
}, z.core.$strip>, "query">;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export type IIrTransmitterProvider = InferProvider<typeof irTransmitterCapability>;
|
|
@@ -53,6 +53,10 @@ export declare const PetFeederStatusSchema: z.ZodObject<{
|
|
|
53
53
|
food2: z.ZodNullable<z.ZodNumber>;
|
|
54
54
|
lowFood: z.ZodBoolean;
|
|
55
55
|
batteryPower: z.ZodNullable<z.ZodNumber>;
|
|
56
|
+
powerSource: z.ZodNullable<z.ZodEnum<{
|
|
57
|
+
battery: "battery";
|
|
58
|
+
mains: "mains";
|
|
59
|
+
}>>;
|
|
56
60
|
desiccantLeftDays: z.ZodNullable<z.ZodNumber>;
|
|
57
61
|
feeding: z.ZodBoolean;
|
|
58
62
|
status: z.ZodNullable<z.ZodEnum<{
|
|
@@ -144,6 +148,10 @@ export declare const petFeederCapability: {
|
|
|
144
148
|
food2: z.ZodNullable<z.ZodNumber>;
|
|
145
149
|
lowFood: z.ZodBoolean;
|
|
146
150
|
batteryPower: z.ZodNullable<z.ZodNumber>;
|
|
151
|
+
powerSource: z.ZodNullable<z.ZodEnum<{
|
|
152
|
+
battery: "battery";
|
|
153
|
+
mains: "mains";
|
|
154
|
+
}>>;
|
|
147
155
|
desiccantLeftDays: z.ZodNullable<z.ZodNumber>;
|
|
148
156
|
feeding: z.ZodBoolean;
|
|
149
157
|
status: z.ZodNullable<z.ZodEnum<{
|
|
@@ -176,6 +184,10 @@ export declare const petFeederCapability: {
|
|
|
176
184
|
food2: z.ZodNullable<z.ZodNumber>;
|
|
177
185
|
lowFood: z.ZodBoolean;
|
|
178
186
|
batteryPower: z.ZodNullable<z.ZodNumber>;
|
|
187
|
+
powerSource: z.ZodNullable<z.ZodEnum<{
|
|
188
|
+
battery: "battery";
|
|
189
|
+
mains: "mains";
|
|
190
|
+
}>>;
|
|
179
191
|
desiccantLeftDays: z.ZodNullable<z.ZodNumber>;
|
|
180
192
|
feeding: z.ZodBoolean;
|
|
181
193
|
status: z.ZodNullable<z.ZodEnum<{
|
package/dist/client.js
CHANGED
|
@@ -26921,6 +26921,10 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
26921
26921
|
endTalkSession: (input) => dispatch("intercom", "intercom", "endTalkSession", "mutation", input),
|
|
26922
26922
|
getStatus: (input) => dispatch("intercom", "intercom", "getStatus", "query", input)
|
|
26923
26923
|
};
|
|
26924
|
+
const irTransmitterInterface = {
|
|
26925
|
+
send: (input) => dispatch("ir-transmitter", "irTransmitter", "send", "mutation", input),
|
|
26926
|
+
getInfo: (input) => dispatch("ir-transmitter", "irTransmitter", "getInfo", "query", input)
|
|
26927
|
+
};
|
|
26924
26928
|
const lawnMowerControlInterface = {
|
|
26925
26929
|
startMowing: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "startMowing", "mutation", input),
|
|
26926
26930
|
pause: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "pause", "mutation", input),
|
|
@@ -27555,6 +27559,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
27555
27559
|
...bound("image") ? { image: imageInterface } : {},
|
|
27556
27560
|
...bound("image-settings") ? { imageSettings: imageSettingsInterface } : {},
|
|
27557
27561
|
...bound("intercom") ? { intercom: intercomInterface } : {},
|
|
27562
|
+
...bound("ir-transmitter") ? { irTransmitter: irTransmitterInterface } : {},
|
|
27558
27563
|
...bound("lawn-mower-control") ? { lawnMowerControl: lawnMowerControlInterface } : {},
|
|
27559
27564
|
...bound("lock-control") ? { lockControl: lockControlInterface } : {},
|
|
27560
27565
|
...bound("media-player") ? { mediaPlayer: mediaPlayerInterface } : {},
|
package/dist/client.mjs
CHANGED
|
@@ -26920,6 +26920,10 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
26920
26920
|
endTalkSession: (input) => dispatch("intercom", "intercom", "endTalkSession", "mutation", input),
|
|
26921
26921
|
getStatus: (input) => dispatch("intercom", "intercom", "getStatus", "query", input)
|
|
26922
26922
|
};
|
|
26923
|
+
const irTransmitterInterface = {
|
|
26924
|
+
send: (input) => dispatch("ir-transmitter", "irTransmitter", "send", "mutation", input),
|
|
26925
|
+
getInfo: (input) => dispatch("ir-transmitter", "irTransmitter", "getInfo", "query", input)
|
|
26926
|
+
};
|
|
26923
26927
|
const lawnMowerControlInterface = {
|
|
26924
26928
|
startMowing: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "startMowing", "mutation", input),
|
|
26925
26929
|
pause: (input) => dispatch("lawn-mower-control", "lawnMowerControl", "pause", "mutation", input),
|
|
@@ -27554,6 +27558,7 @@ function createDeviceProxy(api, binding, opts) {
|
|
|
27554
27558
|
...bound("image") ? { image: imageInterface } : {},
|
|
27555
27559
|
...bound("image-settings") ? { imageSettings: imageSettingsInterface } : {},
|
|
27556
27560
|
...bound("intercom") ? { intercom: intercomInterface } : {},
|
|
27561
|
+
...bound("ir-transmitter") ? { irTransmitter: irTransmitterInterface } : {},
|
|
27557
27562
|
...bound("lawn-mower-control") ? { lawnMowerControl: lawnMowerControlInterface } : {},
|
|
27558
27563
|
...bound("lock-control") ? { lockControl: lockControlInterface } : {},
|
|
27559
27564
|
...bound("media-player") ? { mediaPlayer: mediaPlayerInterface } : {},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CapVocabularySlice } from '../types.js';
|
|
2
|
-
type ActuatorCap = 'switch' | 'brightness' | 'color' | 'cover' | 'valve' | 'lock-control' | 'climate-control' | 'fan-control' | 'humidifier' | 'water-heater' | 'heating-valve' | 'alarm-panel' | 'button' | 'control' | 'motion-trigger';
|
|
2
|
+
type ActuatorCap = 'switch' | 'brightness' | 'color' | 'cover' | 'valve' | 'lock-control' | 'climate-control' | 'fan-control' | 'humidifier' | 'water-heater' | 'heating-valve' | 'alarm-panel' | 'button' | 'ir-transmitter' | 'control' | 'motion-trigger';
|
|
3
3
|
/** The actuator family of the vocabulary. */
|
|
4
4
|
export declare const ACTUATOR_CAP_VOCABULARY: CapVocabularySlice<ActuatorCap>;
|
|
5
5
|
export {};
|
|
@@ -345,5 +345,8 @@ export declare enum DeviceRole {
|
|
|
345
345
|
EmailNotifier = "email-notifier",
|
|
346
346
|
/** Fallback when the notifier service name doesn't match a known
|
|
347
347
|
* pattern. */
|
|
348
|
-
GenericNotifier = "generic-notifier"
|
|
348
|
+
GenericNotifier = "generic-notifier",
|
|
349
|
+
/** Emits a pulse train (infrared or RF) on request — the `ir-transmitter`
|
|
350
|
+
* cap. A `DeviceType.Generic` device. */
|
|
351
|
+
IrTransmitter = "ir-transmitter"
|
|
349
352
|
}
|
|
@@ -350,6 +350,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
350
350
|
/** Fallback when the notifier service name doesn't match a known
|
|
351
351
|
* pattern. */
|
|
352
352
|
DeviceRole["GenericNotifier"] = "generic-notifier";
|
|
353
|
+
/** Emits a pulse train (infrared or RF) on request — the `ir-transmitter`
|
|
354
|
+
* cap. A `DeviceType.Generic` device. */
|
|
355
|
+
DeviceRole["IrTransmitter"] = "ir-transmitter";
|
|
353
356
|
return DeviceRole;
|
|
354
357
|
}({});
|
|
355
358
|
//#endregion
|
|
@@ -350,6 +350,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
350
350
|
/** Fallback when the notifier service name doesn't match a known
|
|
351
351
|
* pattern. */
|
|
352
352
|
DeviceRole["GenericNotifier"] = "generic-notifier";
|
|
353
|
+
/** Emits a pulse train (infrared or RF) on request — the `ir-transmitter`
|
|
354
|
+
* cap. A `DeviceType.Generic` device. */
|
|
355
|
+
DeviceRole["IrTransmitter"] = "ir-transmitter";
|
|
353
356
|
return DeviceRole;
|
|
354
357
|
}({});
|
|
355
358
|
//#endregion
|
|
@@ -65,6 +65,7 @@ import type { humidifierCapability } from '../capabilities/humidifier.cap.js';
|
|
|
65
65
|
import type { imageSettingsCapability } from '../capabilities/image-settings.cap.js';
|
|
66
66
|
import type { integrationsCapability } from '../capabilities/integrations.cap.js';
|
|
67
67
|
import type { intercomCapability } from '../capabilities/intercom.cap.js';
|
|
68
|
+
import type { irTransmitterCapability } from '../capabilities/ir-transmitter.cap.js';
|
|
68
69
|
import type { keychainAdminCapability } from '../capabilities/keychain-admin.cap.js';
|
|
69
70
|
import type { keychainCapability } from '../capabilities/keychain.cap.js';
|
|
70
71
|
import type { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
|
|
@@ -4265,6 +4266,27 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
4265
4266
|
meta: object;
|
|
4266
4267
|
}>;
|
|
4267
4268
|
}>>;
|
|
4269
|
+
irTransmitter: TRPCBuiltRouter<{
|
|
4270
|
+
ctx: TrpcContext;
|
|
4271
|
+
meta: object;
|
|
4272
|
+
errorShape: AugmentedErrorShape;
|
|
4273
|
+
transformer: true;
|
|
4274
|
+
}, TRPCDecorateCreateRouterOptions<{
|
|
4275
|
+
send: TRPCMutationProcedure<{
|
|
4276
|
+
input: {
|
|
4277
|
+
[x: string]: unknown;
|
|
4278
|
+
} & z.input<typeof irTransmitterCapability.methods.send.input>;
|
|
4279
|
+
output: z.infer<typeof irTransmitterCapability.methods.send.output>;
|
|
4280
|
+
meta: object;
|
|
4281
|
+
}>;
|
|
4282
|
+
getInfo: TRPCQueryProcedure<{
|
|
4283
|
+
input: {
|
|
4284
|
+
[x: string]: unknown;
|
|
4285
|
+
} & z.input<typeof irTransmitterCapability.methods.getInfo.input>;
|
|
4286
|
+
output: z.infer<typeof irTransmitterCapability.methods.getInfo.output>;
|
|
4287
|
+
meta: object;
|
|
4288
|
+
}>;
|
|
4289
|
+
}>>;
|
|
4268
4290
|
keychain: TRPCBuiltRouter<{
|
|
4269
4291
|
ctx: TrpcContext;
|
|
4270
4292
|
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, 77 caps with
|
|
8
|
+
* Coverage: 1 advance-derived caps, 77 caps with 356 state leaves.
|
|
9
9
|
*/
|
|
10
10
|
/** A bindable scalar in a capability's runtime state. */
|
|
11
11
|
export interface CapStateLeaf {
|
|
@@ -84,6 +84,7 @@ export { imageCapability } from '../capabilities/image.cap.js';
|
|
|
84
84
|
export { imageSettingsCapability } from '../capabilities/image-settings.cap.js';
|
|
85
85
|
export { integrationsCapability } from '../capabilities/integrations.cap.js';
|
|
86
86
|
export { intercomCapability } from '../capabilities/intercom.cap.js';
|
|
87
|
+
export { irTransmitterCapability } from '../capabilities/ir-transmitter.cap.js';
|
|
87
88
|
export { keychainCapability } from '../capabilities/keychain.cap.js';
|
|
88
89
|
export { keychainAdminCapability } from '../capabilities/keychain-admin.cap.js';
|
|
89
90
|
export { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
|
|
@@ -272,6 +273,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
272
273
|
readonly imageSettings: 'image-settings';
|
|
273
274
|
readonly integrations: 'integrations';
|
|
274
275
|
readonly intercom: 'intercom';
|
|
276
|
+
readonly irTransmitter: 'ir-transmitter';
|
|
275
277
|
readonly keychain: 'keychain';
|
|
276
278
|
readonly keychainAdmin: 'keychain-admin';
|
|
277
279
|
readonly lawnMowerControl: 'lawn-mower-control';
|
|
@@ -473,6 +475,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
473
475
|
readonly imageSettings: TRouter;
|
|
474
476
|
readonly integrations: TRouter;
|
|
475
477
|
readonly intercom: TRouter;
|
|
478
|
+
readonly irTransmitter: TRouter;
|
|
476
479
|
readonly keychain: TRouter;
|
|
477
480
|
readonly keychainAdmin: TRouter;
|
|
478
481
|
readonly lawnMowerControl: TRouter;
|
|
@@ -575,8 +578,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
575
578
|
readonly zoneRules: TRouter;
|
|
576
579
|
readonly zones: TRouter;
|
|
577
580
|
}
|
|
578
|
-
/** Capability names whose mode is `singleton` (
|
|
579
|
-
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'actions', '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-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'dishwasher', 'display-palette', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'group-active', 'group-commands', 'group-status', 'heating-valve', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'meter', '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', 'record-entries', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'records', 'running-state', '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'];
|
|
581
|
+
/** Capability names whose mode is `singleton` (152 caps). */
|
|
582
|
+
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'actions', '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-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'dishwasher', 'display-palette', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'group-active', 'group-commands', 'group-status', 'heating-valve', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'ir-transmitter', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'meter', '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', 'record-entries', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'records', 'running-state', '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'];
|
|
580
583
|
/** Union of singleton capability names (literal string union). */
|
|
581
584
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
582
585
|
/** Capability names whose mode is `collection` (36 caps). */
|
|
@@ -49,6 +49,7 @@ import type { humiditySensorCapability } from '../capabilities/humidity-sensor.c
|
|
|
49
49
|
import type { imageCapability } from '../capabilities/image.cap.js';
|
|
50
50
|
import type { imageSettingsCapability } from '../capabilities/image-settings.cap.js';
|
|
51
51
|
import type { intercomCapability } from '../capabilities/intercom.cap.js';
|
|
52
|
+
import type { irTransmitterCapability } from '../capabilities/ir-transmitter.cap.js';
|
|
52
53
|
import type { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
|
|
53
54
|
import type { lockControlCapability } from '../capabilities/lock-control.cap.js';
|
|
54
55
|
import type { mediaPlayerCapability } from '../capabilities/media-player.cap.js';
|
|
@@ -264,6 +265,7 @@ export interface DeviceProxy {
|
|
|
264
265
|
readonly image?: InferDeviceProxyCap<typeof imageCapability>;
|
|
265
266
|
readonly imageSettings?: InferDeviceProxyCap<typeof imageSettingsCapability>;
|
|
266
267
|
readonly intercom?: InferDeviceProxyCap<typeof intercomCapability>;
|
|
268
|
+
readonly irTransmitter?: InferDeviceProxyCap<typeof irTransmitterCapability>;
|
|
267
269
|
readonly lawnMowerControl?: InferDeviceProxyCap<typeof lawnMowerControlCapability>;
|
|
268
270
|
readonly lockControl?: InferDeviceProxyCap<typeof lockControlCapability>;
|
|
269
271
|
readonly mediaPlayer?: InferDeviceProxyCap<typeof mediaPlayerCapability>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
6
6
|
* (~144MB RSS per runner, D28).
|
|
7
7
|
*
|
|
8
|
-
* Coverage:
|
|
8
|
+
* Coverage: 96 device-scoped capabilities.
|
|
9
9
|
*/
|
|
10
10
|
export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
|
|
11
11
|
/**
|
|
@@ -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: 1406 method paths across 188 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { MethodRole } from '../auth/viewer-access.js';
|
|
12
12
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* system-scope cap that takes a deviceId was previously never device-filtered
|
|
7
7
|
* — see the generator header).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 557 methods carry a device reference, of which
|
|
10
10
|
* 179 are on SYSTEM-scope caps.
|
|
11
11
|
*
|
|
12
12
|
* Top-level fields, number arrays, and one-level arrays of objects carrying
|
package/dist/index.d.ts
CHANGED
|
@@ -376,3 +376,4 @@ export { SiteZoneSchema, siteZoneKey } from './device/site-zone.js';
|
|
|
376
376
|
export type { ServerNameInfo } from './system/server-name.js';
|
|
377
377
|
export { resolveServerName, SERVER_NAME_MAX_LENGTH, SERVER_NAME_SETTING_KEY, ServerNameInfoSchema, ServerNameSchema, shortHostname, } from './system/server-name.js';
|
|
378
378
|
export { armRemovalReconcile, reconcileRemovedDevices, REMOVAL_RECONCILE_INTERVAL_MS, type RemovalReconcileOptions, type RemovalReconcileOutcome, type TombstoneSource, } from './device/device-removal-reconcile.js';
|
|
379
|
+
export * from './ir/index.js';
|