mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 17:40:46 -04:00
descriptionslop
This commit is contained in:
@@ -14,21 +14,43 @@ module.exports = {
|
||||
privacy: { retainChatBodies: true },
|
||||
},
|
||||
schema: strictObject({
|
||||
enabled: boolean(),
|
||||
enabled: boolean({ description: 'Starts persistent fleet metric collection, reports, retention cleanup, and configured daily delivery after restart.' }),
|
||||
retention: strictObject({
|
||||
detailedDays: integer({ description: 'Zero retains indefinitely.', minimum: 0, maximum: 36500 }),
|
||||
minuteSamplesDays: integer({ description: 'Zero retains indefinitely.', minimum: 0, maximum: 36500 }),
|
||||
}, { required: ['detailedDays', 'minuteSamplesDays'] }),
|
||||
detailedDays: integer({ description: 'Days to retain detailed events, command observations, sessions, and other non-minute fleet records. Zero retains them indefinitely.', minimum: 0, maximum: 36500 }),
|
||||
minuteSamplesDays: integer({ description: 'Days to retain per-minute rover metric aggregates. Zero retains them indefinitely.', minimum: 0, maximum: 36500 }),
|
||||
}, {
|
||||
title: 'Retention',
|
||||
description: 'Automatic cleanup windows for the two classes of fleet-report records.',
|
||||
required: ['detailedDays', 'minuteSamplesDays'],
|
||||
}),
|
||||
battery: strictObject({
|
||||
enabled: boolean(),
|
||||
maximumIntegrationGapSeconds: number({ minimum: 0.1, maximum: 3600 }),
|
||||
minimumCapacityTestDepthPercent: number({ minimum: 0, maximum: 100 }),
|
||||
}, { required: ['enabled', 'maximumIntegrationGapSeconds', 'minimumCapacityTestDepthPercent'] }),
|
||||
enabled: boolean({ description: 'Collects high-frequency battery sensor readings and derives charging, discharge, energy, and capacity metrics.' }),
|
||||
maximumIntegrationGapSeconds: number({ description: 'Largest allowed gap in seconds between battery readings before energy integration treats the telemetry as discontinuous.', minimum: 0.1, maximum: 3600 }),
|
||||
minimumCapacityTestDepthPercent: number({ description: 'Minimum observed full-to-low discharge depth required before a continuous session qualifies as a high-confidence capacity test. Runtime enforces at least 10 percent.', minimum: 0, maximum: 100 }),
|
||||
}, {
|
||||
title: 'Battery',
|
||||
description: 'Battery telemetry collection and quality thresholds used by fleet reports.',
|
||||
required: ['enabled', 'maximumIntegrationGapSeconds', 'minimumCapacityTestDepthPercent'],
|
||||
}),
|
||||
discord: strictObject({
|
||||
enabled: boolean(),
|
||||
sendAt: string({ pattern: '^([01]\\d|2[0-3]):[0-5]\\d$' }),
|
||||
timezone: string({ minLength: 1, maxLength: 100 }),
|
||||
}, { required: ['enabled', 'sendAt', 'timezone'] }),
|
||||
privacy: strictObject({ retainChatBodies: boolean() }, { required: ['retainChatBodies'] }),
|
||||
}, { title: 'Fleet reports', required: ['enabled', 'retention', 'battery', 'discord', 'privacy'] }),
|
||||
enabled: boolean({ description: 'Sends one completed daily fleet report to the configured Discord administrative-alert channel.' }),
|
||||
sendAt: string({ description: 'Local time of day to send the daily report, written as 24-hour HH:mm.', pattern: '^([01]\\d|2[0-3]):[0-5]\\d$' }),
|
||||
timezone: string({ description: 'IANA timezone used to interpret the delivery time and determine each completed report day.', minLength: 1, maxLength: 100 }),
|
||||
}, {
|
||||
title: 'Discord delivery',
|
||||
description: 'Schedule for sending completed daily fleet summaries through the Discord bot.',
|
||||
required: ['enabled', 'sendAt', 'timezone'],
|
||||
}),
|
||||
privacy: strictObject({
|
||||
retainChatBodies: boolean({ description: 'Reserved privacy preference. The current collector does not read this setting and preserves complete event payloads, including chat content, regardless of its value.' }),
|
||||
}, {
|
||||
title: 'Privacy',
|
||||
description: 'Privacy controls reserved for any future fleet-report collection of message content.',
|
||||
required: ['retainChatBodies'],
|
||||
}),
|
||||
}, {
|
||||
title: 'Fleet reports',
|
||||
description: 'Persistent fleet operations reporting, retention, battery analysis, delivery, and privacy preferences.',
|
||||
required: ['enabled', 'retention', 'battery', 'discord', 'privacy'],
|
||||
}),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user