camstack 1.2.204 → 1.2.205
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +160 -94
- package/dist/{launcher-H5B4UHLE.js → launcher-F23ZMT2V.js} +831 -370
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -37,7 +37,7 @@ async function runServe(args) {
|
|
|
37
37
|
...typeof values.data === "string" ? { data: values.data } : {}
|
|
38
38
|
};
|
|
39
39
|
Object.assign(process.env, buildServeEnv(opts));
|
|
40
|
-
await import("./launcher-
|
|
40
|
+
await import("./launcher-F23ZMT2V.js");
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
// src/commands/agent.ts
|
|
@@ -82,7 +82,7 @@ async function runAgent(args) {
|
|
|
82
82
|
...typeof values.port === "string" ? { port: values.port } : {}
|
|
83
83
|
};
|
|
84
84
|
Object.assign(process.env, buildAgentEnv(opts));
|
|
85
|
-
await import("./launcher-
|
|
85
|
+
await import("./launcher-F23ZMT2V.js");
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
// src/commands/setup.ts
|
|
@@ -14777,7 +14777,7 @@ function date4(params) {
|
|
|
14777
14777
|
// ../../node_modules/zod/v4/classic/external.js
|
|
14778
14778
|
config(en_default());
|
|
14779
14779
|
|
|
14780
|
-
// ../types/dist/sleep-
|
|
14780
|
+
// ../types/dist/sleep-CUp20JkO.mjs
|
|
14781
14781
|
var AUDIO_CHUNK_FORMATS = [
|
|
14782
14782
|
"f32le",
|
|
14783
14783
|
"pcmu",
|
|
@@ -15322,7 +15322,11 @@ var ContributionSectionSchema = external_exports.object({
|
|
|
15322
15322
|
external_exports.literal(4)
|
|
15323
15323
|
]).optional(),
|
|
15324
15324
|
tab: external_exports.string().optional(),
|
|
15325
|
-
location: external_exports.enum([
|
|
15325
|
+
location: external_exports.enum([
|
|
15326
|
+
"settings",
|
|
15327
|
+
"top-tab",
|
|
15328
|
+
"hero"
|
|
15329
|
+
]).optional(),
|
|
15326
15330
|
order: external_exports.number().optional(),
|
|
15327
15331
|
fields: external_exports.array(external_exports.any())
|
|
15328
15332
|
});
|
|
@@ -19118,7 +19122,11 @@ var ConfigSectionWithValuesSchema = external_exports.object({
|
|
|
19118
19122
|
external_exports.literal(4)
|
|
19119
19123
|
]).optional(),
|
|
19120
19124
|
tab: external_exports.string().optional(),
|
|
19121
|
-
location: external_exports.enum([
|
|
19125
|
+
location: external_exports.enum([
|
|
19126
|
+
"settings",
|
|
19127
|
+
"top-tab",
|
|
19128
|
+
"hero"
|
|
19129
|
+
]).optional(),
|
|
19122
19130
|
order: external_exports.number().optional(),
|
|
19123
19131
|
fields: external_exports.array(external_exports.any())
|
|
19124
19132
|
});
|
|
@@ -23456,6 +23464,46 @@ var TierStatusSchema = external_exports.object({
|
|
|
23456
23464
|
approxBytes: external_exports.number().nullable(),
|
|
23457
23465
|
countedAt: external_exports.number().nullable()
|
|
23458
23466
|
});
|
|
23467
|
+
var DeviceHistoryOrphanReasonSchema = external_exports.enum(["device-gone", "undeclared"]);
|
|
23468
|
+
var TierRowsSchema = external_exports.object({
|
|
23469
|
+
raw: external_exports.number().int(),
|
|
23470
|
+
"5m": external_exports.number().int(),
|
|
23471
|
+
"1h": external_exports.number().int(),
|
|
23472
|
+
"1d": external_exports.number().int()
|
|
23473
|
+
});
|
|
23474
|
+
var OrphanSeriesSchema = external_exports.object({
|
|
23475
|
+
seriesId: external_exports.number().int(),
|
|
23476
|
+
deviceId: external_exports.number().int(),
|
|
23477
|
+
key: external_exports.string(),
|
|
23478
|
+
scope: external_exports.string(),
|
|
23479
|
+
/** The metric's display name; `null` when its metric row is gone too. */
|
|
23480
|
+
displayName: external_exports.string().nullable(),
|
|
23481
|
+
reason: DeviceHistoryOrphanReasonSchema,
|
|
23482
|
+
/** `device-gone`: since when the device has been absent; `null` otherwise. */
|
|
23483
|
+
missingSince: external_exports.number().nullable(),
|
|
23484
|
+
firstTs: external_exports.number(),
|
|
23485
|
+
lastTs: external_exports.number(),
|
|
23486
|
+
rows: TierRowsSchema
|
|
23487
|
+
});
|
|
23488
|
+
var DeviceHistoryOrphanDeleteRefusalSchema = external_exports.enum([
|
|
23489
|
+
"not-found",
|
|
23490
|
+
"not-orphan",
|
|
23491
|
+
"failed"
|
|
23492
|
+
]);
|
|
23493
|
+
var OrphanDeleteEntrySchema = external_exports.discriminatedUnion("ok", [external_exports.object({
|
|
23494
|
+
seriesId: external_exports.number().int(),
|
|
23495
|
+
ok: external_exports.literal(true),
|
|
23496
|
+
deleted: TierRowsSchema
|
|
23497
|
+
}), external_exports.object({
|
|
23498
|
+
seriesId: external_exports.number().int(),
|
|
23499
|
+
ok: external_exports.literal(false),
|
|
23500
|
+
reason: DeviceHistoryOrphanDeleteRefusalSchema
|
|
23501
|
+
})]);
|
|
23502
|
+
var OrphanListSchema = external_exports.object({
|
|
23503
|
+
series: external_exports.array(OrphanSeriesSchema).readonly(),
|
|
23504
|
+
/** More orphans exist than {@link DEVICE_HISTORY_ORPHAN_LIST_MAX}. */
|
|
23505
|
+
truncated: external_exports.boolean()
|
|
23506
|
+
});
|
|
23459
23507
|
var DeviceHistoryStatusSchema = external_exports.object({
|
|
23460
23508
|
startedAt: external_exports.number(),
|
|
23461
23509
|
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
@@ -23597,7 +23645,24 @@ var deviceHistoryCapability = {
|
|
|
23597
23645
|
kind: "mutation",
|
|
23598
23646
|
auth: "admin"
|
|
23599
23647
|
}),
|
|
23600
|
-
getStatus: method(external_exports.object({}), DeviceHistoryStatusSchema, { auth: "admin" })
|
|
23648
|
+
getStatus: method(external_exports.object({}), DeviceHistoryStatusSchema, { auth: "admin" }),
|
|
23649
|
+
/**
|
|
23650
|
+
* Device series no longer linked to a device (D917): the device is absent
|
|
23651
|
+
* from the listings, or the key is declared by no capability. REPORTED,
|
|
23652
|
+
* never purged by this judgement; each entry counts its rows per tier
|
|
23653
|
+
* (a primary-key range per series). Ordered by device, key, scope.
|
|
23654
|
+
*/
|
|
23655
|
+
listOrphanSeries: method(external_exports.object({}), OrphanListSchema, { auth: "admin" }),
|
|
23656
|
+
/**
|
|
23657
|
+
* Delete orphan series by id. Each id is re-judged NOW: a series that is
|
|
23658
|
+
* not orphan (its device came back) is refused `not-orphan`, an unknown id
|
|
23659
|
+
* `not-found`. Deletes tier by tier in the retention slices, then the
|
|
23660
|
+
* series row; one entry per id, in order.
|
|
23661
|
+
*/
|
|
23662
|
+
deleteOrphanSeries: method(external_exports.object({ seriesIds: external_exports.array(external_exports.number().int()).min(1).max(50) }), external_exports.object({ results: external_exports.array(OrphanDeleteEntrySchema).readonly() }), {
|
|
23663
|
+
kind: "mutation",
|
|
23664
|
+
auth: "admin"
|
|
23665
|
+
})
|
|
23601
23666
|
}
|
|
23602
23667
|
};
|
|
23603
23668
|
var DeviceCaStatusSchema = external_exports.discriminatedUnion("state", [
|
|
@@ -61993,6 +62058,30 @@ var connectivityCapability = {
|
|
|
61993
62058
|
* whether persisting is worth a SQLite commit. */
|
|
61994
62059
|
volatileStateFields: ["lastChangedAt"]
|
|
61995
62060
|
};
|
|
62061
|
+
var ConsumableKindSchema = external_exports.enum([
|
|
62062
|
+
"wear",
|
|
62063
|
+
"supply",
|
|
62064
|
+
"waste"
|
|
62065
|
+
]);
|
|
62066
|
+
var ConsumableFormSchema = external_exports.enum([
|
|
62067
|
+
"part",
|
|
62068
|
+
"tank",
|
|
62069
|
+
"product",
|
|
62070
|
+
"bin"
|
|
62071
|
+
]);
|
|
62072
|
+
var ConsumableStatusSchema = external_exports.enum([
|
|
62073
|
+
"ok",
|
|
62074
|
+
"low",
|
|
62075
|
+
"empty",
|
|
62076
|
+
"full",
|
|
62077
|
+
"replace"
|
|
62078
|
+
]);
|
|
62079
|
+
var ConsumableLevelSchema = external_exports.enum([
|
|
62080
|
+
"ok",
|
|
62081
|
+
"low",
|
|
62082
|
+
"empty",
|
|
62083
|
+
"full"
|
|
62084
|
+
]);
|
|
61996
62085
|
var ConsumableRemainingUnitSchema = external_exports.enum([
|
|
61997
62086
|
"days",
|
|
61998
62087
|
"hours",
|
|
@@ -62007,10 +62096,14 @@ var ConsumableItemSchema = external_exports.object({
|
|
|
62007
62096
|
key: external_exports.string().min(1),
|
|
62008
62097
|
/** Display name. */
|
|
62009
62098
|
label: external_exports.string().min(1),
|
|
62010
|
-
/** Remaining life % when known (0..100). */
|
|
62099
|
+
/** Remaining life % (`wear`) or fill % (`supply`, `waste`) when known (0..100). */
|
|
62011
62100
|
level: external_exports.number().min(0).max(100).nullable(),
|
|
62012
|
-
/**
|
|
62013
|
-
status:
|
|
62101
|
+
/** The provider's discrete verdict when known (binary mode). */
|
|
62102
|
+
status: ConsumableStatusSchema.nullable(),
|
|
62103
|
+
/** What the item is — decides whether low or full is bad. Absent = `wear`. */
|
|
62104
|
+
kind: ConsumableKindSchema.optional(),
|
|
62105
|
+
/** How the item is drawn (part, tank, product, bin). Absent = derived from `kind`. */
|
|
62106
|
+
form: ConsumableFormSchema.optional(),
|
|
62014
62107
|
/** Ms epoch of the last replace, when known. */
|
|
62015
62108
|
lastResetAt: external_exports.number().nullable(),
|
|
62016
62109
|
/** Whether `reset()` is meaningful for this item. */
|
|
@@ -62033,7 +62126,7 @@ var consumablesCapability = {
|
|
|
62033
62126
|
kind: "widget",
|
|
62034
62127
|
widgetId: "host/consumables-panel",
|
|
62035
62128
|
tab: "consumables",
|
|
62036
|
-
|
|
62129
|
+
placement: "hero",
|
|
62037
62130
|
label: "Consumables",
|
|
62038
62131
|
order: 5
|
|
62039
62132
|
} },
|
|
@@ -62095,9 +62188,37 @@ var consumablesCapability = {
|
|
|
62095
62188
|
*/
|
|
62096
62189
|
durability: "restored",
|
|
62097
62190
|
/**
|
|
62098
|
-
* History (D850):
|
|
62191
|
+
* History (D850, D917): one series per (item field, item `key`) — the item key
|
|
62192
|
+
* is the series scope, the item `label` names it. A vacuum tank's fill, a
|
|
62193
|
+
* brush's remaining life and a dishwasher's salt are each recorded the moment
|
|
62194
|
+
* their provider reports them; an item that appears later gets its series.
|
|
62099
62195
|
*/
|
|
62100
|
-
history:
|
|
62196
|
+
history: {
|
|
62197
|
+
fields: {},
|
|
62198
|
+
items: {
|
|
62199
|
+
path: "items",
|
|
62200
|
+
key: "key",
|
|
62201
|
+
label: "label",
|
|
62202
|
+
fields: {
|
|
62203
|
+
level: {
|
|
62204
|
+
kind: "gauge",
|
|
62205
|
+
unit: "%",
|
|
62206
|
+
deadband: 2,
|
|
62207
|
+
displayName: "Level"
|
|
62208
|
+
},
|
|
62209
|
+
status: {
|
|
62210
|
+
kind: "enum",
|
|
62211
|
+
displayName: "Status"
|
|
62212
|
+
},
|
|
62213
|
+
"remaining.value": {
|
|
62214
|
+
kind: "gauge",
|
|
62215
|
+
unitFrom: "remaining.unit",
|
|
62216
|
+
deadband: 1,
|
|
62217
|
+
displayName: "Remaining"
|
|
62218
|
+
}
|
|
62219
|
+
}
|
|
62220
|
+
}
|
|
62221
|
+
},
|
|
62101
62222
|
/** Clocks, not content: a re-read that changed no item costs no commit. */
|
|
62102
62223
|
volatileStateFields: ["lastChangedAt", "lastFetchedAt"]
|
|
62103
62224
|
};
|
|
@@ -62458,11 +62579,6 @@ var DishwasherAvailabilitySchema = external_exports.enum([
|
|
|
62458
62579
|
"offline",
|
|
62459
62580
|
"description-missing"
|
|
62460
62581
|
]);
|
|
62461
|
-
var DishwasherConsumableLevelSchema = external_exports.enum([
|
|
62462
|
-
"ok",
|
|
62463
|
-
"low",
|
|
62464
|
-
"empty"
|
|
62465
|
-
]);
|
|
62466
62582
|
var DishwasherStatusSchema = external_exports.object({
|
|
62467
62583
|
availability: DishwasherAvailabilitySchema,
|
|
62468
62584
|
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
@@ -62495,8 +62611,6 @@ var DishwasherStatusSchema = external_exports.object({
|
|
|
62495
62611
|
powerOn: external_exports.boolean().nullable(),
|
|
62496
62612
|
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
62497
62613
|
powerState: external_exports.string().nullable(),
|
|
62498
|
-
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
62499
|
-
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
62500
62614
|
/**
|
|
62501
62615
|
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
62502
62616
|
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
@@ -70572,16 +70686,6 @@ var VacuumStateSchema = external_exports.enum([
|
|
|
70572
70686
|
"drying",
|
|
70573
70687
|
"error"
|
|
70574
70688
|
]);
|
|
70575
|
-
var TankStatusSchema = external_exports.object({
|
|
70576
|
-
/** Numeric fill 0..100 when the hardware reports a percentage; null otherwise. */
|
|
70577
|
-
level: external_exports.number().min(0).max(100).nullable(),
|
|
70578
|
-
/** Discrete state when the hardware is binary-mode; null otherwise. */
|
|
70579
|
-
status: external_exports.enum([
|
|
70580
|
-
"ok",
|
|
70581
|
-
"low",
|
|
70582
|
-
"full"
|
|
70583
|
-
]).nullable()
|
|
70584
|
-
});
|
|
70585
70689
|
var VacuumControlStatusSchema = external_exports.object({
|
|
70586
70690
|
/** Lifecycle state of the vacuum. */
|
|
70587
70691
|
state: VacuumStateSchema,
|
|
@@ -70593,14 +70697,6 @@ var VacuumControlStatusSchema = external_exports.object({
|
|
|
70593
70697
|
fanSpeed: external_exports.string().nullable(),
|
|
70594
70698
|
/** Speed tokens the hardware accepts — drives the UI selector. */
|
|
70595
70699
|
availableFanSpeeds: external_exports.array(external_exports.string()),
|
|
70596
|
-
/** Clean-water (mop) tank. Null when the hardware has no clean-water tank. */
|
|
70597
|
-
cleanWater: TankStatusSchema.nullable(),
|
|
70598
|
-
/** Dirty-water (recovery) tank. Null when the hardware has no dirty-water tank. */
|
|
70599
|
-
dirtyWater: TankStatusSchema.nullable(),
|
|
70600
|
-
/** Detergent tank. Null when the hardware has no detergent tank. */
|
|
70601
|
-
detergent: TankStatusSchema.nullable(),
|
|
70602
|
-
/** Dust bin. Null when the hardware has no dust bin. */
|
|
70603
|
-
dustBin: TankStatusSchema.nullable(),
|
|
70604
70700
|
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
70605
70701
|
progressPercent: external_exports.number().min(0).max(100).nullable(),
|
|
70606
70702
|
/** Current error code (0 / null = no error). */
|
|
@@ -70662,35 +70758,14 @@ var vacuumControlCapability = {
|
|
|
70662
70758
|
*/
|
|
70663
70759
|
durability: "session",
|
|
70664
70760
|
/**
|
|
70665
|
-
* History (D850): recorded series.
|
|
70761
|
+
* History (D850): recorded series. The tanks moved to `consumables` (D915), whose
|
|
70762
|
+
* items are keyed by runtime ids and record no history.
|
|
70666
70763
|
*/
|
|
70667
|
-
history: { fields: {
|
|
70668
|
-
|
|
70669
|
-
|
|
70670
|
-
|
|
70671
|
-
|
|
70672
|
-
},
|
|
70673
|
-
"cleanWater.level": {
|
|
70674
|
-
kind: "gauge",
|
|
70675
|
-
unit: "%",
|
|
70676
|
-
deadband: 2
|
|
70677
|
-
},
|
|
70678
|
-
"dirtyWater.level": {
|
|
70679
|
-
kind: "gauge",
|
|
70680
|
-
unit: "%",
|
|
70681
|
-
deadband: 2
|
|
70682
|
-
},
|
|
70683
|
-
"detergent.level": {
|
|
70684
|
-
kind: "gauge",
|
|
70685
|
-
unit: "%",
|
|
70686
|
-
deadband: 2
|
|
70687
|
-
},
|
|
70688
|
-
"dustBin.level": {
|
|
70689
|
-
kind: "gauge",
|
|
70690
|
-
unit: "%",
|
|
70691
|
-
deadband: 2
|
|
70692
|
-
}
|
|
70693
|
-
} }
|
|
70764
|
+
history: { fields: { batteryLevel: {
|
|
70765
|
+
kind: "gauge",
|
|
70766
|
+
unit: "%",
|
|
70767
|
+
deadband: 2
|
|
70768
|
+
} } }
|
|
70694
70769
|
};
|
|
70695
70770
|
var ValveStateSchema = external_exports.enum([
|
|
70696
70771
|
"open",
|
|
@@ -73671,6 +73746,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
73671
73746
|
addonId: null,
|
|
73672
73747
|
access: "create"
|
|
73673
73748
|
},
|
|
73749
|
+
"deviceHistory.deleteOrphanSeries": {
|
|
73750
|
+
capName: "device-history",
|
|
73751
|
+
capScope: "system",
|
|
73752
|
+
addonId: null,
|
|
73753
|
+
access: "delete"
|
|
73754
|
+
},
|
|
73674
73755
|
"deviceHistory.getDeviceEnabled": {
|
|
73675
73756
|
capName: "device-history",
|
|
73676
73757
|
capScope: "system",
|
|
@@ -73689,6 +73770,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
73689
73770
|
addonId: null,
|
|
73690
73771
|
access: "view"
|
|
73691
73772
|
},
|
|
73773
|
+
"deviceHistory.listOrphanSeries": {
|
|
73774
|
+
capName: "device-history",
|
|
73775
|
+
capScope: "system",
|
|
73776
|
+
addonId: null,
|
|
73777
|
+
access: "view"
|
|
73778
|
+
},
|
|
73692
73779
|
"deviceHistory.listSeries": {
|
|
73693
73780
|
capName: "device-history",
|
|
73694
73781
|
capScope: "system",
|
|
@@ -83484,33 +83571,11 @@ var HISTORY_CATALOG = {
|
|
|
83484
83571
|
unit: "\xB0C",
|
|
83485
83572
|
deadband: 0.1
|
|
83486
83573
|
} },
|
|
83487
|
-
"vacuum-control": {
|
|
83488
|
-
"
|
|
83489
|
-
|
|
83490
|
-
|
|
83491
|
-
|
|
83492
|
-
},
|
|
83493
|
-
"cleanWater.level": {
|
|
83494
|
-
kind: "gauge",
|
|
83495
|
-
unit: "%",
|
|
83496
|
-
deadband: 2
|
|
83497
|
-
},
|
|
83498
|
-
"dirtyWater.level": {
|
|
83499
|
-
kind: "gauge",
|
|
83500
|
-
unit: "%",
|
|
83501
|
-
deadband: 2
|
|
83502
|
-
},
|
|
83503
|
-
"detergent.level": {
|
|
83504
|
-
kind: "gauge",
|
|
83505
|
-
unit: "%",
|
|
83506
|
-
deadband: 2
|
|
83507
|
-
},
|
|
83508
|
-
"dustBin.level": {
|
|
83509
|
-
kind: "gauge",
|
|
83510
|
-
unit: "%",
|
|
83511
|
-
deadband: 2
|
|
83512
|
-
}
|
|
83513
|
-
},
|
|
83574
|
+
"vacuum-control": { "batteryLevel": {
|
|
83575
|
+
kind: "gauge",
|
|
83576
|
+
unit: "%",
|
|
83577
|
+
deadband: 2
|
|
83578
|
+
} },
|
|
83514
83579
|
"valve": { "position": {
|
|
83515
83580
|
kind: "gauge",
|
|
83516
83581
|
unit: "%",
|
|
@@ -84295,17 +84360,18 @@ var NC_TEMPLATE_VARS = [
|
|
|
84295
84360
|
{
|
|
84296
84361
|
name: "item",
|
|
84297
84362
|
label: "Consumable",
|
|
84363
|
+
description: "The device's own name for the item: a filter, a brush, the salt, a tank.",
|
|
84298
84364
|
example: "Filtro",
|
|
84299
84365
|
group: "system",
|
|
84300
84366
|
families: ["rule"],
|
|
84301
84367
|
fields: [...RULE_TEXT],
|
|
84302
84368
|
kinds: ["system"],
|
|
84303
|
-
systemEventKinds: [...CONSUMABLE]
|
|
84369
|
+
systemEventKinds: [...CONSUMABLE, ...TANK]
|
|
84304
84370
|
},
|
|
84305
84371
|
{
|
|
84306
84372
|
name: "tank",
|
|
84307
84373
|
label: "Tank",
|
|
84308
|
-
description: "Which tank:
|
|
84374
|
+
description: "Which tank, as a stable token: cleanWater, dirtyWater, detergent, dustBin, or the device key of any other supply (salt, rinse aid).",
|
|
84309
84375
|
example: "clean water",
|
|
84310
84376
|
group: "system",
|
|
84311
84377
|
families: ["rule"],
|