@camstack/types 1.2.442 → 1.2.444
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/CHANGELOG.md +25 -0
- package/dist/addon.d.ts +5 -1
- package/dist/addon.js +21 -5
- package/dist/addon.mjs +17 -6
- package/dist/automation/export-entities.d.ts +98 -0
- package/dist/capabilities/capability-definition.d.ts +1 -1
- package/dist/capabilities/composer.cap.d.ts +34 -0
- package/dist/capabilities/consumables.cap.d.ts +4 -5
- package/dist/capabilities/core-blocks.cap.d.ts +244 -0
- package/dist/capabilities/device-export.cap.d.ts +111 -1
- package/dist/capabilities/index.d.ts +8 -3
- package/dist/capabilities/metrics-provider.cap.d.ts +16 -16
- package/dist/capabilities/node-removal-hook.cap.d.ts +67 -0
- package/dist/capabilities/nodes.cap.d.ts +2 -2
- package/dist/capabilities/pet-fountain.cap.d.ts +138 -0
- package/dist/capabilities/pipeline-executor.cap.d.ts +6 -22
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +3 -4
- package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
- package/dist/capabilities/pipeline-step-input.d.ts +33 -0
- package/dist/client.js +817 -798
- package/dist/client.mjs +817 -798
- package/dist/composition/composition-items.d.ts +3 -3
- package/dist/composition/composition-report.d.ts +17 -0
- package/dist/composition/composition.d.ts +68 -1
- package/dist/composition/index.d.ts +2 -0
- package/dist/composition/presets/pet-fountain.d.ts +36 -0
- package/dist/composition/validate-forward.d.ts +31 -0
- package/dist/{composition-C0dlyG9U.js → composition-CO6Sak-s.js} +49 -5
- package/dist/{composition-bIBW5_13.mjs → composition-kSuOifuG.mjs} +32 -6
- package/dist/device/cap-vocabulary/entries/appliances.d.ts +1 -1
- package/dist/device/device-control-resolution.d.ts +1 -1
- package/dist/device/device-type.d.ts +4 -0
- package/dist/{err-msg-BCdlR2Li.mjs → err-msg-DWXWc0Di.mjs} +4 -0
- package/dist/{err-msg-COHgq7Mb.js → err-msg-EJhsFHqa.js} +4 -0
- package/dist/generated/addon-api.d.ts +149 -32
- package/dist/generated/addon-cap-facts.d.ts +1 -1
- package/dist/generated/cap-status-types.d.ts +3 -1
- package/dist/generated/capability-router-map.d.ts +10 -4
- package/dist/generated/collection-array-methods.d.ts +2 -2
- package/dist/generated/customize-catalog.d.ts +1 -1
- package/dist/generated/device-local-state.d.ts +3 -0
- package/dist/generated/device-proxy.d.ts +3 -0
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/history-catalog.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1616 -607
- package/dist/index.mjs +1581 -596
- package/dist/interfaces/agent.d.ts +6 -2
- package/dist/interfaces/event-bus.d.ts +1 -1
- package/dist/node.js +2 -2
- package/dist/node.mjs +2 -2
- package/dist/{sleep-DJws6ho7.mjs → sleep-6eG9C8Xl.mjs} +224 -72
- package/dist/{sleep-BpwNJ1Su.js → sleep-UXDHn-oJ.js} +247 -71
- package/dist/types/agent-pipeline-settings.d.ts +2 -2
- package/dist/utils/oauth-landing.d.ts +1 -1
- package/dist/vendor-login-proxy/flow-trace.d.ts +29 -0
- package/package.json +1 -1
|
@@ -91,6 +91,7 @@ import type { navigationCapability } from '../capabilities/navigation.cap.js';
|
|
|
91
91
|
import type { networkAccessCapability } from '../capabilities/network-access.cap.js';
|
|
92
92
|
import type { networkQualityCapability } from '../capabilities/network-quality.cap.js';
|
|
93
93
|
import type { nodeCertificatesCapability } from '../capabilities/node-certificates.cap.js';
|
|
94
|
+
import type { nodeRemovalHookCapability } from '../capabilities/node-removal-hook.cap.js';
|
|
94
95
|
import type { nodesCapability } from '../capabilities/nodes.cap.js';
|
|
95
96
|
import type { notificationOutputCapability } from '../capabilities/notification-output.cap.js';
|
|
96
97
|
import type { notificationRulesCapability } from '../capabilities/notification-rules.cap.js';
|
|
@@ -100,6 +101,7 @@ import type { oidcConnectionsCapability } from '../capabilities/oidc-connections
|
|
|
100
101
|
import type { osdManagerCapability } from '../capabilities/osd-manager.cap.js';
|
|
101
102
|
import type { osdCapability } from '../capabilities/osd.cap.js';
|
|
102
103
|
import type { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
|
|
104
|
+
import type { petFountainCapability } from '../capabilities/pet-fountain.cap.js';
|
|
103
105
|
import type { pipelineAnalyticsCapability } from '../capabilities/pipeline-analytics.cap.js';
|
|
104
106
|
import type { pipelineExecutorCapability } from '../capabilities/pipeline-executor.cap.js';
|
|
105
107
|
import type { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
|
|
@@ -2476,6 +2478,36 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
2476
2478
|
output: z.infer<typeof deviceExportCapability.methods.unexposeDevice.output>;
|
|
2477
2479
|
meta: object;
|
|
2478
2480
|
}>;
|
|
2481
|
+
listSupportedEntityKinds: TRPCQueryProcedure<{
|
|
2482
|
+
input: {
|
|
2483
|
+
nodeId?: string | undefined;
|
|
2484
|
+
addonId?: string | undefined;
|
|
2485
|
+
} | undefined;
|
|
2486
|
+
output: z.infer<typeof deviceExportCapability.methods.listSupportedEntityKinds.output>;
|
|
2487
|
+
meta: object;
|
|
2488
|
+
}>;
|
|
2489
|
+
listExposedEntities: TRPCQueryProcedure<{
|
|
2490
|
+
input: {
|
|
2491
|
+
nodeId?: string | undefined;
|
|
2492
|
+
addonId?: string | undefined;
|
|
2493
|
+
} | undefined;
|
|
2494
|
+
output: z.infer<typeof deviceExportCapability.methods.listExposedEntities.output>;
|
|
2495
|
+
meta: object;
|
|
2496
|
+
}>;
|
|
2497
|
+
exposeEntity: TRPCMutationProcedure<{
|
|
2498
|
+
input: {
|
|
2499
|
+
[x: string]: unknown;
|
|
2500
|
+
} & z.input<typeof deviceExportCapability.methods.exposeEntity.input>;
|
|
2501
|
+
output: z.infer<typeof deviceExportCapability.methods.exposeEntity.output>;
|
|
2502
|
+
meta: object;
|
|
2503
|
+
}>;
|
|
2504
|
+
unexposeEntity: TRPCMutationProcedure<{
|
|
2505
|
+
input: {
|
|
2506
|
+
[x: string]: unknown;
|
|
2507
|
+
} & z.input<typeof deviceExportCapability.methods.unexposeEntity.input>;
|
|
2508
|
+
output: z.infer<typeof deviceExportCapability.methods.unexposeEntity.output>;
|
|
2509
|
+
meta: object;
|
|
2510
|
+
}>;
|
|
2479
2511
|
}>>;
|
|
2480
2512
|
deviceExtension: TRPCBuiltRouter<{
|
|
2481
2513
|
ctx: TrpcContext;
|
|
@@ -5694,6 +5726,20 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
5694
5726
|
meta: object;
|
|
5695
5727
|
}>;
|
|
5696
5728
|
}>>;
|
|
5729
|
+
nodeRemovalHook: TRPCBuiltRouter<{
|
|
5730
|
+
ctx: TrpcContext;
|
|
5731
|
+
meta: object;
|
|
5732
|
+
errorShape: AugmentedErrorShape;
|
|
5733
|
+
transformer: true;
|
|
5734
|
+
}, TRPCDecorateCreateRouterOptions<{
|
|
5735
|
+
onNodeRemoved: TRPCMutationProcedure<{
|
|
5736
|
+
input: {
|
|
5737
|
+
[x: string]: unknown;
|
|
5738
|
+
} & z.input<typeof nodeRemovalHookCapability.methods.onNodeRemoved.input>;
|
|
5739
|
+
output: z.infer<typeof nodeRemovalHookCapability.methods.onNodeRemoved.output>;
|
|
5740
|
+
meta: object;
|
|
5741
|
+
}>;
|
|
5742
|
+
}>>;
|
|
5697
5743
|
nodes: TRPCBuiltRouter<{
|
|
5698
5744
|
ctx: TrpcContext;
|
|
5699
5745
|
meta: object;
|
|
@@ -6402,6 +6448,55 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
6402
6448
|
meta: object;
|
|
6403
6449
|
}>;
|
|
6404
6450
|
}>>;
|
|
6451
|
+
petFountain: TRPCBuiltRouter<{
|
|
6452
|
+
ctx: TrpcContext;
|
|
6453
|
+
meta: object;
|
|
6454
|
+
errorShape: AugmentedErrorShape;
|
|
6455
|
+
transformer: true;
|
|
6456
|
+
}, TRPCDecorateCreateRouterOptions<{
|
|
6457
|
+
getStatus: TRPCQueryProcedure<{
|
|
6458
|
+
input: {
|
|
6459
|
+
[x: string]: unknown;
|
|
6460
|
+
} & z.input<typeof DEVICE_STATUS_METHOD.getStatus.input>;
|
|
6461
|
+
output: z.infer<typeof DEVICE_STATUS_METHOD.getStatus.output>;
|
|
6462
|
+
meta: object;
|
|
6463
|
+
}>;
|
|
6464
|
+
setPump: TRPCMutationProcedure<{
|
|
6465
|
+
input: {
|
|
6466
|
+
[x: string]: unknown;
|
|
6467
|
+
} & z.input<typeof petFountainCapability.methods.setPump.input>;
|
|
6468
|
+
output: z.infer<typeof petFountainCapability.methods.setPump.output>;
|
|
6469
|
+
meta: object;
|
|
6470
|
+
}>;
|
|
6471
|
+
setPumpInterval: TRPCMutationProcedure<{
|
|
6472
|
+
input: {
|
|
6473
|
+
[x: string]: unknown;
|
|
6474
|
+
} & z.input<typeof petFountainCapability.methods.setPumpInterval.input>;
|
|
6475
|
+
output: z.infer<typeof petFountainCapability.methods.setPumpInterval.output>;
|
|
6476
|
+
meta: object;
|
|
6477
|
+
}>;
|
|
6478
|
+
setPumpOnMinutes: TRPCMutationProcedure<{
|
|
6479
|
+
input: {
|
|
6480
|
+
[x: string]: unknown;
|
|
6481
|
+
} & z.input<typeof petFountainCapability.methods.setPumpOnMinutes.input>;
|
|
6482
|
+
output: z.infer<typeof petFountainCapability.methods.setPumpOnMinutes.output>;
|
|
6483
|
+
meta: object;
|
|
6484
|
+
}>;
|
|
6485
|
+
setPumpOffMinutes: TRPCMutationProcedure<{
|
|
6486
|
+
input: {
|
|
6487
|
+
[x: string]: unknown;
|
|
6488
|
+
} & z.input<typeof petFountainCapability.methods.setPumpOffMinutes.input>;
|
|
6489
|
+
output: z.infer<typeof petFountainCapability.methods.setPumpOffMinutes.output>;
|
|
6490
|
+
meta: object;
|
|
6491
|
+
}>;
|
|
6492
|
+
resetDailyConsumption: TRPCMutationProcedure<{
|
|
6493
|
+
input: {
|
|
6494
|
+
[x: string]: unknown;
|
|
6495
|
+
} & z.input<typeof petFountainCapability.methods.resetDailyConsumption.input>;
|
|
6496
|
+
output: z.infer<typeof petFountainCapability.methods.resetDailyConsumption.output>;
|
|
6497
|
+
meta: object;
|
|
6498
|
+
}>;
|
|
6499
|
+
}>>;
|
|
6405
6500
|
pipelineAnalytics: TRPCBuiltRouter<{
|
|
6406
6501
|
ctx: TrpcContext;
|
|
6407
6502
|
meta: object;
|
|
@@ -12241,6 +12336,17 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12241
12336
|
historyRemoved: boolean;
|
|
12242
12337
|
registryRemoved: boolean;
|
|
12243
12338
|
stillListed: boolean;
|
|
12339
|
+
certificates: {
|
|
12340
|
+
outcome: "not-attempted";
|
|
12341
|
+
} | {
|
|
12342
|
+
outcome: "revoked";
|
|
12343
|
+
serials: string[];
|
|
12344
|
+
} | {
|
|
12345
|
+
outcome: "registry-unavailable";
|
|
12346
|
+
} | {
|
|
12347
|
+
outcome: "failed";
|
|
12348
|
+
error: string;
|
|
12349
|
+
};
|
|
12244
12350
|
message: string;
|
|
12245
12351
|
};
|
|
12246
12352
|
meta: object;
|
|
@@ -12264,6 +12370,17 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12264
12370
|
historyRemoved: boolean;
|
|
12265
12371
|
registryRemoved: boolean;
|
|
12266
12372
|
stillListed: boolean;
|
|
12373
|
+
certificates: {
|
|
12374
|
+
outcome: "not-attempted";
|
|
12375
|
+
} | {
|
|
12376
|
+
outcome: "revoked";
|
|
12377
|
+
serials: string[];
|
|
12378
|
+
} | {
|
|
12379
|
+
outcome: "registry-unavailable";
|
|
12380
|
+
} | {
|
|
12381
|
+
outcome: "failed";
|
|
12382
|
+
error: string;
|
|
12383
|
+
};
|
|
12267
12384
|
message: string;
|
|
12268
12385
|
};
|
|
12269
12386
|
meta: object;
|
|
@@ -12351,7 +12468,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12351
12468
|
notAfter: number;
|
|
12352
12469
|
issuedAt: number;
|
|
12353
12470
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12354
|
-
status: "
|
|
12471
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12355
12472
|
revokedAt: number | null;
|
|
12356
12473
|
revokedReason: string | null;
|
|
12357
12474
|
} | null;
|
|
@@ -12363,7 +12480,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12363
12480
|
notAfter: number;
|
|
12364
12481
|
issuedAt: number;
|
|
12365
12482
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12366
|
-
status: "
|
|
12483
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12367
12484
|
revokedAt: number | null;
|
|
12368
12485
|
revokedReason: string | null;
|
|
12369
12486
|
}[];
|
|
@@ -12479,7 +12596,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12479
12596
|
notAfter: number;
|
|
12480
12597
|
issuedAt: number;
|
|
12481
12598
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12482
|
-
status: "
|
|
12599
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12483
12600
|
revokedAt: number | null;
|
|
12484
12601
|
revokedReason: string | null;
|
|
12485
12602
|
} | null;
|
|
@@ -12491,7 +12608,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12491
12608
|
notAfter: number;
|
|
12492
12609
|
issuedAt: number;
|
|
12493
12610
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12494
|
-
status: "
|
|
12611
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12495
12612
|
revokedAt: number | null;
|
|
12496
12613
|
revokedReason: string | null;
|
|
12497
12614
|
}[];
|
|
@@ -12704,7 +12821,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12704
12821
|
port: number;
|
|
12705
12822
|
};
|
|
12706
12823
|
code: string;
|
|
12707
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12824
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12708
12825
|
hubConfirmed: boolean;
|
|
12709
12826
|
agentConfirmed: boolean;
|
|
12710
12827
|
expiresAt: number;
|
|
@@ -12738,7 +12855,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12738
12855
|
port: number;
|
|
12739
12856
|
};
|
|
12740
12857
|
code: string;
|
|
12741
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12858
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12742
12859
|
hubConfirmed: boolean;
|
|
12743
12860
|
agentConfirmed: boolean;
|
|
12744
12861
|
expiresAt: number;
|
|
@@ -12760,7 +12877,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12760
12877
|
port: number;
|
|
12761
12878
|
};
|
|
12762
12879
|
code: string;
|
|
12763
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12880
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12764
12881
|
hubConfirmed: boolean;
|
|
12765
12882
|
agentConfirmed: boolean;
|
|
12766
12883
|
expiresAt: number;
|
|
@@ -12780,7 +12897,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12780
12897
|
port: number;
|
|
12781
12898
|
};
|
|
12782
12899
|
code: string;
|
|
12783
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12900
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12784
12901
|
hubConfirmed: boolean;
|
|
12785
12902
|
agentConfirmed: boolean;
|
|
12786
12903
|
expiresAt: number;
|
|
@@ -12798,7 +12915,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12798
12915
|
port: number;
|
|
12799
12916
|
};
|
|
12800
12917
|
code: string;
|
|
12801
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12918
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12802
12919
|
hubConfirmed: boolean;
|
|
12803
12920
|
agentConfirmed: boolean;
|
|
12804
12921
|
expiresAt: number;
|
|
@@ -12819,7 +12936,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12819
12936
|
port: number;
|
|
12820
12937
|
};
|
|
12821
12938
|
code: string;
|
|
12822
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12939
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12823
12940
|
hubConfirmed: boolean;
|
|
12824
12941
|
agentConfirmed: boolean;
|
|
12825
12942
|
expiresAt: number;
|
|
@@ -12839,7 +12956,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12839
12956
|
port: number;
|
|
12840
12957
|
};
|
|
12841
12958
|
code: string;
|
|
12842
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12959
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12843
12960
|
hubConfirmed: boolean;
|
|
12844
12961
|
agentConfirmed: boolean;
|
|
12845
12962
|
expiresAt: number;
|
|
@@ -12884,7 +13001,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12884
13001
|
port: number;
|
|
12885
13002
|
};
|
|
12886
13003
|
code: string;
|
|
12887
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13004
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12888
13005
|
hubConfirmed: boolean;
|
|
12889
13006
|
agentConfirmed: boolean;
|
|
12890
13007
|
expiresAt: number;
|
|
@@ -12918,7 +13035,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12918
13035
|
port: number;
|
|
12919
13036
|
};
|
|
12920
13037
|
code: string;
|
|
12921
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13038
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12922
13039
|
hubConfirmed: boolean;
|
|
12923
13040
|
agentConfirmed: boolean;
|
|
12924
13041
|
expiresAt: number;
|
|
@@ -12940,7 +13057,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12940
13057
|
port: number;
|
|
12941
13058
|
};
|
|
12942
13059
|
code: string;
|
|
12943
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13060
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12944
13061
|
hubConfirmed: boolean;
|
|
12945
13062
|
agentConfirmed: boolean;
|
|
12946
13063
|
expiresAt: number;
|
|
@@ -12960,7 +13077,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12960
13077
|
port: number;
|
|
12961
13078
|
};
|
|
12962
13079
|
code: string;
|
|
12963
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13080
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12964
13081
|
hubConfirmed: boolean;
|
|
12965
13082
|
agentConfirmed: boolean;
|
|
12966
13083
|
expiresAt: number;
|
|
@@ -12978,7 +13095,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12978
13095
|
port: number;
|
|
12979
13096
|
};
|
|
12980
13097
|
code: string;
|
|
12981
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13098
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12982
13099
|
hubConfirmed: boolean;
|
|
12983
13100
|
agentConfirmed: boolean;
|
|
12984
13101
|
expiresAt: number;
|
|
@@ -12999,7 +13116,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12999
13116
|
port: number;
|
|
13000
13117
|
};
|
|
13001
13118
|
code: string;
|
|
13002
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13119
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
13003
13120
|
hubConfirmed: boolean;
|
|
13004
13121
|
agentConfirmed: boolean;
|
|
13005
13122
|
expiresAt: number;
|
|
@@ -13019,7 +13136,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13019
13136
|
port: number;
|
|
13020
13137
|
};
|
|
13021
13138
|
code: string;
|
|
13022
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13139
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
13023
13140
|
hubConfirmed: boolean;
|
|
13024
13141
|
agentConfirmed: boolean;
|
|
13025
13142
|
expiresAt: number;
|
|
@@ -13451,7 +13568,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13451
13568
|
ok: true;
|
|
13452
13569
|
} | {
|
|
13453
13570
|
ok: false;
|
|
13454
|
-
reason: "
|
|
13571
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
13455
13572
|
definitive: boolean;
|
|
13456
13573
|
retryAfterSeconds?: number | undefined;
|
|
13457
13574
|
};
|
|
@@ -13467,7 +13584,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13467
13584
|
ok: true;
|
|
13468
13585
|
} | {
|
|
13469
13586
|
ok: false;
|
|
13470
|
-
reason: "
|
|
13587
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
13471
13588
|
definitive: boolean;
|
|
13472
13589
|
retryAfterSeconds?: number | undefined;
|
|
13473
13590
|
};
|
|
@@ -13482,7 +13599,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13482
13599
|
};
|
|
13483
13600
|
output: {
|
|
13484
13601
|
ok: false;
|
|
13485
|
-
reason: "
|
|
13602
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
13486
13603
|
definitive: boolean;
|
|
13487
13604
|
retryAfterSeconds?: number | undefined;
|
|
13488
13605
|
} | {
|
|
@@ -13516,7 +13633,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13516
13633
|
ok: true;
|
|
13517
13634
|
} | {
|
|
13518
13635
|
ok: false;
|
|
13519
|
-
reason: "
|
|
13636
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
13520
13637
|
definitive: boolean;
|
|
13521
13638
|
retryAfterSeconds?: number | undefined;
|
|
13522
13639
|
};
|
|
@@ -13534,7 +13651,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13534
13651
|
sessionsEnded: number;
|
|
13535
13652
|
} | {
|
|
13536
13653
|
ok: false;
|
|
13537
|
-
reason: "
|
|
13654
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
13538
13655
|
definitive: boolean;
|
|
13539
13656
|
retryAfterSeconds?: number | undefined;
|
|
13540
13657
|
};
|
|
@@ -13558,7 +13675,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13558
13675
|
lastUsedFrom: string | null;
|
|
13559
13676
|
revokedAt: number | null;
|
|
13560
13677
|
revokedBy: string | null;
|
|
13561
|
-
status: "
|
|
13678
|
+
status: "revoked" | "expired" | "active";
|
|
13562
13679
|
}[];
|
|
13563
13680
|
meta: object;
|
|
13564
13681
|
}>;
|
|
@@ -13613,7 +13730,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13613
13730
|
ok: true;
|
|
13614
13731
|
} | {
|
|
13615
13732
|
ok: false;
|
|
13616
|
-
reason: "
|
|
13733
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
13617
13734
|
definitive: boolean;
|
|
13618
13735
|
retryAfterSeconds?: number | undefined;
|
|
13619
13736
|
};
|
|
@@ -14446,7 +14563,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14446
14563
|
ok: true;
|
|
14447
14564
|
} | {
|
|
14448
14565
|
ok: false;
|
|
14449
|
-
reason: "
|
|
14566
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
14450
14567
|
definitive: boolean;
|
|
14451
14568
|
retryAfterSeconds?: number | undefined;
|
|
14452
14569
|
};
|
|
@@ -14462,7 +14579,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14462
14579
|
ok: true;
|
|
14463
14580
|
} | {
|
|
14464
14581
|
ok: false;
|
|
14465
|
-
reason: "
|
|
14582
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
14466
14583
|
definitive: boolean;
|
|
14467
14584
|
retryAfterSeconds?: number | undefined;
|
|
14468
14585
|
};
|
|
@@ -14477,7 +14594,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14477
14594
|
};
|
|
14478
14595
|
output: {
|
|
14479
14596
|
ok: false;
|
|
14480
|
-
reason: "
|
|
14597
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
14481
14598
|
definitive: boolean;
|
|
14482
14599
|
retryAfterSeconds?: number | undefined;
|
|
14483
14600
|
} | {
|
|
@@ -14511,7 +14628,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14511
14628
|
ok: true;
|
|
14512
14629
|
} | {
|
|
14513
14630
|
ok: false;
|
|
14514
|
-
reason: "
|
|
14631
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
14515
14632
|
definitive: boolean;
|
|
14516
14633
|
retryAfterSeconds?: number | undefined;
|
|
14517
14634
|
};
|
|
@@ -14529,7 +14646,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14529
14646
|
sessionsEnded: number;
|
|
14530
14647
|
} | {
|
|
14531
14648
|
ok: false;
|
|
14532
|
-
reason: "
|
|
14649
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
14533
14650
|
definitive: boolean;
|
|
14534
14651
|
retryAfterSeconds?: number | undefined;
|
|
14535
14652
|
};
|
|
@@ -14553,7 +14670,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14553
14670
|
lastUsedFrom: string | null;
|
|
14554
14671
|
revokedAt: number | null;
|
|
14555
14672
|
revokedBy: string | null;
|
|
14556
|
-
status: "
|
|
14673
|
+
status: "revoked" | "expired" | "active";
|
|
14557
14674
|
}[];
|
|
14558
14675
|
meta: object;
|
|
14559
14676
|
}>;
|
|
@@ -14608,7 +14725,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14608
14725
|
ok: true;
|
|
14609
14726
|
} | {
|
|
14610
14727
|
ok: false;
|
|
14611
|
-
reason: "
|
|
14728
|
+
reason: "revoked" | "unavailable" | "expired" | "bad-public-key" | "bad-signature" | "code-invalid" | "invalid-certificate" | "nonce-invalid" | "rate-limited" | "self-enrollment-disabled" | "step-up-required" | "superseded" | "unknown-credential" | "user-gone";
|
|
14612
14729
|
definitive: boolean;
|
|
14613
14730
|
retryAfterSeconds?: number | undefined;
|
|
14614
14731
|
};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `ALL_CAPABILITY_DEFINITIONS` (the whole Zod schema graph, ~+100 MB heap per
|
|
6
6
|
* runner). See docs/decisions/adr-0028.md.
|
|
7
7
|
*
|
|
8
|
-
* Coverage: 1 advance-derived caps,
|
|
8
|
+
* Coverage: 1 advance-derived caps, 78 caps with 372 state leaves.
|
|
9
9
|
*/
|
|
10
10
|
/** A bindable scalar in a capability's runtime state. */
|
|
11
11
|
export interface CapStateLeaf {
|
|
@@ -54,6 +54,7 @@ import type { NotifierStatusSchema } from '../capabilities/notifier.cap.js';
|
|
|
54
54
|
import type { NumericSensorStatusSchema } from '../capabilities/numeric-sensor.cap.js';
|
|
55
55
|
import type { OsdStatusSchema } from '../capabilities/osd.cap.js';
|
|
56
56
|
import type { PetFeederStatusSchema } from '../capabilities/pet-feeder.cap.js';
|
|
57
|
+
import type { PetFountainStatusSchema } from '../capabilities/pet-fountain.cap.js';
|
|
57
58
|
import type { PowerMeterStatusSchema } from '../capabilities/power-meter.cap.js';
|
|
58
59
|
import type { PresenceStatusSchema } from '../capabilities/presence.cap.js';
|
|
59
60
|
import type { PressureSensorStatusSchema } from '../capabilities/pressure-sensor.cap.js';
|
|
@@ -139,6 +140,7 @@ export type CapStatusTypeMap = {
|
|
|
139
140
|
readonly 'numeric-sensor': z.infer<typeof NumericSensorStatusSchema>;
|
|
140
141
|
readonly 'osd': z.infer<typeof OsdStatusSchema>;
|
|
141
142
|
readonly 'pet-feeder': z.infer<typeof PetFeederStatusSchema>;
|
|
143
|
+
readonly 'pet-fountain': z.infer<typeof PetFountainStatusSchema>;
|
|
142
144
|
readonly 'power-meter': z.infer<typeof PowerMeterStatusSchema>;
|
|
143
145
|
readonly 'presence': z.infer<typeof PresenceStatusSchema>;
|
|
144
146
|
readonly 'pressure-sensor': z.infer<typeof PressureSensorStatusSchema>;
|
|
@@ -171,4 +173,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
|
|
|
171
173
|
* aggregator to enumerate caps whose `status` should be polled +
|
|
172
174
|
* streamed via `subscribeDeviceStatusAggregate`.
|
|
173
175
|
*/
|
|
174
|
-
export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "dishwasher", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "group-active", "group-commands", "group-status", "heating-valve", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "meter", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording-archive", "recording-onboard", "recording-signal", "running-state", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
|
|
176
|
+
export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "dishwasher", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "group-active", "group-commands", "group-status", "heating-valve", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "meter", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "pet-fountain", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording-archive", "recording-onboard", "recording-signal", "running-state", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
|
|
@@ -113,6 +113,7 @@ export { networkAccessCapability } from '../capabilities/network-access.cap.js';
|
|
|
113
113
|
export { networkLinkCapability } from '../capabilities/network-link.cap.js';
|
|
114
114
|
export { networkQualityCapability } from '../capabilities/network-quality.cap.js';
|
|
115
115
|
export { nodeCertificatesCapability } from '../capabilities/node-certificates.cap.js';
|
|
116
|
+
export { nodeRemovalHookCapability } from '../capabilities/node-removal-hook.cap.js';
|
|
116
117
|
export { nodesCapability } from '../capabilities/nodes.cap.js';
|
|
117
118
|
export { notificationOutputCapability } from '../capabilities/notification-output.cap.js';
|
|
118
119
|
export { notificationRulesCapability } from '../capabilities/notification-rules.cap.js';
|
|
@@ -123,6 +124,7 @@ export { oidcConnectionsCapability } from '../capabilities/oidc-connections.cap.
|
|
|
123
124
|
export { osdCapability } from '../capabilities/osd.cap.js';
|
|
124
125
|
export { osdManagerCapability } from '../capabilities/osd-manager.cap.js';
|
|
125
126
|
export { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
|
|
127
|
+
export { petFountainCapability } from '../capabilities/pet-fountain.cap.js';
|
|
126
128
|
export { pipelineAnalyticsCapability } from '../capabilities/pipeline-analytics.cap.js';
|
|
127
129
|
export { pipelineExecutorCapability } from '../capabilities/pipeline-executor.cap.js';
|
|
128
130
|
export { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
|
|
@@ -304,6 +306,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
304
306
|
readonly networkLink: 'network-link';
|
|
305
307
|
readonly networkQuality: 'network-quality';
|
|
306
308
|
readonly nodeCertificates: 'node-certificates';
|
|
309
|
+
readonly nodeRemovalHook: 'node-removal-hook';
|
|
307
310
|
readonly nodes: 'nodes';
|
|
308
311
|
readonly notificationOutput: 'notification-output';
|
|
309
312
|
readonly notificationRules: 'notification-rules';
|
|
@@ -314,6 +317,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
314
317
|
readonly osd: 'osd';
|
|
315
318
|
readonly osdManager: 'osd-manager';
|
|
316
319
|
readonly petFeeder: 'pet-feeder';
|
|
320
|
+
readonly petFountain: 'pet-fountain';
|
|
317
321
|
readonly pipelineAnalytics: 'pipeline-analytics';
|
|
318
322
|
readonly pipelineExecutor: 'pipeline-executor';
|
|
319
323
|
readonly pipelineOrchestrator: 'pipeline-orchestrator';
|
|
@@ -508,6 +512,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
508
512
|
readonly networkLink: TRouter;
|
|
509
513
|
readonly networkQuality: TRouter;
|
|
510
514
|
readonly nodeCertificates: TRouter;
|
|
515
|
+
readonly nodeRemovalHook: TRouter;
|
|
511
516
|
readonly nodes: TRouter;
|
|
512
517
|
readonly notificationOutput: TRouter;
|
|
513
518
|
readonly notificationRules: TRouter;
|
|
@@ -518,6 +523,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
518
523
|
readonly osd: TRouter;
|
|
519
524
|
readonly osdManager: TRouter;
|
|
520
525
|
readonly petFeeder: TRouter;
|
|
526
|
+
readonly petFountain: TRouter;
|
|
521
527
|
readonly pipelineAnalytics: TRouter;
|
|
522
528
|
readonly pipelineExecutor: TRouter;
|
|
523
529
|
readonly pipelineOrchestrator: TRouter;
|
|
@@ -584,12 +590,12 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
584
590
|
readonly zoneRules: TRouter;
|
|
585
591
|
readonly zones: TRouter;
|
|
586
592
|
}
|
|
587
|
-
/** Capability names whose mode is `singleton` (
|
|
588
|
-
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'actions', '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', 'calendars', 'camera-credentials', 'camera-grid-layout', 'camera-pipeline-config', 'camera-streams', 'carbon-monoxide', 'climate-control', 'color', 'composer', 'connectivity', 'consumables', 'contact', 'control', 'core-blocks', 'cover', 'database-snapshot', 'day-night', 'decoder', 'detection-pipeline', 'device-admin-link', 'device-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'dishwasher', 'display-palette', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'group-active', 'group-commands', 'group-status', 'heating-valve', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'ir-transmitter', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'meter', 'metrics-provider', 'model-convert', 'model-distributor', 'motion', 'motion-detection', 'motion-trigger', 'motion-zones', 'native-object-detection', 'navigation', 'network-link', 'network-quality', 'node-certificates', 'nodes', 'notification-rules', 'notifier', 'numeric-sensor', 'oidc-connections', 'osd', 'osd-manager', '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', 'record-entries', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'records', 'remote', 'running-state', 'scene-monitor', 'script-runner', 'server-management', 'settings-store', 'smoke', 'snapshot', 'sso-bridge', 'storage', 'storage-admin', 'storage-migration', 'stream-broker', 'stream-catalog', 'stream-params', 'stream-signals', 'switch', 'system', 'tamper', 'temperature-sensor', 'terminal-session', 'toast', 'training', 'update', 'user-management', 'vacuum-control', 'valve', 'vector-store', 'vibration', 'viewer-ui', 'water-heater', 'weather', 'webrtc-session', 'zone-analytics', 'zone-rules', 'zones'];
|
|
593
|
+
/** Capability names whose mode is `singleton` (154 caps). */
|
|
594
|
+
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'actions', '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', 'calendars', 'camera-credentials', 'camera-grid-layout', 'camera-pipeline-config', 'camera-streams', 'carbon-monoxide', 'climate-control', 'color', 'composer', 'connectivity', 'consumables', 'contact', 'control', 'core-blocks', 'cover', 'database-snapshot', 'day-night', 'decoder', 'detection-pipeline', 'device-admin-link', 'device-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'dishwasher', 'display-palette', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'group-active', 'group-commands', 'group-status', 'heating-valve', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'ir-transmitter', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'meter', 'metrics-provider', 'model-convert', 'model-distributor', 'motion', 'motion-detection', 'motion-trigger', 'motion-zones', 'native-object-detection', 'navigation', 'network-link', 'network-quality', 'node-certificates', 'nodes', 'notification-rules', 'notifier', 'numeric-sensor', 'oidc-connections', 'osd', 'osd-manager', 'pet-feeder', 'pet-fountain', 'pipeline-analytics', 'pipeline-executor', 'pipeline-orchestrator', 'pipeline-runner', 'plate-gallery', 'platform-probe', 'power-meter', 'presence', 'pressure-sensor', 'privacy-mask', 'ptz', 'ptz-autotrack', 'reboot', 'record-entries', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'records', 'remote', 'running-state', 'scene-monitor', 'script-runner', 'server-management', 'settings-store', 'smoke', 'snapshot', 'sso-bridge', 'storage', 'storage-admin', 'storage-migration', 'stream-broker', 'stream-catalog', 'stream-params', 'stream-signals', 'switch', 'system', 'tamper', 'temperature-sensor', 'terminal-session', 'toast', 'training', 'update', 'user-management', 'vacuum-control', 'valve', 'vector-store', 'vibration', 'viewer-ui', 'water-heater', 'weather', 'webrtc-session', 'zone-analytics', 'zone-rules', 'zones'];
|
|
589
595
|
/** Union of singleton capability names (literal string union). */
|
|
590
596
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
591
|
-
/** Capability names whose mode is `collection` (
|
|
592
|
-
export declare const COLLECTION_CAPABILITY_NAMES: readonly ['action-source', 'addon-pages-source', 'addon-routes', 'addon-widgets-source', 'auth-provider', 'broker', 'calendar-source', 'connection-test', 'custom-model-registry', 'data-store-provider', 'device-adoption', 'device-export', 'device-extension', 'device-provider', 'device-removal-hook', 'embedding-encoder', 'failure-contribution', 'llm', 'load-contribution', 'log-channels', 'log-destination', 'login-method', 'mesh-network', 'mqtt-broker', 'network-access', 'notification-output', 'oauth-integration', 'recording', 'smtp-provider', 'storage-evictable', 'storage-occupancy', 'storage-provider', 'template', 'training-provider', 'turn-provider', 'user-passkeys', 'videoclips'];
|
|
597
|
+
/** Capability names whose mode is `collection` (38 caps). */
|
|
598
|
+
export declare const COLLECTION_CAPABILITY_NAMES: readonly ['action-source', 'addon-pages-source', 'addon-routes', 'addon-widgets-source', 'auth-provider', 'broker', 'calendar-source', 'connection-test', 'custom-model-registry', 'data-store-provider', 'device-adoption', 'device-export', 'device-extension', 'device-provider', 'device-removal-hook', 'embedding-encoder', 'failure-contribution', 'llm', 'load-contribution', 'log-channels', 'log-destination', 'login-method', 'mesh-network', 'mqtt-broker', 'network-access', 'node-removal-hook', 'notification-output', 'oauth-integration', 'recording', 'smtp-provider', 'storage-evictable', 'storage-occupancy', 'storage-provider', 'template', 'training-provider', 'turn-provider', 'user-passkeys', 'videoclips'];
|
|
593
599
|
/** Union of collection capability names (literal string union). */
|
|
594
600
|
export type CollectionCapabilityName = typeof COLLECTION_CAPABILITY_NAMES[number];
|
|
595
601
|
/** Capability mode lookup at runtime — mirrors the `.cap.ts` definitions. */
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
|
|
9
9
|
* forked runner. See docs/decisions/adr-0028.md.
|
|
10
10
|
*
|
|
11
|
-
* Coverage: 28 collection caps,
|
|
11
|
+
* Coverage: 28 collection caps, 48 array methods.
|
|
12
12
|
*/
|
|
13
13
|
export declare const COLLECTION_ARRAY_METHODS: Readonly<Record<string, readonly string[]>>;
|
|
14
14
|
/**
|
|
@@ -21,7 +21,7 @@ export declare function isCollectionArrayMethodName(capName: string, method: str
|
|
|
21
21
|
* Per capability, the methods declared `optionalMethod` — the ones whose
|
|
22
22
|
* ABSENCE on a provider is a fact about that provider, not a bug.
|
|
23
23
|
*
|
|
24
|
-
* Coverage:
|
|
24
|
+
* Coverage: 3 caps, 11 methods.
|
|
25
25
|
*/
|
|
26
26
|
export declare const PROVIDER_OPTIONAL_METHODS: Readonly<Record<string, readonly string[]>>;
|
|
27
27
|
/**
|
|
@@ -56,7 +56,7 @@ export declare const CAP_CUSTOMIZE_CATALOG: {
|
|
|
56
56
|
readonly targets: readonly [{
|
|
57
57
|
readonly id: 'items';
|
|
58
58
|
readonly cardinality: 'keyedArray';
|
|
59
|
-
readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer];
|
|
59
|
+
readonly deviceTypes: readonly [DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.PetFountain, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer];
|
|
60
60
|
readonly apply: 'add';
|
|
61
61
|
readonly vocabularyCap: 'consumables';
|
|
62
62
|
readonly sources: readonly [];
|
|
@@ -49,6 +49,7 @@ import { networkLinkCapability } from '../capabilities/network-link.cap.js';
|
|
|
49
49
|
import { notifierCapability } from '../capabilities/notifier.cap.js';
|
|
50
50
|
import { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
|
|
51
51
|
import { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
|
|
52
|
+
import { petFountainCapability } from '../capabilities/pet-fountain.cap.js';
|
|
52
53
|
import { powerMeterCapability } from '../capabilities/power-meter.cap.js';
|
|
53
54
|
import { presenceCapability } from '../capabilities/presence.cap.js';
|
|
54
55
|
import { pressureSensorCapability } from '../capabilities/pressure-sensor.cap.js';
|
|
@@ -137,6 +138,7 @@ export interface DeviceLocalState {
|
|
|
137
138
|
notifier: InferRuntimeState<typeof notifierCapability>;
|
|
138
139
|
numericSensor: InferRuntimeState<typeof numericSensorCapability>;
|
|
139
140
|
petFeeder: InferRuntimeState<typeof petFeederCapability>;
|
|
141
|
+
petFountain: InferRuntimeState<typeof petFountainCapability>;
|
|
140
142
|
powerMeter: InferRuntimeState<typeof powerMeterCapability>;
|
|
141
143
|
presence: InferRuntimeState<typeof presenceCapability>;
|
|
142
144
|
pressureSensor: InferRuntimeState<typeof pressureSensorCapability>;
|
|
@@ -235,6 +237,7 @@ export interface CapNameToRuntimeStateMap {
|
|
|
235
237
|
'notifier': InferRuntimeState<typeof notifierCapability>;
|
|
236
238
|
'numeric-sensor': InferRuntimeState<typeof numericSensorCapability>;
|
|
237
239
|
'pet-feeder': InferRuntimeState<typeof petFeederCapability>;
|
|
240
|
+
'pet-fountain': InferRuntimeState<typeof petFountainCapability>;
|
|
238
241
|
'power-meter': InferRuntimeState<typeof powerMeterCapability>;
|
|
239
242
|
'presence': InferRuntimeState<typeof presenceCapability>;
|
|
240
243
|
'pressure-sensor': InferRuntimeState<typeof pressureSensorCapability>;
|