@camstack/types 1.2.434 → 1.2.436
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 +15 -0
- package/dist/addon.js +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/addons.cap.d.ts +8 -0
- package/dist/capabilities/air-quality-sensor.cap.d.ts +8 -8
- package/dist/capabilities/ambient-light-sensor.cap.d.ts +4 -4
- package/dist/capabilities/battery.cap.d.ts +14 -14
- package/dist/capabilities/brightness.cap.d.ts +7 -7
- package/dist/capabilities/capability-definition.d.ts +3 -3
- package/dist/capabilities/color.cap.d.ts +6 -6
- package/dist/capabilities/device-history.cap.d.ts +2 -2
- package/dist/capabilities/dishwasher.cap.d.ts +11 -11
- package/dist/capabilities/fan-control.cap.d.ts +6 -6
- package/dist/capabilities/humidity-sensor.cap.d.ts +4 -4
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/lawn-mower-control.cap.d.ts +3 -3
- package/dist/capabilities/media-player.cap.d.ts +8 -8
- package/dist/capabilities/meter.cap.d.ts +1 -1
- package/dist/capabilities/network-link.cap.d.ts +13 -13
- package/dist/capabilities/notification-output.cap.d.ts +70 -0
- package/dist/capabilities/power-meter.cap.d.ts +22 -22
- package/dist/capabilities/presence.cap.d.ts +1 -15
- package/dist/capabilities/pressure-sensor.cap.d.ts +4 -4
- package/dist/capabilities/temperature-sensor.cap.d.ts +4 -4
- package/dist/capabilities/vacuum-control.cap.d.ts +3 -3
- package/dist/client.js +50 -2
- package/dist/client.mjs +50 -2
- package/dist/composition/composition-report.d.ts +1 -1
- package/dist/composition/examples.d.ts +1 -1
- package/dist/composition/helpers/appliance.d.ts +1 -1
- package/dist/composition/helpers/index.d.ts +1 -1
- package/dist/composition/helpers/source-pick.d.ts +7 -0
- package/dist/{composition-Bb8iwHEJ.mjs → composition-DwA0uVW5.mjs} +3 -2
- package/dist/{composition-CpAc0YfQ.js → composition-WNkEpwkF.js} +3 -2
- package/dist/device/base-device.d.ts +2 -2
- package/dist/device/device-runtime-state.d.ts +1 -1
- package/dist/device/device-state-handle.d.ts +1 -1
- package/dist/device/system-mirror.d.ts +1 -1
- package/dist/generated/addon-cap-facts.d.ts +1 -1
- package/dist/generated/customize-catalog.d.ts +15 -15
- package/dist/generated/history-catalog.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +331 -212
- package/dist/index.mjs +328 -213
- package/dist/interfaces/addon.d.ts +8 -0
- package/dist/interfaces/event-bus.d.ts +3 -3
- package/dist/node.js +1 -1
- package/dist/node.mjs +1 -1
- package/dist/notification/delivery-params.d.ts +15 -0
- package/dist/{sleep-DFaVPxfm.mjs → sleep-Crlmu_tO.mjs} +26 -30
- package/dist/{sleep-CO61AfwW.js → sleep-DHitF_e4.js} +26 -30
- package/dist/vendor-login-proxy/index.d.ts +1 -1
- package/dist/vendor-login-proxy/url-rewrite.d.ts +7 -0
- package/package.json +1 -1
|
@@ -24,5 +24,5 @@ export interface ApplianceDefaults {
|
|
|
24
24
|
export declare const APPLIANCE_DEFAULTS: Readonly<Record<ApplianceKind, ApplianceDefaults>>;
|
|
25
25
|
export declare function applianceDeviceType(kind: ApplianceKind): DeviceType;
|
|
26
26
|
export declare function isApplianceKind(value: string): value is ApplianceKind;
|
|
27
|
-
/** The member step: one
|
|
27
|
+
/** The member step: one power reading, from a sensor or from the plug itself. */
|
|
28
28
|
export declare function sourcePickForAppliance(): SourcePickRequest;
|
|
@@ -10,5 +10,5 @@ export { KWH_PER_WATT_MS, wattMillisecondsToKwh } from './energy.js';
|
|
|
10
10
|
export { type HistoryValue, type IntegralScale, type SeriesBefore, type SeriesKind, type SeriesPoint, type SeriesRead, STATISTIC_STATS, SERIES_KINDS, evaluateDerivative, evaluateStatistic, integrateReading, } from './history-math.js';
|
|
11
11
|
export { type CalendarPeriod, type CalendarWindow, type HistoryRetention, type HistoryTier, type HistoryTierPlan, type OpenRange, type ResetPeriod, type RollingSpan, type RollingWindow, type StatisticWindow, CALENDAR_PERIODS, CalendarWindowSchema, DAY_MS, DEFAULT_HISTORY_RETENTION, HISTORY_FAST_MS, HISTORY_SLOW_MS, HISTORY_TIERS, HOUR_MS, MINUTE_MS, MIN_CUSTOM_MINUTES, RESET_PERIODS, ROLLING_SPANS, RollingWindowSchema, StatisticWindowSchema, integralCadenceMs, maxDurationMs, nextLocalMidnight, openReset, openStatistic, planResetTier, planStatisticTier, rollingDurationMs, statisticCadenceMs, } from './history-window.js';
|
|
12
12
|
export { type HelperMemberFact, helperSaveProblems, } from './save.js';
|
|
13
|
-
export { type SourcePick, type SourcePickAccept, type SourcePickHistory, type SourcePickRequest, type MathSourceKind, sourcePickForHistory, sourcePickForMath, sourcePickForTemplate, } from './source-pick.js';
|
|
13
|
+
export { type SourcePick, type SourcePickAccept, type SourcePickFieldChoice, type SourcePickHistory, type SourcePickRequest, type MathSourceKind, sourcePickForHistory, sourcePickForMath, sourcePickForTemplate, } from './source-pick.js';
|
|
14
14
|
export { ACTIVE_CRITERIA, AGGREGATE_REDUCERS, ActiveCriterionSchema, AggregateReducerSchema, BINARY_AGGREGATES, GROUP_TEMPLATE_IDS, ApplianceHelperSpecSchema, ARITHMETIC_OPS, ArithmeticHelperSpecSchema, DERIVATIVE_UNITS, DerivativeHelperSpecSchema, EXPRESSION_OUTPUTS, ExpressionHelperSpecSchema, ThresholdHelperSpecSchema, GroupHelperSpecSchema, GroupTemplateIdSchema, HelperMemberSchema, HelperSpecSchema, INTEGRAL_OUTPUTS, IntegralHelperSpecSchema, MAX_HELPER_MEMBERS, helperMembers, isHistoryHelper, NUMERIC_AGGREGATES, StatisticHelperSpecSchema, type ActiveCriterion, type AggregateReducer, type BinaryAggregate, type ApplianceHelperSpec, type ArithmeticHelperSpec, type ArithmeticOp, type DerivativeHelperSpec, type DerivativeUnit, type ExpressionHelperSpec, type ExpressionInput, type ExpressionOutput, type ThresholdHelperSpec, type GroupHelperSpec, type GroupTemplateId, type HelperMember, type HelperSpec, type HistoryHelperSpec, type IntegralHelperSpec, type IntegralOutput, type NumericAggregate, type StatisticHelperSpec, type StatisticStat, } from './spec.js';
|
|
@@ -15,7 +15,14 @@ export interface SourcePickHistory {
|
|
|
15
15
|
readonly required: boolean;
|
|
16
16
|
readonly minRetentionMs: number | null;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* How a device that satisfies several accept entries gets its field. `first-match`
|
|
20
|
+
* takes the first listed entry the device has (the dedicated sensor before a
|
|
21
|
+
* climate reading); `operator` waits for the operator to pick (occupancy).
|
|
22
|
+
*/
|
|
23
|
+
export type SourcePickFieldChoice = 'first-match' | 'operator';
|
|
18
24
|
export interface SourcePickRequest {
|
|
25
|
+
readonly fieldChoice: SourcePickFieldChoice;
|
|
19
26
|
readonly purpose: 'member' | 'reading' | 'historised';
|
|
20
27
|
readonly multiple: boolean;
|
|
21
28
|
readonly max: number;
|
|
@@ -2263,16 +2263,17 @@ function applianceDeviceType(kind) {
|
|
|
2263
2263
|
function isApplianceKind(value) {
|
|
2264
2264
|
return APPLIANCE_KINDS.some((kind) => kind === value);
|
|
2265
2265
|
}
|
|
2266
|
-
/** The member step: one
|
|
2266
|
+
/** The member step: one power reading, from a sensor or from the plug itself. */
|
|
2267
2267
|
function sourcePickForAppliance() {
|
|
2268
2268
|
return {
|
|
2269
|
+
fieldChoice: "operator",
|
|
2269
2270
|
purpose: "reading",
|
|
2270
2271
|
multiple: false,
|
|
2271
2272
|
max: 1,
|
|
2272
2273
|
deviceTypes: [DeviceType.Sensor, DeviceType.Switch],
|
|
2273
2274
|
accept: [{
|
|
2274
2275
|
cap: "power-meter",
|
|
2275
|
-
fieldPath: "
|
|
2276
|
+
fieldPath: "power",
|
|
2276
2277
|
valueKind: "number"
|
|
2277
2278
|
}],
|
|
2278
2279
|
history: {
|
|
@@ -2263,16 +2263,17 @@ function applianceDeviceType(kind) {
|
|
|
2263
2263
|
function isApplianceKind(value) {
|
|
2264
2264
|
return APPLIANCE_KINDS.some((kind) => kind === value);
|
|
2265
2265
|
}
|
|
2266
|
-
/** The member step: one
|
|
2266
|
+
/** The member step: one power reading, from a sensor or from the plug itself. */
|
|
2267
2267
|
function sourcePickForAppliance() {
|
|
2268
2268
|
return {
|
|
2269
|
+
fieldChoice: "operator",
|
|
2269
2270
|
purpose: "reading",
|
|
2270
2271
|
multiple: false,
|
|
2271
2272
|
max: 1,
|
|
2272
2273
|
deviceTypes: [require_err_msg.DeviceType.Sensor, require_err_msg.DeviceType.Switch],
|
|
2273
2274
|
accept: [{
|
|
2274
2275
|
cap: "power-meter",
|
|
2275
|
-
fieldPath: "
|
|
2276
|
+
fieldPath: "power",
|
|
2276
2277
|
valueKind: "number"
|
|
2277
2278
|
}],
|
|
2278
2279
|
history: {
|
|
@@ -31,7 +31,7 @@ export declare abstract class BaseDevice<T extends z.ZodObject<z.core.$ZodLooseS
|
|
|
31
31
|
* `device-local-state.ts`. Drivers access via:
|
|
32
32
|
*
|
|
33
33
|
* `this.state.battery.sleeping = true` // patches the battery slice
|
|
34
|
-
* `const pct = this.state.battery.
|
|
34
|
+
* `const pct = this.state.battery.level` // reads the battery slice
|
|
35
35
|
* `this.state.deviceStatus.online = true` // mirrors `markOnline(true)`
|
|
36
36
|
*
|
|
37
37
|
* Adding a new cap with `runtimeState:` automatically extends this
|
|
@@ -56,7 +56,7 @@ export declare abstract class BaseDevice<T extends z.ZodObject<z.core.$ZodLooseS
|
|
|
56
56
|
* shape; drivers don't redeclare it, they just write through.
|
|
57
57
|
*
|
|
58
58
|
* Read: `this.runtimeState.getCapState('battery')` →
|
|
59
|
-
* `{
|
|
59
|
+
* `{level, charging, sleeping, lastUpdated}` for any
|
|
60
60
|
* provider that registers `batteryCapability`.
|
|
61
61
|
* Write: `this.runtimeState.setCapState('battery', { … })`.
|
|
62
62
|
*
|
|
@@ -40,7 +40,7 @@ export interface IDeviceRuntimeState {
|
|
|
40
40
|
getCapState<K extends keyof import('../generated/device-local-state.js').CapNameToRuntimeStateMap>(capName: K): Readonly<import('../generated/device-local-state.js').CapNameToRuntimeStateMap[K]> | undefined;
|
|
41
41
|
getCapState<T extends Record<string, unknown> = Record<string, unknown>>(capName: string): Readonly<T> | undefined;
|
|
42
42
|
/** Read a single key inside a slice. Convenience for the common
|
|
43
|
-
* case of reading a primitive (`battery.
|
|
43
|
+
* case of reading a primitive (`battery.level`). */
|
|
44
44
|
getCapField(capName: string, key: string): unknown;
|
|
45
45
|
/**
|
|
46
46
|
* Replace the slice for `capName`. The schema bound to `capName`
|
|
@@ -182,7 +182,7 @@ export declare function createMirrorSource(mirror: ReadonlyMap<number, ReadonlyM
|
|
|
182
182
|
*
|
|
183
183
|
* const dev = createDeviceProxy(api, binding)
|
|
184
184
|
* dev.state.battery.value // BatteryStatus | undefined
|
|
185
|
-
* dev.state.battery.value?.
|
|
185
|
+
* dev.state.battery.value?.level
|
|
186
186
|
*
|
|
187
187
|
* Two-arg form (deprecated path, kept for spec compatibility):
|
|
188
188
|
* passes the api directly, builds a per-handle lazy source. New
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* await dev?.snapshot?.getSnapshot({...}) // method dispatch via cap-router
|
|
34
34
|
*
|
|
35
35
|
* sm.query({ addonId: 'reolink', online: true })
|
|
36
|
-
* sm.whereState('battery', s => s.
|
|
36
|
+
* sm.whereState('battery', s => s.level < 20)
|
|
37
37
|
* sm.listenCap('motion', (id, slice) => …)
|
|
38
38
|
* await sm.waitForState(8, 'battery', s => !s.sleeping, 30_000)
|
|
39
39
|
*
|
|
@@ -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 355 state leaves.
|
|
9
9
|
*/
|
|
10
10
|
/** A bindable scalar in a capability's runtime state. */
|
|
11
11
|
export interface CapStateLeaf {
|
|
@@ -7,12 +7,12 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
7
7
|
readonly battery: {
|
|
8
8
|
readonly version: 1;
|
|
9
9
|
readonly targets: readonly [{
|
|
10
|
-
readonly id: '
|
|
10
|
+
readonly id: 'level';
|
|
11
11
|
readonly cardinality: 'scalar';
|
|
12
12
|
readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.EventEmitter];
|
|
13
13
|
readonly apply: 'add';
|
|
14
14
|
readonly vocabularyCap: 'battery';
|
|
15
|
-
readonly vocabularyStateField: '
|
|
15
|
+
readonly vocabularyStateField: 'level';
|
|
16
16
|
readonly sources: readonly [{
|
|
17
17
|
readonly kind: 'field';
|
|
18
18
|
readonly valueKinds: readonly ["number", "string"];
|
|
@@ -31,7 +31,7 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
31
31
|
readonly status: 'assignment-status';
|
|
32
32
|
};
|
|
33
33
|
readonly advancedExpression: true;
|
|
34
|
-
readonly path: '
|
|
34
|
+
readonly path: 'level';
|
|
35
35
|
readonly valueKind: 'number';
|
|
36
36
|
readonly nullable: true;
|
|
37
37
|
readonly companions: readonly [{
|
|
@@ -209,12 +209,12 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
209
209
|
readonly 'power-meter': {
|
|
210
210
|
readonly version: 1;
|
|
211
211
|
readonly targets: readonly [{
|
|
212
|
-
readonly id: '
|
|
212
|
+
readonly id: 'power';
|
|
213
213
|
readonly cardinality: 'scalar';
|
|
214
214
|
readonly deviceTypes: readonly [DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder];
|
|
215
215
|
readonly apply: 'add';
|
|
216
216
|
readonly vocabularyCap: 'power-meter';
|
|
217
|
-
readonly vocabularyStateField: '
|
|
217
|
+
readonly vocabularyStateField: 'power';
|
|
218
218
|
readonly sources: readonly [{
|
|
219
219
|
readonly kind: 'numeric';
|
|
220
220
|
readonly requiredUnit: 'W';
|
|
@@ -227,7 +227,7 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
227
227
|
readonly status: 'assignment-status';
|
|
228
228
|
};
|
|
229
229
|
readonly advancedExpression: true;
|
|
230
|
-
readonly path: '
|
|
230
|
+
readonly path: 'power';
|
|
231
231
|
readonly valueKind: 'number';
|
|
232
232
|
readonly nullable: false;
|
|
233
233
|
readonly companions: readonly [{
|
|
@@ -236,12 +236,12 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
236
236
|
readonly when: 'always';
|
|
237
237
|
}];
|
|
238
238
|
}, {
|
|
239
|
-
readonly id: '
|
|
239
|
+
readonly id: 'energy';
|
|
240
240
|
readonly cardinality: 'scalar';
|
|
241
241
|
readonly deviceTypes: readonly [DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder];
|
|
242
242
|
readonly apply: 'add';
|
|
243
243
|
readonly vocabularyCap: 'power-meter';
|
|
244
|
-
readonly vocabularyStateField: '
|
|
244
|
+
readonly vocabularyStateField: 'energy';
|
|
245
245
|
readonly sources: readonly [{
|
|
246
246
|
readonly kind: 'numeric';
|
|
247
247
|
readonly requiredUnit: 'kWh';
|
|
@@ -254,7 +254,7 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
254
254
|
readonly status: 'assignment-status';
|
|
255
255
|
};
|
|
256
256
|
readonly advancedExpression: true;
|
|
257
|
-
readonly path: '
|
|
257
|
+
readonly path: 'energy';
|
|
258
258
|
readonly valueKind: 'number';
|
|
259
259
|
readonly nullable: false;
|
|
260
260
|
readonly companions: readonly [{
|
|
@@ -263,12 +263,12 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
263
263
|
readonly when: 'always';
|
|
264
264
|
}];
|
|
265
265
|
}, {
|
|
266
|
-
readonly id: '
|
|
266
|
+
readonly id: 'voltage';
|
|
267
267
|
readonly cardinality: 'scalar';
|
|
268
268
|
readonly deviceTypes: readonly [DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder];
|
|
269
269
|
readonly apply: 'add';
|
|
270
270
|
readonly vocabularyCap: 'power-meter';
|
|
271
|
-
readonly vocabularyStateField: '
|
|
271
|
+
readonly vocabularyStateField: 'voltage';
|
|
272
272
|
readonly sources: readonly [{
|
|
273
273
|
readonly kind: 'numeric';
|
|
274
274
|
readonly requiredUnit: 'V';
|
|
@@ -281,7 +281,7 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
281
281
|
readonly status: 'assignment-status';
|
|
282
282
|
};
|
|
283
283
|
readonly advancedExpression: true;
|
|
284
|
-
readonly path: '
|
|
284
|
+
readonly path: 'voltage';
|
|
285
285
|
readonly valueKind: 'number';
|
|
286
286
|
readonly nullable: false;
|
|
287
287
|
readonly companions: readonly [{
|
|
@@ -290,12 +290,12 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
290
290
|
readonly when: 'always';
|
|
291
291
|
}];
|
|
292
292
|
}, {
|
|
293
|
-
readonly id: '
|
|
293
|
+
readonly id: 'current';
|
|
294
294
|
readonly cardinality: 'scalar';
|
|
295
295
|
readonly deviceTypes: readonly [DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder];
|
|
296
296
|
readonly apply: 'add';
|
|
297
297
|
readonly vocabularyCap: 'power-meter';
|
|
298
|
-
readonly vocabularyStateField: '
|
|
298
|
+
readonly vocabularyStateField: 'current';
|
|
299
299
|
readonly sources: readonly [{
|
|
300
300
|
readonly kind: 'numeric';
|
|
301
301
|
readonly requiredUnit: 'A';
|
|
@@ -308,7 +308,7 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
308
308
|
readonly status: 'assignment-status';
|
|
309
309
|
};
|
|
310
310
|
readonly advancedExpression: true;
|
|
311
|
-
readonly path: '
|
|
311
|
+
readonly path: 'current';
|
|
312
312
|
readonly valueKind: 'number';
|
|
313
313
|
readonly nullable: false;
|
|
314
314
|
readonly companions: readonly [{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CapabilityHistoryField, CapabilityHistoryItems } from '../capabilities/capability-definition.js';
|
|
2
2
|
/**
|
|
3
3
|
* Cap history catalog, projected from every `*.cap.ts` `history` block.
|
|
4
|
-
*
|
|
4
|
+
* 41 caps with series (76 series), 34 caps answered `'none'`.
|
|
5
5
|
* Field keys are `runtimeState` paths (`a.b` into fixed objects only).
|
|
6
6
|
*/
|
|
7
7
|
export declare const HISTORY_CATALOG: Readonly<Record<string, Readonly<Record<string, CapabilityHistoryField>>>>;
|
package/dist/index.d.ts
CHANGED
|
@@ -293,6 +293,7 @@ export { AUDIO_SCALE_EPOCH_ISO, AUDIO_SCALE_EPOCH_MS, type AudioScaleEra, audioS
|
|
|
293
293
|
export { audioIsFailClosed, audioKindId, audioLabelChoices, audioModeOf, audioOrDefaults, isAudioLabelSelected, NC_AUDIO_CONFIRM_HITS_DEFAULT, NC_AUDIO_CONFIRM_HITS_MAX, NC_AUDIO_CONFIRM_HITS_MIN, NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, NC_AUDIO_DB_MAX, NC_AUDIO_DB_MIN, NC_AUDIO_DB_OFFERED, NC_AUDIO_DB_STEP, NC_AUDIO_DEFAULTS, NC_AUDIO_HIT_PERCENT_MAX, NC_AUDIO_HIT_PERCENT_MIN, NC_AUDIO_SAMPLING_MAX_SEC, NC_AUDIO_SAMPLING_MIN_SEC, type NcAudioLabelChoice, type NcAudioMode, type NcAudioPatch, normalizeAudioLabel, patchAudio, toggleAudioLabel, } from './notification/audio-condition.js';
|
|
294
294
|
export { isAudioClassName, isBaseConditionKey, knownValues, NC_BASE_CONDITION_KEYS, type NcBaseConditionKey, pickerForCondition, pickerForRuleClasses, type TaxonomyGroup, type TaxonomyOption, type TaxonomyPicker, } from './notification/condition-taxonomy.js';
|
|
295
295
|
export { type PreparedAction, type PreparedAttachment, type PreparedNotification, prepareNotification, type ResolvedLevel, } from './notification/degrade-engine.js';
|
|
296
|
+
export { deliveryParamsDeclaredBy, resolveDeliveryParams } from './notification/delivery-params.js';
|
|
296
297
|
export { htmlToText, markdownToHtmlLite, markdownToText, type NotificationFormat as NotificationBodyFormat, resolveFormat, textToHtml, transcodeBody, } from './notification/format-transcode.js';
|
|
297
298
|
export { conditionExclusionReason, conditionVisibleForKind, defaultDeliveryForSection, droppedConditionsForKind, isAudioRule, isOccupancyRule, isSystemDelivery, isSystemRuleKind, kindsForDiscriminator, NC_AUDIO_SEED, NC_CAMERA_SCOPE_CAP_NAME, NC_OCCUPANCY_DEFAULTS, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_RULE_SECTIONS, NC_SYSTEM_DELIVERY, NC_SYSTEM_RULE_KINDS, type NcDroppedCondition, type NcKindVisibilitySubject, type NcRuleEditorSection, type NcRuleEditorSectionKey, type NcRuleKind, type NcRuleKindSpec, type NcRuleOwningSectionKey, type NcRuleSection, type NcRuleSectionKey, type NcRuleConditionsSubject, type NcRuleSectionSubject, type NcRuleSeed, parseRuleSection, ruleDeviceCompatCapNames, ruleDeviceCompatCapQueries, ruleEditorSectionsForKind, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleMatchesSection, ruleSection, ruleSectionOf, ruleSeedForSection, systemFamilyOfKind, systemRuleKindOf, } from './notification/rule-kinds.js';
|
|
298
299
|
export { imageModesForKind, legacyImageMode, NC_MEDIA_IMAGE_MODES, type NcMediaRuleSubject, ncMediaPolicyError, normalizeNcMediaPolicy, resolveNcMediaImage, ruleTriggerZoneIds, subjectHasPath, } from './notification/media-image.js';
|