@camstack/types 1.2.451 → 1.2.453

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 (47) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/addon/base-addon.d.ts +27 -0
  3. package/dist/addon.js +8 -3
  4. package/dist/addon.mjs +8 -3
  5. package/dist/automation/condition-eval.d.ts +20 -5
  6. package/dist/automation/detection-subject.d.ts +154 -0
  7. package/dist/automation/detection-trigger.d.ts +16 -6
  8. package/dist/automation/index.d.ts +10 -4
  9. package/dist/automation/legacy-recipe.d.ts +130 -0
  10. package/dist/automation/normalize-units.d.ts +4 -3
  11. package/dist/automation/recipe.d.ts +286 -142
  12. package/dist/automation/stationary-trigger.d.ts +4 -4
  13. package/dist/automation/step-runner.d.ts +3 -1
  14. package/dist/automation/trace.d.ts +51 -6
  15. package/dist/automation/when.d.ts +295 -0
  16. package/dist/capabilities/actions.cap.d.ts +10 -0
  17. package/dist/capabilities/addon-settings.cap.d.ts +18 -0
  18. package/dist/capabilities/core-blocks.cap.d.ts +2546 -51
  19. package/dist/capabilities/device-discovery.cap.d.ts +2 -0
  20. package/dist/capabilities/device-manager.cap.d.ts +16 -1
  21. package/dist/capabilities/device-provider.cap.d.ts +165 -0
  22. package/dist/capabilities/index.d.ts +3 -3
  23. package/dist/capabilities/integrations.cap.d.ts +1 -0
  24. package/dist/capabilities/keychain.cap.d.ts +12 -0
  25. package/dist/capabilities/local-network.cap.d.ts +198 -0
  26. package/dist/capabilities/storage-admin.cap.d.ts +155 -0
  27. package/dist/capabilities/terminal-session.cap.d.ts +7 -0
  28. package/dist/client.js +8 -1
  29. package/dist/client.mjs +8 -1
  30. package/dist/device/base-device-provider.d.ts +17 -0
  31. package/dist/generated/addon-api.d.ts +84 -0
  32. package/dist/generated/collection-array-methods.d.ts +1 -1
  33. package/dist/generated/method-access-map.d.ts +1 -1
  34. package/dist/generated/system-proxy.d.ts +3 -3
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +1969 -706
  37. package/dist/index.mjs +1934 -703
  38. package/dist/interfaces/addon.d.ts +16 -0
  39. package/dist/interfaces/config-ui-secrets.d.ts +5 -3
  40. package/dist/interfaces/config-ui.d.ts +34 -1
  41. package/dist/{sleep-BSPhInRm.js → sleep-CewR0zRz.js} +125 -6
  42. package/dist/{sleep-63gM_1JR.mjs → sleep-CeyhrcOk.mjs} +125 -6
  43. package/dist/vendor-login-proxy/cookie-jar.d.ts +30 -0
  44. package/dist/vendor-login-proxy/index.d.ts +1 -0
  45. package/dist/vendor-login-proxy/login-proxy.d.ts +6 -0
  46. package/dist/vendor-login-proxy/url-rewrite.d.ts +9 -2
  47. package/package.json +1 -1
@@ -65,6 +65,8 @@ export type DiscoveredChildDevice = {
65
65
  features?: readonly string[];
66
66
  sourceInfo?: SourceInfo;
67
67
  children?: readonly DiscoveredChildDevice[];
68
+ /** `childNativeId` of the gateway candidate (in the same list) this device sits behind. */
69
+ parentStableId?: string;
68
70
  };
69
71
  export declare const DiscoveredChildDeviceSchema: z.ZodType<DiscoveredChildDevice>;
70
72
  /**
@@ -1763,6 +1763,9 @@ export declare const deviceManagerCapability: {
1763
1763
  alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
1764
1764
  onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
1765
1765
  onboardedName: z.ZodOptional<z.ZodString>;
1766
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
1767
+ parentStableId: z.ZodOptional<z.ZodString>;
1768
+ selectable: z.ZodOptional<z.ZodBoolean>;
1766
1769
  }, z.core.$strip>>, "mutation">;
1767
1770
  /** Adopt a discovered device via the device-provider capability. */
1768
1771
  readonly adoptDevice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
@@ -1787,6 +1790,9 @@ export declare const deviceManagerCapability: {
1787
1790
  alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
1788
1791
  onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
1789
1792
  onboardedName: z.ZodOptional<z.ZodString>;
1793
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
1794
+ parentStableId: z.ZodOptional<z.ZodString>;
1795
+ selectable: z.ZodOptional<z.ZodBoolean>;
1790
1796
  }, z.core.$strip>;
1791
1797
  integrationId: z.ZodOptional<z.ZodString>;
1792
1798
  }, z.core.$strip>, z.ZodObject<{
@@ -2026,7 +2032,9 @@ export declare const deviceManagerCapability: {
2026
2032
  }, z.core.$strip>>>;
2027
2033
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
2028
2034
  /** Scan EVERY discovery-capable provider; returns candidates grouped by addon. */
2029
- readonly discoverAllProviders: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
2035
+ readonly discoverAllProviders: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2036
+ subnets: z.ZodOptional<z.ZodArray<z.ZodString>>;
2037
+ }, z.core.$strip>, z.ZodObject<{
2030
2038
  groups: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2031
2039
  addonId: z.ZodString;
2032
2040
  label: z.ZodString;
@@ -2050,6 +2058,9 @@ export declare const deviceManagerCapability: {
2050
2058
  alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
2051
2059
  onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
2052
2060
  onboardedName: z.ZodOptional<z.ZodString>;
2061
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
2062
+ parentStableId: z.ZodOptional<z.ZodString>;
2063
+ selectable: z.ZodOptional<z.ZodBoolean>;
2053
2064
  }, z.core.$strip>>>;
2054
2065
  error: z.ZodNullable<z.ZodString>;
2055
2066
  }, z.core.$strip>>>;
@@ -2059,6 +2070,7 @@ export declare const deviceManagerCapability: {
2059
2070
  readonly discoverProvider: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2060
2071
  addonId: z.ZodString;
2061
2072
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2073
+ subnets: z.ZodOptional<z.ZodArray<z.ZodString>>;
2062
2074
  }, z.core.$strip>, z.ZodObject<{
2063
2075
  candidates: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2064
2076
  stableId: z.ZodString;
@@ -2080,6 +2092,9 @@ export declare const deviceManagerCapability: {
2080
2092
  alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
2081
2093
  onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
2082
2094
  onboardedName: z.ZodOptional<z.ZodString>;
2095
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
2096
+ parentStableId: z.ZodOptional<z.ZodString>;
2097
+ selectable: z.ZodOptional<z.ZodBoolean>;
2083
2098
  }, z.core.$strip>>>;
2084
2099
  }, z.core.$strip>, "mutation">;
2085
2100
  /** The device type a provider creates via manual add (Camera/Container/Hub),
@@ -13,6 +13,71 @@ declare const DiscoveredDeviceSchema: z.ZodObject<{
13
13
  type: z.ZodString;
14
14
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
15
15
  }, z.core.$strip>;
16
+ /**
17
+ * HOW a provider can be found on the network. The provider only DECLARES the
18
+ * mode; the `local-network` scan engine runs it once for every provider that
19
+ * asked (one multicast browse, one host sweep) and hands the raw hits back to
20
+ * `classifyDiscoveryHits`. A provider never opens a discovery socket itself,
21
+ * except through a `custom` mode.
22
+ */
23
+ export declare const DiscoveryModeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
24
+ kind: z.ZodLiteral<"mdns">;
25
+ serviceType: z.ZodString;
26
+ instancePattern: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>, z.ZodObject<{
28
+ kind: z.ZodLiteral<"ws-discovery">;
29
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
+ }, z.core.$strip>, z.ZodObject<{
31
+ kind: z.ZodLiteral<"ssdp">;
32
+ searchTarget: z.ZodString;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ kind: z.ZodLiteral<"udp-broadcast">;
35
+ port: z.ZodNumber;
36
+ payloadHex: z.ZodString;
37
+ listenPort: z.ZodOptional<z.ZodNumber>;
38
+ }, z.core.$strip>, z.ZodObject<{
39
+ kind: z.ZodLiteral<"http-probe">;
40
+ port: z.ZodNumber;
41
+ path: z.ZodString;
42
+ method: z.ZodDefault<z.ZodEnum<{
43
+ GET: "GET";
44
+ POST: "POST";
45
+ }>>;
46
+ bodyText: z.ZodOptional<z.ZodString>;
47
+ contentType: z.ZodOptional<z.ZodString>;
48
+ tls: z.ZodDefault<z.ZodBoolean>;
49
+ acceptStatus: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
50
+ }, z.core.$strip>, z.ZodObject<{
51
+ kind: z.ZodLiteral<"custom">;
52
+ reason: z.ZodString;
53
+ }, z.core.$strip>], "kind">;
54
+ export type DiscoveryMode = z.infer<typeof DiscoveryModeSchema>;
55
+ /** What the engine saw on the wire for ONE declared mode; the provider classifies it. */
56
+ export declare const DiscoveryHitSchema: z.ZodObject<{
57
+ modeIndex: z.ZodNumber;
58
+ host: z.ZodString;
59
+ port: z.ZodNumber;
60
+ http: z.ZodOptional<z.ZodObject<{
61
+ status: z.ZodNumber;
62
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
63
+ bodyText: z.ZodString;
64
+ }, z.core.$strip>>;
65
+ mdns: z.ZodOptional<z.ZodObject<{
66
+ instance: z.ZodString;
67
+ host: z.ZodString;
68
+ port: z.ZodNumber;
69
+ txt: z.ZodRecord<z.ZodString, z.ZodString>;
70
+ }, z.core.$strip>>;
71
+ udp: z.ZodOptional<z.ZodObject<{
72
+ payloadHex: z.ZodString;
73
+ }, z.core.$strip>>;
74
+ wsd: z.ZodOptional<z.ZodObject<{
75
+ xaddrs: z.ZodArray<z.ZodString>;
76
+ types: z.ZodArray<z.ZodString>;
77
+ scopes: z.ZodArray<z.ZodString>;
78
+ }, z.core.$strip>>;
79
+ }, z.core.$strip>;
80
+ export type DiscoveryHit = z.infer<typeof DiscoveryHitSchema>;
16
81
  /**
17
82
  * Candidate handed back from discovery and accepted by
18
83
  * `adoptDiscoveredDevice`. Shape mirrors the in-process
@@ -38,6 +103,9 @@ declare const DiscoveryCandidateSchema: z.ZodObject<{
38
103
  alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
39
104
  onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
40
105
  onboardedName: z.ZodOptional<z.ZodString>;
106
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
107
+ parentStableId: z.ZodOptional<z.ZodString>;
108
+ selectable: z.ZodOptional<z.ZodBoolean>;
41
109
  }, z.core.$strip>;
42
110
  /**
43
111
  * Flat device summary returned by `createDevice` / `adoptDiscoveredDevice`.
@@ -158,6 +226,100 @@ export declare const deviceProviderCapability: {
158
226
  alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
159
227
  onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
160
228
  onboardedName: z.ZodOptional<z.ZodString>;
229
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
230
+ parentStableId: z.ZodOptional<z.ZodString>;
231
+ selectable: z.ZodOptional<z.ZodBoolean>;
232
+ }, z.core.$strip>>, "mutation">;
233
+ /**
234
+ * How this provider is found on the network. `[]` = the provider has no
235
+ * declarative mode and keeps answering `discoverDevices` itself.
236
+ */
237
+ readonly getDiscoveryModes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
238
+ kind: z.ZodLiteral<"mdns">;
239
+ serviceType: z.ZodString;
240
+ instancePattern: z.ZodOptional<z.ZodString>;
241
+ }, z.core.$strip>, z.ZodObject<{
242
+ kind: z.ZodLiteral<"ws-discovery">;
243
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
244
+ }, z.core.$strip>, z.ZodObject<{
245
+ kind: z.ZodLiteral<"ssdp">;
246
+ searchTarget: z.ZodString;
247
+ }, z.core.$strip>, z.ZodObject<{
248
+ kind: z.ZodLiteral<"udp-broadcast">;
249
+ port: z.ZodNumber;
250
+ payloadHex: z.ZodString;
251
+ listenPort: z.ZodOptional<z.ZodNumber>;
252
+ }, z.core.$strip>, z.ZodObject<{
253
+ kind: z.ZodLiteral<"http-probe">;
254
+ port: z.ZodNumber;
255
+ path: z.ZodString;
256
+ method: z.ZodDefault<z.ZodEnum<{
257
+ GET: "GET";
258
+ POST: "POST";
259
+ }>>;
260
+ bodyText: z.ZodOptional<z.ZodString>;
261
+ contentType: z.ZodOptional<z.ZodString>;
262
+ tls: z.ZodDefault<z.ZodBoolean>;
263
+ acceptStatus: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
264
+ }, z.core.$strip>, z.ZodObject<{
265
+ kind: z.ZodLiteral<"custom">;
266
+ reason: z.ZodString;
267
+ }, z.core.$strip>], "kind">>, import("./capability-definition.js").CapabilityMethodKind>;
268
+ /**
269
+ * Turn the engine's raw hits into candidates. The provider may make
270
+ * follow-up UNICAST requests to a hit host (an authenticated call, an
271
+ * identity check) and never sweeps a subnet. `params` is the per-scan form
272
+ * from `getDiscoveryParamsSchema`.
273
+ */
274
+ readonly classifyDiscoveryHits: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
275
+ hits: z.ZodArray<z.ZodObject<{
276
+ modeIndex: z.ZodNumber;
277
+ host: z.ZodString;
278
+ port: z.ZodNumber;
279
+ http: z.ZodOptional<z.ZodObject<{
280
+ status: z.ZodNumber;
281
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
282
+ bodyText: z.ZodString;
283
+ }, z.core.$strip>>;
284
+ mdns: z.ZodOptional<z.ZodObject<{
285
+ instance: z.ZodString;
286
+ host: z.ZodString;
287
+ port: z.ZodNumber;
288
+ txt: z.ZodRecord<z.ZodString, z.ZodString>;
289
+ }, z.core.$strip>>;
290
+ udp: z.ZodOptional<z.ZodObject<{
291
+ payloadHex: z.ZodString;
292
+ }, z.core.$strip>>;
293
+ wsd: z.ZodOptional<z.ZodObject<{
294
+ xaddrs: z.ZodArray<z.ZodString>;
295
+ types: z.ZodArray<z.ZodString>;
296
+ scopes: z.ZodArray<z.ZodString>;
297
+ }, z.core.$strip>>;
298
+ }, z.core.$strip>>;
299
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
300
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
301
+ stableId: z.ZodString;
302
+ type: z.ZodEnum<typeof DeviceType>;
303
+ suggestedName: z.ZodString;
304
+ prefilledConfig: z.ZodRecord<z.ZodString, z.ZodUnknown>;
305
+ sourceInfo: z.ZodOptional<z.ZodObject<{
306
+ id: z.ZodString;
307
+ system: z.ZodString;
308
+ uniqueId: z.ZodOptional<z.ZodString>;
309
+ quantity: z.ZodOptional<z.ZodType<"angle" | "apparent-power" | "area" | "bitrate" | "colour-temperature" | "concentration-mass" | "concentration-ppb" | "concentration-volume" | "count" | "current" | "device" | "duration" | "duration-ms" | "energy" | "humidity" | "illuminance" | "index" | "information" | "irradiance" | "length" | "mass" | "none" | "percentage" | "power" | "precipitation" | "precipitation-rate" | "pressure" | "rate" | "ratio" | "signal-level" | "sound-level" | "speed" | "temperature" | "voltage" | "volume", unknown, z.core.$ZodTypeInternals<"angle" | "apparent-power" | "area" | "bitrate" | "colour-temperature" | "concentration-mass" | "concentration-ppb" | "concentration-volume" | "count" | "current" | "device" | "duration" | "duration-ms" | "energy" | "humidity" | "illuminance" | "index" | "information" | "irradiance" | "length" | "mass" | "none" | "percentage" | "power" | "precipitation" | "precipitation-rate" | "pressure" | "rate" | "ratio" | "signal-level" | "sound-level" | "speed" | "temperature" | "voltage" | "volume", unknown>>>;
310
+ dateTimeShape: z.ZodOptional<z.ZodEnum<{
311
+ date: "date";
312
+ datetime: "datetime";
313
+ time: "time";
314
+ }>>;
315
+ raw: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
316
+ }, z.core.$strip>>;
317
+ alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
318
+ onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
319
+ onboardedName: z.ZodOptional<z.ZodString>;
320
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
321
+ parentStableId: z.ZodOptional<z.ZodString>;
322
+ selectable: z.ZodOptional<z.ZodBoolean>;
161
323
  }, z.core.$strip>>, "mutation">;
162
324
  /**
163
325
  * Optional form schema (`ConfigUISchema`) for the EXTRA per-scan inputs a
@@ -196,6 +358,9 @@ export declare const deviceProviderCapability: {
196
358
  alreadyOnboarded: z.ZodOptional<z.ZodBoolean>;
197
359
  onboardedDeviceId: z.ZodOptional<z.ZodNumber>;
198
360
  onboardedName: z.ZodOptional<z.ZodString>;
361
+ setupIntegration: z.ZodOptional<z.ZodBoolean>;
362
+ parentStableId: z.ZodOptional<z.ZodString>;
363
+ selectable: z.ZodOptional<z.ZodBoolean>;
199
364
  }, z.core.$strip>;
200
365
  }, z.core.$strip>, z.ZodObject<{
201
366
  id: z.ZodNumber;
@@ -46,7 +46,7 @@ export { CustomModelDescriptorSchema, customModelRegistryCapability, ImportModel
46
46
  export { type DataStoreEngineInfo, dataStoreProviderCapability, EngineInfoSchema as DataStoreEngineInfoSchema, type IDataStoreProvider, } from './data-store-provider.cap.js';
47
47
  export { type ArchiveSqliteSnapshot, ArchiveSqliteSnapshotSchema, DATABASE_SNAPSHOT_PARTIAL_SUFFIX, DATABASE_SNAPSHOT_SUFFIX, DATABASE_SNAPSHOT_TIMEOUT_MS, type DatabaseSnapshotRequest, DatabaseSnapshotRequestSchema, type DatabaseSnapshotResult, DatabaseSnapshotResultSchema, type DatabaseSnapshotTable, DatabaseSnapshotTableSchema, type DatabaseSnapshotTargets, DatabaseSnapshotTargetsSchema, type DatabaseSnapshotWritten, DatabaseSnapshotWrittenSchema, databaseSnapshotCapability, type IDatabaseSnapshotProvider, } from './database-snapshot.cap.js';
48
48
  export { CALLER_STAMPED_CAPABILITIES, withoutCallerStamp } from './caller-stamp.js';
49
- export { type IStorageAdminProvider, type StorageKind, StorageKindSchema, type StorageTable, StorageTableSchema, storageAdminCapability, } from './storage-admin.cap.js';
49
+ export { type IStorageAdminProvider, type StaleDataReport, StaleDataReportSchema, type StaleKindFinding, StaleKindFindingSchema, type StaleSettingsKeyFinding, StaleSettingsKeyFindingSchema, type StorageKind, StorageKindSchema, type StorageTable, StorageTableSchema, storageAdminCapability, } from './storage-admin.cap.js';
50
50
  export { type DeclareKindResult, DeclareKindResultSchema, type IRecordsProvider, type RecordInput, RecordInputSchema, type RecordQueryInput, RecordQueryInputSchema, type RecordQueryResult, RecordQueryResultSchema, type RecordView, RecordViewSchema, type RecordWhere, RecordWhereSchema, type RecordWhereValue, RecordIdSchema, RecordBodySchema, RecordSecretRefsSchema, type RecordTransactOp, RecordTransactOpSchema, recordsCapability, } from './records.cap.js';
51
51
  export { type EntryKindInfo, EntryKindInfoSchema, type EntryView, EntryViewSchema, type IRecordEntriesProvider, recordEntriesCapability, } from './record-entries.cap.js';
52
52
  export { type IKeychainProvider, KEYCHAIN_MAX_REFS_PER_CALL, type KeychainResolveEntry, KeychainResolveEntrySchema, type KeychainResolveResult, KeychainResolveResultSchema, type KeychainSecretMeta, KeychainSecretMetaSchema, type KeychainState, KeychainStateSchema, type KeychainUnavailableReason, KeychainUnavailableReasonSchema, keychainCapability, } from './keychain.cap.js';
@@ -66,7 +66,7 @@ export type { ExtensionCandidate, ExtensionCandidates, ExtensionSetResult, Exten
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';
68
68
  export { CleanupDeletedDevicesResultSchema, ConfigEntrySchema, DEVICE_CHILDREN_BATCH_MAX, DEVICE_TOMBSTONE_RETENTION_MS, DeviceInfoSchema, DeviceTombstoneSchema, OrphanDeviceDataSchema, deviceManagerCapability, type IDeviceManagerProvider, LINKED_DEVICES_SLOT, type LinkedDevice, LinkedDeviceSchema, type LinkedDevicesMode, LinkedDevicesModeSchema, type LinkedDevicesSlotValue, LinkedDevicesSlotValueSchema, type MigrateDeviceResult, MigrateDeviceResultSchema, type MigrateSwitchOutcome, MigrateSwitchOutcomeSchema, type MigrateSwitchReport, MigrateSwitchReportSchema, type WrapperActivationRead, WrapperActivationReadSchema, } from './device-manager.cap.js';
69
- export { DiscoveredDeviceSchema, deviceProviderCapability, ProviderStatusSchema, } from './device-provider.cap.js';
69
+ export { DiscoveredDeviceSchema, type DiscoveryHit, DiscoveryHitSchema, type DiscoveryMode, DiscoveryModeSchema, deviceProviderCapability, ProviderStatusSchema, } from './device-provider.cap.js';
70
70
  export { type ClaimOutcome, ClaimOutcomeSchema, type ClaimsListing, ClaimsListingSchema, deviceStateCapability, type FieldClaim, type FieldClaimMode, FieldClaimModeSchema, FieldClaimSchema, } from './device-state.cap.js';
71
71
  export type { EmbeddingFailedModel, EmbeddingFailedRequirement, EmbeddingModelFailure, EmbeddingRefusal, EmbeddingRefusalCode, EmbeddingTower, IEmbeddingEncoderProvider, } from './embedding-encoder.cap.js';
72
72
  export { EMBEDDING_MODEL_FAILED, EMBEDDING_REQUIREMENTS_FAILED, EMBEDDING_REQUIREMENTS_UNAVAILABLE, EmbeddingFailedModelSchema, EmbeddingFailedRequirementSchema, EmbeddingInfoSchema, EmbeddingRefusalCodeSchema, EmbeddingResultSchema, EmbeddingTowerSchema, embeddingEncoderCapability, embeddingModelFailedError, embeddingModelFailedOf, embeddingRefusalOf, embeddingRequirementsFailedError, embeddingRequirementsUnavailableError, isEmbeddingModelFailed, } from './embedding-encoder.cap.js';
@@ -204,7 +204,7 @@ export { type BacklightMode, BacklightModeSchema, type ExposureMode, ExposureMod
204
204
  export { AvailableIntegrationTypeSchema, CreateIntegrationInputSchema, DeleteIntegrationResultSchema, type IIntegrationsProvider, IntegrationLiteSchema, type IntegrationTestConnectionResult, type IntegrationTestConnectionStatus, IntegrationWithStateSchema, integrationsCapability, TestConnectionResultSchema, TestConnectionStatusEnum, UpdateIntegrationInputSchema, } from './integrations.cap.js';
205
205
  export { type IIntercomProvider, type IntercomAbility, IntercomAbilitySchema, type IntercomStatus, IntercomStatusSchema, intercomCapability, } from './intercom.cap.js';
206
206
  export { type DeviceCodeSeverity, DeviceCodeSeveritySchema, type ILawnMowerControlProvider, type LawnMowerActivity, LawnMowerActivitySchema, type LawnMowerControlStatus, LawnMowerControlStatusSchema, lawnMowerControlCapability, } from './lawn-mower-control.cap.js';
207
- export { type AdvertisedLocalPort, type ConnectionEndpoint, type HubAddressBook, type HubAddresses, HubAddressRoleSchema, type HubAddressRow, type HubAddressSnapshot, type ILocalNetworkProvider, type LocalInterface, localNetworkCapability, type NotificationEndpoint, } from './local-network.cap.js';
207
+ export { type AdvertisedLocalPort, type ConnectionEndpoint, type HubAddressBook, type HubAddresses, HubAddressRoleSchema, type HubAddressRow, type HubAddressSnapshot, type ILocalNetworkProvider, type LocalInterface, localNetworkCapability, type NotificationEndpoint, type ScanNetworkResult, type ScanRequest, type ScanStats, } from './local-network.cap.js';
208
208
  export { type ILockControlProvider, type LockControlStatus, LockControlStatusSchema, type LockState, LockStateSchema, lockControlCapability, } from './lock-control.cap.js';
209
209
  export { type MaskGridDims, MaskGridDimsSchema, type MaskGridShape, MaskGridShapeSchema, type MaskLineShape, MaskLineShapeSchema, type MaskPoint, MaskPointSchema, type MaskPolygonShape, MaskPolygonShapeSchema, type MaskPolygonVertices, MaskPolygonVerticesSchema, type MaskRectShape, MaskRectShapeSchema, type MaskShape, type MaskShapeKind, MaskShapeKindSchema, MaskShapeSchema, } from './mask-shape.js';
210
210
  export { type MeterStatus, MeterStatusSchema, meterCapability, type IMeterProvider, } from './meter.cap.js';
@@ -200,6 +200,7 @@ export declare const integrationsCapability: {
200
200
  id: z.ZodString;
201
201
  settings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
202
202
  secretKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
203
+ skipRestart: z.ZodOptional<z.ZodBoolean>;
203
204
  }, z.core.$strip>, z.ZodObject<{
204
205
  success: z.ZodBoolean;
205
206
  }, z.core.$strip>, "mutation">;
@@ -160,6 +160,18 @@ export declare const keychainCapability: {
160
160
  }, z.core.$strip>, z.ZodObject<{
161
161
  refs: z.ZodReadonly<z.ZodArray<z.ZodString>>;
162
162
  }, z.core.$strip>, "mutation">;
163
+ /**
164
+ * Release the values rows of a DROPPED record kind held, whatever the kind's
165
+ * owner (stale-data audit). Reserved to `sqlite-settings`, the engine that
166
+ * just deleted the rows: only refs scoped `row/records:<kind>/...` are
167
+ * accepted, and the audit names the operator it acted for. Answers a count.
168
+ */
169
+ readonly releaseRecordRefs: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
170
+ refs: z.ZodArray<z.ZodString>;
171
+ onBehalfOf: z.ZodString;
172
+ }, z.core.$strip>, z.ZodObject<{
173
+ released: z.ZodNumber;
174
+ }, z.core.$strip>, "mutation">;
163
175
  /** The caller's own refs, metadata only. */
164
176
  readonly listMeta: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
165
177
  ref: z.ZodString;
@@ -295,6 +295,97 @@ declare const HubAddressBookSchema: z.ZodObject<{
295
295
  listenerOrigins: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
296
296
  }, z.core.$strip>;
297
297
  export type HubAddressBook = z.infer<typeof HubAddressBookSchema>;
298
+ /** One provider's ask of the scan engine: the modes it declared. */
299
+ declare const ScanRequestSchema: z.ZodObject<{
300
+ providerId: z.ZodString;
301
+ modes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
302
+ kind: z.ZodLiteral<"mdns">;
303
+ serviceType: z.ZodString;
304
+ instancePattern: z.ZodOptional<z.ZodString>;
305
+ }, z.core.$strip>, z.ZodObject<{
306
+ kind: z.ZodLiteral<"ws-discovery">;
307
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
308
+ }, z.core.$strip>, z.ZodObject<{
309
+ kind: z.ZodLiteral<"ssdp">;
310
+ searchTarget: z.ZodString;
311
+ }, z.core.$strip>, z.ZodObject<{
312
+ kind: z.ZodLiteral<"udp-broadcast">;
313
+ port: z.ZodNumber;
314
+ payloadHex: z.ZodString;
315
+ listenPort: z.ZodOptional<z.ZodNumber>;
316
+ }, z.core.$strip>, z.ZodObject<{
317
+ kind: z.ZodLiteral<"http-probe">;
318
+ port: z.ZodNumber;
319
+ path: z.ZodString;
320
+ method: z.ZodDefault<z.ZodEnum<{
321
+ GET: "GET";
322
+ POST: "POST";
323
+ }>>;
324
+ bodyText: z.ZodOptional<z.ZodString>;
325
+ contentType: z.ZodOptional<z.ZodString>;
326
+ tls: z.ZodDefault<z.ZodBoolean>;
327
+ acceptStatus: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
328
+ }, z.core.$strip>, z.ZodObject<{
329
+ kind: z.ZodLiteral<"custom">;
330
+ reason: z.ZodString;
331
+ }, z.core.$strip>], "kind">>;
332
+ }, z.core.$strip>;
333
+ /** What one scan did, per mode family; the engine logs the same numbers once. */
334
+ declare const ScanStatsSchema: z.ZodObject<{
335
+ hostsProbed: z.ZodNumber;
336
+ hits: z.ZodNumber;
337
+ timeouts: z.ZodNumber;
338
+ byMode: z.ZodRecord<z.ZodString, z.ZodObject<{
339
+ probed: z.ZodNumber;
340
+ hits: z.ZodNumber;
341
+ timeouts: z.ZodNumber;
342
+ }, z.core.$strip>>;
343
+ }, z.core.$strip>;
344
+ declare const ScanNetworkResultSchema: z.ZodObject<{
345
+ hits: z.ZodArray<z.ZodObject<{
346
+ providerId: z.ZodString;
347
+ hit: z.ZodObject<{
348
+ modeIndex: z.ZodNumber;
349
+ host: z.ZodString;
350
+ port: z.ZodNumber;
351
+ http: z.ZodOptional<z.ZodObject<{
352
+ status: z.ZodNumber;
353
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
354
+ bodyText: z.ZodString;
355
+ }, z.core.$strip>>;
356
+ mdns: z.ZodOptional<z.ZodObject<{
357
+ instance: z.ZodString;
358
+ host: z.ZodString;
359
+ port: z.ZodNumber;
360
+ txt: z.ZodRecord<z.ZodString, z.ZodString>;
361
+ }, z.core.$strip>>;
362
+ udp: z.ZodOptional<z.ZodObject<{
363
+ payloadHex: z.ZodString;
364
+ }, z.core.$strip>>;
365
+ wsd: z.ZodOptional<z.ZodObject<{
366
+ xaddrs: z.ZodArray<z.ZodString>;
367
+ types: z.ZodArray<z.ZodString>;
368
+ scopes: z.ZodArray<z.ZodString>;
369
+ }, z.core.$strip>>;
370
+ }, z.core.$strip>;
371
+ }, z.core.$strip>>;
372
+ subnetsScanned: z.ZodArray<z.ZodString>;
373
+ errors: z.ZodArray<z.ZodObject<{
374
+ providerId: z.ZodOptional<z.ZodString>;
375
+ mode: z.ZodOptional<z.ZodString>;
376
+ message: z.ZodString;
377
+ }, z.core.$strip>>;
378
+ stats: z.ZodObject<{
379
+ hostsProbed: z.ZodNumber;
380
+ hits: z.ZodNumber;
381
+ timeouts: z.ZodNumber;
382
+ byMode: z.ZodRecord<z.ZodString, z.ZodObject<{
383
+ probed: z.ZodNumber;
384
+ hits: z.ZodNumber;
385
+ timeouts: z.ZodNumber;
386
+ }, z.core.$strip>>;
387
+ }, z.core.$strip>;
388
+ }, z.core.$strip>;
298
389
  export declare const localNetworkCapability: {
299
390
  readonly name: 'local-network';
300
391
  readonly scope: 'system';
@@ -1046,6 +1137,110 @@ export declare const localNetworkCapability: {
1046
1137
  hasCa: z.ZodBoolean;
1047
1138
  }, z.core.$strip>>;
1048
1139
  }, z.core.$strip>, "mutation">;
1140
+ /**
1141
+ * The LAN discovery engine. Every provider that declared discovery modes
1142
+ * (`device-provider.getDiscoveryModes`) is scanned in ONE pass: a single
1143
+ * mDNS browse for the union of service types, one WS-Discovery probe, one
1144
+ * SSDP search per target and one sweep that visits each host once and runs
1145
+ * every http-probe of every provider. Subnets scanned = the hub's own
1146
+ * non-internal IPv4 /24s ∪ the saved list (`getScanSubnets`) ∪ `subnets`.
1147
+ * A bad CIDR, or more than 4096 hosts in total, refuses the scan.
1148
+ */
1149
+ readonly scanNetwork: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1150
+ requests: z.ZodArray<z.ZodObject<{
1151
+ providerId: z.ZodString;
1152
+ modes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1153
+ kind: z.ZodLiteral<"mdns">;
1154
+ serviceType: z.ZodString;
1155
+ instancePattern: z.ZodOptional<z.ZodString>;
1156
+ }, z.core.$strip>, z.ZodObject<{
1157
+ kind: z.ZodLiteral<"ws-discovery">;
1158
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
1159
+ }, z.core.$strip>, z.ZodObject<{
1160
+ kind: z.ZodLiteral<"ssdp">;
1161
+ searchTarget: z.ZodString;
1162
+ }, z.core.$strip>, z.ZodObject<{
1163
+ kind: z.ZodLiteral<"udp-broadcast">;
1164
+ port: z.ZodNumber;
1165
+ payloadHex: z.ZodString;
1166
+ listenPort: z.ZodOptional<z.ZodNumber>;
1167
+ }, z.core.$strip>, z.ZodObject<{
1168
+ kind: z.ZodLiteral<"http-probe">;
1169
+ port: z.ZodNumber;
1170
+ path: z.ZodString;
1171
+ method: z.ZodDefault<z.ZodEnum<{
1172
+ GET: "GET";
1173
+ POST: "POST";
1174
+ }>>;
1175
+ bodyText: z.ZodOptional<z.ZodString>;
1176
+ contentType: z.ZodOptional<z.ZodString>;
1177
+ tls: z.ZodDefault<z.ZodBoolean>;
1178
+ acceptStatus: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1179
+ }, z.core.$strip>, z.ZodObject<{
1180
+ kind: z.ZodLiteral<"custom">;
1181
+ reason: z.ZodString;
1182
+ }, z.core.$strip>], "kind">>;
1183
+ }, z.core.$strip>>;
1184
+ subnets: z.ZodOptional<z.ZodArray<z.ZodString>>;
1185
+ }, z.core.$strip>, z.ZodObject<{
1186
+ hits: z.ZodArray<z.ZodObject<{
1187
+ providerId: z.ZodString;
1188
+ hit: z.ZodObject<{
1189
+ modeIndex: z.ZodNumber;
1190
+ host: z.ZodString;
1191
+ port: z.ZodNumber;
1192
+ http: z.ZodOptional<z.ZodObject<{
1193
+ status: z.ZodNumber;
1194
+ headers: z.ZodRecord<z.ZodString, z.ZodString>;
1195
+ bodyText: z.ZodString;
1196
+ }, z.core.$strip>>;
1197
+ mdns: z.ZodOptional<z.ZodObject<{
1198
+ instance: z.ZodString;
1199
+ host: z.ZodString;
1200
+ port: z.ZodNumber;
1201
+ txt: z.ZodRecord<z.ZodString, z.ZodString>;
1202
+ }, z.core.$strip>>;
1203
+ udp: z.ZodOptional<z.ZodObject<{
1204
+ payloadHex: z.ZodString;
1205
+ }, z.core.$strip>>;
1206
+ wsd: z.ZodOptional<z.ZodObject<{
1207
+ xaddrs: z.ZodArray<z.ZodString>;
1208
+ types: z.ZodArray<z.ZodString>;
1209
+ scopes: z.ZodArray<z.ZodString>;
1210
+ }, z.core.$strip>>;
1211
+ }, z.core.$strip>;
1212
+ }, z.core.$strip>>;
1213
+ subnetsScanned: z.ZodArray<z.ZodString>;
1214
+ errors: z.ZodArray<z.ZodObject<{
1215
+ providerId: z.ZodOptional<z.ZodString>;
1216
+ mode: z.ZodOptional<z.ZodString>;
1217
+ message: z.ZodString;
1218
+ }, z.core.$strip>>;
1219
+ stats: z.ZodObject<{
1220
+ hostsProbed: z.ZodNumber;
1221
+ hits: z.ZodNumber;
1222
+ timeouts: z.ZodNumber;
1223
+ byMode: z.ZodRecord<z.ZodString, z.ZodObject<{
1224
+ probed: z.ZodNumber;
1225
+ hits: z.ZodNumber;
1226
+ timeouts: z.ZodNumber;
1227
+ }, z.core.$strip>>;
1228
+ }, z.core.$strip>;
1229
+ }, z.core.$strip>, "mutation">;
1230
+ /** Extra subnets every scan covers besides the hub's own, as CIDR strings. */
1231
+ readonly getScanSubnets: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
1232
+ subnets: z.ZodArray<z.ZodString>;
1233
+ }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
1234
+ /**
1235
+ * Replace the saved extra subnets (a cluster setting). Each entry is IPv4
1236
+ * CIDR, at most a /22; the list is refused when it is invalid or its hosts
1237
+ * would exceed the scan cap.
1238
+ */
1239
+ readonly setScanSubnets: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
1240
+ subnets: z.ZodArray<z.ZodString>;
1241
+ }, z.core.$strip>, z.ZodObject<{
1242
+ subnets: z.ZodArray<z.ZodString>;
1243
+ }, z.core.$strip>, "mutation">;
1049
1244
  /** Return to the generated local CA. The uploaded certificate stays stored (D873). */
1050
1245
  readonly revertToGeneratedCertificate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
1051
1246
  mode: z.ZodEnum<{
@@ -1075,6 +1270,9 @@ export declare const localNetworkCapability: {
1075
1270
  readonly kind: 'hub-only';
1076
1271
  };
1077
1272
  };
1273
+ export type ScanNetworkResult = z.infer<typeof ScanNetworkResultSchema>;
1274
+ export type ScanRequest = z.infer<typeof ScanRequestSchema>;
1275
+ export type ScanStats = z.infer<typeof ScanStatsSchema>;
1078
1276
  export type ILocalNetworkProvider = InferProvider<typeof localNetworkCapability>;
1079
1277
  export type LocalInterface = z.infer<typeof LocalInterfaceSchema>;
1080
1278
  export type ConnectionEndpoint = z.infer<typeof ConnectionEndpointSchema>;