@camstack/system 1.2.62 → 1.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon-runner.js +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/addon-utils.js +1 -1
- package/dist/addon-utils.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +3 -3
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/block-package.d.ts +9 -27
- package/dist/builtins/core-blocks/block-supervisor.d.ts +15 -0
- package/dist/builtins/core-blocks/core-blocks.addon.js +91 -24
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +91 -25
- package/dist/builtins/device-manager/device-bindings-store.d.ts +28 -5
- package/dist/builtins/device-manager/device-linked-devices.d.ts +2 -2
- package/dist/builtins/device-manager/device-manager.addon.d.ts +3 -45
- package/dist/builtins/device-manager/device-manager.addon.js +123 -884
- package/dist/builtins/device-manager/device-manager.addon.mjs +123 -884
- package/dist/builtins/device-manager/device-meta-actions.d.ts +0 -8
- package/dist/builtins/device-manager/device-meta-store.d.ts +1 -28
- package/dist/builtins/device-manager/device-meta-types.d.ts +2 -6
- package/dist/builtins/device-manager/device-projection.d.ts +1 -2
- package/dist/builtins/device-manager/device-provider-context.d.ts +2 -13
- package/dist/builtins/device-manager/device-queries.d.ts +1 -1
- package/dist/builtins/device-manager/device-state-mirror.d.ts +8 -49
- package/dist/builtins/device-manager/device-sync-resolvers.d.ts +0 -11
- package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
- package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/homeassistant-integration.d.ts +7 -0
- package/dist/builtins/local-auth/index.d.ts +1 -0
- package/dist/builtins/local-auth/index.js +1 -0
- package/dist/builtins/local-auth/index.mjs +2 -2
- package/dist/builtins/local-auth/local-auth.addon.js +561 -497
- package/dist/builtins/local-auth/local-auth.addon.mjs +580 -517
- package/dist/builtins/local-auth/oauth-grants.d.ts +11 -0
- package/dist/builtins/local-auth/oauth-session-manager.d.ts +1 -1
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +2 -2
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +2 -2
- package/dist/builtins/platform-probe/index.js +2 -2
- package/dist/builtins/platform-probe/index.mjs +2 -2
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +319 -20
- package/dist/builtins/snapshot/index.mjs +319 -20
- package/dist/builtins/snapshot/snapshot-keep-warm.d.ts +86 -0
- package/dist/builtins/snapshot/snapshot-media-handler.d.ts +48 -1
- package/dist/builtins/snapshot/snapshot.addon.d.ts +65 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +15 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +73 -7
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +73 -7
- package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +19 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{dist-DnKpFaP1.mjs → dist-CMb7aKS0.mjs} +1227 -1330
- package/dist/{dist-DgPUarcs.js → dist-DP3nHlNM.js} +1251 -1366
- package/dist/http/asset-compression.d.ts +93 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +64 -9
- package/dist/index.mjs +65 -11
- package/dist/kernel/heap-watch.d.ts +55 -0
- package/dist/kernel/moleculer/device-cap-proxy.d.ts +2 -2
- package/dist/{manifest-python-deps-d4acYXVV.js → manifest-python-deps-BE6l8Y4W.js} +21 -15
- package/dist/{manifest-python-deps-CX5tGRqf.mjs → manifest-python-deps-Dz1ryHIN.mjs} +21 -15
- package/dist/{model-download-service-D8B-4ktF.mjs → model-download-service-CTBHzORJ.mjs} +220 -2
- package/dist/{model-download-service-Cpc6SWzV.js → model-download-service-Caj1kaSi.js} +220 -2
- package/package.json +5 -1
- package/dist/builtins/device-manager/device-link-cycle.d.ts +0 -18
- package/dist/builtins/device-manager/device-link-overlay.d.ts +0 -33
- package/dist/builtins/device-manager/device-link-resolver.d.ts +0 -44
- package/dist/main-CVLq8IzA.js +0 -2356
- package/dist/main-CzH19GkU.mjs +0 -2353
|
@@ -82,14 +82,6 @@ export declare function setPrimaryChildEntityId(pctx: ProviderContext, input: Pa
|
|
|
82
82
|
* and preserved across re-register/restore.
|
|
83
83
|
*/
|
|
84
84
|
export declare function setChildLayout(pctx: ProviderContext, input: Parameters<IDeviceManagerProvider['setChildLayout']>[0]): ReturnType<IDeviceManagerProvider['setChildLayout']>;
|
|
85
|
-
/**
|
|
86
|
-
* Set (or replace) the operator-authored cross-device field wirings on
|
|
87
|
-
* a device's meta row. Mirrors `setChildLayout` but persists the
|
|
88
|
-
* `deviceLinks` array. Persisted, projected, and preserved across
|
|
89
|
-
* re-register/restore. Also maintains the in-memory `devicesWithLinks`
|
|
90
|
-
* Set used as an O(1) gate by `resolveLinkedStatus`.
|
|
91
|
-
*/
|
|
92
|
-
export declare function setDeviceLinks(pctx: ProviderContext, input: Parameters<IDeviceManagerProvider['setDeviceLinks']>[0]): ReturnType<IDeviceManagerProvider['setDeviceLinks']>;
|
|
93
85
|
/**
|
|
94
86
|
* Stamp (or update) the semantic role on the device's meta row.
|
|
95
87
|
* Called by the kernel's `create()` / `spawnAccessoryChild`
|
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
import { DependentLink, ResolvedTargetLink } from './device-link-overlay.js';
|
|
2
1
|
import { AddonContext, IDeviceRegistry } from '@camstack/types';
|
|
3
2
|
import { AddonStore, PersistedDeviceMeta } from './device-meta-types.js';
|
|
4
3
|
/** The settings surface the meta store uses (`ctx.settings`, narrowed non-null). */
|
|
5
4
|
export type DeviceManagerSettings = NonNullable<AddonContext['settings']>;
|
|
6
|
-
/**
|
|
7
|
-
* Narrow view of the addon's cross-device link state the meta store mutates.
|
|
8
|
-
* The addon remains the SOLE owner of these maps; the store only reads
|
|
9
|
-
* `devicesWithLinks` and writes the rebuilt indexes back via `setLinkIndexes`.
|
|
10
|
-
*/
|
|
11
|
-
export interface LinkIndexHost {
|
|
12
|
-
readonly devicesWithLinks: ReadonlySet<number>;
|
|
13
|
-
setLinkIndexes(targets: Map<string, ResolvedTargetLink[]>, dependents: Map<string, DependentLink[]>, expectedSourceStableIds: Set<string>): void;
|
|
14
|
-
}
|
|
15
5
|
export declare class DeviceMetaStore {
|
|
16
6
|
private readonly settings;
|
|
17
7
|
/** Hub-process device registry (null when this node owns no registry). */
|
|
18
8
|
readonly registry: IDeviceRegistry | null;
|
|
19
|
-
private readonly linkHost;
|
|
20
9
|
/** Synchronous ownership cache, keyed by NUMERIC deviceId → owning addonId.
|
|
21
10
|
* The persisted meta store is authoritative but reads are async; hub-side
|
|
22
11
|
* callers (e.g. `CapabilityRegistry.getNativeProvider` fallback) need
|
|
@@ -29,7 +18,7 @@ export declare class DeviceMetaStore {
|
|
|
29
18
|
private metaWriteChain;
|
|
30
19
|
constructor(settings: DeviceManagerSettings,
|
|
31
20
|
/** Hub-process device registry (null when this node owns no registry). */
|
|
32
|
-
registry: IDeviceRegistry | null
|
|
21
|
+
registry: IDeviceRegistry | null);
|
|
33
22
|
readStore: () => Promise<AddonStore>;
|
|
34
23
|
readIndex: () => Promise<Record<string, string[]>>;
|
|
35
24
|
readMeta: () => Promise<Record<string, PersistedDeviceMeta>>;
|
|
@@ -58,21 +47,5 @@ export declare class DeviceMetaStore {
|
|
|
58
47
|
* and excluding self. Shared by the `remove` cascade and the `resetToSource`
|
|
59
48
|
* resync purge (#19). */
|
|
60
49
|
directChildIds: (parentId: number) => Promise<readonly number[]>;
|
|
61
|
-
/** Resolve a link's `sourceKey` to a live device id: the sibling accessory
|
|
62
|
-
* whose stableId is `${parentStableId}-${sourceKey}`. Null when absent.
|
|
63
|
-
* Pure over a pre-read meta map so a multi-link resolve reads the store once. */
|
|
64
|
-
resolveSourceDeviceId: (parentStableId: string, sourceKey: string, meta: Record<string, PersistedDeviceMeta>) => number | null;
|
|
65
|
-
/** Resolve a GLOBAL link source (P2e) to a live device id: the device whose
|
|
66
|
-
* FULL stableId equals `sourceStableId`, regardless of parent container.
|
|
67
|
-
* First match wins (stableIds are effectively unique cluster-wide — see the
|
|
68
|
-
* `DeviceLinkGlobalSource` docblock). Null when absent. Pure over a
|
|
69
|
-
* pre-read meta map so a multi-link resolve reads the store once. */
|
|
70
|
-
resolveGlobalSourceDeviceId: (sourceStableId: string, meta: Record<string, PersistedDeviceMeta>) => number | null;
|
|
71
50
|
allocateNextDeviceId: () => Promise<number>;
|
|
72
|
-
/** Rebuild the `linkTargets` / `linkDependents` reverse-index maps from the
|
|
73
|
-
* current persisted meta. Called at boot (once the `devicesWithLinks` seed
|
|
74
|
-
* has run) and whenever the link topology can change: `setDeviceLinks`,
|
|
75
|
-
* `registerDevice` (a new sibling source may resolve previously-dangling
|
|
76
|
-
* links), and `removeDevice` (its entries must be evicted). */
|
|
77
|
-
rebuildLinkDependents: () => Promise<void>;
|
|
78
51
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChildLayout, DeviceDisplayOverride,
|
|
1
|
+
import { ChildLayout, DeviceDisplayOverride, RoleDisplayDefault } from '@camstack/types';
|
|
2
2
|
/**
|
|
3
3
|
* Wire shape matching `z.infer<typeof SettingsSchemaWithValuesSchema>` —
|
|
4
4
|
* duplicated as a plain interface because importing the Zod schema across
|
|
@@ -124,17 +124,13 @@ export interface PersistedDeviceMeta {
|
|
|
124
124
|
* re-sync-stable accessory `stableIdSuffix`. Set at create, preserved across
|
|
125
125
|
* re-register/restore — same lifecycle as `primaryChildEntityId`. */
|
|
126
126
|
childLayout?: ChildLayout;
|
|
127
|
-
/** Operator-authored cross-device field wirings (source field → this device's
|
|
128
|
-
* cap field). Same create/persist/project/restore lifecycle as `childLayout`.
|
|
129
|
-
* Absent ⇒ no links. Overlaid onto the target cap's `getStatus` at read time. */
|
|
130
|
-
deviceLinks?: DeviceLinks;
|
|
131
127
|
/** Semantic role string (`DeviceRole`), stamped at create via `setRole`.
|
|
132
128
|
* Optional: only present for accessory children that carry a known role
|
|
133
129
|
* (e.g. 'numeric-sensor', 'binary-sensor'). `null` clears a previous role. */
|
|
134
130
|
role?: string | null;
|
|
135
131
|
/** Operator-authored per-device display override (icon/label/unit/precision/
|
|
136
132
|
* hidden), set via `setDisplay`. Same create/persist/project/restore
|
|
137
|
-
* lifecycle as `
|
|
133
|
+
* lifecycle as `childLayout`. Absent ⇒ no override. Applied at render time
|
|
138
134
|
* only — storage stays in source units. */
|
|
139
135
|
display?: DeviceDisplayOverride;
|
|
140
136
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ICameraDevice, IDevice, IDeviceRegistry, SourceInfo, DeviceFeature, DeviceRole } from '@camstack/types';
|
|
2
2
|
import { PersistedDeviceMeta } from './device-meta-types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Return true when `err` is a transient Moleculer error that is worth
|
|
@@ -48,7 +48,6 @@ export declare function isDeviceRole(value: string): value is DeviceRole;
|
|
|
48
48
|
export declare function toDeviceRole(value: string | null | undefined): DeviceRole | null;
|
|
49
49
|
export declare function toDeviceInfo(addonId: string, device: IDevice, metadata?: Record<string, unknown> | null, metaRow?: PersistedDeviceMeta | null): {
|
|
50
50
|
display?: import('@camstack/types').DeviceDisplayOverride | undefined;
|
|
51
|
-
deviceLinks?: import('@camstack/types').DeviceLinks | undefined;
|
|
52
51
|
childLayout?: import('@camstack/types').ChildLayout | undefined;
|
|
53
52
|
primaryChildEntityId?: string | null | undefined;
|
|
54
53
|
linkDeviceId?: number | null | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AddonContext, IDeviceAdoptionProvider, IDeviceManagerProvider, IDeviceOpsProvider, IDeviceRegistry,
|
|
2
|
-
import { DeviceManagerSettings, DeviceMetaStore } from './device-meta-store.js';
|
|
1
|
+
import { AddonContext, ICapabilityRegistry, IDeviceAdoptionProvider, IDeviceManagerProvider, IDeviceOpsProvider, IDeviceRegistry, InferProvider, deviceProviderCapability } from '@camstack/types';
|
|
3
2
|
import { BindingsDeps } from './device-bindings-store.js';
|
|
3
|
+
import { DeviceManagerSettings, DeviceMetaStore } from './device-meta-store.js';
|
|
4
4
|
type IDeviceProviderCap = InferProvider<typeof deviceProviderCapability>;
|
|
5
5
|
/**
|
|
6
6
|
* The addon-instance surface the extracted provider functions need. Exposed by
|
|
@@ -10,17 +10,6 @@ type IDeviceProviderCap = InferProvider<typeof deviceProviderCapability>;
|
|
|
10
10
|
export interface ProviderHost {
|
|
11
11
|
readonly ctx: AddonContext;
|
|
12
12
|
readonly capabilityRegistry: ICapabilityRegistry | undefined;
|
|
13
|
-
/** Device ids that currently carry at least one `deviceLinks` entry. */
|
|
14
|
-
readonly devicesWithLinks: Set<number>;
|
|
15
|
-
/** Expected link-source stableIds, gating the `registerDevice` rebuild. */
|
|
16
|
-
readonly expectedSourceStableIds: Set<string>;
|
|
17
|
-
/** In-flight `${deviceId}:${cap}` pairs of `resolveLinkedStatus` — the
|
|
18
|
-
* defensive re-entrancy guard that bounds link cycles at resolve time
|
|
19
|
-
* (P2e). A nested resolve of a pair already in flight returns null. */
|
|
20
|
-
readonly linkResolveInFlight: Set<string>;
|
|
21
|
-
/** Drop a removed device's overlay-emit guard entries (state-mirror keyed
|
|
22
|
-
* `${deviceId}:${cap}`). Called from `removeDevice`. */
|
|
23
|
-
dropDeviceOverlays(deviceId: number): void;
|
|
24
13
|
/** Push-fed remote native-cap cache (numeric deviceId → capName → owner). */
|
|
25
14
|
readonly remoteNativeCaps: Map<number, Map<string, {
|
|
26
15
|
addonId: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { deviceManagerCapability, InferProvider } from '@camstack/types';
|
|
2
2
|
import { ProviderContext } from './device-provider-context.js';
|
|
3
3
|
type IDeviceManagerProvider = InferProvider<typeof deviceManagerCapability>;
|
|
4
4
|
export declare function listPersistedByAddon(pctx: ProviderContext, input: Parameters<IDeviceManagerProvider['listPersistedByAddon']>[0]): ReturnType<IDeviceManagerProvider['listPersistedByAddon']>;
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import { AddonContext
|
|
2
|
-
import { ResolvedTargetLink, DependentLink } from './device-link-overlay.js';
|
|
1
|
+
import { AddonContext } from '@camstack/types';
|
|
3
2
|
import { DeviceManagerSettings } from './device-meta-store.js';
|
|
4
|
-
/**
|
|
5
|
-
* Live view of the addon's cross-device link reverse-index + capability
|
|
6
|
-
* registry the mirror reads when overlaying linked values. Exposed via getters
|
|
7
|
-
* because the link maps are reassigned on every `rebuildLinkDependents`.
|
|
8
|
-
*/
|
|
9
|
-
export interface LinkOverlayHost {
|
|
10
|
-
readonly linkTargets: Map<string, ResolvedTargetLink[]>;
|
|
11
|
-
readonly linkDependents: Map<string, DependentLink[]>;
|
|
12
|
-
readonly capabilityRegistry: ICapabilityRegistry | undefined;
|
|
13
|
-
}
|
|
14
3
|
export declare class DeviceStateMirror {
|
|
15
4
|
private readonly ctx;
|
|
16
|
-
private readonly linkHost;
|
|
17
5
|
/**
|
|
18
6
|
* Hub-side mirror of every device's cap-keyed runtime state.
|
|
19
7
|
* Key: deviceId. Value: per-cap slice map. Empty by default —
|
|
@@ -27,9 +15,7 @@ export declare class DeviceStateMirror {
|
|
|
27
15
|
*/
|
|
28
16
|
private readonly runtimeStateDebounce;
|
|
29
17
|
private static readonly RUNTIME_STATE_DEBOUNCE_MS;
|
|
30
|
-
|
|
31
|
-
private readonly lastEmittedOverlay;
|
|
32
|
-
constructor(ctx: AddonContext, linkHost: LinkOverlayHost);
|
|
18
|
+
constructor(ctx: AddonContext);
|
|
33
19
|
/**
|
|
34
20
|
* Single-cap mirror update — diff against the current mirror,
|
|
35
21
|
* persist the new slice in-memory, emit `DeviceStateChanged` for
|
|
@@ -104,40 +90,13 @@ export declare class DeviceStateMirror {
|
|
|
104
90
|
*/
|
|
105
91
|
resolveDeviceProbed(deviceId: number): boolean;
|
|
106
92
|
snapshotForDevice(deviceId: number): Record<string, Record<string, unknown>>;
|
|
107
|
-
/**
|
|
108
|
-
*
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
*
|
|
112
|
-
|
|
113
|
-
* cap's declared `status.empty` default; a failed/empty synthesize
|
|
114
|
-
* returns null (no phantom slices). The disk writer must NOT use this
|
|
115
|
-
* method; it must persist raw provider truth via snapshotForDevice.
|
|
116
|
-
*/
|
|
117
|
-
overlayedSlice(deviceId: number, cap: string): Record<string, unknown> | null;
|
|
118
|
-
/**
|
|
119
|
-
* Like snapshotForDevice but applies the device-link overlay per cap.
|
|
120
|
-
* Used exclusively by the device-state READ methods (getSnapshot,
|
|
121
|
-
* getAllSnapshots) so callers see overlayed values. SYNTHESIZE-only
|
|
122
|
-
* link-target caps (no base mirror slice) are unioned into the iterated
|
|
123
|
-
* key set so they appear at warm-load — `overlayedSlice` builds them from
|
|
124
|
-
* the cap's `status.empty` (and drops them when nothing resolves). The
|
|
125
|
-
* debounced disk writer must continue to call snapshotForDevice (raw truth).
|
|
126
|
-
*/
|
|
127
|
-
snapshotForDeviceOverlayed(deviceId: number): Record<string, Record<string, unknown>>;
|
|
128
|
-
/** Whole-system mirror dump (overlaid). Backs `deviceState.getAllSnapshots`.
|
|
129
|
-
* Devices that only exist as link TARGETS (no mirror slice yet) are
|
|
130
|
-
* included via the link reverse-index so their synthesized caps appear. */
|
|
131
|
-
allSnapshotsOverlayed(): Record<string, Record<string, Record<string, unknown>>>;
|
|
93
|
+
/** One cap's mirrored slice, cloned. Null when the device has never written
|
|
94
|
+
* it — callers read that as "the cap has no state", never as an empty slice. */
|
|
95
|
+
capSlice(deviceId: number, cap: string): Record<string, unknown> | null;
|
|
96
|
+
/** Whole-system mirror dump. Backs `deviceState.getAllSnapshots` — one
|
|
97
|
+
* round-trip for a warm boot instead of N per-device calls. */
|
|
98
|
+
allSnapshots(): Record<string, Record<string, Record<string, unknown>>>;
|
|
132
99
|
private emitStateChanged;
|
|
133
|
-
/** Emit DeviceStateChanged for (deviceId, cap) using the OVERLAID slice,
|
|
134
|
-
* skipping when the overlay is unchanged since the last emit (loop/churn
|
|
135
|
-
* guard). Used for the written pair AND its dependent targets. */
|
|
136
|
-
private emitOverlayed;
|
|
137
|
-
/** Drop a removed device's overlay-emit guard entries (keyed
|
|
138
|
-
* `${deviceId}:${cap}`) so the map doesn't retain rows for a removed device.
|
|
139
|
-
* Called from `removeDevice`. */
|
|
140
|
-
dropDeviceOverlays(deviceId: number): void;
|
|
141
100
|
/** Flush every pending debounced disk write (graceful shutdown). Clears the
|
|
142
101
|
* debounce slots after awaiting in-flight + scheduled writes so shutdown is
|
|
143
102
|
* lossless. */
|
|
@@ -28,14 +28,3 @@ export declare function resolveNativeCapOwnerSync(pctx: ProviderContext, capName
|
|
|
28
28
|
addonId: string;
|
|
29
29
|
nodeId: string;
|
|
30
30
|
} | null;
|
|
31
|
-
/**
|
|
32
|
-
* Read-time overlay: merge cross-device linked values onto a target cap's
|
|
33
|
-
* status. Returns null when the device has no links for `cap` (caller uses
|
|
34
|
-
* the base status untouched). Reads each source cap via the hub registry's
|
|
35
|
-
* `getProviderForDevice` (routes cross-process); merge is pure.
|
|
36
|
-
*/
|
|
37
|
-
export declare function resolveLinkedStatus(pctx: ProviderContext, input: {
|
|
38
|
-
deviceId: number;
|
|
39
|
-
cap: string;
|
|
40
|
-
baseStatus: unknown;
|
|
41
|
-
}): Promise<Record<string, unknown> | null>;
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DP3nHlNM.js");
|
|
7
7
|
//#region src/builtins/doorbell/trigger-engine.ts
|
|
8
8
|
/**
|
|
9
9
|
* Pure trigger logic for the virtual-doorbell builtin — edge detection over
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as isSameAddonId,
|
|
1
|
+
import { B as isSameAddonId, Lt as EventCategory, _t as DeviceType, dt as BaseAddon, j as doorbellCapability, ut as errMsg, wt as createEvent, x as bareAddonId } from "../../dist-CMb7aKS0.mjs";
|
|
2
2
|
//#region src/builtins/doorbell/trigger-engine.ts
|
|
3
3
|
/**
|
|
4
4
|
* Pure trigger logic for the virtual-doorbell builtin — edge detection over
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DP3nHlNM.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
//#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
|
|
9
9
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G as logDestinationCapability,
|
|
1
|
+
import { G as logDestinationCapability, dt as BaseAddon } from "../../dist-CMb7aKS0.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
//#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
|
|
4
4
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-DP3nHlNM.js");
|
|
4
4
|
//#region src/builtins/liveness-monitor/liveness-checks.ts
|
|
5
5
|
var NO_DEVICES = "liveness:no-devices";
|
|
6
6
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Lt as EventCategory, dt as BaseAddon, ut as errMsg, wt as createEvent } from "../../dist-CMb7aKS0.mjs";
|
|
2
2
|
//#region src/builtins/liveness-monitor/liveness-checks.ts
|
|
3
3
|
var NO_DEVICES = "liveness:no-devices";
|
|
4
4
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OauthIntegrationDescriptor } from '@camstack/types';
|
|
2
|
+
/**
|
|
3
|
+
* Scopes granted to a linked Home Assistant, derived from the tRPC paths the
|
|
4
|
+
* component actually calls. `category:system [create]` was rejected: it would
|
|
5
|
+
* hand `addons.installPackage` to a home-automation bridge.
|
|
6
|
+
*/
|
|
7
|
+
export declare const HOME_ASSISTANT_OAUTH_INTEGRATION: OauthIntegrationDescriptor;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../chunk-Cek0wNdY.js");
|
|
3
3
|
const require_builtins_local_auth_local_auth_addon = require("./local-auth.addon.js");
|
|
4
|
+
exports.HOME_ASSISTANT_OAUTH_INTEGRATION = require_builtins_local_auth_local_auth_addon.HOME_ASSISTANT_OAUTH_INTEGRATION;
|
|
4
5
|
exports.LocalAuthAddon = require_builtins_local_auth_local_auth_addon.LocalAuthAddon;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { LocalAuthAddon } from "./local-auth.addon.mjs";
|
|
2
|
-
export { LocalAuthAddon };
|
|
1
|
+
import { LocalAuthAddon, s as HOME_ASSISTANT_OAUTH_INTEGRATION } from "./local-auth.addon.mjs";
|
|
2
|
+
export { HOME_ASSISTANT_OAUTH_INTEGRATION, LocalAuthAddon };
|