@camstack/types 1.2.12 → 1.2.14
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/capabilities/index.d.ts +3 -1
- package/dist/capabilities/terminal-session.cap.d.ts +89 -0
- package/dist/generated/addon-api.d.ts +134 -0
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +14110 -13872
- package/dist/index.mjs +14104 -13873
- package/dist/notification/timelapse-rule.d.ts +136 -0
- package/package.json +1 -1
|
@@ -31,6 +31,7 @@ export type { AudioAnalyzerGlobalConfig, AudioBackendChoice, IAudioAnalyzerProvi
|
|
|
31
31
|
export { AUDIO_BACKEND_CHOICES, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioClassificationResultSchema, audioAnalyzerCapability, DEFAULT_AUDIO_ANALYZER_CONFIG, } from './audio-analyzer.cap.js';
|
|
32
32
|
export { AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEncodeSessionConfigSchema, AudioPcmChunkSchema, audioCodecCapability, type IAudioCodecCapProvider, PcmSampleFormatSchema, } from './audio-codec.cap.js';
|
|
33
33
|
export { AuthResultSchema, authProviderCapability } from './auth-provider.cap.js';
|
|
34
|
+
export { terminalSessionCapability, type ITerminalSessionProvider, type TerminalSessionInfo, type TerminalProfileInfo, TerminalSessionInfoSchema, TerminalProfileInfoSchema, } from './terminal-session.cap.js';
|
|
34
35
|
export { ArchiveEntrySchema, ArchiveManifestSchema, BackupDestinationInfoSchema, BackupEntrySchema, backupCapability, type IBackupProvider, LocationStatSchema, } from './backup.cap.js';
|
|
35
36
|
export { BrokerAddInputSchema, BrokerGetStateInputSchema, type BrokerInfo as UnifiedBrokerInfo, BrokerInfoSchema as UnifiedBrokerInfoSchema, type BrokerProviderInfo, BrokerProviderInfoSchema, BrokerPublishInputSchema, BrokerRegistryStatusSchema, type BrokerStatus as UnifiedBrokerStatus, BrokerStatusEnum, BrokerSubscribeInputSchema, BrokerSubscribeResultSchema, BrokerTestConnectionResultSchema, BrokerUnsubscribeInputSchema, brokerCapability, type IBrokerProvider, } from './broker.cap.js';
|
|
36
37
|
export { cameraPipelineConfigCapability, type ICameraPipelineConfigProvider, } from './camera-pipeline-config.cap.js';
|
|
@@ -316,12 +317,13 @@ import type { vacuumControlCapability } from './vacuum-control.cap.js';
|
|
|
316
317
|
import type { valveCapability } from './valve.cap.js';
|
|
317
318
|
import type { vibrationCapability } from './vibration.cap.js';
|
|
318
319
|
import type { viewerUiCapability } from './viewer-ui.cap.js';
|
|
320
|
+
import type { terminalSessionCapability } from './terminal-session.cap.js';
|
|
319
321
|
import type { waterHeaterCapability } from './water-heater.cap.js';
|
|
320
322
|
import type { weatherCapability } from './weather.cap.js';
|
|
321
323
|
import type { webrtcSessionCapability } from './webrtc-session.cap.js';
|
|
322
324
|
import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
|
|
323
325
|
import type { zoneRulesCapability } from './zone-rules.cap.js';
|
|
324
326
|
import type { zonesCapability } from './zones.cap.js';
|
|
325
|
-
type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof settingsStoreCapability | typeof logDestinationCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | 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 motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof consumablesCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof deviceOpsCapability | 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 streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability;
|
|
327
|
+
type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof terminalSessionCapability | typeof settingsStoreCapability | typeof logDestinationCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | 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 motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof notificationRulesCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof consumablesCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof deviceOpsCapability | 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 streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability;
|
|
326
328
|
export type CapabilityName = AnyCapability['name'];
|
|
327
329
|
export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferProvider } from './capability-definition.js';
|
|
3
|
+
/**
|
|
4
|
+
* A live terminal session hosted by the provider addon. Output and input do
|
|
5
|
+
* NOT flow through the capability — they use the addon data plane
|
|
6
|
+
* (`GET /addon/terminal/<id>/out` SSE, `POST /addon/terminal/<id>/in`) because
|
|
7
|
+
* terminal output must be ordered and lossless. The event bus is telemetry and
|
|
8
|
+
* may drop chunks ([D8]), and a dropped chunk desynchronises the vt parser
|
|
9
|
+
* permanently until a full repaint. The capability owns only lifecycle.
|
|
10
|
+
*/
|
|
11
|
+
declare const TerminalSessionInfoSchema: z.ZodObject<{
|
|
12
|
+
sessionId: z.ZodString;
|
|
13
|
+
profileId: z.ZodString;
|
|
14
|
+
label: z.ZodString;
|
|
15
|
+
cols: z.ZodNumber;
|
|
16
|
+
rows: z.ZodNumber;
|
|
17
|
+
startedAt: z.ZodNumber;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
/**
|
|
20
|
+
* A profile the operator may open — a pre-declared, allowlisted program
|
|
21
|
+
* (`monitor` → `btm`). The capability accepts only these ids; a free-form
|
|
22
|
+
* command string would be remote code execution as the server's user, so it is
|
|
23
|
+
* deliberately not part of the contract.
|
|
24
|
+
*/
|
|
25
|
+
declare const TerminalProfileInfoSchema: z.ZodObject<{
|
|
26
|
+
profileId: z.ZodString;
|
|
27
|
+
label: z.ZodString;
|
|
28
|
+
description: z.ZodOptional<z.ZodString>;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
/**
|
|
31
|
+
* terminal-session — singleton system capability for interactive TTY sessions.
|
|
32
|
+
*
|
|
33
|
+
* Phase 1 (this cap): open/resize/close/list a pty running an allowlisted
|
|
34
|
+
* profile, streamed to xterm.js over the data plane. Phase 2 (streaming a
|
|
35
|
+
* session as a camera) is a separate device-provider concern and does not
|
|
36
|
+
* change this contract.
|
|
37
|
+
*/
|
|
38
|
+
export declare const terminalSessionCapability: {
|
|
39
|
+
readonly name: "terminal-session";
|
|
40
|
+
readonly scope: "system";
|
|
41
|
+
readonly mode: "singleton";
|
|
42
|
+
readonly methods: {
|
|
43
|
+
/** Pre-declared profiles the operator may open. */
|
|
44
|
+
readonly listProfiles: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
45
|
+
profileId: z.ZodString;
|
|
46
|
+
label: z.ZodString;
|
|
47
|
+
description: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
49
|
+
/** Live sessions currently hosted by the provider. */
|
|
50
|
+
readonly listSessions: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
51
|
+
sessionId: z.ZodString;
|
|
52
|
+
profileId: z.ZodString;
|
|
53
|
+
label: z.ZodString;
|
|
54
|
+
cols: z.ZodNumber;
|
|
55
|
+
rows: z.ZodNumber;
|
|
56
|
+
startedAt: z.ZodNumber;
|
|
57
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
58
|
+
/**
|
|
59
|
+
* Spawn a pty for an allowlisted profile at the given grid size and return
|
|
60
|
+
* its session id. Output/input then flow over the data plane by that id.
|
|
61
|
+
*/
|
|
62
|
+
readonly openSession: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
63
|
+
profileId: z.ZodString;
|
|
64
|
+
cols: z.ZodNumber;
|
|
65
|
+
rows: z.ZodNumber;
|
|
66
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
67
|
+
sessionId: z.ZodString;
|
|
68
|
+
profileId: z.ZodString;
|
|
69
|
+
label: z.ZodString;
|
|
70
|
+
cols: z.ZodNumber;
|
|
71
|
+
rows: z.ZodNumber;
|
|
72
|
+
startedAt: z.ZodNumber;
|
|
73
|
+
}, z.core.$strip>, "mutation">;
|
|
74
|
+
/** Resize a live session's pty (reflows the running program). */
|
|
75
|
+
readonly resize: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
76
|
+
sessionId: z.ZodString;
|
|
77
|
+
cols: z.ZodNumber;
|
|
78
|
+
rows: z.ZodNumber;
|
|
79
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
80
|
+
/** Terminate a live session and release its pty. */
|
|
81
|
+
readonly close: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
82
|
+
sessionId: z.ZodString;
|
|
83
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
export type ITerminalSessionProvider = InferProvider<typeof terminalSessionCapability>;
|
|
87
|
+
export type TerminalSessionInfo = z.infer<typeof TerminalSessionInfoSchema>;
|
|
88
|
+
export type TerminalProfileInfo = z.infer<typeof TerminalProfileInfoSchema>;
|
|
89
|
+
export { TerminalSessionInfoSchema, TerminalProfileInfoSchema };
|
|
@@ -15946,6 +15946,73 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
15946
15946
|
meta: object;
|
|
15947
15947
|
}>;
|
|
15948
15948
|
}>>;
|
|
15949
|
+
terminalSession: import("@trpc/server").TRPCBuiltRouter<{
|
|
15950
|
+
ctx: TrpcContext;
|
|
15951
|
+
meta: object;
|
|
15952
|
+
errorShape: import("@camstack/types").AugmentedErrorShape;
|
|
15953
|
+
transformer: true;
|
|
15954
|
+
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
|
|
15955
|
+
listProfiles: import("@trpc/server").TRPCQueryProcedure<{
|
|
15956
|
+
input: {
|
|
15957
|
+
nodeId?: string | undefined;
|
|
15958
|
+
} | undefined;
|
|
15959
|
+
output: readonly {
|
|
15960
|
+
profileId: string;
|
|
15961
|
+
label: string;
|
|
15962
|
+
description?: string | undefined;
|
|
15963
|
+
}[];
|
|
15964
|
+
meta: object;
|
|
15965
|
+
}>;
|
|
15966
|
+
listSessions: import("@trpc/server").TRPCQueryProcedure<{
|
|
15967
|
+
input: {
|
|
15968
|
+
nodeId?: string | undefined;
|
|
15969
|
+
} | undefined;
|
|
15970
|
+
output: readonly {
|
|
15971
|
+
sessionId: string;
|
|
15972
|
+
profileId: string;
|
|
15973
|
+
label: string;
|
|
15974
|
+
cols: number;
|
|
15975
|
+
rows: number;
|
|
15976
|
+
startedAt: number;
|
|
15977
|
+
}[];
|
|
15978
|
+
meta: object;
|
|
15979
|
+
}>;
|
|
15980
|
+
openSession: import("@trpc/server").TRPCMutationProcedure<{
|
|
15981
|
+
input: {
|
|
15982
|
+
[x: string]: unknown;
|
|
15983
|
+
profileId: string;
|
|
15984
|
+
cols: number;
|
|
15985
|
+
rows: number;
|
|
15986
|
+
};
|
|
15987
|
+
output: {
|
|
15988
|
+
sessionId: string;
|
|
15989
|
+
profileId: string;
|
|
15990
|
+
label: string;
|
|
15991
|
+
cols: number;
|
|
15992
|
+
rows: number;
|
|
15993
|
+
startedAt: number;
|
|
15994
|
+
};
|
|
15995
|
+
meta: object;
|
|
15996
|
+
}>;
|
|
15997
|
+
resize: import("@trpc/server").TRPCMutationProcedure<{
|
|
15998
|
+
input: {
|
|
15999
|
+
[x: string]: unknown;
|
|
16000
|
+
sessionId: string;
|
|
16001
|
+
cols: number;
|
|
16002
|
+
rows: number;
|
|
16003
|
+
};
|
|
16004
|
+
output: void;
|
|
16005
|
+
meta: object;
|
|
16006
|
+
}>;
|
|
16007
|
+
close: import("@trpc/server").TRPCMutationProcedure<{
|
|
16008
|
+
input: {
|
|
16009
|
+
[x: string]: unknown;
|
|
16010
|
+
sessionId: string;
|
|
16011
|
+
};
|
|
16012
|
+
output: void;
|
|
16013
|
+
meta: object;
|
|
16014
|
+
}>;
|
|
16015
|
+
}>>;
|
|
15949
16016
|
toast: import("@trpc/server").TRPCBuiltRouter<{
|
|
15950
16017
|
ctx: TrpcContext;
|
|
15951
16018
|
meta: object;
|
|
@@ -33304,6 +33371,73 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
33304
33371
|
meta: object;
|
|
33305
33372
|
}>;
|
|
33306
33373
|
}>>;
|
|
33374
|
+
terminalSession: import("@trpc/server").TRPCBuiltRouter<{
|
|
33375
|
+
ctx: TrpcContext;
|
|
33376
|
+
meta: object;
|
|
33377
|
+
errorShape: import("@camstack/types").AugmentedErrorShape;
|
|
33378
|
+
transformer: true;
|
|
33379
|
+
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
|
|
33380
|
+
listProfiles: import("@trpc/server").TRPCQueryProcedure<{
|
|
33381
|
+
input: {
|
|
33382
|
+
nodeId?: string | undefined;
|
|
33383
|
+
} | undefined;
|
|
33384
|
+
output: readonly {
|
|
33385
|
+
profileId: string;
|
|
33386
|
+
label: string;
|
|
33387
|
+
description?: string | undefined;
|
|
33388
|
+
}[];
|
|
33389
|
+
meta: object;
|
|
33390
|
+
}>;
|
|
33391
|
+
listSessions: import("@trpc/server").TRPCQueryProcedure<{
|
|
33392
|
+
input: {
|
|
33393
|
+
nodeId?: string | undefined;
|
|
33394
|
+
} | undefined;
|
|
33395
|
+
output: readonly {
|
|
33396
|
+
sessionId: string;
|
|
33397
|
+
profileId: string;
|
|
33398
|
+
label: string;
|
|
33399
|
+
cols: number;
|
|
33400
|
+
rows: number;
|
|
33401
|
+
startedAt: number;
|
|
33402
|
+
}[];
|
|
33403
|
+
meta: object;
|
|
33404
|
+
}>;
|
|
33405
|
+
openSession: import("@trpc/server").TRPCMutationProcedure<{
|
|
33406
|
+
input: {
|
|
33407
|
+
[x: string]: unknown;
|
|
33408
|
+
profileId: string;
|
|
33409
|
+
cols: number;
|
|
33410
|
+
rows: number;
|
|
33411
|
+
};
|
|
33412
|
+
output: {
|
|
33413
|
+
sessionId: string;
|
|
33414
|
+
profileId: string;
|
|
33415
|
+
label: string;
|
|
33416
|
+
cols: number;
|
|
33417
|
+
rows: number;
|
|
33418
|
+
startedAt: number;
|
|
33419
|
+
};
|
|
33420
|
+
meta: object;
|
|
33421
|
+
}>;
|
|
33422
|
+
resize: import("@trpc/server").TRPCMutationProcedure<{
|
|
33423
|
+
input: {
|
|
33424
|
+
[x: string]: unknown;
|
|
33425
|
+
sessionId: string;
|
|
33426
|
+
cols: number;
|
|
33427
|
+
rows: number;
|
|
33428
|
+
};
|
|
33429
|
+
output: void;
|
|
33430
|
+
meta: object;
|
|
33431
|
+
}>;
|
|
33432
|
+
close: import("@trpc/server").TRPCMutationProcedure<{
|
|
33433
|
+
input: {
|
|
33434
|
+
[x: string]: unknown;
|
|
33435
|
+
sessionId: string;
|
|
33436
|
+
};
|
|
33437
|
+
output: void;
|
|
33438
|
+
meta: object;
|
|
33439
|
+
}>;
|
|
33440
|
+
}>>;
|
|
33307
33441
|
toast: import("@trpc/server").TRPCBuiltRouter<{
|
|
33308
33442
|
ctx: TrpcContext;
|
|
33309
33443
|
meta: object;
|
|
@@ -124,6 +124,7 @@ export { switchCapability } from '../capabilities/switch.cap.js';
|
|
|
124
124
|
export { systemCapability } from '../capabilities/system.cap.js';
|
|
125
125
|
export { tamperCapability } from '../capabilities/tamper.cap.js';
|
|
126
126
|
export { temperatureSensorCapability } from '../capabilities/temperature-sensor.cap.js';
|
|
127
|
+
export { terminalSessionCapability } from '../capabilities/terminal-session.cap.js';
|
|
127
128
|
export { toastCapability } from '../capabilities/toast.cap.js';
|
|
128
129
|
export { turnProviderCapability } from '../capabilities/turn-provider.cap.js';
|
|
129
130
|
export { updateCapability } from '../capabilities/update.cap.js';
|
|
@@ -267,6 +268,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
267
268
|
readonly system: "system";
|
|
268
269
|
readonly tamper: "tamper";
|
|
269
270
|
readonly temperatureSensor: "temperature-sensor";
|
|
271
|
+
readonly terminalSession: "terminal-session";
|
|
270
272
|
readonly toast: "toast";
|
|
271
273
|
readonly turnProvider: "turn-provider";
|
|
272
274
|
readonly update: "update";
|
|
@@ -423,6 +425,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
423
425
|
readonly system: TRouter;
|
|
424
426
|
readonly tamper: TRouter;
|
|
425
427
|
readonly temperatureSensor: TRouter;
|
|
428
|
+
readonly terminalSession: TRouter;
|
|
426
429
|
readonly toast: TRouter;
|
|
427
430
|
readonly turnProvider: TRouter;
|
|
428
431
|
readonly update: TRouter;
|
|
@@ -440,8 +443,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
440
443
|
readonly zoneRules: TRouter;
|
|
441
444
|
readonly zones: TRouter;
|
|
442
445
|
}
|
|
443
|
-
/** Capability names whose mode is `singleton` (
|
|
444
|
-
export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recordingExport", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "stream-broker", "stream-catalog", "stream-params", "switch", "system", "tamper", "temperature-sensor", "toast", "update", "user-management", "vacuum-control", "valve", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
|
|
446
|
+
/** Capability names whose mode is `singleton` (121 caps). */
|
|
447
|
+
export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recordingExport", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "stream-broker", "stream-catalog", "stream-params", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
|
|
445
448
|
/** Union of singleton capability names (literal string union). */
|
|
446
449
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
447
450
|
/** Capability names whose mode is `collection` (22 caps). */
|
|
@@ -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: 811 method paths across 117 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -38,6 +38,7 @@ import type { settingsStoreCapability } from '../capabilities/settings-store.cap
|
|
|
38
38
|
import type { storageCapability } from '../capabilities/storage.cap.js';
|
|
39
39
|
import type { streamBrokerCapability } from '../capabilities/stream-broker.cap.js';
|
|
40
40
|
import type { systemCapability } from '../capabilities/system.cap.js';
|
|
41
|
+
import type { terminalSessionCapability } from '../capabilities/terminal-session.cap.js';
|
|
41
42
|
import type { toastCapability } from '../capabilities/toast.cap.js';
|
|
42
43
|
import type { turnProviderCapability } from '../capabilities/turn-provider.cap.js';
|
|
43
44
|
import type { userManagementCapability } from '../capabilities/user-management.cap.js';
|
|
@@ -88,6 +89,7 @@ export interface SystemProxy {
|
|
|
88
89
|
readonly storage: Pick<InferProvider<typeof storageCapability>, 'resolve' | 'write' | 'read' | 'exists' | 'list' | 'delete' | 'getAvailableSpace' | 'beginUpload' | 'writeChunk' | 'finalizeUpload' | 'abortUpload' | 'beginDownload' | 'readChunk' | 'endDownload' | 'listLocations' | 'getDefaultLocation' | 'listLocationDeclarations' | 'upsertLocation' | 'deleteLocation' | 'testLocation' | 'listProviders' | 'testConfig'>;
|
|
89
90
|
readonly streamBroker: Pick<InferProvider<typeof streamBrokerCapability>, 'listAllCameraStreams' | 'listAllProfileSlots' | 'getBrokerStats' | 'probeStream' | 'listClients' | 'killClient' | 'getStreamUrl' | 'getStreamWithCodec' | 'releaseStreamWithCodec' | 'subscribeAudioChunks' | 'pullAudioChunks' | 'unsubscribeAudioChunks' | 'subscribeFrames' | 'pullFrameHandles' | 'unsubscribeFrames' | 'setPreBufferDuration' | 'getPreBufferInfo' | 'getRtspPort' | 'getAllRtspEntries' | 'getRtspEntry' | 'regenerateRtspToken' | 'setRtspEnabled' | 'isRtspEnabled'>;
|
|
90
91
|
readonly system: Pick<InferProvider<typeof systemCapability>, 'info' | 'health' | 'featureFlags' | 'networkAddresses' | 'getRetentionConfig' | 'setRetentionConfig' | 'forceRetentionCleanup'>;
|
|
92
|
+
readonly terminalSession: Pick<InferProvider<typeof terminalSessionCapability>, 'listProfiles' | 'listSessions' | 'openSession' | 'resize' | 'close'>;
|
|
91
93
|
readonly toast: Pick<InferProvider<typeof toastCapability>, 'onToast'>;
|
|
92
94
|
readonly turnProvider: Pick<InferProvider<typeof turnProviderCapability>, 'getTurnServers'>;
|
|
93
95
|
readonly userManagement: Pick<InferProvider<typeof userManagementCapability>, 'listUsers' | 'createUser' | 'updateUser' | 'deleteUser' | 'resetPassword' | 'setUserScopes' | 'validateCredentials' | 'listApiKeys' | 'createApiKey' | 'revokeApiKey' | 'validateApiKey' | 'createScopedToken' | 'revokeScopedToken' | 'validateScopedToken' | 'listScopedTokens' | 'setupTotp' | 'confirmTotp' | 'disableTotp' | 'getTotpStatus' | 'verifyTotp' | 'oauthIssueCode' | 'oauthExchangeCode' | 'oauthRefresh' | 'oauthVerifyAccessToken' | 'listOauthSessions' | 'revokeOauthSession'>;
|
package/dist/index.d.ts
CHANGED
|
@@ -140,6 +140,8 @@ export { startReachabilityPoll, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_FAIL
|
|
|
140
140
|
export type { ReachabilityPollOptions, ReachabilityPollHandle, ReachabilityPollLogger, } from './device/reachability-poll.js';
|
|
141
141
|
export { prepareNotification, type PreparedAction, type PreparedAttachment, type PreparedNotification, type ResolvedLevel, } from './notification/degrade-engine.js';
|
|
142
142
|
export { htmlToText, markdownToHtmlLite, markdownToText, type NotificationFormat as NotificationBodyFormat, resolveFormat, textToHtml, transcodeBody, } from './notification/format-transcode.js';
|
|
143
|
+
export { TimelapseRuleInputSchema, TimelapseRulePatchSchema, TimelapseRuleSchema, TimelapseTemplateSchema, } from './notification/timelapse-rule.js';
|
|
144
|
+
export type { TimelapseRule, TimelapseRuleInput, TimelapseRulePatch, TimelapseTemplate, } from './notification/timelapse-rule.js';
|
|
143
145
|
export { BaseDevice } from './device/base-device.js';
|
|
144
146
|
export type { AccessoryChildSpec } from './device/base-device.js';
|
|
145
147
|
export { SourceInfoSchema, synthesizeSourceInfo, mergeSourceInfo, normalizeUnit, extractSourceInfoFromMetadata, SOURCE_INFO_METADATA_KEY, } from './device/source-info.js';
|