@camstack/types 1.2.443 → 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 +13 -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 +5 -3
- package/dist/capabilities/metrics-provider.cap.d.ts +16 -16
- 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 +2 -2
- 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 +134 -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 +5 -2
- 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 +1427 -602
- package/dist/index.mjs +1395 -591
- 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-C_u6cEAJ.mjs → sleep-6eG9C8Xl.mjs} +223 -72
- package/dist/{sleep-E7qAQwTE.js → sleep-UXDHn-oJ.js} +246 -71
- package/package.json +1 -1
|
@@ -101,6 +101,7 @@ import type { oidcConnectionsCapability } from '../capabilities/oidc-connections
|
|
|
101
101
|
import type { osdManagerCapability } from '../capabilities/osd-manager.cap.js';
|
|
102
102
|
import type { osdCapability } from '../capabilities/osd.cap.js';
|
|
103
103
|
import type { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
|
|
104
|
+
import type { petFountainCapability } from '../capabilities/pet-fountain.cap.js';
|
|
104
105
|
import type { pipelineAnalyticsCapability } from '../capabilities/pipeline-analytics.cap.js';
|
|
105
106
|
import type { pipelineExecutorCapability } from '../capabilities/pipeline-executor.cap.js';
|
|
106
107
|
import type { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
|
|
@@ -2477,6 +2478,36 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
2477
2478
|
output: z.infer<typeof deviceExportCapability.methods.unexposeDevice.output>;
|
|
2478
2479
|
meta: object;
|
|
2479
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
|
+
}>;
|
|
2480
2511
|
}>>;
|
|
2481
2512
|
deviceExtension: TRPCBuiltRouter<{
|
|
2482
2513
|
ctx: TrpcContext;
|
|
@@ -6417,6 +6448,55 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
6417
6448
|
meta: object;
|
|
6418
6449
|
}>;
|
|
6419
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
|
+
}>>;
|
|
6420
6500
|
pipelineAnalytics: TRPCBuiltRouter<{
|
|
6421
6501
|
ctx: TrpcContext;
|
|
6422
6502
|
meta: object;
|
|
@@ -12256,6 +12336,17 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12256
12336
|
historyRemoved: boolean;
|
|
12257
12337
|
registryRemoved: boolean;
|
|
12258
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
|
+
};
|
|
12259
12350
|
message: string;
|
|
12260
12351
|
};
|
|
12261
12352
|
meta: object;
|
|
@@ -12279,6 +12370,17 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12279
12370
|
historyRemoved: boolean;
|
|
12280
12371
|
registryRemoved: boolean;
|
|
12281
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
|
+
};
|
|
12282
12384
|
message: string;
|
|
12283
12385
|
};
|
|
12284
12386
|
meta: object;
|
|
@@ -12366,7 +12468,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12366
12468
|
notAfter: number;
|
|
12367
12469
|
issuedAt: number;
|
|
12368
12470
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12369
|
-
status: "
|
|
12471
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12370
12472
|
revokedAt: number | null;
|
|
12371
12473
|
revokedReason: string | null;
|
|
12372
12474
|
} | null;
|
|
@@ -12378,7 +12480,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12378
12480
|
notAfter: number;
|
|
12379
12481
|
issuedAt: number;
|
|
12380
12482
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12381
|
-
status: "
|
|
12483
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12382
12484
|
revokedAt: number | null;
|
|
12383
12485
|
revokedReason: string | null;
|
|
12384
12486
|
}[];
|
|
@@ -12494,7 +12596,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12494
12596
|
notAfter: number;
|
|
12495
12597
|
issuedAt: number;
|
|
12496
12598
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12497
|
-
status: "
|
|
12599
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12498
12600
|
revokedAt: number | null;
|
|
12499
12601
|
revokedReason: string | null;
|
|
12500
12602
|
} | null;
|
|
@@ -12506,7 +12608,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12506
12608
|
notAfter: number;
|
|
12507
12609
|
issuedAt: number;
|
|
12508
12610
|
issuedVia: "enroll" | "pairing" | "renewal" | "boot" | "observed";
|
|
12509
|
-
status: "
|
|
12611
|
+
status: "revoked" | "valid" | "expiring" | "expired";
|
|
12510
12612
|
revokedAt: number | null;
|
|
12511
12613
|
revokedReason: string | null;
|
|
12512
12614
|
}[];
|
|
@@ -12719,7 +12821,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12719
12821
|
port: number;
|
|
12720
12822
|
};
|
|
12721
12823
|
code: string;
|
|
12722
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12824
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12723
12825
|
hubConfirmed: boolean;
|
|
12724
12826
|
agentConfirmed: boolean;
|
|
12725
12827
|
expiresAt: number;
|
|
@@ -12753,7 +12855,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12753
12855
|
port: number;
|
|
12754
12856
|
};
|
|
12755
12857
|
code: string;
|
|
12756
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12858
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12757
12859
|
hubConfirmed: boolean;
|
|
12758
12860
|
agentConfirmed: boolean;
|
|
12759
12861
|
expiresAt: number;
|
|
@@ -12775,7 +12877,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12775
12877
|
port: number;
|
|
12776
12878
|
};
|
|
12777
12879
|
code: string;
|
|
12778
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12880
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12779
12881
|
hubConfirmed: boolean;
|
|
12780
12882
|
agentConfirmed: boolean;
|
|
12781
12883
|
expiresAt: number;
|
|
@@ -12795,7 +12897,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12795
12897
|
port: number;
|
|
12796
12898
|
};
|
|
12797
12899
|
code: string;
|
|
12798
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12900
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12799
12901
|
hubConfirmed: boolean;
|
|
12800
12902
|
agentConfirmed: boolean;
|
|
12801
12903
|
expiresAt: number;
|
|
@@ -12813,7 +12915,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12813
12915
|
port: number;
|
|
12814
12916
|
};
|
|
12815
12917
|
code: string;
|
|
12816
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12918
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12817
12919
|
hubConfirmed: boolean;
|
|
12818
12920
|
agentConfirmed: boolean;
|
|
12819
12921
|
expiresAt: number;
|
|
@@ -12834,7 +12936,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12834
12936
|
port: number;
|
|
12835
12937
|
};
|
|
12836
12938
|
code: string;
|
|
12837
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12939
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12838
12940
|
hubConfirmed: boolean;
|
|
12839
12941
|
agentConfirmed: boolean;
|
|
12840
12942
|
expiresAt: number;
|
|
@@ -12854,7 +12956,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12854
12956
|
port: number;
|
|
12855
12957
|
};
|
|
12856
12958
|
code: string;
|
|
12857
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
12959
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12858
12960
|
hubConfirmed: boolean;
|
|
12859
12961
|
agentConfirmed: boolean;
|
|
12860
12962
|
expiresAt: number;
|
|
@@ -12899,7 +13001,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12899
13001
|
port: number;
|
|
12900
13002
|
};
|
|
12901
13003
|
code: string;
|
|
12902
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13004
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12903
13005
|
hubConfirmed: boolean;
|
|
12904
13006
|
agentConfirmed: boolean;
|
|
12905
13007
|
expiresAt: number;
|
|
@@ -12933,7 +13035,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12933
13035
|
port: number;
|
|
12934
13036
|
};
|
|
12935
13037
|
code: string;
|
|
12936
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13038
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12937
13039
|
hubConfirmed: boolean;
|
|
12938
13040
|
agentConfirmed: boolean;
|
|
12939
13041
|
expiresAt: number;
|
|
@@ -12955,7 +13057,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12955
13057
|
port: number;
|
|
12956
13058
|
};
|
|
12957
13059
|
code: string;
|
|
12958
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13060
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12959
13061
|
hubConfirmed: boolean;
|
|
12960
13062
|
agentConfirmed: boolean;
|
|
12961
13063
|
expiresAt: number;
|
|
@@ -12975,7 +13077,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12975
13077
|
port: number;
|
|
12976
13078
|
};
|
|
12977
13079
|
code: string;
|
|
12978
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13080
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12979
13081
|
hubConfirmed: boolean;
|
|
12980
13082
|
agentConfirmed: boolean;
|
|
12981
13083
|
expiresAt: number;
|
|
@@ -12993,7 +13095,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
12993
13095
|
port: number;
|
|
12994
13096
|
};
|
|
12995
13097
|
code: string;
|
|
12996
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13098
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
12997
13099
|
hubConfirmed: boolean;
|
|
12998
13100
|
agentConfirmed: boolean;
|
|
12999
13101
|
expiresAt: number;
|
|
@@ -13014,7 +13116,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13014
13116
|
port: number;
|
|
13015
13117
|
};
|
|
13016
13118
|
code: string;
|
|
13017
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13119
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
13018
13120
|
hubConfirmed: boolean;
|
|
13019
13121
|
agentConfirmed: boolean;
|
|
13020
13122
|
expiresAt: number;
|
|
@@ -13034,7 +13136,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13034
13136
|
port: number;
|
|
13035
13137
|
};
|
|
13036
13138
|
code: string;
|
|
13037
|
-
state: "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected"
|
|
13139
|
+
state: "failed" | "expired" | "paired" | "awaiting-confirmation" | "completing" | "rejected";
|
|
13038
13140
|
hubConfirmed: boolean;
|
|
13039
13141
|
agentConfirmed: boolean;
|
|
13040
13142
|
expiresAt: number;
|
|
@@ -13466,7 +13568,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13466
13568
|
ok: true;
|
|
13467
13569
|
} | {
|
|
13468
13570
|
ok: false;
|
|
13469
|
-
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";
|
|
13470
13572
|
definitive: boolean;
|
|
13471
13573
|
retryAfterSeconds?: number | undefined;
|
|
13472
13574
|
};
|
|
@@ -13482,7 +13584,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13482
13584
|
ok: true;
|
|
13483
13585
|
} | {
|
|
13484
13586
|
ok: false;
|
|
13485
|
-
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";
|
|
13486
13588
|
definitive: boolean;
|
|
13487
13589
|
retryAfterSeconds?: number | undefined;
|
|
13488
13590
|
};
|
|
@@ -13497,7 +13599,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13497
13599
|
};
|
|
13498
13600
|
output: {
|
|
13499
13601
|
ok: false;
|
|
13500
|
-
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";
|
|
13501
13603
|
definitive: boolean;
|
|
13502
13604
|
retryAfterSeconds?: number | undefined;
|
|
13503
13605
|
} | {
|
|
@@ -13531,7 +13633,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13531
13633
|
ok: true;
|
|
13532
13634
|
} | {
|
|
13533
13635
|
ok: false;
|
|
13534
|
-
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";
|
|
13535
13637
|
definitive: boolean;
|
|
13536
13638
|
retryAfterSeconds?: number | undefined;
|
|
13537
13639
|
};
|
|
@@ -13549,7 +13651,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13549
13651
|
sessionsEnded: number;
|
|
13550
13652
|
} | {
|
|
13551
13653
|
ok: false;
|
|
13552
|
-
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";
|
|
13553
13655
|
definitive: boolean;
|
|
13554
13656
|
retryAfterSeconds?: number | undefined;
|
|
13555
13657
|
};
|
|
@@ -13573,7 +13675,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13573
13675
|
lastUsedFrom: string | null;
|
|
13574
13676
|
revokedAt: number | null;
|
|
13575
13677
|
revokedBy: string | null;
|
|
13576
|
-
status: "
|
|
13678
|
+
status: "revoked" | "expired" | "active";
|
|
13577
13679
|
}[];
|
|
13578
13680
|
meta: object;
|
|
13579
13681
|
}>;
|
|
@@ -13628,7 +13730,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
13628
13730
|
ok: true;
|
|
13629
13731
|
} | {
|
|
13630
13732
|
ok: false;
|
|
13631
|
-
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";
|
|
13632
13734
|
definitive: boolean;
|
|
13633
13735
|
retryAfterSeconds?: number | undefined;
|
|
13634
13736
|
};
|
|
@@ -14461,7 +14563,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14461
14563
|
ok: true;
|
|
14462
14564
|
} | {
|
|
14463
14565
|
ok: false;
|
|
14464
|
-
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";
|
|
14465
14567
|
definitive: boolean;
|
|
14466
14568
|
retryAfterSeconds?: number | undefined;
|
|
14467
14569
|
};
|
|
@@ -14477,7 +14579,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14477
14579
|
ok: true;
|
|
14478
14580
|
} | {
|
|
14479
14581
|
ok: false;
|
|
14480
|
-
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";
|
|
14481
14583
|
definitive: boolean;
|
|
14482
14584
|
retryAfterSeconds?: number | undefined;
|
|
14483
14585
|
};
|
|
@@ -14492,7 +14594,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14492
14594
|
};
|
|
14493
14595
|
output: {
|
|
14494
14596
|
ok: false;
|
|
14495
|
-
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";
|
|
14496
14598
|
definitive: boolean;
|
|
14497
14599
|
retryAfterSeconds?: number | undefined;
|
|
14498
14600
|
} | {
|
|
@@ -14526,7 +14628,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14526
14628
|
ok: true;
|
|
14527
14629
|
} | {
|
|
14528
14630
|
ok: false;
|
|
14529
|
-
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";
|
|
14530
14632
|
definitive: boolean;
|
|
14531
14633
|
retryAfterSeconds?: number | undefined;
|
|
14532
14634
|
};
|
|
@@ -14544,7 +14646,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14544
14646
|
sessionsEnded: number;
|
|
14545
14647
|
} | {
|
|
14546
14648
|
ok: false;
|
|
14547
|
-
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";
|
|
14548
14650
|
definitive: boolean;
|
|
14549
14651
|
retryAfterSeconds?: number | undefined;
|
|
14550
14652
|
};
|
|
@@ -14568,7 +14670,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14568
14670
|
lastUsedFrom: string | null;
|
|
14569
14671
|
revokedAt: number | null;
|
|
14570
14672
|
revokedBy: string | null;
|
|
14571
|
-
status: "
|
|
14673
|
+
status: "revoked" | "expired" | "active";
|
|
14572
14674
|
}[];
|
|
14573
14675
|
meta: object;
|
|
14574
14676
|
}>;
|
|
@@ -14623,7 +14725,7 @@ export type AppRouter = TrpcCoreRouter<{
|
|
|
14623
14725
|
ok: true;
|
|
14624
14726
|
} | {
|
|
14625
14727
|
ok: false;
|
|
14626
|
-
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";
|
|
14627
14729
|
definitive: boolean;
|
|
14628
14730
|
retryAfterSeconds?: number | undefined;
|
|
14629
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"];
|
|
@@ -124,6 +124,7 @@ export { oidcConnectionsCapability } from '../capabilities/oidc-connections.cap.
|
|
|
124
124
|
export { osdCapability } from '../capabilities/osd.cap.js';
|
|
125
125
|
export { osdManagerCapability } from '../capabilities/osd-manager.cap.js';
|
|
126
126
|
export { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
|
|
127
|
+
export { petFountainCapability } from '../capabilities/pet-fountain.cap.js';
|
|
127
128
|
export { pipelineAnalyticsCapability } from '../capabilities/pipeline-analytics.cap.js';
|
|
128
129
|
export { pipelineExecutorCapability } from '../capabilities/pipeline-executor.cap.js';
|
|
129
130
|
export { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
|
|
@@ -316,6 +317,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
316
317
|
readonly osd: 'osd';
|
|
317
318
|
readonly osdManager: 'osd-manager';
|
|
318
319
|
readonly petFeeder: 'pet-feeder';
|
|
320
|
+
readonly petFountain: 'pet-fountain';
|
|
319
321
|
readonly pipelineAnalytics: 'pipeline-analytics';
|
|
320
322
|
readonly pipelineExecutor: 'pipeline-executor';
|
|
321
323
|
readonly pipelineOrchestrator: 'pipeline-orchestrator';
|
|
@@ -521,6 +523,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
521
523
|
readonly osd: TRouter;
|
|
522
524
|
readonly osdManager: TRouter;
|
|
523
525
|
readonly petFeeder: TRouter;
|
|
526
|
+
readonly petFountain: TRouter;
|
|
524
527
|
readonly pipelineAnalytics: TRouter;
|
|
525
528
|
readonly pipelineExecutor: TRouter;
|
|
526
529
|
readonly pipelineOrchestrator: TRouter;
|
|
@@ -587,8 +590,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
587
590
|
readonly zoneRules: TRouter;
|
|
588
591
|
readonly zones: TRouter;
|
|
589
592
|
}
|
|
590
|
-
/** Capability names whose mode is `singleton` (
|
|
591
|
-
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'];
|
|
592
595
|
/** Union of singleton capability names (literal string union). */
|
|
593
596
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
594
597
|
/** Capability names whose mode is `collection` (38 caps). */
|
|
@@ -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>;
|
|
@@ -65,6 +65,7 @@ import type { notifierCapability } from '../capabilities/notifier.cap.js';
|
|
|
65
65
|
import type { numericSensorCapability } from '../capabilities/numeric-sensor.cap.js';
|
|
66
66
|
import type { osdCapability } from '../capabilities/osd.cap.js';
|
|
67
67
|
import type { petFeederCapability } from '../capabilities/pet-feeder.cap.js';
|
|
68
|
+
import type { petFountainCapability } from '../capabilities/pet-fountain.cap.js';
|
|
68
69
|
import type { pipelineAnalyticsCapability } from '../capabilities/pipeline-analytics.cap.js';
|
|
69
70
|
import type { powerMeterCapability } from '../capabilities/power-meter.cap.js';
|
|
70
71
|
import type { presenceCapability } from '../capabilities/presence.cap.js';
|
|
@@ -173,6 +174,7 @@ export interface DeviceProxyState {
|
|
|
173
174
|
readonly notifier: SliceHandle<InferRuntimeState<typeof notifierCapability>>;
|
|
174
175
|
readonly numericSensor: SliceHandle<InferRuntimeState<typeof numericSensorCapability>>;
|
|
175
176
|
readonly petFeeder: SliceHandle<InferRuntimeState<typeof petFeederCapability>>;
|
|
177
|
+
readonly petFountain: SliceHandle<InferRuntimeState<typeof petFountainCapability>>;
|
|
176
178
|
readonly powerMeter: SliceHandle<InferRuntimeState<typeof powerMeterCapability>>;
|
|
177
179
|
readonly presence: SliceHandle<InferRuntimeState<typeof presenceCapability>>;
|
|
178
180
|
readonly pressureSensor: SliceHandle<InferRuntimeState<typeof pressureSensorCapability>>;
|
|
@@ -281,6 +283,7 @@ export interface DeviceProxy {
|
|
|
281
283
|
readonly numericSensor?: InferDeviceProxyCap<typeof numericSensorCapability>;
|
|
282
284
|
readonly osd?: InferDeviceProxyCap<typeof osdCapability>;
|
|
283
285
|
readonly petFeeder?: InferDeviceProxyCap<typeof petFeederCapability>;
|
|
286
|
+
readonly petFountain?: InferDeviceProxyCap<typeof petFountainCapability>;
|
|
284
287
|
readonly pipelineAnalytics?: InferDeviceProxyCap<typeof pipelineAnalyticsCapability>;
|
|
285
288
|
readonly powerMeter?: InferDeviceProxyCap<typeof powerMeterCapability>;
|
|
286
289
|
readonly presence?: InferDeviceProxyCap<typeof presenceCapability>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
6
6
|
* (~144MB RSS per runner, D28).
|
|
7
7
|
*
|
|
8
|
-
* Coverage:
|
|
8
|
+
* Coverage: 97 device-scoped capabilities.
|
|
9
9
|
*/
|
|
10
10
|
export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
|
|
11
11
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CapabilityHistoryField, CapabilityHistoryItems } from '../capabilities/capability-definition.js';
|
|
2
2
|
/**
|
|
3
3
|
* Cap history catalog, projected from every `*.cap.ts` `history` block.
|
|
4
|
-
*
|
|
4
|
+
* 42 caps with series (80 series), 34 caps answered `'none'`.
|
|
5
5
|
* Field keys are `runtimeState` paths (`a.b` into fixed objects only).
|
|
6
6
|
*/
|
|
7
7
|
export declare const HISTORY_CATALOG: Readonly<Record<string, Readonly<Record<string, CapabilityHistoryField>>>>;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 1427 method paths across 192 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { MethodRole } from '../auth/viewer-access.js';
|
|
12
12
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|