@camstack/types 1.2.443 → 1.2.445

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.
Files changed (58) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/addon.d.ts +5 -1
  3. package/dist/addon.js +21 -5
  4. package/dist/addon.mjs +17 -6
  5. package/dist/automation/export-entities.d.ts +98 -0
  6. package/dist/capabilities/capability-definition.d.ts +1 -1
  7. package/dist/capabilities/composer.cap.d.ts +34 -0
  8. package/dist/capabilities/consumables.cap.d.ts +4 -5
  9. package/dist/capabilities/core-blocks.cap.d.ts +244 -0
  10. package/dist/capabilities/device-export.cap.d.ts +111 -1
  11. package/dist/capabilities/index.d.ts +6 -4
  12. package/dist/capabilities/metrics-provider.cap.d.ts +16 -16
  13. package/dist/capabilities/nodes.cap.d.ts +2 -2
  14. package/dist/capabilities/pet-fountain.cap.d.ts +138 -0
  15. package/dist/capabilities/pipeline-executor.cap.d.ts +6 -22
  16. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +2 -2
  17. package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
  18. package/dist/capabilities/pipeline-step-input.d.ts +33 -0
  19. package/dist/capabilities/server-management.cap.d.ts +28 -0
  20. package/dist/client.js +820 -799
  21. package/dist/client.mjs +820 -799
  22. package/dist/composition/composition-items.d.ts +3 -3
  23. package/dist/composition/composition-report.d.ts +17 -0
  24. package/dist/composition/composition.d.ts +68 -1
  25. package/dist/composition/index.d.ts +2 -0
  26. package/dist/composition/presets/pet-fountain.d.ts +36 -0
  27. package/dist/composition/validate-forward.d.ts +31 -0
  28. package/dist/{composition-C0dlyG9U.js → composition-CO6Sak-s.js} +49 -5
  29. package/dist/{composition-bIBW5_13.mjs → composition-kSuOifuG.mjs} +32 -6
  30. package/dist/device/cap-vocabulary/entries/appliances.d.ts +1 -1
  31. package/dist/device/device-control-resolution.d.ts +1 -1
  32. package/dist/device/device-type.d.ts +4 -0
  33. package/dist/{err-msg-BCdlR2Li.mjs → err-msg-DWXWc0Di.mjs} +4 -0
  34. package/dist/{err-msg-COHgq7Mb.js → err-msg-EJhsFHqa.js} +4 -0
  35. package/dist/generated/addon-api.d.ts +148 -32
  36. package/dist/generated/addon-cap-facts.d.ts +1 -1
  37. package/dist/generated/cap-status-types.d.ts +3 -1
  38. package/dist/generated/capability-router-map.d.ts +5 -2
  39. package/dist/generated/collection-array-methods.d.ts +2 -2
  40. package/dist/generated/customize-catalog.d.ts +1 -1
  41. package/dist/generated/device-local-state.d.ts +3 -0
  42. package/dist/generated/device-proxy.d.ts +3 -0
  43. package/dist/generated/device-scoped-caps.d.ts +1 -1
  44. package/dist/generated/history-catalog.d.ts +1 -1
  45. package/dist/generated/method-access-map.d.ts +1 -1
  46. package/dist/generated/method-device-selectors.d.ts +1 -1
  47. package/dist/generated/runtime-state-durability.d.ts +1 -1
  48. package/dist/generated/system-proxy.d.ts +2 -2
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.js +1465 -603
  51. package/dist/index.mjs +1433 -592
  52. package/dist/interfaces/agent.d.ts +6 -2
  53. package/dist/interfaces/event-bus.d.ts +1 -1
  54. package/dist/node.js +2 -2
  55. package/dist/node.mjs +2 -2
  56. package/dist/{sleep-C_u6cEAJ.mjs → sleep-6eG9C8Xl.mjs} +223 -72
  57. package/dist/{sleep-E7qAQwTE.js → sleep-UXDHn-oJ.js} +246 -71
  58. package/package.json +1 -1
@@ -57,6 +57,63 @@ declare const ExposeInputSchema: z.ZodObject<{
57
57
  declare const UnexposeInputSchema: z.ZodObject<{
58
58
  deviceId: z.ZodString;
59
59
  }, z.core.$strip>;
60
+ /**
61
+ * What an exporter may expose besides devices (D968). An action and a
62
+ * notification target are LIST ENTRIES, never devices (D954): they enter an
63
+ * exporter's own selection, not the device registry.
64
+ */
65
+ declare const ExportEntityKindSchema: z.ZodEnum<{
66
+ action: "action";
67
+ device: "device";
68
+ notifier: "notifier";
69
+ }>;
70
+ declare const ExportEntityRefSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
71
+ kind: z.ZodLiteral<"device">;
72
+ deviceId: z.ZodString;
73
+ }, z.core.$strip>, z.ZodObject<{
74
+ kind: z.ZodLiteral<"action">;
75
+ actionId: z.ZodString;
76
+ }, z.core.$strip>, z.ZodObject<{
77
+ kind: z.ZodLiteral<"notifier">;
78
+ targetId: z.ZodString;
79
+ }, z.core.$strip>], "kind">;
80
+ declare const ExposedEntitySchema: z.ZodObject<{
81
+ entity: z.ZodDiscriminatedUnion<[z.ZodObject<{
82
+ kind: z.ZodLiteral<"device">;
83
+ deviceId: z.ZodString;
84
+ }, z.core.$strip>, z.ZodObject<{
85
+ kind: z.ZodLiteral<"action">;
86
+ actionId: z.ZodString;
87
+ }, z.core.$strip>, z.ZodObject<{
88
+ kind: z.ZodLiteral<"notifier">;
89
+ targetId: z.ZodString;
90
+ }, z.core.$strip>], "kind">;
91
+ exposedAs: z.ZodOptional<z.ZodString>;
92
+ }, z.core.$strip>;
93
+ declare const ExposeEntityInputSchema: z.ZodObject<{
94
+ entity: z.ZodDiscriminatedUnion<[z.ZodObject<{
95
+ kind: z.ZodLiteral<"device">;
96
+ deviceId: z.ZodString;
97
+ }, z.core.$strip>, z.ZodObject<{
98
+ kind: z.ZodLiteral<"action">;
99
+ actionId: z.ZodString;
100
+ }, z.core.$strip>, z.ZodObject<{
101
+ kind: z.ZodLiteral<"notifier">;
102
+ targetId: z.ZodString;
103
+ }, z.core.$strip>], "kind">;
104
+ }, z.core.$strip>;
105
+ declare const UnexposeEntityInputSchema: z.ZodObject<{
106
+ entity: z.ZodDiscriminatedUnion<[z.ZodObject<{
107
+ kind: z.ZodLiteral<"device">;
108
+ deviceId: z.ZodString;
109
+ }, z.core.$strip>, z.ZodObject<{
110
+ kind: z.ZodLiteral<"action">;
111
+ actionId: z.ZodString;
112
+ }, z.core.$strip>, z.ZodObject<{
113
+ kind: z.ZodLiteral<"notifier">;
114
+ targetId: z.ZodString;
115
+ }, z.core.$strip>], "kind">;
116
+ }, z.core.$strip>;
60
117
  export declare const deviceExportCapability: {
61
118
  readonly name: 'device-export';
62
119
  readonly scope: 'system';
@@ -124,7 +181,60 @@ export declare const deviceExportCapability: {
124
181
  readonly unexposeDevice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
125
182
  deviceId: z.ZodString;
126
183
  }, z.core.$strip>, z.ZodVoid, "mutation">;
184
+ readonly listSupportedEntityKinds: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodArray<z.ZodEnum<{
185
+ action: "action";
186
+ device: "device";
187
+ notifier: "notifier";
188
+ }>>, import("./capability-definition.js").CapabilityMethodKind> & {
189
+ readonly providerOptional: true;
190
+ };
191
+ readonly listExposedEntities: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodArray<z.ZodObject<{
192
+ entity: z.ZodDiscriminatedUnion<[z.ZodObject<{
193
+ kind: z.ZodLiteral<"device">;
194
+ deviceId: z.ZodString;
195
+ }, z.core.$strip>, z.ZodObject<{
196
+ kind: z.ZodLiteral<"action">;
197
+ actionId: z.ZodString;
198
+ }, z.core.$strip>, z.ZodObject<{
199
+ kind: z.ZodLiteral<"notifier">;
200
+ targetId: z.ZodString;
201
+ }, z.core.$strip>], "kind">;
202
+ exposedAs: z.ZodOptional<z.ZodString>;
203
+ }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind> & {
204
+ readonly providerOptional: true;
205
+ };
206
+ readonly exposeEntity: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
207
+ entity: z.ZodDiscriminatedUnion<[z.ZodObject<{
208
+ kind: z.ZodLiteral<"device">;
209
+ deviceId: z.ZodString;
210
+ }, z.core.$strip>, z.ZodObject<{
211
+ kind: z.ZodLiteral<"action">;
212
+ actionId: z.ZodString;
213
+ }, z.core.$strip>, z.ZodObject<{
214
+ kind: z.ZodLiteral<"notifier">;
215
+ targetId: z.ZodString;
216
+ }, z.core.$strip>], "kind">;
217
+ }, z.core.$strip>, z.ZodVoid, "mutation"> & {
218
+ readonly providerOptional: true;
219
+ };
220
+ readonly unexposeEntity: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
221
+ entity: z.ZodDiscriminatedUnion<[z.ZodObject<{
222
+ kind: z.ZodLiteral<"device">;
223
+ deviceId: z.ZodString;
224
+ }, z.core.$strip>, z.ZodObject<{
225
+ kind: z.ZodLiteral<"action">;
226
+ actionId: z.ZodString;
227
+ }, z.core.$strip>, z.ZodObject<{
228
+ kind: z.ZodLiteral<"notifier">;
229
+ targetId: z.ZodString;
230
+ }, z.core.$strip>], "kind">;
231
+ }, z.core.$strip>, z.ZodVoid, "mutation"> & {
232
+ readonly providerOptional: true;
233
+ };
127
234
  };
128
235
  };
129
236
  export type IDeviceExportProvider = InferProvider<typeof deviceExportCapability>;
130
- export { DeviceExportStatusSchema, ExportSetupSchema, ExportSetupFieldSchema, ExposedDeviceSchema, ExposeInputSchema, UnexposeInputSchema, };
237
+ export { DeviceExportStatusSchema, ExportSetupSchema, ExportSetupFieldSchema, ExposedDeviceSchema, ExposeInputSchema, UnexposeInputSchema, ExportEntityKindSchema, ExportEntityRefSchema, ExposedEntitySchema, ExposeEntityInputSchema, UnexposeEntityInputSchema, };
238
+ export type ExportEntityKind = z.infer<typeof ExportEntityKindSchema>;
239
+ export type ExportEntityRef = z.infer<typeof ExportEntityRefSchema>;
240
+ export type ExposedEntity = z.infer<typeof ExposedEntitySchema>;
@@ -60,8 +60,8 @@ export { detectionPipelineCapability, type IDetectionPipelineProvider, } from '.
60
60
  export { type AdminLinkTarget, AdminLinkTargetEnum, type DeviceAdminLink, DeviceAdminLinkSchema, deviceAdminLinkCapability, type IDeviceAdminLinkProvider, } from './device-admin-link.cap.js';
61
61
  export { buildDeviceAdminUrl, type DeviceAdminBase, type DeviceAdminBaseRefusal, type DeviceAdminBaseResult, type DeviceAdminScheme, type DeviceAdminUrlParts, type DeviceAdminUrlRefusal, type DeviceAdminUrlResult, parseAdminBase, } from './device-admin-link-url.js';
62
62
  export { AdoptInputSchema as AdoptionAdoptInputSchema, type AdoptionFilter, AdoptionFilterSchema, type AdoptionStatus, AdoptionStatusSchema, AdoptResultSchema as AdoptionAdoptResultSchema, CandidateQueryFilterSchema, deviceAdoptionCapability, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, type IDeviceAdoptionProvider, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, } from './device-adoption.cap.js';
63
- export type { IDeviceExportProvider } from './device-export.cap.js';
64
- export { DeviceExportStatusSchema, deviceExportCapability, ExportSetupFieldSchema, ExportSetupSchema, ExposedDeviceSchema, ExposeInputSchema as DeviceExportExposeInputSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, } from './device-export.cap.js';
63
+ export type { ExportEntityKind, ExportEntityRef, ExposedEntity, IDeviceExportProvider, } from './device-export.cap.js';
64
+ export { DeviceExportStatusSchema, deviceExportCapability, ExportEntityKindSchema, ExportEntityRefSchema, ExposedEntitySchema, ExposeEntityInputSchema, UnexposeEntityInputSchema, ExportSetupFieldSchema, ExportSetupSchema, ExposedDeviceSchema, ExposeInputSchema as DeviceExportExposeInputSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, } from './device-export.cap.js';
65
65
  export type { ExtensionCandidate, ExtensionCandidates, ExtensionSetResult, ExtensionSetSlotInput, ExtensionSlotActivation, ExtensionSlotRefInput, ExtensionSlotRow, ExtensionSlotSource, ExtensionSlotState, ExtensionSlotUnreachable, ExtensionSource, ExtensionSourceAvailability, ExtensionSourceHealth, IDeviceExtensionProvider, } from './device-extension.cap.js';
66
66
  export { deviceExtensionCapability, EXTENSION_SLOT_LISTING_METHOD, EXTENSION_SLOT_REF_SEPARATOR, ExtensionCandidateSchema, ExtensionCandidatesSchema, ExtensionSetResultSchema, ExtensionSetSlotInputSchema, ExtensionSlotActivationSchema, ExtensionSlotRefInputSchema, ExtensionSlotRowSchema, ExtensionSlotSourceSchema, ExtensionSlotStateSchema, ExtensionSlotUnreachableSchema, ExtensionSourceAvailabilitySchema, ExtensionSourceHealthSchema, ExtensionSourceSchema, unreachableExtensionSlotRow, } from './device-extension.cap.js';
67
67
  export type { CleanupDeletedDevicesResult, DeviceInfo, DeviceManagerApplyInitialMetaInput, DeviceTombstone, OrphanDeviceData, } from './device-manager.cap.js';
@@ -119,7 +119,7 @@ export { CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, OrchestratorMetri
119
119
  export type { AudioStreamPick, CameraStream, CamProfile, CamStreamKind, DecodedAudioChunkWire, ProfileRtspEntry, ProfileSlot, ProfileSlotStatus, SubscribeAudioChunksInput, SubscribeAudioChunksResult, } from './schemas/streaming-shared.js';
120
120
  export { AudioChunkFormatSchema, AudioStreamPickSchema, BrokerStatsSchema, BrokerStatusSchema, CAM_PROFILE_ORDER, CameraStreamSchema, CamProfileSchema, CamStreamKindSchema, CamStreamResolutionSchema, DecodedAudioChunkSchema, FrameHandleSchema, makeProfileBrokerId, makeSourceBrokerId, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, parseProfileBrokerId, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, selectAssignedProfileSlots, } from './schemas/streaming-shared.js';
121
121
  export { buildEventKindDescriptor, EVENT_KIND_BY_CAP, EVENTFUL_CAP_NAMES, type SensorEventKindDescriptor, } from './sensor-event-kinds.js';
122
- export { type ImageContract, ImageContractSchema, type ImageContractState, ImageContractStateSchema, type IServerManagementProvider, type RunnerBootCheck, RunnerBootCheckSchema, type RunnerRefusal, RunnerRefusalSchema, type ServerBootMode, ServerBootModeSchema, type ServerPackageStatus, ServerPackageStatusSchema, type ServerRollbackInfo, ServerRollbackInfoSchema, type ServerUpdateActionResult, ServerUpdateActionResultSchema, type ServerUpdateCheckResult, ServerUpdateCheckResultSchema, type ServerUpdateOutcome, ServerUpdateOutcomeSchema, type ServerUpdateState, ServerUpdateStateSchema, serverManagementCapability, type UpdateBlocker, UpdateBlockerSchema, type WrapperEvidence, WrapperEvidenceSchema, type WrapperIdentity, WrapperIdentitySchema, type WrapperKind, WrapperKindSchema, } from './server-management.cap.js';
122
+ export { type ImageContract, ImageContractSchema, type ImageContractState, ImageContractStateSchema, type IServerManagementProvider, type RunnerBootCheck, RunnerBootCheckSchema, type RunnerRefusal, RunnerRefusalSchema, type ServerBootMode, ServerBootModeSchema, type ServerPackageStatus, ServerPackageStatusSchema, type ServerRollbackInfo, ServerRollbackInfoSchema, type LaunchOverrides, type SetLaunchOverridesResult, type ServerUpdateActionResult, ServerUpdateActionResultSchema, type ServerUpdateCheckResult, ServerUpdateCheckResultSchema, type ServerUpdateOutcome, ServerUpdateOutcomeSchema, type ServerUpdateState, ServerUpdateStateSchema, serverManagementCapability, type UpdateBlocker, UpdateBlockerSchema, type WrapperEvidence, WrapperEvidenceSchema, type WrapperIdentity, WrapperIdentitySchema, type WrapperKind, WrapperKindSchema, } from './server-management.cap.js';
123
123
  export { type BulkRecord, BulkRecordSchema, type CollectionColumn, CollectionColumnSchema, type CollectionIndex, CollectionIndexSchema, DATA_STORE_DATABASES, type DataStoreDatabase, DataStoreDatabaseSchema, type DeclareCollectionInput, DeclareCollectionInputSchema, type ISettingsStoreProvider, type MutationFilter, MutationFilterSchema, QueryFilterSchema, SettingsRecordSchema, type SettingsStoreClient, settingsStoreCapability, } from './settings-store.cap.js';
124
124
  export type { ISmtpProvider } from './smtp-provider.cap.js';
125
125
  export { SendEmailInputSchema, SendEmailResultSchema, SmtpStatusSchema, smtpProviderCapability, } from './smtp-provider.cap.js';
@@ -222,6 +222,7 @@ export { type INumericSensorProvider, type NumericSensorStatus, NumericSensorSta
222
222
  export { type IOsdProvider, type OsdOverlay, type OsdOverlayKind, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, type OsdPosition, OsdPositionEnum, type OsdStatus, OsdStatusSchema, osdCapability, } from './osd.cap.js';
223
223
  export { type IOsdManagerProvider, type OsdNamedTemplate, OsdNamedTemplateSchema, type OsdRenderOutcome, OsdRenderOutcomeEnum, type OsdRenderResult, OsdRenderResultSchema, type OsdSlotBinding, OsdSlotBindingSchema, type OsdSlotView, OsdSlotViewSchema, type OsdSource, type OsdSourceOption, OsdSourceOptionSchema, OsdSourceSchema, type OsdSourceValueType, OsdSourceValueTypeEnum, type OsdTemplateBinding, OsdTemplateBindingSchema, type OsdTemplateFormat, OsdTemplateFormatSchema, type OsdTemplatePick, OsdTemplatePickSchema, type OsdTemplateTokenKind, OsdTemplateTokenKindSchema, osdManagerCapability, } from './osd-manager.cap.js';
224
224
  export { type IPetFeederProvider, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, type PetFeederStatus, PetFeederStatusSchema, petFeederCapability, } from './pet-feeder.cap.js';
225
+ export { type IPetFountainProvider, type PetFountainStatus, PetFountainStatusSchema, petFountainCapability, } from './pet-fountain.cap.js';
225
226
  export { type IPlateGalleryProvider, type PlateInfo, plateGalleryCapability, type Vehicle, type VehicleSampleInfo, } from './plate-gallery.cap.js';
226
227
  export { type AcceleratorRescan, type HardwareDecodeAccels, type HardwareEncoderId, type HardwareEncoderProbe, type HardwareEncoders, type IPlatformProbeProvider, platformProbeCapability, } from './platform-probe.cap.js';
227
228
  export { type IPowerMeterProvider, type PowerMeterStatus, PowerMeterStatusSchema, powerMeterCapability, } from './power-meter.cap.js';
@@ -398,6 +399,7 @@ import type { oidcConnectionsCapability } from './oidc-connections.cap.js';
398
399
  import type { osdCapability } from './osd.cap.js';
399
400
  import type { osdManagerCapability } from './osd-manager.cap.js';
400
401
  import type { petFeederCapability } from './pet-feeder.cap.js';
402
+ import type { petFountainCapability } from './pet-fountain.cap.js';
401
403
  import type { pipelineAnalyticsCapability } from './pipeline-analytics.cap.js';
402
404
  import type { pipelineExecutorCapability } from './pipeline-executor.cap.js';
403
405
  import type { pipelineOrchestratorCapability } from './pipeline-orchestrator.cap.js';
@@ -458,6 +460,6 @@ import type { trainingProviderCapability } from './training-provider.cap.js';
458
460
  import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
459
461
  import type { zoneRulesCapability } from './zone-rules.cap.js';
460
462
  import type { zonesCapability } from './zones.cap.js';
461
- 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 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;
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;
462
464
  export type CapabilityName = AnyCapability['name'];
463
465
  export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;
@@ -10,10 +10,10 @@ declare const CpuBreakdownSchema: z.ZodObject<{
10
10
  cores: z.ZodNumber;
11
11
  }, z.core.$strip>;
12
12
  declare const MemoryInfoSchema: z.ZodObject<{
13
- percent: z.ZodNumber;
13
+ percent: z.ZodNullable<z.ZodNumber>;
14
14
  totalBytes: z.ZodNumber;
15
- usedBytes: z.ZodNumber;
16
- availableBytes: z.ZodNumber;
15
+ usedBytes: z.ZodNullable<z.ZodNumber>;
16
+ availableBytes: z.ZodNullable<z.ZodNumber>;
17
17
  swapUsedBytes: z.ZodNumber;
18
18
  swapTotalBytes: z.ZodNumber;
19
19
  }, z.core.$strip>;
@@ -69,10 +69,10 @@ declare const SystemResourceSnapshotSchema: z.ZodObject<{
69
69
  cores: z.ZodNumber;
70
70
  }, z.core.$strip>;
71
71
  memory: z.ZodObject<{
72
- percent: z.ZodNumber;
72
+ percent: z.ZodNullable<z.ZodNumber>;
73
73
  totalBytes: z.ZodNumber;
74
- usedBytes: z.ZodNumber;
75
- availableBytes: z.ZodNumber;
74
+ usedBytes: z.ZodNullable<z.ZodNumber>;
75
+ availableBytes: z.ZodNullable<z.ZodNumber>;
76
76
  swapUsedBytes: z.ZodNumber;
77
77
  swapTotalBytes: z.ZodNumber;
78
78
  }, z.core.$strip>;
@@ -337,8 +337,8 @@ declare const GetLoadSeriesInputSchema: z.ZodObject<{
337
337
  }, z.core.$strip>;
338
338
  declare const SystemMetricsSchema: z.ZodObject<{
339
339
  cpuPercent: z.ZodNumber;
340
- memoryPercent: z.ZodNumber;
341
- memoryUsedMB: z.ZodNumber;
340
+ memoryPercent: z.ZodNullable<z.ZodNumber>;
341
+ memoryUsedMB: z.ZodNullable<z.ZodNumber>;
342
342
  memoryTotalMB: z.ZodNumber;
343
343
  diskPercent: z.ZodOptional<z.ZodNumber>;
344
344
  temperature: z.ZodOptional<z.ZodNumber>;
@@ -362,10 +362,10 @@ export declare const metricsProviderCapability: {
362
362
  cores: z.ZodNumber;
363
363
  }, z.core.$strip>;
364
364
  memory: z.ZodObject<{
365
- percent: z.ZodNumber;
365
+ percent: z.ZodNullable<z.ZodNumber>;
366
366
  totalBytes: z.ZodNumber;
367
- usedBytes: z.ZodNumber;
368
- availableBytes: z.ZodNumber;
367
+ usedBytes: z.ZodNullable<z.ZodNumber>;
368
+ availableBytes: z.ZodNullable<z.ZodNumber>;
369
369
  swapUsedBytes: z.ZodNumber;
370
370
  swapTotalBytes: z.ZodNumber;
371
371
  }, z.core.$strip>;
@@ -451,10 +451,10 @@ export declare const metricsProviderCapability: {
451
451
  cores: z.ZodNumber;
452
452
  }, z.core.$strip>;
453
453
  memory: z.ZodObject<{
454
- percent: z.ZodNumber;
454
+ percent: z.ZodNullable<z.ZodNumber>;
455
455
  totalBytes: z.ZodNumber;
456
- usedBytes: z.ZodNumber;
457
- availableBytes: z.ZodNumber;
456
+ usedBytes: z.ZodNullable<z.ZodNumber>;
457
+ availableBytes: z.ZodNullable<z.ZodNumber>;
458
458
  swapUsedBytes: z.ZodNumber;
459
459
  swapTotalBytes: z.ZodNumber;
460
460
  }, z.core.$strip>;
@@ -531,8 +531,8 @@ export declare const metricsProviderCapability: {
531
531
  /** Light-weight cached summary for heartbeats and list views. */
532
532
  readonly getCurrent: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
533
533
  cpuPercent: z.ZodNumber;
534
- memoryPercent: z.ZodNumber;
535
- memoryUsedMB: z.ZodNumber;
534
+ memoryPercent: z.ZodNullable<z.ZodNumber>;
535
+ memoryUsedMB: z.ZodNullable<z.ZodNumber>;
536
536
  memoryTotalMB: z.ZodNumber;
537
537
  diskPercent: z.ZodOptional<z.ZodNumber>;
538
538
  temperature: z.ZodOptional<z.ZodNumber>;
@@ -55,7 +55,7 @@ declare const TopologyNodeSchema: z.ZodObject<{
55
55
  isHub: z.ZodBoolean;
56
56
  isOnline: z.ZodBoolean;
57
57
  cpuPercent: z.ZodNumber;
58
- memoryPercent: z.ZodNumber;
58
+ memoryPercent: z.ZodNullable<z.ZodNumber>;
59
59
  uptime: z.ZodNumber;
60
60
  lastSeen: z.ZodString;
61
61
  localIps: z.ZodReadonly<z.ZodArray<z.ZodString>>;
@@ -189,7 +189,7 @@ export declare const nodesCapability: {
189
189
  isHub: z.ZodBoolean;
190
190
  isOnline: z.ZodBoolean;
191
191
  cpuPercent: z.ZodNumber;
192
- memoryPercent: z.ZodNumber;
192
+ memoryPercent: z.ZodNullable<z.ZodNumber>;
193
193
  uptime: z.ZodNumber;
194
194
  lastSeen: z.ZodString;
195
195
  localIps: z.ZodReadonly<z.ZodArray<z.ZodString>>;
@@ -0,0 +1,138 @@
1
+ import { z } from 'zod';
2
+ import { DeviceType } from '../device/device-type.js';
3
+ import { type InferProvider } from './capability-definition.js';
4
+ /**
5
+ * Pet water-fountain cap. Models the telemetry and the control surface of a
6
+ * circulating drinking fountain: how much water is in the tank, how much the
7
+ * pet drank, whether the pump runs and on what duty cycle.
8
+ *
9
+ * It has no native vendor provider of its own: a fountain reaches CamStack as
10
+ * a container of loose entities (a pump switch, two number boxes, a "filter
11
+ * changed" button), and an operator BUILDS the device from them — a composed
12
+ * device of this type (D659, D967). Every method is therefore a forward to ONE
13
+ * method of ONE source entity, and every reading is a field derived from a
14
+ * source entity; the provider-shaped interface below exists so the composed
15
+ * device and any future native provider answer the same contract.
16
+ *
17
+ * Quantities are stored in the base unit of their kind (D944): volumes in
18
+ * LITRES, durations in SECONDS, the tank level in percent. A source that
19
+ * reports millilitres or minutes is converted in the composition's expression,
20
+ * never here. Every reading may be `null`: a source that is offline or does
21
+ * not report is unknown, never zero.
22
+ *
23
+ * The filter is not a field of this cap: it is an item of the `consumables`
24
+ * cap on the same device (kind `wear`), reset by the same forward mechanism.
25
+ */
26
+ export declare const PetFountainStatusSchema: z.ZodObject<{
27
+ waterLevel: z.ZodNullable<z.ZodNumber>;
28
+ waterVolume: z.ZodNullable<z.ZodNumber>;
29
+ empty: z.ZodNullable<z.ZodBoolean>;
30
+ pumpRunning: z.ZodNullable<z.ZodBoolean>;
31
+ pumpIntervalEnabled: z.ZodNullable<z.ZodBoolean>;
32
+ pumpOnTime: z.ZodNullable<z.ZodNumber>;
33
+ pumpOffTime: z.ZodNullable<z.ZodNumber>;
34
+ lastDrink: z.ZodNullable<z.ZodNumber>;
35
+ currentHourDrink: z.ZodNullable<z.ZodNumber>;
36
+ last24hDrink: z.ZodNullable<z.ZodNumber>;
37
+ todayDrink: z.ZodNullable<z.ZodNumber>;
38
+ error: z.ZodNullable<z.ZodString>;
39
+ lastFetchedAt: z.ZodNumber;
40
+ }, z.core.$strip>;
41
+ export type PetFountainStatus = z.infer<typeof PetFountainStatusSchema>;
42
+ export declare const petFountainCapability: {
43
+ readonly name: 'pet-fountain';
44
+ readonly scope: 'device';
45
+ readonly deviceNative: true;
46
+ readonly mode: 'singleton';
47
+ readonly deviceTypes: readonly [DeviceType.PetFountain];
48
+ readonly methods: {
49
+ /** Start or stop the pump. */
50
+ readonly setPump: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
51
+ deviceId: z.ZodNumber;
52
+ on: z.ZodBoolean;
53
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
54
+ /** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
55
+ readonly setPumpInterval: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
56
+ deviceId: z.ZodNumber;
57
+ on: z.ZodBoolean;
58
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
59
+ /** Set how many minutes the pump runs per cycle. */
60
+ readonly setPumpOnMinutes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
61
+ deviceId: z.ZodNumber;
62
+ minutes: z.ZodNumber;
63
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
64
+ /** Set how many minutes the pump rests per cycle. */
65
+ readonly setPumpOffMinutes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
66
+ deviceId: z.ZodNumber;
67
+ minutes: z.ZodNumber;
68
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
69
+ /** Clear the rolling daily consumption counters on the device. */
70
+ readonly resetDailyConsumption: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
71
+ deviceId: z.ZodNumber;
72
+ }, z.core.$strip>, z.ZodVoid, "mutation">;
73
+ };
74
+ readonly status: {
75
+ readonly schema: z.ZodObject<{
76
+ waterLevel: z.ZodNullable<z.ZodNumber>;
77
+ waterVolume: z.ZodNullable<z.ZodNumber>;
78
+ empty: z.ZodNullable<z.ZodBoolean>;
79
+ pumpRunning: z.ZodNullable<z.ZodBoolean>;
80
+ pumpIntervalEnabled: z.ZodNullable<z.ZodBoolean>;
81
+ pumpOnTime: z.ZodNullable<z.ZodNumber>;
82
+ pumpOffTime: z.ZodNullable<z.ZodNumber>;
83
+ lastDrink: z.ZodNullable<z.ZodNumber>;
84
+ currentHourDrink: z.ZodNullable<z.ZodNumber>;
85
+ last24hDrink: z.ZodNullable<z.ZodNumber>;
86
+ todayDrink: z.ZodNullable<z.ZodNumber>;
87
+ error: z.ZodNullable<z.ZodString>;
88
+ lastFetchedAt: z.ZodNumber;
89
+ }, z.core.$strip>;
90
+ readonly kind: 'push';
91
+ };
92
+ /** Runtime-state slice — mirrored by the kernel; the hero card reads it whole. */
93
+ readonly runtimeState: z.ZodObject<{
94
+ waterLevel: z.ZodNullable<z.ZodNumber>;
95
+ waterVolume: z.ZodNullable<z.ZodNumber>;
96
+ empty: z.ZodNullable<z.ZodBoolean>;
97
+ pumpRunning: z.ZodNullable<z.ZodBoolean>;
98
+ pumpIntervalEnabled: z.ZodNullable<z.ZodBoolean>;
99
+ pumpOnTime: z.ZodNullable<z.ZodNumber>;
100
+ pumpOffTime: z.ZodNullable<z.ZodNumber>;
101
+ lastDrink: z.ZodNullable<z.ZodNumber>;
102
+ currentHourDrink: z.ZodNullable<z.ZodNumber>;
103
+ last24hDrink: z.ZodNullable<z.ZodNumber>;
104
+ todayDrink: z.ZodNullable<z.ZodNumber>;
105
+ error: z.ZodNullable<z.ZodString>;
106
+ lastFetchedAt: z.ZodNumber;
107
+ }, z.core.$strip>;
108
+ /**
109
+ * Runtime-state durability: **session** — live appliance state re-published on connect.
110
+ *
111
+ * See `RuntimeStateDurability`. Enforced by
112
+ * `scripts/check-runtime-state-durability.ts`.
113
+ */
114
+ readonly durability: 'session';
115
+ /** History (D850): recorded series. */
116
+ readonly history: {
117
+ readonly fields: {
118
+ readonly waterLevel: {
119
+ readonly kind: 'gauge';
120
+ readonly unit: '%';
121
+ readonly deadband: 1;
122
+ };
123
+ readonly waterVolume: {
124
+ readonly kind: 'gauge';
125
+ readonly unit: 'L';
126
+ };
127
+ readonly todayDrink: {
128
+ readonly kind: 'gauge';
129
+ readonly unit: 'L';
130
+ };
131
+ readonly last24hDrink: {
132
+ readonly kind: 'gauge';
133
+ readonly unit: 'L';
134
+ };
135
+ };
136
+ };
137
+ };
138
+ export type IPetFountainProvider = InferProvider<typeof petFountainCapability>;
@@ -1,7 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import type { ConfigField, ConfigUISchema } from '../interfaces/config-ui.js';
3
3
  import type { InferenceCapabilities, ModelAvailability } from '../interfaces/inference-capabilities.js';
4
- import type { AudioResult, FrameResult } from '../types/detection.js';
4
+ import type { AudioResult } from '../types/detection.js';
5
+ import { PipelineRunResultBridge, PipelineStepInputSchema, type PipelineStepInputOutput } from './pipeline-step-input.js';
6
+ export { PipelineRunResultBridge, PipelineStepInputSchema };
7
+ export type { PipelineStepInputOutput };
5
8
  import { type InferProvider } from './capability-definition.js';
6
9
  /**
7
10
  * A root model's boxes standing in for one crop-kind step's own inference
@@ -615,24 +618,6 @@ declare const EngineProvisioningSchema: z.ZodObject<{
615
618
  configIssues: z.ZodOptional<z.ZodArray<z.ZodString>>;
616
619
  }, z.core.$strip>;
617
620
  export type EngineProvisioning = z.infer<typeof EngineProvisioningSchema>;
618
- export type PipelineStepInputOutput = {
619
- readonly addonId: string;
620
- readonly modelId?: string;
621
- readonly enabled: boolean;
622
- readonly children?: readonly PipelineStepInputOutput[];
623
- readonly settings?: Readonly<Record<string, unknown>>;
624
- /**
625
- * Step-tree device jump (same-node, phase 1). Operator manual override
626
- * carried from the per-(node,device) BASE
627
- * (`inferenceDevices[node][deviceKey].steps[step].jumpDeviceKey`): run THIS
628
- * enrichment step (and its inherited children) on a DIFFERENT enabled device
629
- * of the SAME node — `<backend>:<device>` (e.g. `openvino:npu`). Absent ⇒ the
630
- * runner AUTO-jumps only when the effective device's format cannot run the
631
- * step's model, else the step inherits the effective device. Same-node only.
632
- */
633
- readonly jumpDeviceKey?: string;
634
- };
635
- export declare const PipelineStepInputSchema: z.ZodType<PipelineStepInputOutput>;
636
621
  declare const ModelSubstitutionSchema: z.ZodObject<{
637
622
  addonId: z.ZodString;
638
623
  chosen: z.ZodString;
@@ -669,7 +654,6 @@ declare const PipelineValidationResultSchema: z.ZodObject<{
669
654
  }, z.core.$strip>;
670
655
  export type PipelineValidationResult = z.infer<typeof PipelineValidationResultSchema>;
671
656
  export type PipelineValidationIssue = z.infer<typeof PipelineValidationIssueSchema>;
672
- export declare const PipelineRunResultBridge: z.ZodCustom<FrameResult, FrameResult>;
673
657
  /**
674
658
  * Pipeline executor — detection engine + configuration + inference API.
675
659
  *
@@ -1150,7 +1134,7 @@ export declare const pipelineExecutorCapability: {
1150
1134
  }, z.core.$strip>>>;
1151
1135
  }, z.core.$strip>>;
1152
1136
  }, z.core.$strip>>;
1153
- }, z.core.$strip>, z.ZodCustom<FrameResult, FrameResult>, "mutation">;
1137
+ }, z.core.$strip>, z.ZodCustom<import("../index.js").FrameResult, import("../index.js").FrameResult>, "mutation">;
1154
1138
  /**
1155
1139
  * Batched run — N raw frames packed into one cap call. The provider
1156
1140
  * routes the batch through `SharedInferencePool.inferBatch`
@@ -1182,7 +1166,7 @@ export declare const pipelineExecutorCapability: {
1182
1166
  frameId: z.ZodOptional<z.ZodNumber>;
1183
1167
  deviceKey: z.ZodOptional<z.ZodString>;
1184
1168
  }, z.core.$strip>, z.ZodObject<{
1185
- results: z.ZodReadonly<z.ZodArray<z.ZodCustom<FrameResult, FrameResult>>>;
1169
+ results: z.ZodReadonly<z.ZodArray<z.ZodCustom<import("../index.js").FrameResult, import("../index.js").FrameResult>>>;
1186
1170
  }, z.core.$strip>, "mutation">;
1187
1171
  /**
1188
1172
  * Cache a raw frame inside the Python inference pool's memory.
@@ -15,7 +15,7 @@ declare const CameraPipelineConfigSchema: z.ZodObject<{
15
15
  }>;
16
16
  device: z.ZodOptional<z.ZodString>;
17
17
  }, z.core.$strip>>;
18
- steps: z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>;
18
+ steps: z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown>>>>;
19
19
  audio: z.ZodOptional<z.ZodNullable<z.ZodObject<{
20
20
  engine: z.ZodOptional<z.ZodObject<{
21
21
  runtime: z.ZodLiteral<"python">;
@@ -2394,7 +2394,7 @@ export declare const pipelineOrchestratorCapability: {
2394
2394
  }>;
2395
2395
  device: z.ZodOptional<z.ZodString>;
2396
2396
  }, z.core.$strip>>;
2397
- steps: z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>;
2397
+ steps: z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown>>>>;
2398
2398
  audio: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2399
2399
  engine: z.ZodOptional<z.ZodObject<{
2400
2400
  runtime: z.ZodLiteral<"python">;
@@ -416,7 +416,7 @@ declare const RunnerCameraConfigSchema: z.ZodObject<{
416
416
  pipeline: "pipeline";
417
417
  }>>>>;
418
418
  pipelineEnabled: z.ZodDefault<z.ZodBoolean>;
419
- steps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>>;
419
+ steps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown>>>>>;
420
420
  audio: z.ZodOptional<z.ZodNullable<z.ZodObject<{
421
421
  modelId: z.ZodOptional<z.ZodString>;
422
422
  enabled: z.ZodBoolean;
@@ -718,7 +718,7 @@ export declare const pipelineRunnerCapability: {
718
718
  pipeline: "pipeline";
719
719
  }>>>>;
720
720
  pipelineEnabled: z.ZodDefault<z.ZodBoolean>;
721
- steps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-executor.cap.js").PipelineStepInputOutput, unknown>>>>>;
721
+ steps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown, z.core.$ZodTypeInternals<import("./pipeline-step-input.js").PipelineStepInputOutput, unknown>>>>>;
722
722
  audio: z.ZodOptional<z.ZodNullable<z.ZodObject<{
723
723
  modelId: z.ZodOptional<z.ZodString>;
724
724
  enabled: z.ZodBoolean;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The pipeline step-input shape and the run-result bridge, in a module that
3
+ * imports nothing but zod and types.
4
+ *
5
+ * WHY A SEPARATE FILE (addon footprint, D28): both were declared in
6
+ * `pipeline-executor.cap.ts`, whose import evaluates the whole executor schema
7
+ * graph. An addon that only needs these two (the benchmark's `runPipelineTest`
8
+ * action) paid ~130 MB of heap at load. `pipeline-executor.cap.ts` re-exports
9
+ * them, so every existing import keeps working; addon server code takes them
10
+ * from `@camstack/types/addon`.
11
+ */
12
+ import { z } from 'zod';
13
+ import type { FrameResult } from '../types/detection.js';
14
+ export type PipelineStepInputOutput = {
15
+ readonly addonId: string;
16
+ readonly modelId?: string;
17
+ readonly enabled: boolean;
18
+ readonly children?: readonly PipelineStepInputOutput[];
19
+ readonly settings?: Readonly<Record<string, unknown>>;
20
+ /**
21
+ * Step-tree device jump (same-node, phase 1). Operator manual override
22
+ * carried from the per-(node,device) BASE
23
+ * (`inferenceDevices[node][deviceKey].steps[step].jumpDeviceKey`): run THIS
24
+ * enrichment step (and its inherited children) on a DIFFERENT enabled device
25
+ * of the SAME node — `<backend>:<device>` (e.g. `openvino:npu`). Absent ⇒ the
26
+ * runner AUTO-jumps only when the effective device's format cannot run the
27
+ * step's model, else the step inherits the effective device. Same-node only.
28
+ */
29
+ readonly jumpDeviceKey?: string;
30
+ };
31
+ export declare const PipelineStepInputSchema: z.ZodType<PipelineStepInputOutput>;
32
+ /** Typed bridge to the recursive `FrameResult` graph; validation is structural. */
33
+ export declare const PipelineRunResultBridge: z.ZodCustom<FrameResult, FrameResult>;
@@ -379,6 +379,13 @@ declare const ServerUpdateActionResultSchema: z.ZodObject<{
379
379
  remedy: z.ZodString;
380
380
  }, z.core.$strip>>>;
381
381
  }, z.core.$strip>;
382
+ declare const LaunchOverridesSchema: z.ZodObject<{
383
+ heapMb: z.ZodNullable<z.ZodNumber>;
384
+ }, z.core.$strip>;
385
+ declare const SetLaunchOverridesResultSchema: z.ZodObject<{
386
+ heapMb: z.ZodNullable<z.ZodNumber>;
387
+ restartRequired: z.ZodBoolean;
388
+ }, z.core.$strip>;
382
389
  export declare const serverManagementCapability: {
383
390
  readonly name: 'server-management';
384
391
  readonly scope: 'system';
@@ -551,6 +558,25 @@ export declare const serverManagementCapability: {
551
558
  remedy: z.ZodString;
552
559
  }, z.core.$strip>>>;
553
560
  }, z.core.$strip>, "mutation">;
561
+ /**
562
+ * The node's persisted launch override (ADR 0970): the heap ceiling the node's
563
+ * `node` process is started with, or `null` when none is set (the closure's
564
+ * computed default applies). Read from the node's own data dir.
565
+ */
566
+ readonly getLaunchOverrides: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
567
+ heapMb: z.ZodNullable<z.ZodNumber>;
568
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
569
+ /**
570
+ * Set (`heapMb`) or clear (`null`) the node's heap-ceiling override. It is
571
+ * written on the node itself and applies at the NEXT launch — restart the
572
+ * node (`restartServer`) for it to take effect.
573
+ */
574
+ readonly setLaunchOverrides: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
575
+ heapMb: z.ZodNullable<z.ZodNumber>;
576
+ }, z.core.$strip>, z.ZodObject<{
577
+ heapMb: z.ZodNullable<z.ZodNumber>;
578
+ restartRequired: z.ZodBoolean;
579
+ }, z.core.$strip>, "mutation">;
554
580
  };
555
581
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
556
582
  readonly mount: {
@@ -570,6 +596,8 @@ export type ServerPackageStatus = z.infer<typeof ServerPackageStatusSchema>;
570
596
  export type ServerUpdateCheckResult = z.infer<typeof ServerUpdateCheckResultSchema>;
571
597
  export type ServerUpdateOutcome = z.infer<typeof ServerUpdateOutcomeSchema>;
572
598
  export type ServerUpdateActionResult = z.infer<typeof ServerUpdateActionResultSchema>;
599
+ export type LaunchOverrides = z.infer<typeof LaunchOverridesSchema>;
600
+ export type SetLaunchOverridesResult = z.infer<typeof SetLaunchOverridesResultSchema>;
573
601
  export type RunnerBootCheck = z.infer<typeof RunnerBootCheckSchema>;
574
602
  export type RunnerRefusal = z.infer<typeof RunnerRefusalSchema>;
575
603
  export type UpdateBlocker = z.infer<typeof UpdateBlockerSchema>;