@camstack/types 1.2.234 → 1.2.236
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.js +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/device-manager.cap.d.ts +17 -16
- package/dist/capabilities/index.d.ts +2 -2
- package/dist/capabilities/pipeline-analytics.cap.d.ts +34 -0
- package/dist/capabilities/videoclips.cap.d.ts +87 -23
- package/dist/generated/addon-api.d.ts +7 -0
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +201 -93
- package/dist/index.mjs +195 -94
- package/dist/interfaces/config-ui.d.ts +1 -1
- package/dist/interfaces/kernel-abstractions.d.ts +0 -14
- package/dist/media/media-owner-key.d.ts +20 -0
- package/dist/{sleep-CopaBJss.mjs → sleep-CaB_hL5g.mjs} +1 -6
- package/dist/{sleep-DImve4HM.js → sleep-Cqxm5OIN.js} +1 -6
- package/package.json +1 -1
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-Cqxm5OIN.js");
|
|
3
3
|
const require_event_category = require("./event-category-BVfsrBYA.js");
|
|
4
4
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
5
5
|
//#region src/generated/cap-input-defaults.ts
|
package/dist/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as DeviceType, At as emitReadiness, Ct as DATAPLANE_SECRET_HEADER, Dt as normalizeAddonInitResult, Et as BaseAddon, G as ReadinessRegistry, H as nodePin, I as expandCapMethods, K as ReadinessTimeoutError, S as DEVICE_CHILDREN_BATCH_MAX, T as describeCustomActions, Tt as DisposerChain, U as readNodePin, Y as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, x as viewerUiCapability } from "./sleep-
|
|
1
|
+
import { A as DeviceType, At as emitReadiness, Ct as DATAPLANE_SECRET_HEADER, Dt as normalizeAddonInitResult, Et as BaseAddon, G as ReadinessRegistry, H as nodePin, I as expandCapMethods, K as ReadinessTimeoutError, S as DEVICE_CHILDREN_BATCH_MAX, T as describeCustomActions, Tt as DisposerChain, U as readNodePin, Y as scopeKey, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, h as createEventBusSliceSource, j as adminUiCapability, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, x as viewerUiCapability } from "./sleep-CaB_hL5g.mjs";
|
|
2
2
|
import { t as EventCategory } from "./event-category-BVDXG4tB.mjs";
|
|
3
3
|
import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
|
|
4
4
|
//#region src/generated/cap-input-defaults.ts
|
|
@@ -1361,29 +1361,30 @@ export declare const deviceManagerCapability: {
|
|
|
1361
1361
|
}, z.core.$strip>>;
|
|
1362
1362
|
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1363
1363
|
/**
|
|
1364
|
-
* Activate (or deactivate) a wrapper addon
|
|
1365
|
-
* (
|
|
1364
|
+
* Activate (or deactivate) a wrapper addon for a (device, cap) pair — the
|
|
1365
|
+
* per-camera function switch's ONE authority (D62).
|
|
1366
1366
|
*
|
|
1367
|
-
* Persists the binding via ctx.settings;
|
|
1368
|
-
* clears the wrapper (falling back to native if one is
|
|
1369
|
-
*
|
|
1370
|
-
*
|
|
1371
|
-
* has no "which one" for `getBindings` to answer (D556).
|
|
1367
|
+
* SINGLETON capabilities only. Persists the binding via ctx.settings;
|
|
1368
|
+
* `active: false` clears the wrapper (falling back to native if one is
|
|
1369
|
+
* registered) by persisting the explicit `{ wrapperAddonId: null }` marker,
|
|
1370
|
+
* which is what stops `getBindings` re-binding a `defaultActive` wrapper.
|
|
1372
1371
|
*
|
|
1373
|
-
*
|
|
1374
|
-
*
|
|
1375
|
-
*
|
|
1376
|
-
*
|
|
1377
|
-
*
|
|
1378
|
-
*
|
|
1379
|
-
*
|
|
1380
|
-
*
|
|
1372
|
+
* **A COLLECTION capability is REFUSED by name.** It briefly took a
|
|
1373
|
+
* `sourceId` and wrote a per-device DENY set, so one of an addon's several
|
|
1374
|
+
* sources could be switched off without switching off the rest (D556, then
|
|
1375
|
+
* D555's re-key by source). The operator removed the whole idea the same
|
|
1376
|
+
* day: *"tutti i providers funzionano sempre, non serve
|
|
1377
|
+
* disattivarli/attivarli … loro vivono lì"* (D557 amended, third). A
|
|
1378
|
+
* collection cap's providers are a DERIVED set — every addon that provides
|
|
1379
|
+
* the cap for this device type, computed on every read and persisted
|
|
1380
|
+
* nowhere — so there is nothing here to activate, and a verb that accepted
|
|
1381
|
+
* the call could only write a field the enumeration does not read. That is
|
|
1382
|
+
* the D62 shape, and this repo has shipped it four times.
|
|
1381
1383
|
*/
|
|
1382
1384
|
readonly setWrapperActive: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1383
1385
|
deviceId: z.ZodNumber;
|
|
1384
1386
|
capName: z.ZodString;
|
|
1385
1387
|
wrapperAddonId: z.ZodString;
|
|
1386
|
-
sourceId: z.ZodOptional<z.ZodString>;
|
|
1387
1388
|
active: z.ZodBoolean;
|
|
1388
1389
|
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
1389
1390
|
/**
|
|
@@ -116,8 +116,8 @@ export type { IUserPasskeysProvider, PasskeySummary } from './user-passkeys.cap.
|
|
|
116
116
|
export { PasskeySummarySchema, userPasskeysCapability } from './user-passkeys.cap.js';
|
|
117
117
|
export type { IVectorStoreProvider } from './vector-store.cap.js';
|
|
118
118
|
export { VectorDeclareIndexInputSchema, VectorDeleteByFilterInputSchema, VectorDeleteInputSchema, VectorDeleteResultSchema, type VectorFilter, VectorFilterSchema, VectorGetInputSchema, VectorGetResultSchema, type VectorItem, VectorItemSchema, type VectorMatch, VectorMatchSchema, type VectorMetadata, VectorMetadataSchema, type VectorMetric, VectorMetricSchema, VectorQueryInputSchema, VectorQueryResultSchema, VectorStatsInputSchema, VectorStatsResultSchema, VectorUpsertInputSchema, VectorUpsertResultSchema, vectorStoreCapability, } from './vector-store.cap.js';
|
|
119
|
-
export type { Clip, ClipPlayback, ClipSource, ClipSourceAvailability, IVideoclipsProvider, } from './videoclips.cap.js';
|
|
120
|
-
export { ClipPlaybackSchema, ClipSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, videoclipsCapability, } from './videoclips.cap.js';
|
|
119
|
+
export type { Clip, ClipPlayback, ClipSource, ClipSourceAvailability, ClipStillDisposition, ClipStillRefusalCode, IVideoclipsProvider, } from './videoclips.cap.js';
|
|
120
|
+
export { CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, ClipPlaybackSchema, ClipSchema, ClipSourceAvailabilitySchema, ClipSourceSchema, ClipStillDispositionSchema, ClipStillRefusalCodeSchema, MAX_CLIP_EVENT_IDS, MAX_CLIP_LABELS, videoclipsCapability, } from './videoclips.cap.js';
|
|
121
121
|
export type { IViewerUiProvider } from './viewer-ui.cap.js';
|
|
122
122
|
export { viewerUiCapability } from './viewer-ui.cap.js';
|
|
123
123
|
export { type IWebrtcSessionProvider, type WebrtcClientHints, type WebrtcLadderDecision, WebrtcLadderDecisionSchema, type WebrtcSessionDebug, WebrtcSessionDebugSchema, type WebrtcStreamChoice, WebrtcStreamChoiceSchema, type WebrtcStreamTarget, WebrtcStreamTargetSchema, type WebrtcTierFailure, WebrtcTierFailureSchema, webrtcClientHintsSchema, webrtcSessionCapability, } from './webrtc-session.cap.js';
|
|
@@ -4264,6 +4264,40 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
4264
4264
|
mediaId: z.ZodNumber;
|
|
4265
4265
|
sizeBytes: z.ZodNumber;
|
|
4266
4266
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
4267
|
+
/**
|
|
4268
|
+
* Which of `ownerIds` hold at least ONE media row — an INDEX read, never a
|
|
4269
|
+
* blob read, and the LICENCE `videoclips` needs to publish a `thumbnail`.
|
|
4270
|
+
*
|
|
4271
|
+
* The event-media URL is stamped from a template for every event in the
|
|
4272
|
+
* system, so "the plane is up" was being served as "there are bytes": 64 of
|
|
4273
|
+
* one camera's 179 clips pointed at a 404 (device 3836, 2026-08-17). This
|
|
4274
|
+
* is the question that turns the stamp into a claim.
|
|
4275
|
+
*
|
|
4276
|
+
* It is on the WIRE because the clip source is registered by the addon that
|
|
4277
|
+
* owns the FOOTAGE, not by this one (D560) — the probe used to be an
|
|
4278
|
+
* in-process `MediaStore` read. One call per OWNER KIND, never one per
|
|
4279
|
+
* owner: that N+1 is what `MediaStore.ownersWithMedia` was written to
|
|
4280
|
+
* prevent, and crossing a process boundary makes it worse, not better.
|
|
4281
|
+
* `ownerIds` is bounded at the same 5 000 the annotation fetch is bounded
|
|
4282
|
+
* at, so one pathological camera-day cannot mint an unbounded request.
|
|
4283
|
+
*
|
|
4284
|
+
* THROWS rather than answering partially. A probe that quietly
|
|
4285
|
+
* under-reports reads as "these owners have nothing" and the caller drops
|
|
4286
|
+
* thumbnails that exist — the opposite failure to the one above, and
|
|
4287
|
+
* equally invisible.
|
|
4288
|
+
*
|
|
4289
|
+
* `deviceId` is the authorization subject, exactly as on `getEventMedia`.
|
|
4290
|
+
*/
|
|
4291
|
+
readonly ownersWithMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
4292
|
+
deviceId: z.ZodNumber;
|
|
4293
|
+
ownerKind: z.ZodEnum<{
|
|
4294
|
+
motion: "motion";
|
|
4295
|
+
object: "object";
|
|
4296
|
+
audio: "audio";
|
|
4297
|
+
track: "track";
|
|
4298
|
+
}>;
|
|
4299
|
+
ownerIds: z.ZodArray<z.ZodString>;
|
|
4300
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodString>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
4267
4301
|
/**
|
|
4268
4302
|
* Search object events by text query using CLIP cosine similarity.
|
|
4269
4303
|
* Encodes `text` via the `embedding-encoder` cap, queries the
|
|
@@ -6,20 +6,26 @@ import { type InferProvider } from './capability-definition.js';
|
|
|
6
6
|
*
|
|
7
7
|
* A device-scoped wrapper COLLECTION (D549 decision 2, D554): every provider a
|
|
8
8
|
* camera has is a SOURCE, and they are listed beside each other — never one
|
|
9
|
-
* substituted for another. The DEFAULT provider (registered by
|
|
10
|
-
*
|
|
11
|
-
* log (markers + thumbnails
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* its own catalog
|
|
9
|
+
* substituted for another. The DEFAULT provider (`analytics`, registered by
|
|
10
|
+
* the RECORDER — the addon that owns the footage, D560 — `defaultActive: true`)
|
|
11
|
+
* composes the analytics event log (markers + thumbnails, read over `ctx.api`)
|
|
12
|
+
* with the recorder's own `getPlaybackManifest` — a clip is a time-WINDOW over
|
|
13
|
+
* existing footage, never a separate file. A camera that exposes NATIVE onboard
|
|
14
|
+
* clips (Reolink SD card, a hub's storage, HKSV) adds its own catalog
|
|
15
|
+
* ALONGSIDE that one.
|
|
15
16
|
*
|
|
16
|
-
* The mount stays per-device (`resolveCapMount` → `device-scoped`)
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
17
|
+
* The mount stays per-device (`resolveCapMount` → `device-scoped`), and a
|
|
18
|
+
* device's SOURCES are its BINDINGS: `deviceManager.getBindings(deviceId)` is
|
|
19
|
+
* what says a provider serves this camera, never the set of addons that
|
|
20
|
+
* happen to have registered the capability somewhere in the cluster. That is
|
|
21
|
+
* what stopped one addon appearing three times on 592 — as the device's
|
|
22
|
+
* native provider, as the hub-local registration and as an
|
|
23
|
+
* `<addonId>@<nodeId>` one (D554 amended 2026-09-20).
|
|
24
|
+
*
|
|
25
|
+
* `listClips` is asked of ONE provider at a time
|
|
26
|
+
* ({@link videoclipsCapability.methods.listClips} `provider`), defaulting to
|
|
27
|
+
* the bound one, which is CamStack on every camera today. It is NOT a union
|
|
28
|
+
* over everything a camera has: *"l'utilizzatore è uno solo"*.
|
|
23
29
|
* {@link videoclipsCapability.methods.getClipPlayback} dispatches by the
|
|
24
30
|
* source namespace inside the clip id, which is why ids are self-contained.
|
|
25
31
|
*
|
|
@@ -35,6 +41,52 @@ import { type InferProvider } from './capability-definition.js';
|
|
|
35
41
|
export declare const MAX_CLIP_EVENT_IDS = 24;
|
|
36
42
|
/** Cap on {@link ClipSchema.labels} — the ribbon row has space for ~3 words. */
|
|
37
43
|
export declare const MAX_CLIP_LABELS = 3;
|
|
44
|
+
/**
|
|
45
|
+
* Every reason a still-mint route may refuse, as a TOKEN — never prose.
|
|
46
|
+
*
|
|
47
|
+
* The route also sends the prose (`x-camstack-reason`), because a firmware's
|
|
48
|
+
* own words are the only thing that explains a `camera-refused`. But the token
|
|
49
|
+
* is what a surface may key a table on, and the code and the prose are
|
|
50
|
+
* separate headers precisely because they had been the same one: the route
|
|
51
|
+
* sent `queue-full: 16 thumbnail mints already waiting for host …` and the
|
|
52
|
+
* surface's table was keyed by `queue-full`, so every refusal on this fleet
|
|
53
|
+
* rendered as `Refused: <prose>`.
|
|
54
|
+
*/
|
|
55
|
+
export declare const ClipStillRefusalCodeSchema: z.ZodEnum<{
|
|
56
|
+
sleeping: "sleeping";
|
|
57
|
+
unsupported: "unsupported";
|
|
58
|
+
"camera-refused": "camera-refused";
|
|
59
|
+
"no-keyframe": "no-keyframe";
|
|
60
|
+
"queue-full": "queue-full";
|
|
61
|
+
"camera-backoff": "camera-backoff";
|
|
62
|
+
"no-catalog-row": "no-catalog-row";
|
|
63
|
+
"unknown-device": "unknown-device";
|
|
64
|
+
"uid-missing": "uid-missing";
|
|
65
|
+
}>;
|
|
66
|
+
export type ClipStillRefusalCode = z.infer<typeof ClipStillRefusalCodeSchema>;
|
|
67
|
+
/**
|
|
68
|
+
* Whether a refusal is "not yet" or "never" — decided by the BRANCH that
|
|
69
|
+
* refused and carried on the wire, never inferred by the client from the code.
|
|
70
|
+
*
|
|
71
|
+
* `deferred` means the work is queued or the host is resting: the surface
|
|
72
|
+
* shows LOADING and comes back, under a bound. `final` means no retry can
|
|
73
|
+
* change the answer: the surface shows the reason and stops.
|
|
74
|
+
*
|
|
75
|
+
* A response that carries no disposition is read as `final`, which is exactly
|
|
76
|
+
* how every build before this one behaved — an old provider under a new
|
|
77
|
+
* surface keeps the old, safe behaviour rather than gaining a retry loop.
|
|
78
|
+
*/
|
|
79
|
+
export declare const ClipStillDispositionSchema: z.ZodEnum<{
|
|
80
|
+
deferred: "deferred";
|
|
81
|
+
final: "final";
|
|
82
|
+
}>;
|
|
83
|
+
export type ClipStillDisposition = z.infer<typeof ClipStillDispositionSchema>;
|
|
84
|
+
/** The camera's / provider's own words. Kept verbatim, never parsed. */
|
|
85
|
+
export declare const CLIP_STILL_REASON_HEADER = "x-camstack-reason";
|
|
86
|
+
/** One {@link ClipStillRefusalCodeSchema} token, alone. */
|
|
87
|
+
export declare const CLIP_STILL_REASON_CODE_HEADER = "x-camstack-reason-code";
|
|
88
|
+
/** One {@link ClipStillDispositionSchema} token, alone. */
|
|
89
|
+
export declare const CLIP_STILL_DISPOSITION_HEADER = "x-camstack-disposition";
|
|
38
90
|
export declare const ClipSchema: z.ZodObject<{
|
|
39
91
|
id: z.ZodString;
|
|
40
92
|
source: z.ZodString;
|
|
@@ -82,6 +134,7 @@ export declare const ClipSchema: z.ZodObject<{
|
|
|
82
134
|
supportSub: z.ZodOptional<z.ZodBoolean>;
|
|
83
135
|
playable: z.ZodOptional<z.ZodBoolean>;
|
|
84
136
|
unplayableReason: z.ZodOptional<z.ZodString>;
|
|
137
|
+
inProgress: z.ZodOptional<z.ZodBoolean>;
|
|
85
138
|
}, z.core.$strip>;
|
|
86
139
|
export type Clip = z.infer<typeof ClipSchema>;
|
|
87
140
|
export declare const ClipPlaybackSchema: z.ZodObject<{
|
|
@@ -141,7 +194,6 @@ export declare const ClipSourceSchema: z.ZodObject<{
|
|
|
141
194
|
source: z.ZodString;
|
|
142
195
|
label: z.ZodString;
|
|
143
196
|
addonId: z.ZodOptional<z.ZodString>;
|
|
144
|
-
via: z.ZodOptional<z.ZodString>;
|
|
145
197
|
availability: z.ZodObject<{
|
|
146
198
|
state: z.ZodEnum<{
|
|
147
199
|
ok: "ok";
|
|
@@ -153,7 +205,6 @@ export declare const ClipSourceSchema: z.ZodObject<{
|
|
|
153
205
|
reason: z.ZodOptional<z.ZodString>;
|
|
154
206
|
catalogAsOf: z.ZodOptional<z.ZodNumber>;
|
|
155
207
|
}, z.core.$strip>;
|
|
156
|
-
switchedOff: z.ZodOptional<z.ZodBoolean>;
|
|
157
208
|
}, z.core.$strip>;
|
|
158
209
|
export type ClipSource = z.infer<typeof ClipSourceSchema>;
|
|
159
210
|
export declare const videoclipsCapability: {
|
|
@@ -174,18 +225,32 @@ export declare const videoclipsCapability: {
|
|
|
174
225
|
* `device-config-widget-wrapped-binding.spec.ts` pins that a `kind:'wrapped'`
|
|
175
226
|
* binding entry derives the same section a native one does.
|
|
176
227
|
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
228
|
+
* **It is a SECTION of the Recording tab, at the end of it — not a tab of
|
|
229
|
+
* its own.** It shipped as a `clips` top-tab and the operator rejected the
|
|
230
|
+
* placement: *"utilizzerei la stessa tab recordings, lì abbiamo già tutto il
|
|
231
|
+
* necessario, una nuova sezione alla fine per le clips"*. The Recording tab
|
|
232
|
+
* already holds the recorder's panel, the schedule bands and the unified
|
|
233
|
+
* retention policy; footage the camera itself holds is the same question,
|
|
234
|
+
* asked of a different store. `order: 100` puts it after all of them with
|
|
235
|
+
* room left in front. The `clips` entry in `WELL_KNOWN_TABS` went with it —
|
|
236
|
+
* a well-known id nobody declares is an invitation to mint the tab again.
|
|
237
|
+
*
|
|
238
|
+
* `topTab` stays: the browser owns a pane (a day's tiles, a source list and
|
|
239
|
+
* a player) and the Config tab's inner bar has no room for one. The widget
|
|
240
|
+
* itself is `host/clips-browser` in ui-library's `HOST_WIDGETS`, and because
|
|
241
|
+
* the admin Recordings page renders every `location:'top-tab'` +
|
|
242
|
+
* `tab:'recording'` section behind its camera picker
|
|
243
|
+
* (`CameraRecordingSettingsSection`), this declaration lands the section on
|
|
244
|
+
* BOTH surfaces with no second wiring.
|
|
180
245
|
*/
|
|
181
246
|
readonly deviceConfig: {
|
|
182
247
|
readonly ui: {
|
|
183
248
|
readonly kind: "widget";
|
|
184
249
|
readonly widgetId: "host/clips-browser";
|
|
185
|
-
readonly tab: "
|
|
250
|
+
readonly tab: "recording";
|
|
186
251
|
readonly topTab: true;
|
|
187
252
|
readonly label: "Clips";
|
|
188
|
-
readonly order:
|
|
253
|
+
readonly order: 100;
|
|
189
254
|
};
|
|
190
255
|
};
|
|
191
256
|
readonly methods: {
|
|
@@ -194,7 +259,7 @@ export declare const videoclipsCapability: {
|
|
|
194
259
|
since: z.ZodNumber;
|
|
195
260
|
until: z.ZodNumber;
|
|
196
261
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
197
|
-
|
|
262
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
198
263
|
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
199
264
|
id: z.ZodString;
|
|
200
265
|
source: z.ZodString;
|
|
@@ -242,6 +307,7 @@ export declare const videoclipsCapability: {
|
|
|
242
307
|
supportSub: z.ZodOptional<z.ZodBoolean>;
|
|
243
308
|
playable: z.ZodOptional<z.ZodBoolean>;
|
|
244
309
|
unplayableReason: z.ZodOptional<z.ZodString>;
|
|
310
|
+
inProgress: z.ZodOptional<z.ZodBoolean>;
|
|
245
311
|
}, z.core.$strip>>>, "query">;
|
|
246
312
|
/**
|
|
247
313
|
* The sources this camera has, WITH the reason any of them cannot answer.
|
|
@@ -258,7 +324,6 @@ export declare const videoclipsCapability: {
|
|
|
258
324
|
source: z.ZodString;
|
|
259
325
|
label: z.ZodString;
|
|
260
326
|
addonId: z.ZodOptional<z.ZodString>;
|
|
261
|
-
via: z.ZodOptional<z.ZodString>;
|
|
262
327
|
availability: z.ZodObject<{
|
|
263
328
|
state: z.ZodEnum<{
|
|
264
329
|
ok: "ok";
|
|
@@ -270,7 +335,6 @@ export declare const videoclipsCapability: {
|
|
|
270
335
|
reason: z.ZodOptional<z.ZodString>;
|
|
271
336
|
catalogAsOf: z.ZodOptional<z.ZodNumber>;
|
|
272
337
|
}, z.core.$strip>;
|
|
273
|
-
switchedOff: z.ZodOptional<z.ZodBoolean>;
|
|
274
338
|
}, z.core.$strip>>>, "query">;
|
|
275
339
|
readonly getClipPlayback: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
276
340
|
deviceId: z.ZodNumber;
|
|
@@ -5630,6 +5630,13 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
5630
5630
|
output: z.infer<typeof pipelineAnalyticsCapability.methods.listEventMedia.output>;
|
|
5631
5631
|
meta: object;
|
|
5632
5632
|
}>;
|
|
5633
|
+
ownersWithMedia: TRPCQueryProcedure<{
|
|
5634
|
+
input: {
|
|
5635
|
+
[x: string]: unknown;
|
|
5636
|
+
} & z.input<typeof pipelineAnalyticsCapability.methods.ownersWithMedia.input>;
|
|
5637
|
+
output: z.infer<typeof pipelineAnalyticsCapability.methods.ownersWithMedia.output>;
|
|
5638
|
+
meta: object;
|
|
5639
|
+
}>;
|
|
5633
5640
|
searchObjectEvents: TRPCQueryProcedure<{
|
|
5634
5641
|
input: {
|
|
5635
5642
|
[x: string]: unknown;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 1058 method paths across 131 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* system-scope cap that takes a deviceId was previously never device-filtered
|
|
7
7
|
* — see the generator header).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 390 methods carry a device reference, of which
|
|
10
10
|
* 141 are on SYSTEM-scope caps.
|
|
11
11
|
*
|
|
12
12
|
* Top-level fields, number arrays, and one-level arrays of objects carrying
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './audio/audio-chunk-format.js';
|
|
2
|
-
export type { EventOwnerType, MediaOwnerKey, MediaOwnerKeyInput, MediaOwnerType, } from './media/media-owner-key.js';
|
|
3
|
-
export { EVENT_OWNER_TYPES, EventOwnerTypeSchema, MEDIA_OWNER_TYPES, formatMediaOwnerKey, isEventOwnerType, isMediaOwnerType, parseMediaOwnerKey, } from './media/media-owner-key.js';
|
|
2
|
+
export type { EventOwnerType, MediaOwnerKey, MediaOwnerKeyInput, MediaOwnerType, MediaPresenceOwnerKind, } from './media/media-owner-key.js';
|
|
3
|
+
export { EVENT_OWNER_TYPES, EventOwnerTypeSchema, MEDIA_OWNER_TYPES, MEDIA_PRESENCE_OWNER_KINDS, MediaPresenceOwnerKindSchema, formatMediaOwnerKey, isEventOwnerType, isMediaOwnerType, parseMediaOwnerKey, } from './media/media-owner-key.js';
|
|
4
4
|
export type { CapabilitiesAccess } from './addon/base-addon.js';
|
|
5
5
|
export { BaseAddon, normalizeAddonInitResult } from './addon/base-addon.js';
|
|
6
6
|
export type { AddonRouteInvokeRequest, AddonRouteReplyEnvelope, } from './addon/build-addon-route-provider.js';
|