@camstack/types 1.2.446 → 1.2.448
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 +3 -2
- package/dist/addon.mjs +3 -2
- package/dist/automation/action.d.ts +2 -0
- package/dist/automation/index.d.ts +3 -1
- package/dist/automation/normalize-units.d.ts +59 -0
- package/dist/automation/recipe.d.ts +15 -1
- package/dist/capabilities/action-source.cap.d.ts +1 -0
- package/dist/capabilities/actions.cap.d.ts +32 -1
- package/dist/capabilities/core-blocks.cap.d.ts +17 -0
- package/dist/capabilities/index.d.ts +3 -1
- package/dist/capabilities/remote-layout-components.cap.d.ts +81 -0
- package/dist/capabilities/remote.cap.d.ts +2 -0
- package/dist/client.js +1 -2
- package/dist/client.mjs +1 -2
- package/dist/device/cap-vocabulary/types.d.ts +9 -1
- package/dist/generated/addon-api.d.ts +15 -0
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/collection-array-methods.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +2 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.js +1786 -733
- package/dist/index.mjs +1750 -734
- package/dist/interfaces/event-bus.d.ts +9 -0
- package/dist/remote/remote-builtin-components.d.ts +15 -0
- package/dist/remote/remote-components.d.ts +109 -0
- package/dist/remote/remote-config.d.ts +121 -0
- package/dist/remote/remote-layout-ops.d.ts +68 -0
- package/dist/{sleep-6eG9C8Xl.mjs → sleep-63gM_1JR.mjs} +1 -0
- package/dist/{sleep-UXDHn-oJ.js → sleep-BSPhInRm.js} +1 -0
- package/dist/units/index.d.ts +3 -0
- package/dist/units/quantity-input.d.ts +58 -0
- package/dist/units/quantity-units.d.ts +8 -0
- 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.448] - 2026-10-29
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- The node-restarting and node-updating events carry what is being updated, and both can be used in notification templates
|
|
15
|
+
- Remote templates gain section dividers, titled panels, button shapes and tones, and a palette of components (D-pad, rockers, keypad, colour keys, media row) that addons can extend
|
|
16
|
+
|
|
17
|
+
## [1.2.447] - 2026-10-29
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Numbers tied to a physical quantity can be entered in a unit you pick: automation conditions and steps accept { value, unit }, converted to the stored unit, and a bare API number is accepted with a warning
|
|
22
|
+
- node-restarting and node-updating are offered in the served notification template catalog again
|
|
23
|
+
|
|
10
24
|
## [1.2.446] - 2026-10-29
|
|
11
25
|
|
|
12
26
|
### Changed
|
package/dist/addon.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
2
|
+
const require_sleep = require("./sleep-BSPhInRm.js");
|
|
3
3
|
const require_event_category = require("./event-category-E17zaHjN.js");
|
|
4
4
|
const require_err_msg = require("./err-msg-EJhsFHqa.js");
|
|
5
5
|
//#region src/generated/cap-input-defaults.ts
|
|
@@ -367,7 +367,7 @@ function materialise(defaults) {
|
|
|
367
367
|
* barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
|
|
368
368
|
* forked runner. See docs/decisions/adr-0028.md.
|
|
369
369
|
*
|
|
370
|
-
* Coverage:
|
|
370
|
+
* Coverage: 29 collection caps, 49 array methods.
|
|
371
371
|
*/
|
|
372
372
|
var COLLECTION_ARRAY_METHODS = Object.freeze({
|
|
373
373
|
"action-source": ["listActions"],
|
|
@@ -408,6 +408,7 @@ var COLLECTION_ARRAY_METHODS = Object.freeze({
|
|
|
408
408
|
"listTargets"
|
|
409
409
|
],
|
|
410
410
|
"recording": ["listSources"],
|
|
411
|
+
"remote-layout-components": ["listComponents"],
|
|
411
412
|
"storage-occupancy": ["getOccupancy"],
|
|
412
413
|
"storage-provider": ["list"],
|
|
413
414
|
"template": ["list"],
|
package/dist/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $n as RECORD_SECRET_COLLECTION_PREFIX, $r as SECRET_CLEAR, $t as entryBody, A as HF_REPO, An as RECORDS_ERROR_CODES, B as DEVICE_CHILDREN_BATCH_MAX, Bn as asRecordsError, C as addonSliceHandleApi, Cn as BatchTooLargeError, Dn as InvalidRecordError, En as ForeignSecretMarkerError, Fn as RecordsError, Fr as formatSecretScope, G as describeCustomActions, Gn as RECORD_DATABASES, H as withoutCallerStamp, Hn as RECORD_BATCH_MAX, Hr as createEvent, I as deviceOpsCapability, In as RevConflictError, Ir as globalSecretScope, Jn as RECORD_ID_MAX_LENGTH, Kn as RECORD_DEFAULT_MAX_DATA_BYTES, L as viewerUiCapability, Ln as TransactRefusedError, Lr as isSecretRef, M as CAP_ADVANCE_FIELDS, Mn as RecordSecretUnavailableError, Mr as SECRET_REF_SCHEME, Nn as RecordTooLargeError, Nr as arrayItemFieldPath, On as NoCallerError, P as CAP_STATE_LEAVES, Pn as RecordUniqueViolationError, Pr as buildSecretRef, Q as readNodePin, Qn as RECORD_QUERY_MAX, Qt as defineEntryKind, R as PipelineRunResultBridge, Rn as UnindexedFilterError, Rr as normalizeSecretOwner, Sn as isZodSecret, Sr as normalizeAddonInitResult, Tn as FilterRequiredError, U as customAction, Un as RECORD_BATCH_MAX_BYTES, Ur as emitReadiness, V as CALLER_STAMPED_CAPABILITIES, Vn as recordsErrorFromMessage, W as defineCustomActions, Wn as RECORD_CLASSES, Xn as RECORD_MAX_INDEXES, Y as addonPagesSourceCapability, Yn as RECORD_MAX_DATA_BYTES, Z as nodePin, Zn as RECORD_MAX_INDEX_FIELDS, Zt as makeInMemoryRecords, _ as readErrorI18n, _n as recordSecretCollection, _r as DATAPLANE_SECRET_HEADER, ai as makeSecretMarker, an as RecordKindDeclarationSchema, ar as MIN_SCRUBBED_LENGTH, b as isDeviceScopedCap, br as BaseAddon, c as asString, cn as StoredRecordKindDeclarationSchema, cr as knownSecretCount, d as parseJsonUnknown, dn as defineRecordKinds, dr as shortSecretRefHash, ei as classifySecretWrite, en as createRecordsAccess, er as RECORD_SETTINGS_MAX_ROWS, f as hfModelUrl, fn as REMOVE_LEAF, fr as PEER_BYTES_CHUNK_BYTES, g as ErrorI18nPayloadSchema, gn as recordArrayItemPath, gt as ReadinessTimeoutError, hn as parseSecretPath, hr as PEER_BYTES_TICKET_TTL_MS, ht as ReadinessRegistry, ii as isSecretMarkerLike, in as RecordIndexSchema, ir as createSecretsAccess, jn as RecordNotFoundError, kn as PlaintextSecretError, ln as assertValidDeclaration, lr as registerKnownSecret, mn as mapSecretLeaves, mr as PEER_BYTES_STALL_MS, mt as MODEL_FORMATS, ni as isSecretFieldView, nn as EntryDescriptorSchema, nr as resolveSecretViewsIn, o as asJsonObject, oi as toSecretFieldView, on as RecordKindNameSchema, or as clearKnownSecrets, p as BOOT_RECOVERY_BACKOFF_MS, pn as collectSecretLeaves, pr as PEER_BYTES_MAX_OUTSTANDING, q as adminUiCapability, qn as RECORD_DELETE_BATCH, r as maskUrlCredentials, ri as isSecretMarker, rn as RecordFieldPathSchema, rr as REVALIDATE_AFTER_MS, sn as RecordRetentionSchema, sr as forgetKnownSecret, st as expandCapMethods, t as sleep, ti as isSecretClear, tn as assertTransactScope, tr as RECORD_SWEEP_INTERVAL_MS, un as declarationsOf, ur as scrubKnownSecrets, vn as recordSecretRef, w as createEventBusSliceSource, wn as DeclarationRefusedError, x as createDeviceProxy, xn as collectZodSecretPaths, y as DEVICE_SCOPED_CAPS, yn as secretArrayPrefixes, yr as DisposerChain, yt as scopeKey, z as PipelineStepInputSchema, zn as UnknownRecordKindError, zr as parseSecretRef } from "./sleep-
|
|
1
|
+
import { $n as RECORD_SECRET_COLLECTION_PREFIX, $r as SECRET_CLEAR, $t as entryBody, A as HF_REPO, An as RECORDS_ERROR_CODES, B as DEVICE_CHILDREN_BATCH_MAX, Bn as asRecordsError, C as addonSliceHandleApi, Cn as BatchTooLargeError, Dn as InvalidRecordError, En as ForeignSecretMarkerError, Fn as RecordsError, Fr as formatSecretScope, G as describeCustomActions, Gn as RECORD_DATABASES, H as withoutCallerStamp, Hn as RECORD_BATCH_MAX, Hr as createEvent, I as deviceOpsCapability, In as RevConflictError, Ir as globalSecretScope, Jn as RECORD_ID_MAX_LENGTH, Kn as RECORD_DEFAULT_MAX_DATA_BYTES, L as viewerUiCapability, Ln as TransactRefusedError, Lr as isSecretRef, M as CAP_ADVANCE_FIELDS, Mn as RecordSecretUnavailableError, Mr as SECRET_REF_SCHEME, Nn as RecordTooLargeError, Nr as arrayItemFieldPath, On as NoCallerError, P as CAP_STATE_LEAVES, Pn as RecordUniqueViolationError, Pr as buildSecretRef, Q as readNodePin, Qn as RECORD_QUERY_MAX, Qt as defineEntryKind, R as PipelineRunResultBridge, Rn as UnindexedFilterError, Rr as normalizeSecretOwner, Sn as isZodSecret, Sr as normalizeAddonInitResult, Tn as FilterRequiredError, U as customAction, Un as RECORD_BATCH_MAX_BYTES, Ur as emitReadiness, V as CALLER_STAMPED_CAPABILITIES, Vn as recordsErrorFromMessage, W as defineCustomActions, Wn as RECORD_CLASSES, Xn as RECORD_MAX_INDEXES, Y as addonPagesSourceCapability, Yn as RECORD_MAX_DATA_BYTES, Z as nodePin, Zn as RECORD_MAX_INDEX_FIELDS, Zt as makeInMemoryRecords, _ as readErrorI18n, _n as recordSecretCollection, _r as DATAPLANE_SECRET_HEADER, ai as makeSecretMarker, an as RecordKindDeclarationSchema, ar as MIN_SCRUBBED_LENGTH, b as isDeviceScopedCap, br as BaseAddon, c as asString, cn as StoredRecordKindDeclarationSchema, cr as knownSecretCount, d as parseJsonUnknown, dn as defineRecordKinds, dr as shortSecretRefHash, ei as classifySecretWrite, en as createRecordsAccess, er as RECORD_SETTINGS_MAX_ROWS, f as hfModelUrl, fn as REMOVE_LEAF, fr as PEER_BYTES_CHUNK_BYTES, g as ErrorI18nPayloadSchema, gn as recordArrayItemPath, gt as ReadinessTimeoutError, hn as parseSecretPath, hr as PEER_BYTES_TICKET_TTL_MS, ht as ReadinessRegistry, ii as isSecretMarkerLike, in as RecordIndexSchema, ir as createSecretsAccess, jn as RecordNotFoundError, kn as PlaintextSecretError, ln as assertValidDeclaration, lr as registerKnownSecret, mn as mapSecretLeaves, mr as PEER_BYTES_STALL_MS, mt as MODEL_FORMATS, ni as isSecretFieldView, nn as EntryDescriptorSchema, nr as resolveSecretViewsIn, o as asJsonObject, oi as toSecretFieldView, on as RecordKindNameSchema, or as clearKnownSecrets, p as BOOT_RECOVERY_BACKOFF_MS, pn as collectSecretLeaves, pr as PEER_BYTES_MAX_OUTSTANDING, q as adminUiCapability, qn as RECORD_DELETE_BATCH, r as maskUrlCredentials, ri as isSecretMarker, rn as RecordFieldPathSchema, rr as REVALIDATE_AFTER_MS, sn as RecordRetentionSchema, sr as forgetKnownSecret, st as expandCapMethods, t as sleep, ti as isSecretClear, tn as assertTransactScope, tr as RECORD_SWEEP_INTERVAL_MS, un as declarationsOf, ur as scrubKnownSecrets, vn as recordSecretRef, w as createEventBusSliceSource, wn as DeclarationRefusedError, x as createDeviceProxy, xn as collectZodSecretPaths, y as DEVICE_SCOPED_CAPS, yn as secretArrayPrefixes, yr as DisposerChain, yt as scopeKey, z as PipelineStepInputSchema, zn as UnknownRecordKindError, zr as parseSecretRef } from "./sleep-63gM_1JR.mjs";
|
|
2
2
|
import { t as EventCategory } from "./event-category-DmZDPDf_.mjs";
|
|
3
3
|
import { a as DeviceType, t as errMsg } from "./err-msg-DWXWc0Di.mjs";
|
|
4
4
|
//#region src/generated/cap-input-defaults.ts
|
|
@@ -366,7 +366,7 @@ function materialise(defaults) {
|
|
|
366
366
|
* barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
|
|
367
367
|
* forked runner. See docs/decisions/adr-0028.md.
|
|
368
368
|
*
|
|
369
|
-
* Coverage:
|
|
369
|
+
* Coverage: 29 collection caps, 49 array methods.
|
|
370
370
|
*/
|
|
371
371
|
var COLLECTION_ARRAY_METHODS = Object.freeze({
|
|
372
372
|
"action-source": ["listActions"],
|
|
@@ -407,6 +407,7 @@ var COLLECTION_ARRAY_METHODS = Object.freeze({
|
|
|
407
407
|
"listTargets"
|
|
408
408
|
],
|
|
409
409
|
"recording": ["listSources"],
|
|
410
|
+
"remote-layout-components": ["listComponents"],
|
|
410
411
|
"storage-occupancy": ["getOccupancy"],
|
|
411
412
|
"storage-provider": ["list"],
|
|
412
413
|
"template": ["list"],
|
|
@@ -92,6 +92,7 @@ export declare const ActionEntrySchema: z.ZodObject<{
|
|
|
92
92
|
cap: z.ZodString;
|
|
93
93
|
method: z.ZodString;
|
|
94
94
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
95
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
95
96
|
}, z.core.$strip>], "kind">>>;
|
|
96
97
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
97
98
|
name: z.ZodString;
|
|
@@ -127,6 +128,7 @@ export declare const ActionInputSchema: z.ZodObject<{
|
|
|
127
128
|
cap: z.ZodString;
|
|
128
129
|
method: z.ZodString;
|
|
129
130
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
131
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
130
132
|
}, z.core.$strip>], "kind">>;
|
|
131
133
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
132
134
|
name: z.ZodString;
|
|
@@ -20,7 +20,9 @@ export type { CooldownInput, CooldownVerdict, RunGateAdmission } from './run-gat
|
|
|
20
20
|
export { RunGate } from './run-gate.js';
|
|
21
21
|
export type { AutomationConditionTraceNode, AutomationRunOutcome, AutomationRunTrace, AutomationRunVerdict, AutomationStateDoc, AutomationStepTrace, AutomationTriggerTrace, TraceNodeOutcome, TraceValue, } from './trace.js';
|
|
22
22
|
export { AutomationConditionTraceNodeSchema, EMPTY_AUTOMATION_STATE, mergeSkipTraces, AutomationRunOutcomeSchema, AutomationRunTraceSchema, AutomationRunVerdictSchema, AutomationStateDocSchema, AutomationStepTraceSchema, AutomationTriggerTraceSchema, appendTrace, buildTriggerTrace, isSkippedTrace, skipSignature, TraceNodeOutcomeSchema, TraceValueSchema, } from './trace.js';
|
|
23
|
-
export type { ActionStep, AutomationAction, AutomationCondition, AutomationConditionAll, AutomationConditionAny, AutomationConditionExpression, AutomationConditionLeaf, AutomationConditionNot, AutomationConditionOperator, AutomationConditionStationaryPresent, AutomationRecipe, AutomationRunMode, AutomationTrigger, } from './recipe.js';
|
|
23
|
+
export type { ActionStep, AutomationAction, AutomationCapStep, AutomationCondition, AutomationConditionAll, AutomationConditionAny, AutomationConditionExpression, AutomationConditionLeaf, AutomationConditionNot, AutomationConditionOperator, AutomationConditionStationaryPresent, AutomationRecipe, AutomationRunMode, AutomationTrigger, } from './recipe.js';
|
|
24
24
|
export { ActionStepSchema, AutomationActionSchema, AutomationCapStepSchema, AutomationWaitStepSchema, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationRecipeSchema, AutomationRunModeSchema, AutomationTriggerSchema, conditionDepth, countConditionLeaves, DEFAULT_TRACE_KEEP, MAX_TRACE_KEEP, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, validateRecipeBounds, } from './recipe.js';
|
|
25
25
|
export * from './action.js';
|
|
26
26
|
export * from './step-runner.js';
|
|
27
|
+
export { UnitWarningSchema, capUnitResolver, normalizeActionUnits, normalizeConditionUnits, normalizeRecipeUnits, } from './normalize-units.js';
|
|
28
|
+
export type { UnitResolver, UnitWarning, UnitsNormalized } from './normalize-units.js';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The save boundary of the value + unit contract (D972).
|
|
3
|
+
*
|
|
4
|
+
* A number tied to a physical quantity is ENTERED in a unit the person picks
|
|
5
|
+
* and STORED in a fixed one:
|
|
6
|
+
*
|
|
7
|
+
* - a condition leaf on a device field → the field's base unit (D944);
|
|
8
|
+
* - a cap step arg → the unit the method's input declares (`paramMeta`).
|
|
9
|
+
*
|
|
10
|
+
* The write form of a number is {@link QuantityValue} (`{ value, unit }`,
|
|
11
|
+
* "this number is in this unit"). Normalising converts it, stores the bare
|
|
12
|
+
* number and records the picked unit (`leaf.unit` / `step.argUnits[arg]`) so an
|
|
13
|
+
* editor can show the number the way it was typed. Normalising an already
|
|
14
|
+
* normalised record changes nothing: a stored bare number is never converted
|
|
15
|
+
* again, which is why the picked unit is a separate field.
|
|
16
|
+
*
|
|
17
|
+
* A bare number on a quantity field is ACCEPTED as the base / declared unit
|
|
18
|
+
* and reported as a {@link UnitWarning}; a unit that cannot belong to the
|
|
19
|
+
* quantity is a typed {@link QuantityUnitError}.
|
|
20
|
+
*
|
|
21
|
+
* Pure: the cap knowledge arrives as a {@link UnitResolver}.
|
|
22
|
+
*/
|
|
23
|
+
import type { CapabilityDefinition } from '../capabilities/capability-definition.js';
|
|
24
|
+
import { type ParamMeta } from '../units/quantity-input.js';
|
|
25
|
+
import type { ReadingQuantity } from '../units/quantity.js';
|
|
26
|
+
import { z } from 'zod';
|
|
27
|
+
import type { AutomationAction, AutomationCapStep, AutomationCondition, AutomationRecipe } from './recipe.js';
|
|
28
|
+
/** What the boundary needs to know about caps. */
|
|
29
|
+
export interface UnitResolver {
|
|
30
|
+
/** The quantity of a status field, or `undefined` when it is not a quantity. */
|
|
31
|
+
fieldQuantity(cap: string, fieldPath: string): ReadingQuantity | undefined;
|
|
32
|
+
/** What a method input declares for `arg`, or `undefined` when it is not a quantity. */
|
|
33
|
+
paramMeta(cap: string, method: string, arg: string): ParamMeta | undefined;
|
|
34
|
+
}
|
|
35
|
+
/** A bare number accepted as a base unit — the save succeeded, say so. */
|
|
36
|
+
export declare const UnitWarningSchema: z.ZodObject<{
|
|
37
|
+
path: z.ZodString;
|
|
38
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
field: z.ZodString;
|
|
40
|
+
value: z.ZodNumber;
|
|
41
|
+
assumedUnit: z.ZodString;
|
|
42
|
+
message: z.ZodString;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export type UnitWarning = z.infer<typeof UnitWarningSchema>;
|
|
45
|
+
export interface UnitsNormalized<T> {
|
|
46
|
+
readonly value: T;
|
|
47
|
+
readonly warnings: readonly UnitWarning[];
|
|
48
|
+
}
|
|
49
|
+
/** A resolver over capability definitions (the generated registry, or a fake). */
|
|
50
|
+
export declare function capUnitResolver(defs: readonly CapabilityDefinition[]): UnitResolver;
|
|
51
|
+
/** Normalise every leaf of a condition tree. Throws {@link QuantityUnitError}. */
|
|
52
|
+
export declare function normalizeConditionUnits(condition: AutomationCondition, resolver: UnitResolver, path?: string): UnitsNormalized<AutomationCondition>;
|
|
53
|
+
/**
|
|
54
|
+
* Normalise the cap steps of an action list (an internal Action's steps, or a
|
|
55
|
+
* recipe's actions). Other step kinds pass through. Throws {@link QuantityUnitError}.
|
|
56
|
+
*/
|
|
57
|
+
export declare function normalizeActionUnits<A extends AutomationAction>(actions: readonly A[], resolver: UnitResolver, path?: string): UnitsNormalized<(A | AutomationCapStep)[]>;
|
|
58
|
+
/** Normalise a whole recipe: its condition tree and its actions. */
|
|
59
|
+
export declare function normalizeRecipeUnits(recipe: AutomationRecipe, resolver: UnitResolver): UnitsNormalized<AutomationRecipe>;
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { z } from 'zod';
|
|
29
29
|
import { type ExpressionBindingSource } from '../expression/binding-source.js';
|
|
30
|
+
import { type QuantityValue } from '../units/quantity-input.js';
|
|
30
31
|
/**
|
|
31
32
|
* Depth of a condition tree, counting the root container as level 1.
|
|
32
33
|
*
|
|
@@ -58,7 +59,15 @@ export interface AutomationConditionLeaf {
|
|
|
58
59
|
readonly cap: string;
|
|
59
60
|
readonly fieldPath: string;
|
|
60
61
|
readonly operator: AutomationConditionOperator;
|
|
61
|
-
|
|
62
|
+
/**
|
|
63
|
+
* The value. A number on a quantity field is stored in the field's base unit
|
|
64
|
+
* (D944); {@link QuantityValue} is the WRITE form — "this number is in this
|
|
65
|
+
* unit" — which the save boundary replaces with the converted number and
|
|
66
|
+
* `unit`. A leaf that still carries one is never evaluated (it fails).
|
|
67
|
+
*/
|
|
68
|
+
readonly value: string | number | boolean | readonly (string | number)[] | QuantityValue;
|
|
69
|
+
/** The unit the person picked for `value` (display only; `value` is in the base unit). */
|
|
70
|
+
readonly unit?: string;
|
|
62
71
|
}
|
|
63
72
|
/** The escape hatch: the bounded expression engine over named device bindings. */
|
|
64
73
|
export interface AutomationConditionExpression {
|
|
@@ -170,7 +179,9 @@ export declare const AutomationCapStepSchema: z.ZodObject<{
|
|
|
170
179
|
cap: z.ZodString;
|
|
171
180
|
method: z.ZodString;
|
|
172
181
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
182
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
173
183
|
}, z.core.$strip>;
|
|
184
|
+
export type AutomationCapStep = z.infer<typeof AutomationCapStepSchema>;
|
|
174
185
|
/**
|
|
175
186
|
* The steps an internal Action may contain: cap and wait, and nothing that can
|
|
176
187
|
* call back into an Action — so an Action can never reach itself (no cycles).
|
|
@@ -186,6 +197,7 @@ export declare const ActionStepSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
186
197
|
cap: z.ZodString;
|
|
187
198
|
method: z.ZodString;
|
|
188
199
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
200
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
189
201
|
}, z.core.$strip>], "kind">;
|
|
190
202
|
export type ActionStep = z.infer<typeof ActionStepSchema>;
|
|
191
203
|
export declare const AutomationActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -199,6 +211,7 @@ export declare const AutomationActionSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
199
211
|
cap: z.ZodString;
|
|
200
212
|
method: z.ZodString;
|
|
201
213
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
214
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
202
215
|
}, z.core.$strip>, z.ZodObject<{
|
|
203
216
|
kind: z.ZodLiteral<"action">;
|
|
204
217
|
actionId: z.ZodString;
|
|
@@ -289,6 +302,7 @@ export declare const AutomationRecipeSchema: z.ZodObject<{
|
|
|
289
302
|
cap: z.ZodString;
|
|
290
303
|
method: z.ZodString;
|
|
291
304
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
305
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
292
306
|
}, z.core.$strip>, z.ZodObject<{
|
|
293
307
|
kind: z.ZodLiteral<"action">;
|
|
294
308
|
actionId: z.ZodString;
|
|
@@ -42,6 +42,7 @@ export declare const actionSourceCapability: {
|
|
|
42
42
|
cap: z.ZodString;
|
|
43
43
|
method: z.ZodString;
|
|
44
44
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
45
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
45
46
|
}, z.core.$strip>], "kind">>>;
|
|
46
47
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
47
48
|
name: z.ZodString;
|
|
@@ -31,6 +31,7 @@ export declare const actionsCapability: {
|
|
|
31
31
|
cap: z.ZodString;
|
|
32
32
|
method: z.ZodString;
|
|
33
33
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
34
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
34
35
|
}, z.core.$strip>], "kind">>>;
|
|
35
36
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
36
37
|
name: z.ZodString;
|
|
@@ -79,6 +80,7 @@ export declare const actionsCapability: {
|
|
|
79
80
|
cap: z.ZodString;
|
|
80
81
|
method: z.ZodString;
|
|
81
82
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
83
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
82
84
|
}, z.core.$strip>], "kind">>>;
|
|
83
85
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
84
86
|
name: z.ZodString;
|
|
@@ -225,7 +227,15 @@ export declare const actionsCapability: {
|
|
|
225
227
|
lastAt: z.ZodNumber;
|
|
226
228
|
}, z.core.$strip>>;
|
|
227
229
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
228
|
-
/**
|
|
230
|
+
/**
|
|
231
|
+
* Internal actions only; a read-only (addon) entry is refused with `[read-only]`.
|
|
232
|
+
* Create an internal action. A cap step arg that is a physical quantity may
|
|
233
|
+
* be sent as `{ value, unit }` ("value expressed in unit"); the server
|
|
234
|
+
* converts it to the unit the method's input declares, stores the bare
|
|
235
|
+
* number plus the picked unit in `argUnits`, and refuses a unit of another
|
|
236
|
+
* dimension (`[invalid-steps]`). A bare number is taken as the declared
|
|
237
|
+
* unit and answered as a `warnings` entry (D972).
|
|
238
|
+
*/
|
|
229
239
|
readonly create: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
230
240
|
action: z.ZodObject<{
|
|
231
241
|
name: z.ZodString;
|
|
@@ -240,6 +250,7 @@ export declare const actionsCapability: {
|
|
|
240
250
|
cap: z.ZodString;
|
|
241
251
|
method: z.ZodString;
|
|
242
252
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
253
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
243
254
|
}, z.core.$strip>], "kind">>;
|
|
244
255
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
245
256
|
name: z.ZodString;
|
|
@@ -276,6 +287,7 @@ export declare const actionsCapability: {
|
|
|
276
287
|
cap: z.ZodString;
|
|
277
288
|
method: z.ZodString;
|
|
278
289
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
290
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
279
291
|
}, z.core.$strip>], "kind">>>;
|
|
280
292
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
281
293
|
name: z.ZodString;
|
|
@@ -296,6 +308,14 @@ export declare const actionsCapability: {
|
|
|
296
308
|
lastError: z.ZodNullable<z.ZodString>;
|
|
297
309
|
}, z.core.$strip>;
|
|
298
310
|
}, z.core.$strip>;
|
|
311
|
+
warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
312
|
+
path: z.ZodString;
|
|
313
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
314
|
+
field: z.ZodString;
|
|
315
|
+
value: z.ZodNumber;
|
|
316
|
+
assumedUnit: z.ZodString;
|
|
317
|
+
message: z.ZodString;
|
|
318
|
+
}, z.core.$strip>>>;
|
|
299
319
|
}, z.core.$strip>, "mutation">;
|
|
300
320
|
readonly update: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
301
321
|
actionId: z.ZodString;
|
|
@@ -312,6 +332,7 @@ export declare const actionsCapability: {
|
|
|
312
332
|
cap: z.ZodString;
|
|
313
333
|
method: z.ZodString;
|
|
314
334
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
335
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
315
336
|
}, z.core.$strip>], "kind">>>;
|
|
316
337
|
variables: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
317
338
|
name: z.ZodString;
|
|
@@ -348,6 +369,7 @@ export declare const actionsCapability: {
|
|
|
348
369
|
cap: z.ZodString;
|
|
349
370
|
method: z.ZodString;
|
|
350
371
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
372
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
351
373
|
}, z.core.$strip>], "kind">>>;
|
|
352
374
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
353
375
|
name: z.ZodString;
|
|
@@ -368,6 +390,14 @@ export declare const actionsCapability: {
|
|
|
368
390
|
lastError: z.ZodNullable<z.ZodString>;
|
|
369
391
|
}, z.core.$strip>;
|
|
370
392
|
}, z.core.$strip>;
|
|
393
|
+
warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
394
|
+
path: z.ZodString;
|
|
395
|
+
deviceId: z.ZodOptional<z.ZodNumber>;
|
|
396
|
+
field: z.ZodString;
|
|
397
|
+
value: z.ZodNumber;
|
|
398
|
+
assumedUnit: z.ZodString;
|
|
399
|
+
message: z.ZodString;
|
|
400
|
+
}, z.core.$strip>>>;
|
|
371
401
|
}, z.core.$strip>, "mutation">;
|
|
372
402
|
readonly delete: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
373
403
|
actionId: z.ZodString;
|
|
@@ -399,6 +429,7 @@ export declare const actionsCapability: {
|
|
|
399
429
|
cap: z.ZodString;
|
|
400
430
|
method: z.ZodString;
|
|
401
431
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
432
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
402
433
|
}, z.core.$strip>], "kind">>>;
|
|
403
434
|
variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
404
435
|
name: z.ZodString;
|
|
@@ -188,6 +188,7 @@ export declare const CoreBlockSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject
|
|
|
188
188
|
cap: z.ZodString;
|
|
189
189
|
method: z.ZodString;
|
|
190
190
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
191
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
191
192
|
}, z.core.$strip>, z.ZodObject<{
|
|
192
193
|
kind: z.ZodLiteral<"action">;
|
|
193
194
|
actionId: z.ZodString;
|
|
@@ -731,6 +732,7 @@ export declare const CoreBlockSchema: z.ZodObject<{
|
|
|
731
732
|
cap: z.ZodString;
|
|
732
733
|
method: z.ZodString;
|
|
733
734
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
735
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
734
736
|
}, z.core.$strip>, z.ZodObject<{
|
|
735
737
|
kind: z.ZodLiteral<"action">;
|
|
736
738
|
actionId: z.ZodString;
|
|
@@ -1090,6 +1092,7 @@ export declare const CompositionViewSchema: z.ZodObject<{
|
|
|
1090
1092
|
cap: z.ZodString;
|
|
1091
1093
|
method: z.ZodString;
|
|
1092
1094
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1095
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1093
1096
|
}, z.core.$strip>, z.ZodObject<{
|
|
1094
1097
|
kind: z.ZodLiteral<"action">;
|
|
1095
1098
|
actionId: z.ZodString;
|
|
@@ -1447,6 +1450,7 @@ export declare const CompositionListReadSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
1447
1450
|
cap: z.ZodString;
|
|
1448
1451
|
method: z.ZodString;
|
|
1449
1452
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1453
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1450
1454
|
}, z.core.$strip>, z.ZodObject<{
|
|
1451
1455
|
kind: z.ZodLiteral<"action">;
|
|
1452
1456
|
actionId: z.ZodString;
|
|
@@ -1808,6 +1812,7 @@ export declare const CompositionGetReadSchema: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
1808
1812
|
cap: z.ZodString;
|
|
1809
1813
|
method: z.ZodString;
|
|
1810
1814
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1815
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1811
1816
|
}, z.core.$strip>, z.ZodObject<{
|
|
1812
1817
|
kind: z.ZodLiteral<"action">;
|
|
1813
1818
|
actionId: z.ZodString;
|
|
@@ -2170,6 +2175,7 @@ export declare const CompositionCustomizationReadSchema: z.ZodDiscriminatedUnion
|
|
|
2170
2175
|
cap: z.ZodString;
|
|
2171
2176
|
method: z.ZodString;
|
|
2172
2177
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2178
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2173
2179
|
}, z.core.$strip>, z.ZodObject<{
|
|
2174
2180
|
kind: z.ZodLiteral<"action">;
|
|
2175
2181
|
actionId: z.ZodString;
|
|
@@ -2552,6 +2558,7 @@ export declare const coreBlocksCapability: {
|
|
|
2552
2558
|
cap: z.ZodString;
|
|
2553
2559
|
method: z.ZodString;
|
|
2554
2560
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2561
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2555
2562
|
}, z.core.$strip>, z.ZodObject<{
|
|
2556
2563
|
kind: z.ZodLiteral<"action">;
|
|
2557
2564
|
actionId: z.ZodString;
|
|
@@ -2872,6 +2879,7 @@ export declare const coreBlocksCapability: {
|
|
|
2872
2879
|
cap: z.ZodString;
|
|
2873
2880
|
method: z.ZodString;
|
|
2874
2881
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2882
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2875
2883
|
}, z.core.$strip>, z.ZodObject<{
|
|
2876
2884
|
kind: z.ZodLiteral<"action">;
|
|
2877
2885
|
actionId: z.ZodString;
|
|
@@ -3206,6 +3214,7 @@ export declare const coreBlocksCapability: {
|
|
|
3206
3214
|
cap: z.ZodString;
|
|
3207
3215
|
method: z.ZodString;
|
|
3208
3216
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3217
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3209
3218
|
}, z.core.$strip>, z.ZodObject<{
|
|
3210
3219
|
kind: z.ZodLiteral<"action">;
|
|
3211
3220
|
actionId: z.ZodString;
|
|
@@ -3538,6 +3547,7 @@ export declare const coreBlocksCapability: {
|
|
|
3538
3547
|
cap: z.ZodString;
|
|
3539
3548
|
method: z.ZodString;
|
|
3540
3549
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3550
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3541
3551
|
}, z.core.$strip>, z.ZodObject<{
|
|
3542
3552
|
kind: z.ZodLiteral<"action">;
|
|
3543
3553
|
actionId: z.ZodString;
|
|
@@ -3866,6 +3876,7 @@ export declare const coreBlocksCapability: {
|
|
|
3866
3876
|
cap: z.ZodString;
|
|
3867
3877
|
method: z.ZodString;
|
|
3868
3878
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3879
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3869
3880
|
}, z.core.$strip>, z.ZodObject<{
|
|
3870
3881
|
kind: z.ZodLiteral<"action">;
|
|
3871
3882
|
actionId: z.ZodString;
|
|
@@ -4199,6 +4210,7 @@ export declare const coreBlocksCapability: {
|
|
|
4199
4210
|
cap: z.ZodString;
|
|
4200
4211
|
method: z.ZodString;
|
|
4201
4212
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
4213
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
4202
4214
|
}, z.core.$strip>, z.ZodObject<{
|
|
4203
4215
|
kind: z.ZodLiteral<"action">;
|
|
4204
4216
|
actionId: z.ZodString;
|
|
@@ -4838,6 +4850,7 @@ export declare const coreBlocksCapability: {
|
|
|
4838
4850
|
cap: z.ZodString;
|
|
4839
4851
|
method: z.ZodString;
|
|
4840
4852
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
4853
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
4841
4854
|
}, z.core.$strip>, z.ZodObject<{
|
|
4842
4855
|
kind: z.ZodLiteral<"action">;
|
|
4843
4856
|
actionId: z.ZodString;
|
|
@@ -5381,6 +5394,7 @@ export declare const coreBlocksCapability: {
|
|
|
5381
5394
|
cap: z.ZodString;
|
|
5382
5395
|
method: z.ZodString;
|
|
5383
5396
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5397
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5384
5398
|
}, z.core.$strip>, z.ZodObject<{
|
|
5385
5399
|
kind: z.ZodLiteral<"action">;
|
|
5386
5400
|
actionId: z.ZodString;
|
|
@@ -5706,6 +5720,7 @@ export declare const coreBlocksCapability: {
|
|
|
5706
5720
|
cap: z.ZodString;
|
|
5707
5721
|
method: z.ZodString;
|
|
5708
5722
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5723
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5709
5724
|
}, z.core.$strip>, z.ZodObject<{
|
|
5710
5725
|
kind: z.ZodLiteral<"action">;
|
|
5711
5726
|
actionId: z.ZodString;
|
|
@@ -6066,6 +6081,7 @@ export declare const coreBlocksCapability: {
|
|
|
6066
6081
|
cap: z.ZodString;
|
|
6067
6082
|
method: z.ZodString;
|
|
6068
6083
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6084
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6069
6085
|
}, z.core.$strip>, z.ZodObject<{
|
|
6070
6086
|
kind: z.ZodLiteral<"action">;
|
|
6071
6087
|
actionId: z.ZodString;
|
|
@@ -6433,6 +6449,7 @@ export declare const coreBlocksCapability: {
|
|
|
6433
6449
|
cap: z.ZodString;
|
|
6434
6450
|
method: z.ZodString;
|
|
6435
6451
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6452
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6436
6453
|
}, z.core.$strip>, z.ZodObject<{
|
|
6437
6454
|
kind: z.ZodLiteral<"action">;
|
|
6438
6455
|
actionId: z.ZodString;
|
|
@@ -161,6 +161,7 @@ export { type BinaryStatus, BinaryStatusSchema, binaryCapability, type IBinaryPr
|
|
|
161
161
|
export { type BrightnessStatus, BrightnessStatusSchema, brightnessCapability, type IBrightnessProvider, } from './brightness.cap.js';
|
|
162
162
|
export { type IRemoteProvider, REMOTE_CONFIG_REFUSALS, REMOTE_MAX_REPEAT, REMOTE_MEDIA_COMMANDS, REMOTE_REFUSAL_REASONS, type RemoteBoundCommand, type RemoteCommandList, RemoteCommandListSchema, RemoteBoundCommandSchema, type RemoteMediaCommand, type RemoteMediaCommandResult, RemoteMediaCommandResultSchema, RemoteMediaCommandSchema, type RemoteRefusalReason, RemoteRefusalReasonSchema, type RemoteSendResult, RemoteSendResultSchema, type RemoteSetConfigResult, RemoteSetConfigResultSchema, remoteCapability, } from './remote.cap.js';
|
|
163
163
|
export { type ITemplateProvider, TEMPLATE_WRITE_REFUSALS, type TemplateDeleteResult, TemplateDeleteResultSchema, type TemplateRecord, TemplateRecordSchema, type TemplateUser, TemplateUserSchema, type TemplateWriteResult, TemplateWriteResultSchema, templateCapability, } from './template.cap.js';
|
|
164
|
+
export { type IRemoteLayoutComponentsProvider, remoteLayoutComponentsCapability, } from './remote-layout-components.cap.js';
|
|
164
165
|
export { buttonCapability, type IButtonProvider } from './button.cap.js';
|
|
165
166
|
export { irTransmitterCapability, TransmitSettingKeySchema, IrMediumSchema, IrSendResultSchema, IrTransmitterInfoSchema, type IIrTransmitterProvider, type TransmitSettingKey, type IrMedium, type IrSendResult, type IrTransmitterInfo, } from './ir-transmitter.cap.js';
|
|
166
167
|
export type { CalendarEvent, CalendarInfo, CalendarListEventsInput, CalendarLocalSpan, CalendarSourceKind, ICalendarSourceProvider, } from './calendar-source.cap.js';
|
|
@@ -298,6 +299,7 @@ import type { buttonCapability } from './button.cap.js';
|
|
|
298
299
|
import type { irTransmitterCapability } from './ir-transmitter.cap.js';
|
|
299
300
|
import type { remoteCapability } from './remote.cap.js';
|
|
300
301
|
import type { templateCapability } from './template.cap.js';
|
|
302
|
+
import type { remoteLayoutComponentsCapability } from './remote-layout-components.cap.js';
|
|
301
303
|
import type { calendarSourceCapability } from './calendar-source.cap.js';
|
|
302
304
|
import type { calendarsCapability } from './calendars.cap.js';
|
|
303
305
|
import type { cameraCredentialsCapability } from './camera-credentials.cap.js';
|
|
@@ -460,6 +462,6 @@ import type { trainingProviderCapability } from './training-provider.cap.js';
|
|
|
460
462
|
import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
|
|
461
463
|
import type { zoneRulesCapability } from './zone-rules.cap.js';
|
|
462
464
|
import type { zonesCapability } from './zones.cap.js';
|
|
463
|
-
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 nodeRemovalHookCapability | 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 petFountainCapability | 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 remoteCapability | typeof templateCapability | 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;
|
|
465
|
+
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 nodeRemovalHookCapability | 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 petFountainCapability | 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 remoteCapability | typeof templateCapability | typeof remoteLayoutComponentsCapability | 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;
|
|
464
466
|
export type CapabilityName = AnyCapability['name'];
|
|
465
467
|
export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/**
|
|
4
|
+
* remote-layout-components — the palette of the remote template editor's "Add
|
|
5
|
+
* component" (D973). A provider DECLARES components as data (buttons placed
|
|
6
|
+
* relative to the component, a frame, shapes and tones from closed
|
|
7
|
+
* vocabularies the UI draws); it ships no UI code.
|
|
8
|
+
*
|
|
9
|
+
* Collection: `listComponents` returns an array, so the generated mount
|
|
10
|
+
* concat-fans it across every enabled provider. The core-blocks builtin
|
|
11
|
+
* provides the built-in set (`core:*`); an addon adds its own under
|
|
12
|
+
* `<addonId>:<name>`. The caller dedupes by id, built-ins first.
|
|
13
|
+
*/
|
|
14
|
+
export declare const remoteLayoutComponentsCapability: {
|
|
15
|
+
readonly name: 'remote-layout-components';
|
|
16
|
+
readonly scope: 'system';
|
|
17
|
+
readonly mode: 'collection';
|
|
18
|
+
readonly methods: {
|
|
19
|
+
readonly listComponents: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodArray<z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
nameI18n: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
en: z.ZodString;
|
|
24
|
+
it: z.ZodString;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
icon: z.ZodString;
|
|
27
|
+
category: z.ZodEnum<{
|
|
28
|
+
apps: "apps";
|
|
29
|
+
colour: "colour";
|
|
30
|
+
layout: "layout";
|
|
31
|
+
media: "media";
|
|
32
|
+
navigation: "navigation";
|
|
33
|
+
numbers: "numbers";
|
|
34
|
+
power: "power";
|
|
35
|
+
volume: "volume";
|
|
36
|
+
}>;
|
|
37
|
+
size: z.ZodObject<{
|
|
38
|
+
rows: z.ZodNumber;
|
|
39
|
+
cols: z.ZodNumber;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
group: z.ZodNullable<z.ZodObject<{
|
|
42
|
+
frame: z.ZodEnum<{
|
|
43
|
+
divider: "divider";
|
|
44
|
+
dpad: "dpad";
|
|
45
|
+
keypad: "keypad";
|
|
46
|
+
none: "none";
|
|
47
|
+
panel: "panel";
|
|
48
|
+
"rocker-h": "rocker-h";
|
|
49
|
+
"rocker-v": "rocker-v";
|
|
50
|
+
}>;
|
|
51
|
+
title: z.ZodOptional<z.ZodString>;
|
|
52
|
+
}, z.core.$strip>>;
|
|
53
|
+
buttons: z.ZodArray<z.ZodObject<{
|
|
54
|
+
idSuffix: z.ZodString;
|
|
55
|
+
row: z.ZodNumber;
|
|
56
|
+
col: z.ZodNumber;
|
|
57
|
+
rowSpan: z.ZodNumber;
|
|
58
|
+
colSpan: z.ZodNumber;
|
|
59
|
+
role: z.ZodString;
|
|
60
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
61
|
+
label: z.ZodOptional<z.ZodString>;
|
|
62
|
+
shape: z.ZodOptional<z.ZodEnum<{
|
|
63
|
+
pill: "pill";
|
|
64
|
+
rect: "rect";
|
|
65
|
+
round: "round";
|
|
66
|
+
rounded: "rounded";
|
|
67
|
+
}>>;
|
|
68
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
69
|
+
accent: "accent";
|
|
70
|
+
blue: "blue";
|
|
71
|
+
danger: "danger";
|
|
72
|
+
green: "green";
|
|
73
|
+
neutral: "neutral";
|
|
74
|
+
red: "red";
|
|
75
|
+
yellow: "yellow";
|
|
76
|
+
}>>;
|
|
77
|
+
}, z.core.$strip>>;
|
|
78
|
+
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export type IRemoteLayoutComponentsProvider = InferProvider<typeof remoteLayoutComponentsCapability>;
|
|
@@ -124,6 +124,7 @@ export declare const remoteCapability: {
|
|
|
124
124
|
cap: z.ZodString;
|
|
125
125
|
method: z.ZodString;
|
|
126
126
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
127
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
127
128
|
deviceId: z.ZodNumber;
|
|
128
129
|
}, z.core.$strip>;
|
|
129
130
|
}, z.core.$strip>>;
|
|
@@ -149,6 +150,7 @@ export declare const remoteCapability: {
|
|
|
149
150
|
cap: z.ZodString;
|
|
150
151
|
method: z.ZodString;
|
|
151
152
|
args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
153
|
+
argUnits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
152
154
|
deviceId: z.ZodNumber;
|
|
153
155
|
}, z.core.$strip>;
|
|
154
156
|
}, z.core.$strip>>;
|
package/dist/client.js
CHANGED
|
@@ -28965,6 +28965,7 @@ function createSystemProxy(api) {
|
|
|
28965
28965
|
sendCommand: (input) => dispatch("remote", "sendCommand", "mutation", input),
|
|
28966
28966
|
sendMediaCommand: (input) => dispatch("remote", "sendMediaCommand", "mutation", input)
|
|
28967
28967
|
},
|
|
28968
|
+
remoteLayoutComponents: { listComponents: (input) => dispatch("remoteLayoutComponents", "listComponents", "query", input) },
|
|
28968
28969
|
serverManagement: {
|
|
28969
28970
|
getServerPackageStatus: (input) => dispatch("serverManagement", "getServerPackageStatus", "query", input),
|
|
28970
28971
|
checkServerUpdate: (input) => dispatch("serverManagement", "checkServerUpdate", "mutation", input),
|
|
@@ -31742,8 +31743,6 @@ var NC_TEMPLATE_VARS = [
|
|
|
31742
31743
|
* delete it from here then, and the served catalog names it again.
|
|
31743
31744
|
*/
|
|
31744
31745
|
var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
|
|
31745
|
-
"node-restarting",
|
|
31746
|
-
"node-updating",
|
|
31747
31746
|
"alert-critical",
|
|
31748
31747
|
"alert-error",
|
|
31749
31748
|
"alert-critical-resolved",
|